LARS优化器的工作原理与适用场景
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使用。