一、ResNet

论文:Deep Residual Learning for Image Recognition

ResNet网络中的亮点:

  • 超深的网络结构(突破1000层)
  • 提出residual模块
  • 使用Batch Normalization加速训练(丢弃dropout)

论文中提到,简单的堆叠卷积层与池化层并不能降低错误率,通过堆叠卷积层与池化层,会带来梯度消失或梯度爆炸、退化问题。

ResNet不同的网络结构的错误率如下所示:

网络中残差结构如下所示:

主分支与shortcut的输出特征矩阵shape必须相同。

不同层数的ResNet网络结构对比如下:

Batch Normalization

Batch Normalization的目的是使一批(Batch)feature map满足均值为0,方差为1的分布规律。它可以加速网络的训练,还可以提升准确率。

使用BN时需要注意的问题:

(1)训练时要将training参数设置为True,验证时将training参数设置为False,在pytorch中可以通过创建模型的model.train()和model.eval()控制。

(2)batch.size尽可能大,设置的越大求得均值和方差越接近整个训练集的均值和方差。

(3)建议将BN层放到卷积层与激活层之间,且卷积层不要使用bias。

迁移学习:

使用迁移学习的优势:

(1)能够快速的训练出一个理想的效果

(2)当数据集较小时,也能训练出理想的效果

常见的迁移学习的方式:

(1)载入权重后训练所有参数

(2)载入权重后只训练最后几层参数

(3)载入权重后在原网络基础上再添加一层全连接层,仅训练最后一个全连接层

二、ResNeXt

论文:Aggregated Residual Transformations for Deep Neural Networks

ResNeXt相比于ResNet来说,更新了block。

左图是ResNet中的一个block,右图是ResNeXt中的block。ResNeXt中使用Group Convolution,使用的参数量更小。

ResNeXt在计算量相同的情况下,错误率更低。

上面这三种结构在数学计算上是等价的。

不过分组卷积并不是分组数量越多越好。

三、猫狗大战

首先使用LeNet网络进行训练。

由于数据集比较大,训练时间比较长,本次采用了老师之前博客里提供的2000张训练图片的小数据集。

首先加载数据集:

引入必要的库

添加训练图片和测试图片的路径

创建数据集

定义网络

把网络放到GPU上开始训练

进行测试并导出结果文件

提交结果为:

将网络结构改为ResNet,这里使用了ResNet18:

提交结果为:

可以看出,ResNet网络在分类问题上具有明显优势。

