科学空间

让炼丹更科学一些(九):经典自适应梯度算法

6.9内容质量

TL;DR · AI 摘要

Title: 让炼丹更科学一些(九):经典自适应梯度算法 - 科学空间 Scientific Spaces URL Source: Markdown Content: 科学空间 Scientific Spaces 登录 打赏公式天象链接时光...

核心要点

  • 主题聚焦:让炼丹更科学一些(九):经典自适应梯度算法
  • 来源:科学空间,建议结合原文判断细节。
  • AI 分析暂不可用,本条为保底评分与摘要。
#AI#编程#安全
打开原文

科学空间|Scientific Spaces 登录 打赏公式天象链接时光博览归档 渴望成为一个小飞侠

欢迎订阅

个性邮箱

天象信息

观测ISS

LaTeX

关于博主

欢迎访问“科学空间”,这里将与您共同探讨自然科学,回味人生百态;也期待大家的分享~

千奇百怪 Everything 天文探索 Astronomy 数学研究 Mathematics 物理化学 Phy-chem 信息时代 Big-Data 生物自然 Biology 图片摄影 Photograph 问题百科 Questions 生活/情感 Life-Feeling 资源共享 Resources 首页 数学研究 让炼丹更科学一些(九):经典自适应梯度算法 5 Sep 让炼丹更科学一些(九):经典自适应梯度算法 By 苏剑林 | 2026-09-05 | 3241位读者 |

本系列前面八篇文章,都是在围绕SGD及其学习率讨论。而从本文开始,我们将正式进入自适应梯度算法的世界。可以说,现在所有的自适应梯度算法,都有一个共同的源头,那就是2011年的经典之作《Adaptive Subgradient Methods for Online Learning and Stochastic Optimization》——也就是著名的AdaGrad论文。

这篇论文将SGD的经典收敛结论推广到一般的预条件矩阵形式,继而推导出最优的预条件矩阵正是梯度的二阶矩(的 −1/2 − 1 / 2 次幂),然后取对角线近似得到AdaGrad。虽然AdaGrad本身不算太流行,其启发的后续工作如RMSProp、Adam等,是当之无愧的主流优化器。不仅如此,后续的Shampoo、KL-Shampoo等优化器,都还算是它的传承。

本文就让我们一起来重温这篇经典作品。

困难分析 #

其实在前文中,我们也算简单讨论过自适应学习率的思路,比如《让炼丹更科学一些(五):基于梯度精调学习率》,但那仍是在SGD框架下调一个标量学习率。这次我们考虑一般的更新规则

θ t+1 = θ t − η t H −1 t g( x t , θ t ) (1) (1) 𝜃 𝑡 + 1 = 𝜃 𝑡 − 𝜂 𝑡 𝐻 𝑡 − 1 𝑔 ( 𝑥 𝑡 , 𝜃 𝑡 )

其中 H t 𝐻 𝑡 是正定对称矩阵, H −1 t 𝐻 𝑡 − 1 通常也称为“预条件子(Preconditioner)”,我们可以将它看成一个矩阵版的学习率,显然 H t =I 𝐻 𝑡 = 𝐼 时就退化为SGD。

为什么要拓展成矩阵学习率呢?单从输入输出来看,我们希望输入一个梯度向量,输出一个更新向量,向量与向量之间的最一般的线性变换就是矩阵乘法,所以矩阵学习率是最极致的推广。至于正定性的限制,则是为了保证 g ⊤ H −1 t g≥0 𝑔 ⊤ 𝐻 𝑡 − 1 𝑔 ≥ 0 对任意 g 𝑔 成立,从而 − H −1 t g − 𝐻 𝑡 − 1 𝑔 依然是能让损失下降的方向。

这一节我们先简单分析一下,如果直接套用SGD的证明过程,对于一般的 H t 𝐻 𝑡 会面临什么困难。前面所有证明的出发点,是如下恒等式

∥ θ t+1 −φ ∥ 2 = = ∥ θ t − η t g( x t , θ t )−φ ∥ 2 ∥ θ t −φ ∥ 2 −2 η t ( θ t −φ)⋅g( x t , θ t )+ η 2 t ∥g( x t , θ t ) ∥ 2 (2) (2) ‖ 𝜃 𝑡 + 1 − 𝜑 ‖ 2 =

‖ 𝜃 𝑡 − 𝜂 𝑡 𝑔 ( 𝑥 𝑡 , 𝜃 𝑡 ) − 𝜑 ‖ 2

=

