An Empirical Model of Large-Batch Training

McCandlish S., Kaplan J., Amodei D. and OpenAI Dota Team. An empirical model of large-batch training. 2018.

本文讨论了随着 batch size 改变, sgd-style 的优化器的学习应该怎么调整.

Gradient Noise Scale

  • 考虑如下的优化问题:

    (1)minθRDL(θ)=Exρ[Lx(θ)],

    其中 ρ(x) 是数据 x 所服从的分布.

  • 通常来说, 精准地优化 (1) 需要计算整个数据集上的梯度, 这个不太现实, 所以实际中, 通常采用 mini-batch 更新策略:

    Lbatch(θ)=1Bi=1BLxi(θ),xiρ.

  • 所对应的, SGD 更新策略为:

    θt+1θtϵ1Bi=1BθLxi(θt)=:Gest,

    其中 ϵ 为步长.

  • 进一步假设 (G=θL,H=θ2L)

    L(θϵV)L(θ)ϵGTV+12ϵ2VTHV.

    容易发现, 此时最优的 ϵ

    ϵmax=|G|2GTHG.

  • 对于 mini-batch 的更新情况, 类似有

    E[L(θϵGest)]=L(θ)ϵGTE[Gest]+12ϵ2E[GestTHGest]=L(θ)ϵGTG+12ϵ2E[GestTHGest]=L(θ)ϵGTG+12ϵ2E[GTHG+tr(HΣ)B],

    其中

    Σ=Cov(θLx(θ)).

注: 上述第二个等式成立的原因是:

Ex[xTAx]=E[(A1/2x)T(A1/2x)]=Tr(E[(A1/2x)T(A1/2x)])=E[Tr((A1/2x)T(A1/2x))]=E[Tr((A1/2x)(A1/2x)T)]=E[Tr(A1/2xxTA1/2)]=Tr(A1/2E[xxT]A1/2)=Tr(A1/2(Cov(x,x)+E[x]E[x]T])A1/2)=Tr(ACov(x,x))+E[x]TAE[x].

  • 因此, 在这个情况下, 我们有

    ϵopt(B)=ϵmax1+Bnoise/B,Bnoise=tr(HΣ)GTHG.

    其中 Bnoise 被称之为 noise scale.

  • 所以, 当 BnoiseB 的时候, 增大 batch size B 应当相应的线性地增大学习率, 当 Bnoise<B 的时候, 再增大 batch size 对于学习率的调节就不需要那么灵敏 (实际上在这种情况下, 这种情况下再继续增大 batch size 所得到的效率的增益是很微弱的):

注: 作者在 Appendix D.1 中证明了训练速度和训练样本所满足的一个等式关系 (但是其中的证明我没有推过去).

posted @   馒头and花卷  阅读(55)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
历史上的今天:
2023-11-26 Learning Graph Filters for Spectral GNNs via Newton Interpolation
点击右上角即可分享
微信分享提示