Residual Networks are Exponential Ensembles of Relatively Shallow Networks

58 阅读2分钟

Residual Networks are Exponential Ensembles of Relatively Shallow Networks

引用: VEIT A, WILBER MichaelJ, BELONGIE S. Residual networks behave like ensembles of relatively shallow networks[J]. Neural Information Processing Systems, 2016.

论文地址: arxiv.org/abs/1605.06…

论文概述

论文主要提出一种对残差网络的新解释,实验表明残差网络是exponential ensembles的,这些集成主要由每个相对较浅的网络组成。110 层的残差网络中的大多数梯度都来自非常浅的网络的集成,即只有 10-34 层深的残差网络。实验表明除了在width和depth方面描述神经网络外,还有第三个维度:multiplicity(隐式集成的大小)。残差网络不会通过在整个网络的整个深度保留梯度流来解决梯度消失问题——相反,它们通过简单地将多个短网络集成在一起来避免问题。

残差网络[1]每一层由一个残差模块 fif_{i} 和一个shortcut connection组成,其中第 ii 层的输出定义为:

yi+1=fi+1(yi)+yi(1){y_{i + 1}} = {f_{i + 1}}({y_i}) + {y_i} \tag{1}

其中 fif_{i} 由一些卷积块,BN层和ReLU函数组成。 残差网络可以看作是Highway networks[2]的一个特例。Highway networks每一层的输出定义为:

yi+1=fi+1(yi)ti+1(yi)+yi(1ti+1(yi))(2){y_{i + 1}} = {f_{i + 1}}({y_i}) \cdot {t_{i + 1}}({y_i}) + {y_i} \cdot (1 - {t_{i + 1}}({y_i})) \tag{2}

Highway networks还包含绕过它们的残差模块和shortcut connection。但是,每条路径的输出由具有学习参数的门控函数 tt 衰减,并且取决于其输入。当 ti()=0.5t_i(·) = 0.5 时,Highway networks等效于残差网络,在这种情况下,数据通过两条路径平均流动。因此,Highway networks可以学习每个残差模块是否应该影响数据。这引入了更多的参数和更多的复杂性。

The unraveled view of residual networks

考虑一个残差网络,其中三个构建块从输入 y0y_0 到输出 y3y_3。等式 (1)(1) 给出了残差网络的递归定义。每个阶段的输出基于两个子项的组合。可以通过将递归展开为指数数量的嵌套项来使残差网络的共享结构变得明显,在每个替换步骤中扩展一层:

y3=y2+f3(y2)(3){y_3} = {y_2} + {f_3}({y_2}) \tag{3}
y3=[y1+f2(y1)]+f3(y1+f2(y1))(4){y_3} = [{y_1} + {f_2}({y_1})] + {f_3}({y_1} + {f_2}({y_1})) \tag{4}
y3=[y0+f1(y0)+f2(y0+f1(y0))]+f3(y0+f1(y0)+f2(y0+f1(y0)))(5){y_3} = [{y_0} + {f_1}({y_0}) + {f_2}({y_0} + {f_1}({y_0}))] + {f_3}({y_0} + {f_1}({y_0}) + {f_2}({y_0} + {f_1}({y_0}))) \tag{5}

残差网络通常表示为 (a)(a),它是等式 (1)(1) 的自然表示。当将此公式扩展到等式 (5)(5) 时,获得了 3 块残差网络 (b)(b)unraveled view。从这个角度来看,很明显残差网络具有连接输入和输出的O(2n){O}\left( {{2^n}} \right) 隐式路径,并且添加残差块会使路径的数量加倍。该图清楚地表明数据沿着从输入到输出的指数级多条路径流动。每条路径都是一个唯一的配置,决定要进入哪个残差块,要跳过哪个残差块。

在经典的视觉层次结构中,每一层的处理只依赖于前一层的输出。残差网络由于其固有的指数结构,并不严格遵循这种模式。残差网络中的每个模块 fi()f_i(·) 从前 i1i−1 个残差模块的每种可能配置生成的 2i12^{i−1} 个不同分布的混合数据中获得数据。

基于这些观察,论文提出了残差网络不是单个超深度网络的假设,而是许多网络组成的非常大的隐式集成。

实验结果

如图(a)(a)当从残差网络中随机删除几个模块时,误差平稳增加。(b)(b)通过重组构建块重新排序残差网络时的错误。随着重新排序程度的增加,误差也会平稳地增加。这些结果与人们对集成的期望相似。

为了找到模型输出,论文首先展示了所有可能的路径长度 (a)(a) 的分布,这遵循二项式分布。其次,通过不同长度的路径 (b)(b) 记录网络第一层上诱导了多少梯度,这似乎与梯度通过的模块数量大致呈指数衰减。最后,可以将这两个函数 (c)(c) 相乘,以显示梯度来自某个长度的所有路径。虽然中等长度的路径很多,但超过 ∼20 个模块的路径通常太长,无法在训练期间贡献明显的梯度。这表明残差网络是短网络的大型集成。

参考文献

[1] HE K, ZHANG X, REN S, et al. Deep Residual Learning for Image Recognition[C/OL]//2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), Las Vegas, NV, USA. 2016.

[2] SRIVASTAVA R, GREFF K, SCHMIDHUBER J. Highway Networks[J]. arXiv: Learning, 2015.