‖ 𝜃 𝑡 − 𝜑 ‖ 2 − 2 𝜂 𝑡 ( 𝜃 𝑡 − 𝜑 ) ⋅ 𝑔 ( 𝑥 𝑡 , 𝜃 𝑡 ) + 𝜂 𝑡 2 ‖ 𝑔 ( 𝑥 𝑡 , 𝜃 𝑡 ) ‖ 2

然后我们设法将 ( θ t −φ)⋅g( x t , θ t ) ( 𝜃 𝑡 − 𝜑 ) ⋅ 𝑔 ( 𝑥 𝑡 , 𝜃 𝑡 ) 分离到一边,再通过凸性假设将它跟损失值联系起来:

L( x t , θ t )−L( x t ,φ)≤( θ t −φ)⋅g( x t , θ t ) (3) (3) 𝐿 ( 𝑥 𝑡 , 𝜃 𝑡 ) − 𝐿 ( 𝑥 𝑡 , 𝜑 ) ≤ ( 𝜃 𝑡 − 𝜑 ) ⋅ 𝑔 ( 𝑥 𝑡 , 𝜃 𝑡 )

然而,考虑一般的更新规则 (1) (1) 时,如果依旧采用相同的恒等式,就会出现 ( θ t −φ)⋅ H −1 t g( x t , θ t ) ( 𝜃 𝑡 − 𝜑 ) ⋅ 𝐻 𝑡 − 1 𝑔 ( 𝑥 𝑡 , 𝜃 𝑡 ) ,由于多了 H −1 t 𝐻 𝑡 − 1 ,即便我们假设损失函数的凸性,也无法将这一项跟损失函数联系起来了——凸性不等式 (3) (3) 右端只能是干净的 ( θ t −φ)⋅g( x t , θ t ) ( 𝜃 𝑡 − 𝜑 ) ⋅ 𝑔 ( 𝑥 𝑡 , 𝜃 𝑡 ) ,中间夹个 H −1 t 𝐻 𝑡 − 1 就不能套用了。

推广等式 #

所以,我们必须同时推广这个恒等式。推广的思路是利用恒等式 x⋅y= x ⊤ y=tr(y x ⊤ ) 𝑥 ⋅ 𝑦 = 𝑥 ⊤ 𝑦 = tr ⁡ ( 𝑦 𝑥 ⊤ ) ,注意 y x ⊤ 𝑦 𝑥 ⊤ 是向量外积,结果是一个矩阵,这意味着我们可以先在外积层面建立一个矩阵版的恒等式,然后在适当时机两边取 tr tr ,就可以恢复标量形式。而在矩阵版恒等式中, H −1 t 𝐻 𝑡 − 1 就可以顺利挪出去了。

具体来说,我们有(简单起见,后面将 g( x t , θ t ) 𝑔 ( 𝑥 𝑡 , 𝜃 𝑡 ) 记为 g t 𝑔 𝑡 ):

= = ( θ t+1 −φ)( θ t+1 −φ ) ⊤ ( θ t − η t H −1 t g t −φ)( θ t − η t H −1 t g t −φ ) ⊤ ( θ t −φ)( θ t −φ ) ⊤ − η t ( θ t −φ) g ⊤ t H −1 t − η t H −1 t g t ( θ t −φ ) ⊤ + η 2 t H −1 t g t g ⊤ t H −1 t (4) (4)

( 𝜃 𝑡 + 1 − 𝜑 ) ( 𝜃 𝑡 + 1 − 𝜑 ) ⊤

=

( 𝜃 𝑡 − 𝜂 𝑡 𝐻 𝑡 − 1 𝑔 𝑡 − 𝜑 ) ( 𝜃 𝑡 − 𝜂 𝑡 𝐻 𝑡 − 1 𝑔 𝑡 − 𝜑 ) ⊤

=

( 𝜃 𝑡 − 𝜑 ) ( 𝜃 𝑡 − 𝜑 ) ⊤ − 𝜂 𝑡 ( 𝜃 𝑡 − 𝜑 ) 𝑔 𝑡 ⊤ 𝐻 𝑡 − 1 − 𝜂 𝑡 𝐻 𝑡 − 1 𝑔 𝑡 ( 𝜃 𝑡 − 𝜑 ) ⊤ + 𝜂 𝑡 2 𝐻 𝑡 − 1 𝑔 𝑡 𝑔 𝑡 ⊤ 𝐻 𝑡 − 1

两端右乘 H t 𝐻 𝑡 ,整理得

= η t ( θ t −φ) g ⊤ t + η t H −1 t g t ( θ t −φ ) ⊤ H t ( θ t −φ)( θ t −φ ) ⊤ H t −( θ t+1 −φ)( θ t+1 −φ ) ⊤ H t + η 2 t H −1 t g t g ⊤ t (5) (5)

