简单来说,“增量爆炸”就是在层数变多时,参数的微小变化就会导致损失函数的大变化,这对于模型的训练,特别是初始阶段的训练时尤其不利的。对此,一个直接的应对技巧就是Wamrup,初始阶段先用极小的学习率,然后再慢慢增大,避免在初始阶段学习过快。待模型平稳渡过初始阶段的“危险期”后,就可以正常训练了。
然而,尽管Wamrup能起到一定的作用,但其实是“治标不治本”的,因为“参数的微小变化就会导致损失函数的大变化”意味着模型本身的抖动很大,用更专业的话说就是模型的landscape极度不平滑了,这不是一个好模型应该具备的性质。因此,我们应该通过修改模型来解决这个问题,而不是通过降低学习率这种“表面”方法。
所谓修改模型,就是通过调整模型结构或初始化方式,来自然地抵消层数N对更新量的影响。残差结构是可以同时稳定前向传播和反向传播、并且可以缩放参数梯度以解决增量爆炸的一种设计,它能帮助我们训练更深层的模型。
以下转载自https://kexue.fm/archives/8994