ADAM: A METHOD FOR STOCHASTIC OPTIMIZATION
解决了什么问题
基于传统随机梯度下降算法的一阶优化算法
贡献点
- 结合了
AdaGrad(自适应梯度算法)
和RMSProp(均方根传播算法)
两种梯度优化算法的优点
优势
-
实现简单,计算高效,对内存需求少
-
参数的更新不受梯度的伸缩变换影响
-
超参数具有很好的解释性,且通常无需调整或仅需很少的微调
-
更新的步长能够被限制在大致的范围内(初始学习率)
-
能自然地实现步长退火过程(自动调整学习率)
-
很适合应用于大规模的数据及参数的场景
-
适用于不稳定目标函数
-
适用于梯度稀疏或梯度存在很大噪声的问题
缺点
- 在某些极端情况下不会收敛到最优值
- Adam 可能会遇到权重衰减问题
方法
参数:
A | B | C |
---|---|---|
1 | mtmt | 一阶矩向量(the mean) |
2 | vtvt | 二阶矩向量(the uncentered variance) |
3 | t | 迭代数 |
4 | θtθt | 参数向量 |
5 | ft(θ)ft(θ) | 随机目标函数 |
6 | gtgt | 梯度 |
7 | β1,β2β1,β2 | 矩估计的指数衰减率 |
8 | αα | 步长, 算法中通过αt=α1−βt1αt=α1−βt1更新 |
9 | ^mt^mt | 偏差修正的一阶矩估计 |
10 | ^vt^vt | 偏差修正的二阶原始矩估计 |
数据集
效果
收敛性证明
当ft(θ)ft(θ) 为convex
函数时,判定指标选择为统计量R(T)(Regret):
其中 θ∗=argminθ∈χ∑Ti=1ft(θ)θ∗=argminθ∈χ∑Ti=1ft(θ)
方法
: 求取 R(T) 的一个上界,然后利用上界值除以 T 在极限情况下是否趋于0来判定收敛性。
假设
:
- gt≜∇ft(θt)gt≜∇ft(θt),其中i∈Rti∈Rt表示第i维从1到t的梯度向量,表示为g1:t,i=[g1,i,g2,i…gt,i]g1:t,i=[g1,i,g2,i…gt,i]
- γ≜β21√β2<1,β1,β2∈[0,1)γ≜β21√β2<1,β1,β2∈[0,1)
- β1,t=β1⋅λt−1,λ∈(0,1)⇒β1,t≤β1β1,t=β1⋅λt−1,λ∈(0,1)⇒β1,t≤β1
- αt=α√tαt=α√t
根据定义, 如果f是一个凸函数, 则对于所有的x,y∈Rd,λ∈[0,1]x,y∈Rd,λ∈[0,1]都有 λf(x)+(1−λ)f(y)≥f(λx+(1−λ)y)⇒f(y)≥f(x)+∇f(x)T(y−x)λf(x)+(1−λ)f(y)≥f(λx+(1−λ)y)⇒f(y)≥f(x)+∇f(x)T(y−x)(1)(2)
由(2)式可得,
ft(θ∗)≥ft(θt)+gTt⋅(θ∗−θt)⇒ft(θt)−ft(θ∗)≤gTt⋅(θt−θ∗)⇒R(T)≤T∑t=1⟨gTt,θt−θ∗⟩=d∑i=1T∑t=1⟨gt,i,θt,i−θ∗,i⟩ft(θ∗)≥ft(θt)+gTt⋅(θ∗−θt)⇒ft(θt)−ft(θ∗)≤gTt⋅(θt−θ∗)⇒R(T)≤T∑t=1⟨gTt,θt−θ∗⟩=d∑i=1T∑t=1⟨gt,i,θt,i−θ∗,i⟩(3)对于算法1更新参数:
θt+1=θt−αt⋅ˆmt√^vt=θt−αt1−βt1(β1,tmt−1+(1−β1,t)gt√^vt)θt+1=θt−αt⋅^mt√^vt=θt−αt1−βt1(β1,tmt−1+(1−β1,t)gt√^vt)对两边减去参数theta然后平方可得:
(θt+1,i−θ∗,i)2=(θt,i−θ∗,i−αt⋅ˆmt,i√^vt,i)2=(θt,i−θ∗,i)2+(αtˆmt,i√^vt,i)2−2αtˆmt,i√^vt,i(θt,i−θ∗,i)=(θt,i−θ∗,i)2+(αtˆmt,i√^vt,i)2−2αt1−βt1(β1,tmt−1+(1−β1,t)gt,i√^vt,i)(θt,i−θ∗,i)(θt+1,i−θ∗,i)2=(θt,i−θ∗,i−αt⋅^mt,i√^vt,i)2=(θt,i−θ∗,i)2+(αt^mt,i√^vt,i)2−2αt^mt,i√^vt,i(θt,i−θ∗,i)=(θt,i−θ∗,i)2+(αt^mt,i√^vt,i)2−2αt1−βt1(β1,tmt−1+(1−β1,t)gt,i√^vt,i)(θt,i−θ∗,i)对上式进行分离缩放:
⇒gt,i(θt,i−θ∗,i)=√ˆvt,i⋅−(1−βt1)((θt+1,i−θ∗,i)2−(θt,i−θ∗,i)2−(αt^mt,i√^vt,i)2)2αt−β1,tmt−1,i(θt,i−θ∗,i)1−β1,t=−√ˆvt,i(1−βt1)((θt+1,i−θ∗,i)2−(θt,i−θ∗,i)2−(αt^mt,i√^vt,i)2)2αt(1−β1,t)−β1,tmt−1,i(θt,i−θ∗,i)1−β1,t=√ˆvt,i(1−βt1)((θt,i−θ∗,i)2−(θt+1,i−θ∗,i)2)2αt(1−β1,t)+αt√ˆvt,i(1−βt1)2(1−β1,t)(^mt,i√^vt,i)2−β1,tmt−1,i(θt,i−θ∗,i)1−β1,t=√ˆvt,i(1−βt1)((θt,i−θ∗,i)2−(θt+1,i−θ∗,i)2)2αt(1−β1,t)+αt√ˆvt,i(1−βt1)2(1−β1,t)(^mt,i√^vt,i)2+β1,tmt−1,i(θ∗,i−θt,i)ˆv14t−1,i√αt−1√αt−1ˆv14t−1,i1−β1,t≤√ˆvt,i((θt,i−θ∗,i)2−(θt+1,i−θ∗,i)2)2αt(1−β1,t)+αt2(1−β1,t)ˆm2t,i√^vt,i+β1,t(θ∗,i−θt,i)ˆv14t−1,i√αt−1mt−1,i√αt−1ˆv14t−1,i1−β1,t≤√ˆvt,i((θt,i−θ∗,i)2−(θt+1,i−θ∗,i)2)2αt(1−β1,t)+αt2(1−β1,t)ˆm2t,i√^vt,i+β1,t√ˆvt−1,i2αt−1(1−β1,t)(θ∗,i−θt,i)2+β1,tm2t−1,iαt−12(1−β1,t)√ˆvt−1,i⇒gt,i(θt,i−θ∗,i)=√^vt,i⋅−(1−βt1)((θt+1,i−θ∗,i)2−(θt,i−θ∗,i)2−(αt^mt,i√^vt,i)2)2αt−β1,tmt−1,i(θt,i−θ∗,i)1−β1,t=−√^vt,i(1−βt1)((θt+1,i−θ∗,i)2−(θt,i−θ∗,i)2−(αt^mt,i√^vt,i)2)2αt(1−β1,t)−β1,tmt−1,i(θt,i−θ∗,i)1−β1,t=√^vt,i(1−βt1)((θt,i−θ∗,i)2−(θt+1,i−θ∗,i)2)2αt(1−β1,t)+αt√^vt,i(1−βt1)2(1−β1,t)(^mt,i√^vt,i)2−β1,tmt−1,i(θt,i−θ∗,i)1−β1,t=√^vt,i(1−βt1)((θt,i−θ∗,i)2−(θt+1,i−θ∗,i)2)2αt(1−β1,t)+αt√^vt,i(1−βt1)2(1−β1,t)(^mt,i√^vt,i)2+β1,tmt−1,i(θ∗,i−θt,i)^v14t−1,i√αt−1√αt−1^v14t−1,i1−β1,t≤√^vt,i((θt,i−θ∗,i)2−(θt+1,i−θ∗,i)2)2αt(1−β1,t)+αt2(1−β1,t)^m2t,i√^vt,i+β1,t(θ∗,i−θt,i)^v14t−1,i√αt−1mt−1,i√αt−1^v14t−1,i1−β1,t≤√^vt,i((θt,i−θ∗,i)2−(θt+1,i−θ∗,i)2)2αt(1−β1,t)+αt2(1−β1,t)^m2t,i√^vt,i+β1,t√^vt−1,i2αt−1(1−β1,t)(θ∗,i−θt,i)2+β1,tm2t−1,iαt−12(1−β1,t)√^vt−1,i(4)注释
: 根据杨氏不等式ab≤a22+b22ab≤a22+b22,
其中
a=(θ∗,i−θt,i)ˆv14t−1,i√αt−1b=mt−1,i√αt−1ˆv14t−1,ia=(θ∗,i−θt,i)^v14t−1,i√αt−1b=mt−1,i√αt−1^v14t−1,i把(4)式带入(3)式可得,
R(T)≤d∑i=1T∑t=1[√ˆvt,i((θt,i−θ∗,i)2−(θt+1,i−θ∗,i)2)2αt(1−β1,t)+αt2(1−β1,t)ˆm2t,i√^vt,i+β1,t√ˆvt−1,i2αt−1(1−β1,t)(θ∗,i−θt−1,i)2+β1,tm2t−1,iαt−12(1−β1,t)√ˆvt−1,i]R(T)≤d∑i=1T∑t=1[√^vt,i((θt,i−θ∗,i)2−(θt+1,i−θ∗,i)2)2αt(1−β1,t)+αt2(1−β1,t)^m2t,i√^vt,i+β1,t√^vt−1,i2αt−1(1−β1,t)(θ∗,i−θt−1,i)2+β1,tm2t−1,iαt−12(1−β1,t)√^vt−1,i]其中
T∑t=1ˆm2t,i√tˆvt,i≤21−γG∞√1−β2‖g1:T,i‖2T∑t=1^m2t,i√t^vt,i≤21−γG∞√1−β2∥g1:T,i∥2(5)证明
:
假设
: √(1−βt2)(1−βt1)2≤1(1−β1)2√(1−βt2)(1−βt1)2≤1(1−β1)2(6)
参数有界
:
其中,
√ˆvt,i=√∑tj=1(1−β2)βt−j2g2j,i√1−βt2≤‖g1:t,i‖2ˆm2t,i=(β1mt−1,i+(1−β1)gt,i)2(1−βt1)2=(∑tk=1βt−k1(1−β1)gk,i)2(1−βt1)2≤‖g1:t,i‖22√^vt,i=√∑tj=1(1−β2)βt−j2g2j,i√1−βt2≤∥g1:t,i∥2^m2t,i=(β1mt−1,i+(1−β1)gt,i)2(1−βt1)2=(∑tk=1βt−k1(1−β1)gk,i)2(1−βt1)2≤∥g1:t,i∥22(8)(9)展开不等式(5)左边的最后一项:
T∑t=1ˆm2t,i√tˆvt,i=T−1∑t=1ˆm2t,i√tˆvt,i+ˆm2T,i√TˆvT,i=T−1∑t=1ˆm2t,i√tˆvt,i+m2T,i(1−βT1)2√TvT,i1−βT2=T−1∑t=1ˆm2t,i√tˆvt,i+(β1mT−1,i+(1−β1)gT,i)2(1−βT1)2√Tβ2vT−1,i+(1−β2)g2T,i1−βT2=T−1∑t=1ˆm2t,i√tˆvt,i+√1−βT2(1−βT1)2(∑Tk=1(1−β1)βT−k1gk,i)2√T∑Tj=1(1−β2)βT−j2g2j,i≤T−1∑t=1ˆm2t,i√tˆvt,i+√1−βT2(1−βT1)2T∑k=1T((1−β1)βT−k1gk,i)2√T∑Tj=1(1−β2)βT−j2g2j,i≤T−1∑t=1ˆm2t,i√tˆvt,i+√1−βT2(1−βT1)2T∑k=1T((1−β1)βT−k1gk,i)2√T(1−β2)βT−k2g2k,i≤T−1∑t=1ˆm2t,i√tˆvt,i+√1−βT2(1−βT1)2(1−β1)2√T(1−β2)T∑k=1T(β21√β2)T−k‖gk,i‖2≤T−1∑t=1ˆm2t,i√tˆvt,i+T√T(1−β2)T∑k=1γT−k‖gk,i‖2⇒T∑t=1ˆm2t,i√tˆvt,i≤T∑t=1‖gt,i‖2√t(1−β2)T−t∑j=0tγj≤T∑t=1‖gt,i‖2√t(1−β2)T∑j=0tγjT∑t=1^m2t,i√t^vt,i=T−1∑t=1^m2t,i√t^vt,i+^m2T,i√T^vT,i=T−1∑t=1^m2t,i√t^vt,i+m2T,i(1−βT1)2√TvT,i1−βT2=T−1∑t=1^m2t,i√t^vt,i+(β1mT−1,i+(1−β1)gT,i)2(1−βT1)2√Tβ2vT−1,i+(1−β2)g2T,i1−βT2=T−1∑t=1^m2t,i√t^vt,i+√1−βT2(1−βT1)2(∑Tk=1(1−β1)βT−k1gk,i)2√T∑Tj=1(1−β2)βT−j2g2j,i≤T−1∑t=1^m2t,i√t^vt,i+√1−βT2(1−βT1)2T∑k=1T((1−β1)βT−k1gk,i)2√T∑Tj=1(1−β2)βT−j2g2j,i≤T−1∑t=1^m2t,i√t^vt,i+√1−βT2(1−βT1)2T∑k=1T((1−β1)βT−k1gk,i)2√T(1−β2)βT−k2g2k,i≤T−1∑t=1^m2t,i√t^vt,i+√1−βT2(1−βT1)2(1−β1)2√T(1−β2)T∑k=1T(β21√β2)T−k∥gk,i∥2≤T−1∑t=1^m2t,i√t^vt,i+T√T(1−β2)T∑k=1γT−k∥gk,i∥2⇒T∑t=1^m2t,i√t^vt,i≤T∑t=1∥gt,i∥2√t(1−β2)T−t∑j=0tγj≤T∑t=1∥gt,i∥2√t(1−β2)T∑j=0tγj(根据平均不等式(0))(带入不等式(6)和假设2)(10)根据等比数列求和公式:
Sn=a(1−rn)1−r,∀r≠1⇒S∞=a1−r,∀−1<r<1T∑j=0tγj=t⋅1−γT1−γ<t1−γSn=a(1−rn)1−r,∀r≠1⇒S∞=a1−r,∀−1<r<1T∑j=0tγj=t⋅1−γT1−γ<t1−γ(11)把(11)式带入(10)式得,
T∑t=1‖gt,i‖2√t(1−β2)T∑j=0tγj≤1(1−γ)√1−β2T∑t=1‖gt,i‖2√tT∑t=1∥gt,i∥2√t(1−β2)T∑j=0tγj≤1(1−γ)√1−β2T∑t=1∥gt,i∥2√t(12)梯度有界
:
运用数学归纳法证明:
当T=1时, √g21,i≤2G∞‖g1:T,i‖2√g21,i≤2G∞∥g1:T,i∥2
当T=T时, T∑t=1√g2t,it=T−1∑t=1√g2t,it+√g2T,iT≤2G∞‖g1:T−1,i‖2+√g2T,iT=2G∞√‖g1:T,i‖22−g2T+√g2T,iTT∑t=1√g2t,it=T−1∑t=1√g2t,it+√g2T,iT≤2G∞∥g1:T−1,i∥2+√g2T,iT=2G∞√∥g1:T,i∥22−g2T+√g2T,iT(14)
设 ‖g1:T,i‖22−g2T+g4T,i4‖g1:T,i‖22≥‖g1:T,i‖22−g2T∥g1:T,i∥22−g2T+g4T,i4∥g1:T,i∥22≥∥g1:T,i∥22−g2T
两边开根号得,
⇒√‖g1:T,i‖22−g2T≤‖g1:T,i‖2−g2T,i2‖g1:T,i‖2≤‖g1:T,i‖2−g2T,i2√TG2∞⇒√∥g1:T,i∥22−g2T≤∥g1:T,i∥2−g2T,i2∥g1:T,i∥2≤∥g1:T,i∥2−g2T,i2√TG2∞对不等号左边换算成公式(14):
G∞√‖g1:T,i‖22−g2T≤G∞‖g1:T,i‖2−g2T,i2√T2G∞√‖g1:T,i‖22−g2T≤2G∞‖g1:T,i‖2−g2T,i√T2G∞√‖g1:T,i‖22−g2T+√g2T,iT≤2G∞‖g1:T,i‖2−g2T,i√T+√g2T,iT2G∞√‖g1:T,i‖22−g2T+√g2T,iT≤2G∞‖g1:T,i‖2−g2T,i−gT,i√T≤2G∞‖g1:T,i‖2⇒T∑t=1√g2t,it≤2G∞‖g1:T,i‖2G∞√∥g1:T,i∥22−g2T≤G∞∥g1:T,i∥2−g2T,i2√T2G∞√∥g1:T,i∥22−g2T≤2G∞∥g1:T,i∥2−g2T,i√T2G∞√∥g1:T,i∥22−g2T+√g2T,iT≤2G∞∥g1:T,i∥2−g2T,i√T+√g2T,iT2G∞√∥g1:T,i∥22−g2T+√g2T,iT≤2G∞∥g1:T,i∥2−g2T,i−gT,i√T≤2G∞∥g1:T,i∥2⇒T∑t=1√g2t,it≤2G∞∥g1:T,i∥2把公式(11)带入公式(10)得,
T∑t=1ˆm2t,i√tˆvt,i≤2G∞(1−γ)√1−β2‖g1:T,i‖2T∑t=1^m2t,i√t^vt,i≤2G∞(1−γ)√1−β2∥g1:T,i∥2(15)所以,
R(T)≤d∑i=1T∑t=1[√ˆvt,i((θt,i−θ∗,i)2−(θt+1,i−θ∗,i)2)2αt(1−β1,t)+αt2(1−β1,t)ˆm2t,i√^vt,i+β1,t√ˆvt−1,i2αt−1(1−β1,t)(θ∗,i−θt,i)2+β1,tm2t−1,iαt−12(1−β1,t)√ˆvt−1,i]≤d∑i=1T∑t=1[√ˆvt,i(θt,i−θ∗,i)22αt(1−β1,t)−√ˆvt,i(θt+1,i−θ∗,i)22αt(1−β1,t)+β1,t√ˆvt−1,i2αt−1(1−β1,t)(θ∗,i−θt,i)2+αt2(1−β1,t)ˆm2t,i√^vt,i+β1,tm2t−1,iαt−12(1−β1,t)√ˆvt−1,i]≤d∑i=1[√ˆv1,i(θ1,i−θ∗,i)22α1(1−β1,1)−√ˆvT,i(θT+1,i−θ∗,i)22αT(1−β1,T)]+d∑i=1T∑t=2[√ˆvt,i(θt,i−θ∗,i)22αt(1−β1,t)−√ˆvt−1,i(θt,i−θ∗,i)22αt−1(1−β1,t−1)]+d∑i=1T∑t=1[β1,t√ˆvt−1,i2αt−1(1−β1,t)(θ∗,i−θt,i)2+αt2(1−β1,t)ˆm2t,i√^vt,i+β1,tαt−12(1−β1,t)m2t−1,i√ˆvt−1,i]≤d∑i=1[√ˆv1,i(θ1,i−θ∗,i)22α1(1−β1,1)−√ˆvT,i(θT+1,i−θ∗,i)22αT(1−β1,T)]+12(1−β1)d∑i=1T∑t=2(θt,i−θ∗,i)2(√ˆvt,iαt−√ˆvt−1,iαt−1)+d∑i=1T∑t=1[β1,t√ˆvt−1,i2αt−1(1−β1,t)(θ∗,i−θt,i)2]+α2(1−β1)2G∞(1−γ)√1−β2d∑i=1‖g1:T,i‖2+αβ12(1−β1)2G∞(1−γ)√1−β2d∑i=1‖g1:T,i‖2≤d∑i=1[√ˆv1,iD22α1(1−β1,1)−√ˆvT,iD22αT(1−β1,T)]+D2∞2α1(1−β1)d∑i=1T∑t=2(√tˆvt,i−√(t−1)ˆvt−1,i)+D2∞2α1d∑i=1[β1,t√(t−1)ˆvt−1,i(1−β1,t)]+α1(1+β1)(1−β1)G∞(1−γ)√1−β2d∑i=1‖g1:T,i‖2≤d∑i=1[√ˆv1,iD22α1(1−β1,1)−√ˆvT,iD22αT(1−β1,T)]+D2∞2α1(1−β1)d∑i=1(√TˆvT,i−√ˆv1,i)+D2∞G∞2α1d∑i=1[β1,t√(t−1)(1−β1,t)]+α1(1+β1)(1−β1)G∞(1−γ)√1−β2d∑i=1‖g1:T,i‖2R(T)≤d∑i=1T∑t=1[√^vt,i((θt,i−θ∗,i)2−(θt+1,i−θ∗,i)2)2αt(1−β1,t)+αt2(1−β1,t)^m2t,i√^vt,i+β1,t√^vt−1,i2αt−1(1−β1,t)(θ∗,i−θt,i)2+β1,tm2t−1,iαt−12(1−β1,t)√^vt−1,i]≤d∑i=1T∑t=1[√^vt,i(θt,i−θ∗,i)22αt(1−β1,t)−√^vt,i(θt+1,i−θ∗,i)22αt(1−β1,t)+β1,t√^vt−1,i2αt−1(1−β1,t)(θ∗,i−θt,i)2+αt2(1−β1,t)^m2t,i√^vt,i+β1,tm2t−1,iαt−12(1−β1,t)√^vt−1,i]≤d∑i=1[√^v1,i(θ1,i−θ∗,i)22α1(1−β1,1)−√^vT,i(θT+1,i−θ∗,i)22αT(1−β1,T)]+d∑i=1T∑t=2[√^vt,i(θt,i−θ∗,i)22αt(1−β1,t)−√^vt−1,i(θt,i−θ∗,i)22αt−1(1−β1,t−1)]+d∑i=1T∑t=1[β1,t√^vt−1,i2αt−1(1−β1,t)(θ∗,i−θt,i)2+αt2(1−β1,t)^m2t,i√^vt,i+β1,tαt−12(1−β1,t)m2t−1,i√^vt−1,i]≤d∑i=1[√^v1,i(θ1,i−θ∗,i)22α1(1−β1,1)−√^vT,i(θT+1,i−θ∗,i)22αT(1−β1,T)]+12(1−β1)d∑i=1T∑t=2(θt,i−θ∗,i)2(√^vt,iαt−√^vt−1,iαt−1)+d∑i=1T∑t=1[β1,t√^vt−1,i2αt−1(1−β1,t)(θ∗,i−θt,i)2]+α2(1−β1)2G∞(1−γ)√1−β2d∑i=1∥g1:T,i∥2+αβ12(1−β1)2G∞(1−γ)√1−β2d∑i=1∥g1:T,i∥2≤d∑i=1[√^v1,iD22α1(1−β1,1)−√^vT,iD22αT(1−β1,T)]+D2∞2α1(1−β1)d∑i=1T∑t=2(√t^vt,i−√(t−1)^vt−1,i)+D2∞2α1d∑i=1[β1,t√(t−1)^vt−1,i(1−β1,t)]+α1(1+β1)(1−β1)G∞(1−γ)√1−β2d∑i=1∥g1:T,i∥2≤d∑i=1[√^v1,iD22α1(1−β1,1)−√^vT,iD22αT(1−β1,T)]+D2∞2α1(1−β1)d∑i=1(√T^vT,i−√^v1,i)+D2∞G∞2α1d∑i=1[β1,t√(t−1)(1−β1,t)]+α1(1+β1)(1−β1)G∞(1−γ)√1−β2d∑i=1∥g1:T,i∥2(把(12)式和假设4带入)(带入公式(7))(带入公式(8))其中, d∑i=1[β1,t√(t−1)(1−β1,t)]≤d∑i=111−β1λt−1√t−1≤d∑i=111−β1λt−1(t−1)≤11−β1λ(1−λ)2d∑i=1[β1,t√(t−1)(1−β1,t)]≤d∑i=111−β1λt−1√t−1≤d∑i=111−β1λt−1(t−1)≤11−β1λ(1−λ)2(16)
注释:
∑n≥0nxn=∑n≥0x(xn)′=x∑n≥0(xn)′=x(∑n≥0(xn))′=x(11−x)′=x(1−x)2∑n≥0nxn=∑n≥0x(xn)′=x∑n≥0(xn)′=x(∑n≥0(xn))′=x(11−x)′=x(1−x)2(求原函数,思路nx^{n-1})(常用的泰勒展开式)(|x|<1)最后,
R(T)≤d∑i=1[√ˆv1,iD22α1(1−β1,1)−√ˆvT,iD22αT(1−β1,T)]+D2∞2α1(1−β1)d∑i=1(√TˆvT,i−√ˆv1,i)+D2∞G∞2α1d∑i=1[β1,t√(t−1)(1−β1,t)]+α1(1+β1)(1−β1)G∞(1−γ)√1−β2d∑i=1‖g1:T,i‖2≤d∑i=1[√ˆv1,iD22α1(1−β1,1)−√TˆvT,iD22α1(1−β1,T)]+D2∞2α1(1−β1)d∑i=1(√TˆvT,i−√ˆv1,i)+d∑i=1λD2∞G∞2α1(1−β1)(1−λ)2+α1(1+β1)G∞(1−γ)√1−β2(1−β1)d∑i=1‖g1:T,i‖2R(T)≤d∑i=1[√^v1,iD22α1(1−β1,1)−√^vT,iD22αT(1−β1,T)]+D2∞2α1(1−β1)d∑i=1(√T^vT,i−√^v1,i)+D2∞G∞2α1d∑i=1[β1,t√(t−1)(1−β1,t)]+α1(1+β1)(1−β1)G∞(1−γ)√1−β2d∑i=1∥g1:T,i∥2≤d∑i=1[√^v1,iD22α1(1−β1,1)−√T^vT,iD22α1(1−β1,T)]+D2∞2α1(1−β1)d∑i=1(√T^vT,i−√^v1,i)+d∑i=1λD2∞G∞2α1(1−β1)(1−λ)2+α1(1+β1)G∞(1−γ)√1−β2(1−β1)d∑i=1∥g1:T,i∥2(带入公式(16))改进方向
ADAMAX
AdamW
AdamX
Code精读
mt←β1⋅mt−1+(1−β1)⋅gtmt←β1⋅mt−1+(1−β1)⋅gt
vt←β2⋅vt−1+(1−β2)⋅g2tvt←β2⋅vt−1+(1−β2)⋅g2t
偏差修正
更新参数向量θtθt
θt←θt−1−α⋅ˆmt/(√ˆvt+ϵ)θt←θt−1−α⋅mt(1−βt1)/(√vt(1−βt2)+ϵ)θt←θt−1−α⋅^mt/(√^vt+ϵ)θt←θt−1−α⋅mt(1−βt1)/(√vt(1−βt2)+ϵ)其中分母√vt(1−βt2)+ϵ√vt(1−βt2)+ϵ
学习率αt=α(1−βt1)αt=α(1−βt1)
Adam of pytorch
input:γ(lr),β1,β2(betas),θ0(params),f(θ)(objective),ϵ (epsilon)λ(weight decay),amsgrad,maximizeinitialize:m0←0 (first moment),v0←0 ( second moment),^v0max←0fort=1to…doifmaximize:gt←−∇θft(θt−1)elsegt←∇θft(θt−1)θt←θt−1−γλθt−1mt←β1mt−1+(1−β1)gtvt←β2vt−1+(1−β2)g2t^mt←mt/(1−βt1)^vt←vt/(1−βt2)ifamsgrad^vtmax←max(^vtmax,^vt)θt←θt−γ^mt/(√^vtmax+ϵ)elseθt←θt−γ^mt/(√^vt+ϵ)returnθtinput:γ(lr),β1,β2(betas),θ0(params),f(θ)(objective),ϵ (epsilon)λ(weight decay),amsgrad,maximizeinitialize:m0←0 (first moment),v0←0 ( second moment),ˆv0max←0fort=1to…doifmaximize:gt←−∇θft(θt−1)elsegt←∇θft(θt−1)θt←θt−1−γλθt−1mt←β1mt−1+(1−β1)gtvt←β2vt−1+(1−β2)g2tˆmt←mt/(1−βt1)ˆvt←vt/(1−βt2)ifamsgradˆvtmax←max(ˆvtmax,ˆvt)θt←θt−γˆmt/(√ˆvtmax+ϵ)elseθt←θt−γˆmt/(√ˆvt+ϵ)returnθt
扩展
- 随机梯度下降算法发展史: SGD -> SGDM -> NAG ->AdaGrad -> AdaDelta -> RMSprop -> Adam -> AdaMax -> Nadam
- An overview of gradient descent optimization algorithms∗
- ON THE CONVERGENCE PROOF OF AMSGRAD AND A NEW VERSION?