𝜂 𝑡 ( 𝜃 𝑡 − 𝜑 ) 𝑔 𝑡 ⊤ + 𝜂 𝑡 𝐻 𝑡 − 1 𝑔 𝑡 ( 𝜃 𝑡 − 𝜑 ) ⊤ 𝐻 𝑡

=

( 𝜃 𝑡 − 𝜑 ) ( 𝜃 𝑡 − 𝜑 ) ⊤ 𝐻 𝑡 − ( 𝜃 𝑡 + 1 − 𝜑 ) ( 𝜃 𝑡 + 1 − 𝜑 ) ⊤ 𝐻 𝑡 + 𝜂 𝑡 2 𝐻 𝑡 − 1 𝑔 𝑡 𝑔 𝑡 ⊤

两端取 tr tr ,然后反复利用 tr(AB)=tr(BA) tr ⁡ ( 𝐴 𝐵 ) = tr ⁡ ( 𝐵 𝐴 ) 得

2 η t ( θ t −φ)⋅ g t =∥ θ t −φ ∥ 2 H t −∥ θ t+1 −φ ∥ 2 H t + η 2 t ∥ g t ∥ 2 H −1 t (6) (6) 2 𝜂 𝑡 ( 𝜃 𝑡 − 𝜑 ) ⋅ 𝑔 𝑡 = ‖ 𝜃 𝑡 − 𝜑 ‖ 𝐻 𝑡 2 − ‖ 𝜃 𝑡 + 1 − 𝜑 ‖ 𝐻 𝑡 2 + 𝜂 𝑡 2 ‖ 𝑔 𝑡 ‖ 𝐻 𝑡 − 1 2

这便是我们期望的恒等式,其中 ∥x ∥ H ≜ x ⊤ Hx − − − − − − √ ‖ 𝑥 ‖ 𝐻 ≜ 𝑥 ⊤ 𝐻 𝑥 ,我们称为“Mahalanobis范数”,欧氏范数即 ∥x ∥ I ‖ 𝑥 ‖ 𝐼 ,我们简记为 ∥x∥ ‖ 𝑥 ‖ 。现在左端恢复了 ( θ t −φ)⋅ g t ( 𝜃 𝑡 − 𝜑 ) ⋅ 𝑔 𝑡 ,允许我们将它跟凸性不等式 (3) (3) 联系起来,代价是右端的距离度量从欧氏范数换成了随时间变化的Mahalanobis范数。

经典放缩 #

接下来的步骤就跟《让炼丹更科学一些(一):SGD的平均损失收敛》、《让炼丹更科学一些(二):将结论推广到无界域》大同小异了。左端我们同样利用不等式 (3) (3) 将它跟损失联系起来,然后对 t=1,2,⋯,T 𝑡 = 1 , 2 , ⋯ , 𝑇 求和,得

2 ∑ t=1 T η t [L( x t , θ t )−L( x t ,φ)]≤ ∑ t=1 T (∥ θ t −φ ∥ 2 H t −∥ θ t+1 −φ ∥ 2 H t )+ ∑ t=1 T η 2 t ∥ g t ∥ 2 H −1 t (7) (7) 2 ∑ 𝑡 = 1 𝑇 𝜂 𝑡 [ 𝐿 ( 𝑥 𝑡 , 𝜃 𝑡 ) − 𝐿 ( 𝑥 𝑡 , 𝜑 ) ] ≤ ∑ 𝑡 = 1 𝑇 ( ‖ 𝜃 𝑡 − 𝜑 ‖ 𝐻 𝑡 2 − ‖ 𝜃 𝑡 + 1 − 𝜑 ‖ 𝐻 𝑡 2 ) + ∑ 𝑡 = 1 𝑇 𝜂 𝑡 2 ‖ 𝑔 𝑡 ‖ 𝐻 𝑡 − 1 2

然而,由于右端第一项求和中的 ∥ θ t+1 −φ ∥ 2 H t ‖ 𝜃 𝑡 + 1 − 𝜑 ‖ 𝐻 𝑡 2 不是 ∥ θ t+1 −φ ∥ 2 H t+1 ‖ 𝜃 𝑡 + 1 − 𝜑 ‖ 𝐻 𝑡 + 1 2 ,求和无法抵消。这里我们要用到《让炼丹更科学一些(一):SGD的平均损失收敛》的一个经典技巧:

= = ∑ t=1 T (∥ θ t −φ ∥ 2 H t −∥ θ t+1 −φ ∥ 2 H t ) ∥ θ 1 −φ ∥ 2 H 1 −∥ θ T+1 −φ ∥ 2 H T + ∑ t=2 T (∥ θ t −φ ∥ 2 H t −∥ θ t −φ ∥ 2 H t−1 ) ∥ θ 1 −φ ∥ 2 H 1 −∥ θ T+1 −φ ∥ 2 H T + ∑ t=2 T ∥ θ t −φ ∥ 2 H t − H t−1 (8) (8)

