残差神经网络的研究

目录

一、ResNet残差神经网络

1.1 提出

1.2 作用

1.3 应用场景

1.4 残差单元的结构

1.4.1 残差网络得名的原因

1.4.2 残差网络可以有效缓解退化现象的原因

1.4.3 数学原理

二、附录

2.1 残差神经网络可以缓解退化现象的数学原理

2.2 为什么直接映射是最佳的

三、参考文献

 


 

 

一、ResNet残差神经网络

1.1 提出

ResNetResidual Neural Network)[1] 残差神经网络由前微软研究院的 Kaiming He 4名华人提出,通过使用 Residual Blocks 成功训练152层深的神经网络,在 ILSVRC 2015 比赛中获得了冠军,取得 3.57% top-5 错误率,效果非常突出。

 

1.2 作用

在深度学习网络的层数增加时,模型的准确率会逐渐饱和甚至开始降低,这个不是过拟合现象因为在训练集上也会有这样的表现,这个现象被称为退化现象,其实更直观的感受来说是层数越多的神经网络模型的训练难度越高。使用ResNet可以有效的避免退化现象,训练出层数更深的深度学习神经网络。

 

1.3 应用场景

需要训练出一个优秀的深度神经网络时,可以考虑使用残差神经网络。

 

1.4 残差单元的结构

残差神经网络的研究

      上图即为残差单元的基本结构,相较于传统神经网络结构,残差单元多了一个将输入x传入后层作为后层输入的连接方式,这种方式被称为Shortcut Connection,使用到的映射方法为identity mapping,这种映射方法使得当x与F(x) 维度不同时,对x进行处理,让其可以与F(x)相加。

 

1.4.1 残差网络得名的原因

设输出函数为H(x),可知如果没有直接向后层传递的x,则H(x)=F(x),但是由于残差单元的结构可以使x直接传入后面的某层作为输入,所以输出函数变为H(x)=F(x)+x,所以F(x)=H(x)-x,即F(x)为输出和输入的差,而在该网络中F(x)又为学习的目标,故该网络称为残差神经网络。

 

1.4.2 残差网络可以有效缓解退化现象的原因

残差神经网络的提出主要是为了解决随着神经网络层数增加,网络准确率饱和,甚至下降的问题。我们假设现在有K层的神经网络,拟合的输出为残差神经网络的研究现增加网络层数,增加为????′,结果发现网络的准确率基本不变或者下降,按理说不变还是好理解的,因为可能K已经是该网络模型的最优层数了,但是下降就不太合理了。那么为什么会发生准确率降低的情况呢,我们可以猜想,是不是深层网络不易拟合恒等映射,即(H(x)=x),因为如果K层网络可以使模型的准确率达到饱和,那么K′K层之间的隐层,做的只是H(x)=x这样简单的恒等映射的传递,但是却出现了准确率下降的情况,所以我们这样的猜测使合理的。那么在这样的猜测下,产生了残差单元,将要拟合的映射由H(x)=x,变为F(x)=H(x)-x,拟合F(x)=0,等价于拟合H(x)=x这样一个恒等映射,而显然拟合F(x)=0更为简单。

经实验证明以残差作为拟合对象的残差神经网络确实可以有效解决深层神经网络训练时产生的退化现象,从而训练出层数更深的深度学习神经网络。

 

1.4.3 数学原理

最后附录里给予了残差神经网络能有效处理退化现象的数学原理[附录 1],还有为什么直接映射(H(x)=x)的效果是最好的,即为什么选择拟合F(x)=H(x)-x,而不是拟合F(x)=H(x)-λx  (λ1)  [附录 2] 

 

二、附录

2.1 残差神经网络可以缓解退化现象的数学原理

(注:何恺明团队的证明原文于参考文献[2],

以下证明过程为知乎博主的中文理解版源自 https://zhuanlan.zhihu.com/p/42706477

残差神经网络的研究

残差神经网络的研究

 

2.2 为什么直接映射是最佳的

证明过程源于参考文献[2]

残差神经网络的研究

 

三、参考文献

[1] K. He, X. Zhang, S. Ren and J. Sun, "Deep Residual Learning for Image Recognition," 2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), Las Vegas, NV, 2016, pp. 770-778, doi: 10.1109/CVPR.2016.90.

[2] He K , Zhang X , Ren S , et al. Identity Mappings in Deep Residual Networks[J]. 2016.