梯度裁剪是一种重要的正则化技术,对于稳定深度模型训练至关重要。通过在反向传播之前,对梯度的 L2 范数施加上限,它可以降低梯度过小或过大的风险。这种干预措施使得优化算法能够在复杂的损失函数空间中进行优化,而不会出现发散,尤其是在具有许多层或高初始化方差的架构中。
在反向传播过程中,无界梯度可能导致参数更新,从而使训练过程不稳定。
该函数计算梯度范数,并在其超过预定义阈值时进行缩放。
这确保了各层之间的步长一致,从而促进模型可靠地收敛至最优权重。
计算当前批次计算得到的梯度向量的 L2 范数。
将计算出的规范值与配置的最高阈值进行比较。
如果范数超过限制,则将整个梯度按比例缩放,以使其符合阈值。
将裁剪后的梯度值应用于优化器,以更新模型参数。
工程师会根据实际测试结果,设定裁剪阈值,以在系统稳定性和收敛速度之间取得平衡。
可视化梯度大小有助于识别容易出现不稳定性的区域,从而需要采取干预措施。
实时指标能够跟踪剪裁操作是否能有效防止数据发散,同时避免引入新的伪影。