第3周学习:ResNet+ResNeXt

ResNet

ResNet网络的亮点:

  • 超深的网络结构(突破1000)层
  • 提出 residual 模块
  • 使用Batch Normalization加速训练(丢弃dropout)
    残差学习基本单元
    主要思想是通过构建恒等映射去解决网络退化问题。简单地说,原先的网络输入x,希望输出H(x)。现在我们改一改,我们令H(x)=F(x)+x,那么我们的网络就只需要学习输出一个残差F(x)=H(x)-x。作者提出,学习残差F(x)=H(x)-x会比直接学习原始特征H(x)简单的多。
    在这里插入图片描述
    在不同的深度模型中,残差模块的结构是不同的,如下图。
    在这里插入图片描述

Batch Normalization

Batch Normalization是google团队在2015年论文《Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift》提出的。通过该方法能够加速网络的收敛并提升准确率。在网上虽然已经有很多相关文章,但基本都是摆上论文中的公式泛泛而谈,bn真正是如何运作的很少有提及。
在图像预处理过程中通常会对图像进行标准化处理,这样能够加速网络的收敛,如下图所示,对于Conv1来说输入的就是满足某一分布的特征矩阵,但对于Conv2而言输入的feature map就不一定满足某一分布规律了(注意这里所说满足某一分布规律并不是指某一个feature map的数据要满足分布规律,理论上是指整个训练样本集所对应feature map的数据要满足分布规律)。而我们Batch Normalization的目的就是使每一个batch的feature map满足均值为0,方差为1的分布规律。
在这里插入图片描述
“对于一个拥有d维的输入x,我们将对它的每一个维度进行标准化处理。” 假设我们输入的x是RGB三通道的彩色图像,那么这里的d就是输入图像的channels即d=3,x=(x(1), x(2), x(3)),其中x(1)就代表我们的R通道所对应的特征矩阵,依此类推。标准化处理也就是分别对我们的R通道,G通道,B通道进行处理。

详细介绍Batch Normalization相关知识

ResNeXt

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

通过上边图1和图2可以看出来,ResNeXt结合了inception与resnet的优点,既有残差结构又对特征层进行了concat。通过图3最后的数据对比,ResNeXt能够保证FLops和参数在同一个量级的前提下,通过更宽或者更深的网络,来提高精度。每一个Block中每一条path在文章中被称为一个cardinality。实验表明,增加cardinality是获得精度的一种更有效的方法。

Aggregated Residual Transformations for Deep Neural Networks 留坑

猫狗大赛

LeNet结果

在这里插入图片描述

ResNet结果

在这里插入图片描述

本周思考问题

1、Residual learning

参考1
参考2

2、Batch Normailization 的原理

Batch Normalization通过一定的规范化手段,把每层神经网络输入值的分布强行拉回到均值为0方差为1的标准正态分布。
深度学习中 Batch Normalization为什么效果好?(留坑,还没有消化掉)

3、为什么分组卷积可以提升准确率?即然分组卷积可以提升准确率,同时还能降低计算量,分数数量尽量多不行吗?

不确定分组卷积是否可以提高准确率,也没在知乎大佬那么搜索比较明确的出处,留坑。
数量拉满,就变成了深度可分离卷积,所以在炼丹过程中要根据实际情况不断的调整。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值