∑ 𝑡 = 1 𝑇 ( ‖ 𝜃 𝑡 − 𝜑 ‖ 𝐻 𝑡 2 − ‖ 𝜃 𝑡 + 1 − 𝜑 ‖ 𝐻 𝑡 2 )

=

‖ 𝜃 1 − 𝜑 ‖ 𝐻 1 2 − ‖ 𝜃 𝑇 + 1 − 𝜑 ‖ 𝐻 𝑇 2 + ∑ 𝑡 = 2 𝑇 ( ‖ 𝜃 𝑡 − 𝜑 ‖ 𝐻 𝑡 2 − ‖ 𝜃 𝑡 − 𝜑 ‖ 𝐻 𝑡 − 1 2 )

=

‖ 𝜃 1 − 𝜑 ‖ 𝐻 1 2 − ‖ 𝜃 𝑇 + 1 − 𝜑 ‖ 𝐻 𝑇 2 + ∑ 𝑡 = 2 𝑇 ‖ 𝜃 𝑡 − 𝜑 ‖ 𝐻 𝑡 − 𝐻 𝑡 − 1 2

为了继续放缩,我们需要给 H t 𝐻 𝑡 加一个假设:对任意 t 𝑡 , H t − H t−1 𝐻 𝑡 − 𝐻 𝑡 − 1 都是半正定的,简记为 H t ⪰ H t−1 𝐻 𝑡 ⪰ 𝐻 𝑡 − 1 ,这相当于之前的学习率非增假设。此外,对于任意半正定矩阵 H 𝐻 ,还成立 H⪯tr(H)I 𝐻 ⪯ tr ⁡ ( 𝐻 ) 𝐼 ,所以 ∥x ∥ H ≤ tr(H) − − − − − √ ∥x∥ ‖ 𝑥 ‖ 𝐻 ≤ tr ⁡ ( 𝐻 ) ‖ 𝑥 ‖ ,这个放缩其实很松,但对于定性结论来说够用了。

利用上述假设和放缩,并舍去非正的 −∥ θ T+1 −φ ∥ 2 H T − ‖ 𝜃 𝑇 + 1 − 𝜑 ‖ 𝐻 𝑇 2 ,我们有

≤ ≤ ∑ t=1 T (∥ θ t −φ ∥ 2 H t −∥ θ t+1 −φ ∥ 2 H t ) ∥ θ 1 −φ ∥ 2 tr( H 1 ) −∥ θ T+1 −φ ∥ 2 H T + ∑ t=2 T ∥ θ t −φ ∥ 2 tr( H t − H t−1 ) R 2 tr( H T ) (9) (9)

∑ 𝑡 = 1 𝑇 ( ‖ 𝜃 𝑡 − 𝜑 ‖ 𝐻 𝑡 2 − ‖ 𝜃 𝑡 + 1 − 𝜑 ‖ 𝐻 𝑡 2 )

≤

‖ 𝜃 1 − 𝜑 ‖ 2 tr ⁡ ( 𝐻 1 ) − ‖ 𝜃 𝑇 + 1 − 𝜑 ‖ 𝐻 𝑇 2 + ∑ 𝑡 = 2 𝑇 ‖ 𝜃 𝑡 − 𝜑 ‖ 2 tr ⁡ ( 𝐻 𝑡 − 𝐻 𝑡 − 1 )

≤

𝑅 2 tr ⁡ ( 𝐻 𝑇 )

这里 R=max(∥ θ 1 −φ∥,⋯,∥ θ T −φ∥) 𝑅 = max ( ‖ 𝜃 1 − 𝜑 ‖ , ⋯ , ‖ 𝜃 𝑇 − 𝜑 ‖ ) ,即所有 ∥ θ t −φ∥ ‖ 𝜃 𝑡 − 𝜑 ‖ 的共同上界。如果对这一步有疑惑,我们干脆可以像《让炼丹更科学一些(一):SGD的平均损失收敛》一样,假设优化在一个有界域内进行,那么全体 ∥ θ t −φ∥ ‖ 𝜃 𝑡 − 𝜑 ‖ 就天然有一个共同的上界 R 𝑅 。

结果初现 #

将上一节的放缩代回式 (7) (7) ,并取 φ 𝜑 为理论最优点 θ ∗ 𝜃 ∗ ,我们得到