ResNet与ResNeXt相关推荐

  1. 经典卷积神经系列(Inception v1\v2\v3\v4、ResNet、ResNext、DenseNet、SENet)

    写在前面:此文只记录了下本人感觉需要注意的地方,不全且不一定准确.详细内容可以参考文中帖的链接,比较好!!! 经典的CNN:Inception v1\v2\v3\v4.Resnet.Resnext.D ...

  2. CNN经典分类网络发展历程GoogLeNet、SqueezeNet、ResNet、ResNeXt、DenseNet

    本篇博文主要介绍2015年之后出现的经典分类网络的发展历程,前期经典分类网络网上有很多解析,主要包括LeNet.AlexNet.VGG等. 本篇博文主要介绍GoogLeNet.SqueezeNet.R ...

  3. ResNet家族:ResNet、ResNeXt、SE Net、SE ResNeXt

    目录 ResNet DenseNet ResNeXt SE-ResNet, SE-ResNeXt (2018 Apr) 涉及到的其他知识: Global average pooling (GAP) 梯 ...

  4. ResNet、ResNeXt详解以及代码实现

    目录 ResNet网络结构详解 resnet的创新 残差块Residul Block 整体网络结构 ResNet代码实现 ResNeXt详解 组卷积 更新了Block ResNeXt整体结构 ResN ...

  5. unet是残差网络吗_深度学习系列(三)卷积神经网络模型(ResNet、ResNeXt、DenseNet、DenceUnet)...

    深度学习系列(三)卷积神经网络模型(ResNet.ResNeXt.DenseNet.Dence Unet) 内容目录 1.ResNet2.ResNeXt3.DenseNet4.Dence Unet 1 ...

  6. CNN分类,ResNet V1 ,ResNet V2,ResNeXt,DenseNet

    一.CNN分类 1.基于空间利用的CNN 2.基于深度的CNN 3.基于多路径的CNN 4.基于宽度的多连接 5.基于特征图的CNN 6.基于通道的CNN 7.基于注意力的CNN 二,ResNet V ...

  7. 残差网络ResNet到ResNeXt解读,最强ResNeXt预训练模型已开源及如何使用

    它叫ResNeXt WSL,有超过8亿个参数,用Instagram上面的9.4亿张图做了 (弱监督预训练) ,用ImageNet做了微调. 背景介绍:残差网络的发展 ● ResNet (2015) 传 ...

  8. 聊一聊ResNet系列(ResNet、ResNeXt)

    摘要:终于到了介绍ResNet系列的时候了.ResNet真的很好用,特别时shortcut的想法真的厉害.最近,又推出了改进版本ResNeXt,新版本结合了Inception多支路的思想. 关键字:深 ...

  9. ResNet、ResNeXt网络详解及复现

    网络详解: ResNet网络详解 ResNeXt网络详解 torch复现: import torch.nn as nn import torch''' 对应着18层和34层的残差结构 既要拥有实现部分 ...

  10. ResNet和ResNeXt

    第3周学习:ResNet+ResNeXt 一.ResNet+ResNeXt 二.cat vs dog 三.Q&A 一.ResNet+ResNeXt ResNet 网络结构 亮点:超深的网络结构 ...

最新文章

  1. LSGO代码小组第16周复盘日志
  2. Delphi 关键字详解
  3. SpringBoot 配置绑定
  4. 2015生命之旅---第一站重庆
  5. Python与操作系统有关的模块
  6. 判断一个字符串是否另一个字符串的右移后的
  7. qlistview 自定义控件_是否可以在QListView中添加自定义窗口小部件?
  8. alwayson高可用组_了解AlwaysOn可用性组上的备份-第2部分
  9. 极简代码(四)—— 分段函数(sinc)的实现
  10. 项目经理,你真的是资源不足吗?
  11. roundcube db.inc.php,开源电子邮件系统(Roundcube Webmail)
  12. 最小-最大搜索和Alpha-beta剪枝搜索
  13. Hadoop集群能打开50070端口网页不能打开8088端口网页
  14. 论文笔记 NAACL findings 2022|Zero-Shot Event Detection Based on Ordered Contrastive Learning and Prompt-
  15. 瑞萨电子第一家Preferred Partner-武汉万象奥科
  16. 倍福触摸屏维修倍福工控机维修CP3916-0010详解
  17. python str和repr的区别_python的str()和repr()的区别
  18. 解决下载github-production-release-asset-2e65be.s3.amazonaws.com上release文件慢的问题
  19. java和noddjs哪个好,【RequireJS--API学习笔记】
  20. 自动驾驶论文:FisheyeMODNet: Moving Object detection on Surround-view Cameras for Autonomous Driving (2019)

热门文章

  1. 七牛云:2019年云综合收入 12.5亿元,不再是CDN代表
  2. 机器学习是如何利用线性代数来解决数据问题的
  3. 手把手教你在阿里云服务器部署一个属于自己的项目(一)新用户领取阿里云服务器
  4. python 正则表达式(QQ,手机号,邮箱,用户名,密码)
  5. 日语的主要国家与城市
  6. layui 实现登录
  7. 旧版本显卡驱动官网安装失败,教你如何把别人的驱动程序“复制”过来
  8. H5跳转小程序(详)
  9. springboot(十四):使用Lombok来优雅的编码
  10. AirSim无人机运动过程中图片及进行存储