深度学习视频理解
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

2.1.9 随机深度网络

尽管 ResNet 取得了出类拔萃的效果,但是训练 ResNet 网络通常需要花费比较长的时间。随机深度网络(Stochastic Depth)(Huang et al.,2016)是ResNet的又一改进,旨在加速训练,如图2-13所示。类似于随机失活,在训练时,随机深度网络以一定概率随机将残差模块中的残差分支失活,失活的模块直接由短路分支输出,没有失活的模块正常经过残差和短路两个分支。图2-13中的残差模块 3和残差模块5被失活,因此只有短路分支,而其他 3个模块没有失活。训练时由于模块随机失活的存在,因此训练不需要前馈所有的模块,只需要经过没有被失活的模块,就可以等价地认为网络深度变浅了,这不仅可以节省训练时间,还可以缓解由于网络深度加深导致的梯度消失问题。

img

图2-13 随机深度网络示意图

在训练时,每一个残差模块对应一个保留概率,即1-失活概率,不同模块的保留概率不同。由于网络先由底层模块提取图像的低级特征,再由高层模块基于低级图像特征提取高级图像特征,最后基于高级特征进行类别预测,低级图像特征会被高层模块使用,因此不应频繁让底层模块失活。具体地说,从网络输入到网络输出,各个模块的保留概率线性下降(即失活概率线性增加),网络的输入图像保留概率为1.0,即输入总是保留状态,网络最后一个模块的保留概率为0.5,因此训练时网络深度的期望值是原网络深度的3/4。在预测时,所有的残差模块均保留,即前馈经过全部模块的所有分支,各个模块的输出会根据各自训练时的保留概率进行校正。和随机失活的原理类似,在预测时可以看作是许多不同深度的网络的集成,两者区别在于随机失活以神经元为单位,而随机深度网络以残差模块为单位。

随机深度网络说明 ResNet中的残差模块存在信息冗余。(Guo & Gould,2016)也有类似的思路,其采用了固定的保留概率,并在短路分支增加了额外操作。