2 ∑ t=1 T η t [L( x t , θ t )−L( x t , θ ∗ )]≤ R 2 tr( H T )+ ∑ t=1 T η 2 t ∥ g t ∥ 2 H −1 t (10) (10) 2 ∑ 𝑡 = 1 𝑇 𝜂 𝑡 [ 𝐿 ( 𝑥 𝑡 , 𝜃 𝑡 ) − 𝐿 ( 𝑥 𝑡 , 𝜃 ∗ ) ] ≤ 𝑅 2 tr ⁡ ( 𝐻 𝑇 ) + ∑ 𝑡 = 1 𝑇 𝜂 𝑡 2 ‖ 𝑔 𝑡 ‖ 𝐻 𝑡 − 1 2

简单起见,先考虑 η t 𝜂 𝑡 是常数的情况,整理得

1 T ∑ t=1 T L( x t , θ t )− 1 T ∑ t=1 T L( x t , θ ∗ )≤ R 2 2Tη tr( H T )+ η 2T ∑ t=1 T ∥ g t ∥ 2 H −1 t (11) (11) 1 𝑇 ∑ 𝑡 = 1 𝑇 𝐿 ( 𝑥 𝑡 , 𝜃 𝑡 ) − 1 𝑇 ∑ 𝑡 = 1 𝑇 𝐿 ( 𝑥 𝑡 , 𝜃 ∗ ) ≤ 𝑅 2 2 𝑇 𝜂 tr ⁡ ( 𝐻 𝑇 ) + 𝜂 2 𝑇 ∑ 𝑡 = 1 𝑇 ‖ 𝑔 𝑡 ‖ 𝐻 𝑡 − 1 2

这便是 θ t+1 = θ t −η H −1 t g t 𝜃 𝑡 + 1 = 𝜃 𝑡 − 𝜂 𝐻 𝑡 − 1 𝑔 𝑡 的平均损失收敛结论。现在我们反过来想,一个好的优化器,上式右端应尽可能小,因此最小化上界或许可以找到更好的优化器,这跟《让炼丹更科学一些(五):基于梯度精调学习率》的思想一致。为此,我们先利用假设 H 1 ⪯ H 2 ⪯⋯⪯ H T 𝐻 1 ⪯ 𝐻 2 ⪯ ⋯ ⪯ 𝐻 𝑇 得 ∥ g t ∥ 2 H −1 t ≥∥ g t ∥ 2 H −1 T ‖ 𝑔 𝑡 ‖ 𝐻 𝑡 − 1 2 ≥ ‖ 𝑔 𝑡 ‖ 𝐻 𝑇 − 1 2 ,于是

R 2 2Tη tr( H T )+ η 2T ∑ t=1 T ∥ g t ∥ 2 H −1 t ≥ R 2 2Tη tr( H T )+ η 2T ∑ t=1 T ∥ g t ∥ 2 H −1 T (12) (12) 𝑅 2 2 𝑇 𝜂 tr ⁡ ( 𝐻 𝑇 ) + 𝜂 2 𝑇 ∑ 𝑡 = 1 𝑇 ‖ 𝑔 𝑡 ‖ 𝐻 𝑡 − 1 2 ≥ 𝑅 2 2 𝑇 𝜂 tr ⁡ ( 𝐻 𝑇 ) + 𝜂 2 𝑇 ∑ 𝑡 = 1 𝑇 ‖ 𝑔 𝑡 ‖ 𝐻 𝑇 − 1 2

也就是说,全体 H t 𝐻 𝑡 取同一个 H 𝐻 时能达到更小上界。接着,我们将上式右端改写成

R 2 2Tη tr(H)+ η 2T ∑ t=1 T ∥ g t ∥ 2 H −1 = R 2 2Tη tr(H)+ η 2T tr(Σ H −1 ) (13) (13) 𝑅 2 2 𝑇 𝜂 tr ⁡ ( 𝐻 ) + 𝜂 2 𝑇 ∑ 𝑡 = 1 𝑇 ‖ 𝑔 𝑡 ‖ 𝐻 − 1 2 = 𝑅 2 2 𝑇 𝜂 tr ⁡ ( 𝐻 ) + 𝜂 2 𝑇 tr ⁡ ( 𝛴 𝐻 − 1 )

其中 Σ= ∑ T t=1 g t g ⊤ t 𝛴 = ∑ 𝑡 = 1 𝑇 𝑔 𝑡 𝑔 𝑡 ⊤ 为(未归一化的)二阶矩矩阵。不难看出 η 𝜂 其实是冗余参数,真正的独立变量是 H/η 𝐻 / 𝜂 ,这告诉我们 η 𝜂 随便取一个正数都行。简单起见,我们取 η=R 𝜂 = 𝑅 ,这使得 R 2 2Tη = η 2T 𝑅 2 2 𝑇 𝜂 = 𝜂 2 𝑇 ,于是最小化上界等价于

