ResNet 发布至今已经有六年多了,但它的工作原理至今仍然是个迷。最近Reddit 上一个网友发帖表示,是否ResNet的创新出发点就有问题?

在ResNet论文观察到的退化问题(degradation problem),即34层的网络在整个训练过程中比18层的网络具有更高的训练误差,但18层网络的解空间显然是34层网络的子空间。

一个很自然的假设是这个问题和RNN 网络中观察到的梯度消失问题(Vanishing Gradient Problem)相同,也是长短时记忆网络(Long-Short Term Memory Networks, LSTM)主要改进的问题。
 
论文的作者Kaiming 大神当时并不这么认为,他在论文中写道:
「我们认为这种优化困难不太可能是由梯度消失引起的,因为这些普通神经网络使用 BN 进行训练,确保前向传播的信号具有非零方差可以缓解这个问题。我们还验证了反向传播的梯度,结果可以看到表现出 BN 的结果也很正常。因此,前向或后向的信号都不会消失。事实上,34 层的普通网络仍然能够达到有竞争力的精度,这表明这个解决方法在一定程度上是有效的。我们推测普通神经网络的收敛速度可能呈指数级低,这会影响训练误差的减少。未来将研究这种优化困难的原因。」
关于 ResNets 的工作原理主要存在三种相互竞争的假说,并且给出了相关的论文:
1、进行了迭代细化(iterative refinement)

这篇论文从分析和实证两方面研究了resnet。研究人员通过显示残差连接自然地鼓励残差块的特征在从一个块到下一个块的过程中沿着损失的负梯度移动,从而在resnet中形式化了迭代细化的概念。

此外,实证分析表明,resnet能够进行表征学习和迭代优化。通常,Resnet块倾向于将表示学习行为集中在前几层,而更高层执行特征的迭代细化。

最后,研究人员观察到共享残差层会导致表示爆炸和反直觉的过拟合,文中提出了一个简单的策略可以帮助缓解这个问题。

2. 指数级的集成模型

这项工作中对残差网络提出了一种新颖的解释:这个模型可以被视为许多不同长度路径的模型的集成。此外,残差网络似乎通过在训练期间仅利用短路径来实现非常深的网络。为了支持这一观察,研究人员将残差网络重写为一个显式的路径集合。

研究结果表明,这些路径表现出类似整体的行为并不强烈地相互依赖。并且大多数路径都比人们预期的要短,在训练期间也只需要短路径,因为较长的路径不会产生任何梯度。

例如,具有 110 层的残差网络中的大部分梯度来自仅 10-34 层深的路径。这篇论文的结果认为Resnet 能够训练非常深的网络的关键特征之一是残差网络通过引入可以在非常深的网络范围内携带梯度的短路径来避免梯度消失问题。

3. 原始论文中提到的,梯度传播过程被改进了

答主也看过一些神经切线内核(neural tangent kernel stuff)的东西,但他仍然不明白其中的原理,并且他也认为没有人真正坐下来试图弄清楚真正的解释是什么。

不过他有一个想法,可以通过考虑具有重叠跳过连接(overlapping skip connections)的网络来测试集成理论(ensemble theory),这些网络具有集成论文中定义的最大多样性(maximal multiplicity)。并且可以改变跳过连接长度的同时保持多重性不变,但还没有人这样做过任何与此有关的实验。

还可以尝试的另一件事是使 Resnets 的梯度流保证完美而无需跳过连接的情况,但是当用户添加残差连接时,大多数此类事情都无法达到完美的情况,因此必须考虑新的方式来达成完美梯度传播。

内容中包含的图片若涉及版权问题,请及时与我们联系删除