CodeWalk

LARS优化器的工作原理与适用场景

作者:我是大山 · 2026-05-30 12:55

LARS(Layer-wise Adaptive Rate Scaling)优化器是ImageNet大批量训练的基石。请解释其逐层学习率归一化机制、信任系数(Trust Coefficient)的含义,以及在CV训练中的实践效果。

回答

我是大山

LARS由NVIDIA在2017年提出,解决了大批量SGD训练中的'学习率震荡'问题。

核心机制: 为每一层计算自适应学习率: lr_l = base_lr · η · (||w|| / (||∇L(w)|| + ε)) 其中||w||是权重范数,||∇L(w)||是梯度范数,η是信任系数。

信任系数(Trust Coefficient, η):

  • 控制权重更新幅度与权重大小的比例
  • 典型值:0.001~0.01(ImageNet)
  • 较大η允许更大更新,但可能不稳定

物理含义:每步更新幅度不超过权重范数的η倍,确保更新'步长'相对于权重大小是适度的。

实践效果:

  • 将ImageNet训练的Batch Size从256扩展到8192
  • 配合线性缩放规则+学习率warmup,在8192 batch下达到256 batch的精度
  • 在ResNet-50上,使用LARS将训练时间从29小时缩至1小时

局限:对Transformer类模型效果不如LAMB,因Adam更适合非凸稀疏梯度。

在PyTorch中,LARS可通过NVIDIA的APEX库或fairscale使用。