min H⪰0 tr(H)+tr(Σ H −1 ) (14) (14) min 𝐻 ⪰ 0 tr ⁡ ( 𝐻 ) + tr ⁡ ( 𝛴 𝐻 − 1 )

有趣的是,这本质上就是PSGD的优化目标!

目标求解 #

为了求解上述目标,我们再次利用迹的轮换性,将两项分别改写成

tr(H)= tr(Σ H −1 )= tr( H 1/2 H 1/2 )=∥ H 1/2 ∥ 2 F tr( Σ 1/2 H −1/2 H −1/2 Σ 1/2 )=∥ Σ 1/2 H −1/2 ∥ 2 F (15) (15) tr ⁡ ( 𝐻 ) =

tr ⁡ ( 𝐻 1 / 2 𝐻 1 / 2 ) = ‖ 𝐻 1 / 2 ‖ 𝐹 2

tr ⁡ ( 𝛴 𝐻 − 1 ) =

tr ⁡ ( 𝛴 1 / 2 𝐻 − 1 / 2 𝐻 − 1 / 2 𝛴 1 / 2 ) = ‖ 𝛴 1 / 2 𝐻 − 1 / 2 ‖ 𝐹 2

于是利用均值不等式得

tr(H)+tr(Σ H −1 )=∥ H 1/2 ∥ 2 F +∥ Σ 1/2 H −1/2 ∥ 2 F ≥2∥ H 1/2 ∥ F ∥ Σ 1/2 H −1/2 ∥ F (16) (16) tr ⁡ ( 𝐻 ) + tr ⁡ ( 𝛴 𝐻 − 1 ) = ‖ 𝐻 1 / 2 ‖ 𝐹 2 + ‖ 𝛴 1 / 2 𝐻 − 1 / 2 ‖ 𝐹 2 ≥ 2 ‖ 𝐻 1 / 2 ‖ 𝐹 ‖ 𝛴 1 / 2 𝐻 − 1 / 2 ‖ 𝐹

然后利用柯西不等式得

∥ H 1/2 ∥ F ∥ Σ 1/2 H −1/2 ∥ F ≥tr( H 1/2 Σ 1/2 H −1/2 )=tr( Σ 1/2 ) (17) (17) ‖ 𝐻 1 / 2 ‖ 𝐹 ‖ 𝛴 1 / 2 𝐻 − 1 / 2 ‖ 𝐹 ≥ tr ⁡ ( 𝐻 1 / 2 𝛴 1 / 2 𝐻 − 1 / 2 ) = tr ⁡ ( 𝛴 1 / 2 )

柯西不等式等号成立的条件是存在 λ≥0 𝜆 ≥ 0 ,使得 H 1/2 =λ Σ 1/2 H −1/2 𝐻 1 / 2 = 𝜆 𝛴 1 / 2 𝐻 − 1 / 2 ,即 H=λ Σ 1/2 𝐻 = 𝜆 𝛴 1 / 2 ,均值不等式成立的条件是 ∥ H 1/2 ∥ F =∥ Σ 1/2 H −1/2 ∥ F ‖ 𝐻 1 / 2 ‖ 𝐹 = ‖ 𝛴 1 / 2 𝐻 − 1 / 2 ‖ 𝐹 ,代入后进一步确定 λ=1 𝜆 = 1 ,所以最优解是

H ∗ = Σ 1/2 = ( ∑ t=1 T g t g ⊤ t ) 1/2 (18) (18) 𝐻 ∗ = 𝛴 1 / 2 = ( ∑ 𝑡 = 1 𝑇 𝑔 𝑡 𝑔 𝑡 ⊤ ) 1 / 2

这就是AdaGrad论文最经典的结果,它可谓是基于二阶矩的自适应学习率优化器的“老祖宗”。由此可见,基于二阶矩来调节学习率,并不是一个拍脑袋的启发式技巧,而是“最小化收敛上界”这一原则的自然产物。当 Σ 𝛴 不可逆时,我们可以给它加个 κI 𝜅 𝐼 ,这属于实现细节了,理论推导中不做展开。

直观来看, H −1 g t = Σ −1/2 g t 𝐻 − 1 𝑔 𝑡 = 𝛴 − 1 / 2 𝑔 𝑡 就是对梯度做了个“白化”操作,使得更新更为各向同性,这跟现在Muon优化器的思想也如出一辙。

各种变体 #

然而, H ∗ = Σ 1/2 𝐻 ∗ = 𝛴 1 / 2 虽然理论最优,但它是违反因果律的,因为它假设我们一开始就预知所有时刻的梯度。这一集我们应该不陌生,在《让炼丹更科学一些(五):基于梯度精调学习率》我们已经遇到过,解决办法是将求和截断到当前时刻:

