Adafactor: Adaptive Learning Rates with Sublinear Memory Cost
Shazeer N. and Stern M. Adafactor: Adaptive learning rates with sublinear memory cost. ICML, 2018.
概
本文介绍了一种 memory-efficient 的优化器: Adafactor.
符号说明
- , parameters;
- , a linear transformation,
Adafactor
下面, 我们一步步介绍 Adafactor 对于 Adam 的修改.
Factored Second Moment Estimation
- 一般的 Adam 的更新流程如下:
-
一个比较重要的点是 一阶和二阶 的动量估计, 这个估计导致了 Adam 至少需要 2x 的参数的缓存.
-
假设对于 linear transformation , 它所对应的二阶动量为: , 作者希望将他分解成两个低秩矩阵: , 使得
-
由于 是非负的, 所以作者更倾向于 nonnegative matrix factorization, 并利用泛化的 KL 散度—— I-divergence:
作为度量.
-
作者希望 能够满足:
-
特别的, 作者证明了, 在 的情况下, 一定有:
成立. 于是, 在这种情况下, 不失一般性的, 可以领:
-
于是, 作者给出了如下的 的更新方案:
No Momentum
- 为了进一步降低一阶动量的缓存, 作者直接令 , 即移除了一阶动量.
Out-of-Date Second Moment Estimator
-
作者认为, 当模型变化特别快的时候, 二阶矩的估计很容易过时:
-
如上图所示, 当我们用一个较大的 , 如果没有 warm-up (即模型缓慢更新) 阶段, 效果是特别差的.
-
为了验证这一点, 作者统计:
作者认为, 如果训练是稳定的, , 既然 Adam 的一个假设是:
- 如上图所示, 取得比较大的时候, 结果并不是这样的. 于是:即 Adafactor 会手动校准.
算法
- Adafactor 对于 matrix:
-
Adafactor 对于 vector:
-
默认的参数设置:
注: 是人为设置的相对步长, 这里不多赘述了.
代码
分类:
杂学
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
2023-09-11 Graph Construction and b-Matching for Semi-Supervised Learning
2022-09-11 On Sampled Metrics for Item Recommendation
2019-09-11 Deep Linear Networks with Arbitrary Loss: All Local Minima Are Global