图像分类CNN经典网络(三)ResNet

在前面两篇文章总结了经典的CNN四个模型,其网络层次如下所示:
在这里插入图片描述
众所周知,网络的层数越低,网络的性能会越来越好。恰面我们看到了经典的四个网络架构,层数最多的也就22层。是不是可以造出更深的网络来呢?为此很多人继续去做实验,人们发现网络性能没有提高反而降低了,考虑其原因可能是梯度爆炸或者梯度消失等,为此有人提出了残差网络的思想。

在这里插入图片描述

ResNet残差网络

那么我们作这样一个假设:假设现有一个比较浅的网络(Shallow Net)已达到了饱和的准确率,这时在它后面再加上几个恒等映射层(Identity mapping,也即y=x,输出等于输入),这样就增加了网络的深度,并且起码误差不会增加,也即更深的网络不应该带来训练集上误差的上升。而这里提到的使用恒等映射直接将前一层输出传到后面的思想,便是著名深度残差网络ResNet的灵感来源。

ResNet的主要思想在于残差的思想,如下图所示:
我总结了两方面理解这个思想,emmm不知道对不对,欢迎指正。
(1)我们先看这个结构,如果说浅层网络已经训练的比较好了,深层网络要做的就是保持这个效果,保持效果即使要用一个恒等映射,也就是我们的残差网络H=F+X,这个等式如果我们让F=0,则H=X就能恒等映射浅层网络的东西了,所以残差网络训练到后期就会训练F=0这个过程。

在这里插入图片描述

(2)那么对于一个数据集,我们不太清楚训练多少层比较好,但是我们知道一个浅层的网络达到比较好的笑过后,再往后加网络层数不知道效果如何,但是如果加一个恒等映射的话应该是保持浅层的效果的!get到。
(3)好,那么我们就构造一个深层次的带残差的网络当训练到一定时间后,浅层的网络会优化的很好,深层的网络会逐渐地调节使F趋于0.
(4)残差对于收敛速度的影响
X是求和前网络映射,H是从输入到求和后的网络映射。比如把5映射到5.1,那么引入残差前是F’(5)=5.1,引入残差后是H(5)=5.1, H(5)=F(5)+5, F(5)=0.1。这里的F’和F都表示网络参数映射,引入残差后的映射对输出的变化更敏感。比如s输出从5.1变到5.2,映射F’的输出增加了1/51=2%,而对于残差结构输出从5.1到5.2,映射F是从0.1到0.2,增加了100%。明显后者输出变化对权重的调整作用更大,所以效果更好。残差的思想都是去掉相同的主体部分,从而突出微小的变化。

好了,之后又对残差网络做了优化,两层的残差网络参数量太大,下图右侧为三层的残差网络,其先降维,然后再卷积,再升维。
在这里插入图片描述
左图参数量3x3x256x64x2(??对不对)
右图1x1x256x64+3x3x64x64+1x1x64x256=69632的参数量。
参数量大大减小!

ResNeXt

ResNeXt是再残差网络上做了一定的修改,它是借鉴了Lenet的思想,将卷积网络按照通道拆分开,如下图所示。
左图为ResNet,右图为RexNext。它考虑左边是直接串联完成了所有的步骤先降维得到64通道再用33卷积核卷积再升维度。右边是分为并联的几个小块,分别降维到4个通道,然后卷积33,这时参量才334432个相比于3364*64小多了emmm,案后再升维度,再组合到一起。也是一个很好的思想。

在这里插入图片描述
如下展示了对ResNet与ResNeXt的对比,其在没有提高参数量的同时提高了预测的正确率。
在这里插入图片描述
在这里插入图片描述

参考文献

[1]大话深度残差网络(DRN)ResNet网络原
https://blog.csdn.net/rogerchen1983/article/details/79353972
[2]浅析深度ResNet有效的原理
https://blog.csdn.net/u014296502/article/details/80438616

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值