解密ResNet:Identity Mappings in Deep Residual Networks论文笔记

论文地址:Identity Mappings in Deep Residual Networks

在上一篇文章中,对MSRA何凯明团队的ResNet进行了介绍(地址),那篇文章中提到了,1202层的ResNet出现了过拟合的问题,有待进一步改进。第二年,何的团队就发表了“Identity Mappings in Deep Residual Networks”这篇文章,分析了ResNet成功的关键因素——residual block背后的算法,并对residual block以及after-addition activation进行改进,通过一系列的ablation experiments验证了,在residual block和after-addition activation上都使用identity mapping(恒等映射)时,能对模型训练产生很好的效果,通过这项改进,也成功的训练出了具有很好效果的ResNet-1001。

在原始的ResNet中,对于每一个residual building block: 
解密ResNet:Identity Mappings in Deep Residual Networks论文笔记 
可以表现为以下形式: 


其中为一个恒等映射,代表ReLU**函数。

而本文提出了,如果h(x)和f(y)都是恒等映射,即,那么在训练的前向和反向传播阶段,信号可以直接从一个单元传递到另外一个单元,是训练变得更加简单。 
即上面的公式可以表达为: 


那么通过递归,可以得到任意深层单元L特征的表达: 

文章分析了这个表达的优良特性: 
(1)对于任意深的单元的特征  可以表达为浅层单元 的特征 加上一个形如 的残差函数,这表明了任意单元之间都具有残差特性。 
(2)对于任意深的单元,它的特征 ,即为之前所有残差函数输出的总和(加上)。而正好相反的是,“plain network”中的特征是一系列矩阵向量的乘积,也就是,而求和的计算量远远小于求积的计算量。

而对于反向传播,假设损失函数为,根据反向传播的链式法则可以得到: 
解密ResNet:Identity Mappings in Deep Residual Networks论文笔记 
将梯度分成了两个部分:不通过权重层的传递解密ResNet:Identity Mappings in Deep Residual Networks论文笔记和通过权重层的传递解密ResNet:Identity Mappings in Deep Residual Networks论文笔记。其中解密ResNet:Identity Mappings in Deep Residual Networks论文笔记保证了信号能够直接传回到任意浅层,同时这个公式也保证了不会出现梯度消失的现象,因为解密ResNet:Identity Mappings in Deep Residual Networks论文笔记不可能为-1。

通过了以上分析,作者设计实验来进行验证。

首先,对于恒等跳跃连接,作者设计了constant scaling、exclusive gating、short-only gating、1*1 conv shortcut以及dropout shortcut来替代,如下图,经过实验发现,的误差衰减最快、误差也最低,而其他形式的都产生了较大的损失和误差。 
解密ResNet:Identity Mappings in Deep Residual Networks论文笔记 
解密ResNet:Identity Mappings in Deep Residual Networks论文笔记

作者认为,捷径连接中的操作 (缩放、门控、11 的卷积以及 dropout) 会阻碍信息的传递,以致于对优化造成困难。 
而且虽然11的卷积捷径连接引入了更多的参数,本应该比恒等捷径连接具有更加强大的表达能力。但是它的效果并不好,这表明了这些模型退化问题的原因是优化问题,而不是表达能力的问题。

接下来,对于**函数,作者设计了以下几种形式: 
解密ResNet:Identity Mappings in Deep Residual Networks论文笔记 
实际上只是**函数(ReLU/BN)的位置有所不同,由于作者希望构建一个恒等的,将**项分为了预**(pre-activation)和后**(post-activation)。实验发现,将ReLU和BN都放在预**中,即full pre-activation在ResNet-110和ResNet-164上的效果都最好。 
解密ResNet:Identity Mappings in Deep Residual Networks论文笔记 
甚至在1001层的ResNet上也克服了过拟合的问题: 
解密ResNet:Identity Mappings in Deep Residual Networks论文笔记 
作者认为这是由两方面引起的:第一,由于也是恒等映射,优化变得更加简单(与原始ResNet相比)。第二,在预**中使用BN能够提高模型的正则化,从而减少了过拟合的影响。

这篇文章为深层模型的训练提供了很好的方式和思路,也促进了深层模型的进一步发展,接下来我将会把这篇文章的译文提供给大家,也欢迎大家的批评指正。