如何解读训练误差随迭代次数的突然跃升?以He残差学习论文为例
你观察到的这个现象在He等人的ResNet论文里确实很有意思,你的直觉方向是完全正确的——模型确实是从梯度平缓的平台期进入了更高效的下降路径,具体原因可以从ResNet的核心设计和训练策略来拆解:
批量归一化(Batch Normalization)的动态校准
ResNet广泛使用了BN层,它在训练过程中会持续更新批量的均值和方差统计量。前期迭代中,这些统计量可能还在积累样本信息,处于不够稳定的状态,导致模型的激活值分布不够理想,梯度传递受阻,陷入平台期。当迭代到15e4、30e4这类节点时,BN的统计量已经积累了足够多的有效样本,突然完成了一次关键校准,让激活值回到更利于梯度流动的分布区间,直接带动误差骤降。残差分支的“激活解锁”
ResNet的残差连接允许梯度直接跨越多个层传递,但前期训练时,部分残差分支的参数可能还处于接近初始值的状态,相当于“休眠”了,没有真正发挥短路梯度的作用。当迭代到一定次数,这些分支的参数刚好调整到能有效传递梯度的阈值,突然解锁了更顺畅的梯度路径,深层网络的参数开始得到有效更新,误差自然出现跳降。学习率的阶梯式衰减调度
论文中的训练策略大概率使用了阶梯式学习率衰减(比如每15e4迭代将学习率乘以0.1)。在平台期时,较高的学习率可能让模型在参数空间里震荡,难以收敛到更优区域;当学习率按时衰减后,优化器的步长变小,能够在更精细的参数范围内搜索,一下子找到更优的参数组合,带来误差的突然下降。梯度瓶颈的突破
虽然ResNet解决了深度网络的梯度消失问题,但前期训练中,深层网络的梯度可能依然较小,参数更新缓慢。随着迭代次数增加,残差连接积累的梯度逐渐突破了之前的瓶颈,深层参数开始进入有效更新阶段,多层参数的协同优化带动了误差的跳降。
简单来说,你推测的“陷入梯度平台后找到陡峭下降路径”是核心逻辑,而ResNet的BN、残差设计以及训练时的学习率调度,共同促成了这种突然的误差下降现象。
内容的提问来源于stack exchange,提问作者Alexander Engelhardt

