ResNet与ResNeXt
一、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相关推荐
- 经典卷积神经系列(Inception v1\v2\v3\v4、ResNet、ResNext、DenseNet、SENet)
写在前面:此文只记录了下本人感觉需要注意的地方,不全且不一定准确.详细内容可以参考文中帖的链接,比较好!!! 经典的CNN:Inception v1\v2\v3\v4.Resnet.Resnext.D ...
- CNN经典分类网络发展历程GoogLeNet、SqueezeNet、ResNet、ResNeXt、DenseNet
本篇博文主要介绍2015年之后出现的经典分类网络的发展历程,前期经典分类网络网上有很多解析,主要包括LeNet.AlexNet.VGG等. 本篇博文主要介绍GoogLeNet.SqueezeNet.R ...
- ResNet家族:ResNet、ResNeXt、SE Net、SE ResNeXt
目录 ResNet DenseNet ResNeXt SE-ResNet, SE-ResNeXt (2018 Apr) 涉及到的其他知识: Global average pooling (GAP) 梯 ...
- ResNet、ResNeXt详解以及代码实现
目录 ResNet网络结构详解 resnet的创新 残差块Residul Block 整体网络结构 ResNet代码实现 ResNeXt详解 组卷积 更新了Block ResNeXt整体结构 ResN ...
- unet是残差网络吗_深度学习系列(三)卷积神经网络模型(ResNet、ResNeXt、DenseNet、DenceUnet)...
深度学习系列(三)卷积神经网络模型(ResNet.ResNeXt.DenseNet.Dence Unet) 内容目录 1.ResNet2.ResNeXt3.DenseNet4.Dence Unet 1 ...
- CNN分类,ResNet V1 ,ResNet V2,ResNeXt,DenseNet
一.CNN分类 1.基于空间利用的CNN 2.基于深度的CNN 3.基于多路径的CNN 4.基于宽度的多连接 5.基于特征图的CNN 6.基于通道的CNN 7.基于注意力的CNN 二,ResNet V ...
- 残差网络ResNet到ResNeXt解读,最强ResNeXt预训练模型已开源及如何使用
它叫ResNeXt WSL,有超过8亿个参数,用Instagram上面的9.4亿张图做了 (弱监督预训练) ,用ImageNet做了微调. 背景介绍:残差网络的发展 ● ResNet (2015) 传 ...
- 聊一聊ResNet系列(ResNet、ResNeXt)
摘要:终于到了介绍ResNet系列的时候了.ResNet真的很好用,特别时shortcut的想法真的厉害.最近,又推出了改进版本ResNeXt,新版本结合了Inception多支路的思想. 关键字:深 ...
- ResNet、ResNeXt网络详解及复现
网络详解: ResNet网络详解 ResNeXt网络详解 torch复现: import torch.nn as nn import torch''' 对应着18层和34层的残差结构 既要拥有实现部分 ...
- ResNet和ResNeXt
第3周学习:ResNet+ResNeXt 一.ResNet+ResNeXt 二.cat vs dog 三.Q&A 一.ResNet+ResNeXt ResNet 网络结构 亮点:超深的网络结构 ...
最新文章
- LSGO代码小组第16周复盘日志
- Delphi 关键字详解
- SpringBoot 配置绑定
- 2015生命之旅---第一站重庆
- Python与操作系统有关的模块
- 判断一个字符串是否另一个字符串的右移后的
- qlistview 自定义控件_是否可以在QListView中添加自定义窗口小部件?
- alwayson高可用组_了解AlwaysOn可用性组上的备份-第2部分
- 极简代码(四)—— 分段函数(sinc)的实现
- 项目经理,你真的是资源不足吗?
- roundcube db.inc.php,开源电子邮件系统(Roundcube Webmail)
- 最小-最大搜索和Alpha-beta剪枝搜索
- Hadoop集群能打开50070端口网页不能打开8088端口网页
- 论文笔记 NAACL findings 2022|Zero-Shot Event Detection Based on Ordered Contrastive Learning and Prompt-
- 瑞萨电子第一家Preferred Partner-武汉万象奥科
- 倍福触摸屏维修倍福工控机维修CP3916-0010详解
- python str和repr的区别_python的str()和repr()的区别
- 解决下载github-production-release-asset-2e65be.s3.amazonaws.com上release文件慢的问题
- java和noddjs哪个好,【RequireJS--API学习笔记】
- 自动驾驶论文:FisheyeMODNet: Moving Object detection on Surround-view Cameras for Autonomous Driving (2019)