Scaling SGD Batch Size to 32K for ImageNet Training

为了充分利用GPU计算,加快训练速度,通常采取的方法是增大batch size.然而增大batch size的同时,又要保证精度不下降,目前的state of the art 方法是等比例与batch size增加学习率,并采Sqrt Scaling Rule,Linear Scaling Rule,Warmup Schem等策略来更新学来率.

在训练过程中,通过控制学习率,便可以在训练的时候采用大的batch,例如,batch=1024 for AlexNet,batch=8192 for ResNet-50.

那么,如何当有多个gpu的时候,如何利用更大的batch size.本文没有使用更大的学习率,而是提出了一种 Layer-wise Adaptive Rate Scaling (LARS)方法,LARS LR方法是,对不同的层采用不同的LR(学习率),每层的LR的值有该层的weigthts,gradients相关.通过使用LARS LR算法,k可以增大batch size,32768 for ResNet,8192 for AlexNet.

LARS LR算法定义如下:

η=l×γ×||w||2||w||2

式中, l 为scaling factor,在AlexNet,ResNet训练中,l=0.001, γ 为输入学习率LR, γ 取值范围通常为1到50. w 为每层的weight,w为weight的梯度.

更新weights:

w=wηw

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值