Σ t = ∑ τ=1 t g τ g ⊤ τ , H t = Σ 1/2 t (19) (19) 𝛴 𝑡 = ∑ 𝜏 = 1 𝑡 𝑔 𝜏 𝑔 𝜏 ⊤ , 𝐻 𝑡 = 𝛴 𝑡 1 / 2

值得指出的是,这样定义的 H t 𝐻 𝑡 仍满足 H t ⪰ H t−1 𝐻 𝑡 ⪰ 𝐻 𝑡 − 1 ,所以直到 (11) (11) 的收敛结论依然成立。不过,要是保留完整的矩阵 H t 𝐻 𝑡 ,不论是存储成本还是计算成本都极其昂贵,并不现实。一个朴素的解决办法就是考虑对角近似,即只取 Σ t 𝛴 𝑡 对角线部分然后再开方:

H t ≈diag( Σ t ) 1/2 ⇒ θ t+1 = θ t −η g t ∑ t τ=1 g τ ⊙ g τ − − − − − − − − − − − √ (20) (20) 𝐻 𝑡 ≈ diag ⁡ ( 𝛴 𝑡 ) 1 / 2 ⇒ 𝜃 𝑡 + 1 = 𝜃 𝑡 − 𝜂 𝑔 𝑡 ∑ 𝜏 = 1 𝑡 𝑔 𝜏 ⊙ 𝑔 𝜏

这便是我们所说的AdaGrad优化器,其中 ⊙ ⊙ 代表Hadamard积,两个向量除法也是Hadamard意义下的逐分量相除。注意到AdaGrad各分量学习率是单调递减的,这在实际训练中通常被视为不好的性质(训练后期容易“学不动”),所以RMSProp将求和换成了滑动平均(EMA):

v t =β v t−1 +(1−β) g t ⊙ g t , θ t+1 = θ t −η g t v t − − √ (21) (21) 𝑣 𝑡 = 𝛽 𝑣 𝑡 − 1 + ( 1 − 𝛽 ) 𝑔 𝑡 ⊙ 𝑔 𝑡 , 𝜃 𝑡 + 1 = 𝜃 𝑡 − 𝜂 𝑔 𝑡 𝑣 𝑡

注意,换成EMA后实践效果往往更好,但无法保证 H t ⪰ H t−1 𝐻 𝑡 ⪰ 𝐻 𝑡 − 1 了,这是理论与实践“分道扬镳”的开始。如果再补上动量,那就是经典中的经典——Adam优化器(简单起见,Bias Correction没写出来):

m t = v t = β 1 m t−1 +(1− β 1 ) g t β 2 v t−1 +(1− β 2 ) g t ⊙ g t , θ t+1 = θ t −η m t v t − − √ (22) (22) 𝑚 𝑡 =

𝛽 1 𝑚 𝑡 − 1 + ( 1 − 𝛽 1 ) 𝑔 𝑡

𝑣 𝑡 =

𝛽 2 𝑣 𝑡 − 1 + ( 1 − 𝛽 2 ) 𝑔 𝑡 ⊙ 𝑔 𝑡 , 𝜃 𝑡 + 1 = 𝜃 𝑡 − 𝜂 𝑚 𝑡 𝑣 𝑡

在Muon之前,Adam一直是最主流的优化器,没有之一;即便有了Muon,Adam仍然是主流优化器的重要组成部分(对于Embedding、LM Head等),至于RMSProp通常用于生成模型尤其是GAN模型的训练,因为对于这类模型来说,动量的加入容易造成模式坍缩(Mode Collapse)。

除了这些经典优化器外,像PSGD、Shampoo、KL-Shampoo、AdaBK等新式优化器,其实也不过是 Σ 𝛴 或 Σ −1/2 𝛴 − 1 / 2 针对矩阵乘法参数的另一种结构化近似。换句话说,直至今日,AdaGrad推导出来的预条件矩阵 Σ −1/2 𝛴 − 1 / 2 ,依然是优化器的重要指导原理之一。

文章小结 #

本文回顾了自适应梯度算法的奠基之作——AdaGrad,并沿着“收敛性分析→最小化上界→最优预条件矩阵”的路线,复现了它的完整推导。可以说,AdaGrad所提的“基于梯度二阶矩调节学习率”,几乎是所有后续的自适应学习率优化器共同的底层原理。

转载到请包括本文地址:https://spaces.ac.cn/archives/11882

更详细的转载事宜请参考:《科学空间FAQ》

如果您还有什么疑惑或建议,欢迎在下方评论区继续讨论。

