
虚线是调整步距,目的是为了可相加。
浅层不需要,其通过最大池化下采样得到的输出刚好是实现残差结构所需要的输入shape,深层需要。


左边在主分支上经过一些操作得到的一个特征矩阵,再与输入的特征矩阵进行相加,再进行RELU激活函数操作。这需要保证整体操作中的特征矩阵们的维度差别不大。
右边加上了两个1×1卷积层。第一个进行降维,第二个回归256。主要目的是为了减少参数。
目的是为了是一个batch的feature map,满足均值为0方差为1的分布规律。该方法能够加速网络训练并且提升准确率。
先学习通用的,再训练学习特殊的,节省了时间。
对ResNet的改进。

下面的block模块,在数学计算上完全等价。

最终将原来的block替换成©中的block。


为了训练方便,这里eopch设为1,但是能够得到相对不错的结果,证明了其神经网络优越性。相信epoch更多的情况下,能够更加收敛取得更好结果。

LeNet是依据高老师博客的内容进行训练的。
虽然ResNet只训练了一个EOPCH,但是效果明显好于LeNet。
通过创造两条途径,使得:下一层的值=输入的值+经过冗余层计算的值,用残差的方法解决了梯度消失或者爆炸,以及神经网络的退化问题。使得神经网络的层数可以大大增加,也能够取得较好的效果。
使卷积以后的feature map满足均值为0,方差为1的分布规律,接入激活函数后不会发生意外情况。而BN,首先会统计每个通道数目所有点的像素值,求得均值和方差,然后在每个通道上分别用该点的像素值减均值除方差得到该点的像素值,最后将其接入到激活函数中。
因为分组卷积能够在保证参数数量不发生爆炸的情况下尽可能增加深度。
但是分组卷积的一个重要弊端是组与组之间没有信息流通的渠道,导致网络的特征提取能力下降。所以分组卷积的数量也是个要慎重考虑的问题。