ResNet v2:Identity Mappings in Deep Residual Networks
1 简介
ResNet v1和ResNet v2的区别主要在于残差单元设计的差异,作者在对ResNet v1残差单元的分析及反向传播的推导中,当使用恒等映射(identity mappings)作为跳跃连接(skip connections)及信号pre-activation时,前向、反向传播的信号能直接从一个残差块传递到其他任意一个残差块。可以用公式1和公式2表示残差单元的工作过程,ResNet v2在设计残差单元的时候保证了恒等映射,也就是保证 h ( x l ) = x l h(x_{l})=x_{l} h(xl)=xl以及 f ( y l ) = y l f(y_{l})=y_{l} f(yl)=yl两个恒等映射。
y l = h ( x l ) + F ( x l , W l ) ( 1 ) y_{l}=h(x_{l})+\mathcal{F}(x_{l},\mathcal{W}_{l})\text{ }\text{ }\text{ }\text{ }\text{ }\text{ }\text{ }\text{ }\text{ }(1) yl=h(xl)+F(xl,Wl) (1)
x l + 1 = f ( y l ) ) ( 2 ) x_{l+1}=f(y_{l}))\text{ }\text{ }\text{ }\text{ }\text{ }\text{ }\text{ }\text{ }\text{ }(2) xl+1=f(yl)) (2)
2 残差网络结构分析
具体分析参考:深度学习经典网络:ResNet及其变体(上)
主要是在公式1和公式2的基础上推导出网络深层 L L L和浅层 l l l之间的前向以及反向梯度的关系,前向关系如公式3所示,反向梯度关系如公式4所示。从公式4可以看出任意深层与浅层之间是一个残差和的关系,从公式4中可以看出任意深层 L L L的梯度都能够传递给浅层 l l l,这就避免了梯度消失的问题。而所有的推导是建立在第一部分提到的两个恒等映射。作者设计的结构如图1所示, 从两个方面保证了恒等映射,一是图中灰色shortcut connection部分,除了必要的加法操作,不附带任何操作(当然在不同层之间如果输入和输出的维度不匹配时还是有1×1的卷积进行维度匹配,这相对于整个网络只是很小的一部分),二是将BatchNorm 和Relu放在卷积操作前面,作者称这种方式为‘pre-activation’ 。接下来作者对两个部分进行了分析。
x L = x l + ∑ i = 1 L − 1 F ( x i , W i ) ( 3 ) x_{L}=x_{l}+\sum_{i=1}^{L-1}\mathcal{F}(x_{i},\mathcal{W}_{i}) \text{ }\text{ }\text{ }\text{ }\text{ }\text{ }\text{ }\text{ }\text{ }(3) xL=xl+i=1∑L−1F(xi