如果您觉得本文还不错,欢迎分享/打赏本文。打赏并非要从中获得收益,而是希望知道科学空间获得了多少读者的真心关注。当然,如果你无视它,也不会影响你的阅读。再次表示欢迎和感谢!

打赏

如果您需要引用本文,请参考:

苏剑林. (Sep. 05, 2026). 《让炼丹更科学一些(九):经典自适应梯度算法 》[Blog post]. Retrieved from https://spaces.ac.cn/archives/11882

@online{kexuefm-11882, title={让炼丹更科学一些(九):经典自适应梯度算法}, author={苏剑林}, year={2026}, month={Sep}, url={\url{https://spaces.ac.cn/archives/11882}}, }

分类:数学研究    标签:不等式, 梯度, 学习率, 优化器, 炼丹 抢沙发 < 让炼丹更科学一些(八):多阶段训练的学习率 | 让炼丹更科学一些(十):单调性假设的拆与补 > 你也许还对下面的内容感兴趣 慢即是快:1. Shampoo的尽头是Muon? 排序不等式及其推广 让炼丹更科学一些(十):单调性假设的拆与补 让炼丹更科学一些(八):多阶段训练的学习率 动量的新理解:逼近特征层面的梯度下降 流形上的最速下降:7. Stiefel的解析解 除了交叉熵,LM Loss还有什么选择? 解构Scaling Law:优化、架构、数据的三重奏 基于排序不等式的相似度指标 让炼丹更科学一些(七):步长调度与权重平均 发表你的看法

你的大名

电子邮箱

个人网站(选填)

  1. 可以使用LaTeX代码,点击“预览效果”可查看效果;
  2. 可以通过点击评论楼层编号来引用该楼层;
  3. 网站可能会有点卡,如非确认评论失败,请不要重复点击提交。

内容速览 困难分析 推广等式 经典放缩 结果初现 目标求解 各种变体 文章小结 智能搜索 支持整句搜索!网站自动使用结巴分词进行分词,并结合ngrams排序算法给出合理的搜索结果。 热门标签 attention 生成模型 优化 模型 语言模型 梯度 优化器 矩阵 概率 网站 转载 微分方程 分析 天象 深度学习 积分 python 几何 扩散 力学 无监督 损失函数 节日 生活 不等式 随机文章 《积分公式大全》电子书 BERT可以上几年级了?Seq2Seq“硬刚”小学数学应用题 2013年全年天象 日本科学家发现人体能发出可见光(图) 三连杆装置曲线方程 脑洞大开:非线性RNN居然也可以并行计算? 关于光的传播定律 只有两个四阶群和六阶群 地球扁率的简单推导 【NASA每日一图】黎明天空中的奋进号太空梭 最近评论 yicli: 苏老师好,我有两个问题想再请教一下: 1. Full AttnRes 被放弃的主要原因是训练时... Lindsay: 这是不是也是为什么diffusion text model质量不好的原因?因为本质上break... Honghao: 一般结论那节中“ q t =E[L( θ t )]−L( θ ∗ ) 𝑞 𝑡 = 𝐸 [ 𝐿 ( 𝜃 𝑡 ) ] − 𝐿 ( 𝜃 ∗ ) ”应该是“... 田奕哲: 似乎engram与其思路有点相似 都是用hash直接通过tokenid来查询 把学习转成查表 Kacent: 苏神好,我想请教一下. 如果 b 𝑏 只被LossFree更新, 而不被LM head更新, 那么... Dr.Ink: 受教、感谢苏神~ 最近做实验建立更深的理解、也在尝试一些改进,后续再向你请教 Honghao: 感谢苏神回复! 苏剑林: 我们对ds方案和qb做了充分对比,结论是qb更均衡,并且效果(loss和下游bmk)基本无差异... 苏剑林: 不是愿不愿意更新的问题,主要是暂时对这个方向没有什么新理解 苏剑林: 确实,更正了,感谢反馈 友情链接 Cool Papers 数学研发 Seatop Xiaoxia 积分表-网络版 丝路博傲 数学之家 有趣天文奇观 TwistedW godweiyang AI柠檬 王登科-DK博客 ESON 枫之羽 coding-zuo 博科园 孔皮皮的博客 运鹏的博客 jiming.site OmegaXYZ EAI猩球 文举的博客 汇尘轩 申请链接

本站采用创作共用版权协议,要求署名、非商业用途和保持一致。转载本站内容必须也遵循“署名-非商业用途-保持一致”的创作共用协议。 © 2009-2026 Scientific Spaces. All rights reserved. Theme by laogui. Powered by Typecho. 备案号: 粤ICP备09093259号-1/2。