为什么变形器需要 Adam:从 Hessian 的角度看
内容提要
该文综述优化算法研究:Adam因重尾梯度噪声在大批量下类似符号下降,泛化逊于SGD;SGD更易逃离局部极小值,在平坦极小值处表现更好。研究还提出方向锐度、坐标剪裁、Admin初始化、SWATS混合训练及流形Adam等方法,以提升收敛速度、稳定性与鲁棒性。
延伸解读
Adam 与 SGD 的泛化差异根源
文章从 Hessian 角度指出,Adam 的泛化性能逊于 SGD,部分原因在于梯度噪声的重尾分布。在大批量设置下,Adam 的行为类似带动量的符号下降,而 SGD 更易逃离局部极小值,并在平坦极小值处表现更好。这提示读者,优化器的选择不仅影响收敛速度,也影响最终解的泛化特性。
方向锐度与坐标剪裁的改进思路
文章提到一种新的方向锐度概念,用于描述优化算法与更新步长方向锐度的关系。研究发现 SGD 在方向锐度上远差于自适应算法,因此建议使用坐标剪裁来改善该问题,并证明该技术能提高深度学习优化的收敛速度。这为优化器设计提供了新的调整维度。
混合训练与流形推广的实践价值
文章综述了 SWATS 混合方法,即前期用 Adam 后期切换至 SGD,以缩短泛化差距。此外,通过利用 Stiefel 等流形结构,将 Adam 推广到流形层面,可加速 Transformer 训练。这些方法表明,结合自适应与 SGD 优势或利用几何结构,是提升优化效果的有效途径。
鲁棒训练与大批量优化的启示
文章指出,大批量训练会将模型收敛到具有更高 Hessian 谱的点,而鲁棒训练能在损失函数中偏向平缓区域,从而提升鲁棒性。实验和理论还证明,鲁棒训练通常是一个不存在鞍点的优化问题。这为大批量训练下的优化策略提供了理论依据。
Q&A
为什么 Adam 优化器在大批量训练时表现类似符号下降?
因为采样引起的梯度噪声分布具有重尾特性,在大批量设置下,Adam 的行为类似于带有动量的符号下降。
Adam 的泛化性能为什么通常不如 SGD?
Adam 的泛化性能较差主要是因为其梯度噪声存在重尾现象,导致它更难逃离局部极小值,且在平坦极小值处表现不如 SGD。
SGD 相比 Adam 在优化过程中有哪些优势?
SGD 能更好地从局部最小值中逃脱,并且在平缓的最小值处表现更好,因此泛化性能更优。
什么是方向锐度?它如何影响优化算法的选择?
方向锐度是衡量优化算法更新步长方向锐利程度的概念。研究发现 SGD 在方向锐度上表现远差于自适应算法,因此建议使用坐标剪裁来改善,从而提高收敛速度。
Admin 初始化方法对 Transformer 训练有什么好处?
Admin 初始化方法可以提高 Transformer 模型训练的稳定性、加速收敛并提高准确性。
SWATS 混合训练方法是如何工作的?它有什么优势?
SWATS 在训练初期使用自适应方法 Adam,后期在满足一定条件时切换至 SGD。实验证明它能缩短自适应方法与 SGD 之间的泛化差距,在多数任务上表现良好。
流形 Adam 是什么?它有什么应用?
流形 Adam 是将 Adam 算法推广到流形层面,利用特殊结构(如 Stiefel 流形、Grassmann 流形等)对神经网络优化进行降维处理,可用于训练转换器,有效加速训练过程。
大批量训练为什么会导致模型收敛到更尖锐的极小值?如何缓解?
大批量训练会将模型收敛到一个具有更高 Hessian 谱的点,即更尖锐的极小值。通过鲁棒训练可以在损失函数中偏向平缓区域,从而缓解这一问题,并证明鲁棒训练是一个大部分情况下不存在鞍点的优化问题。