本篇博客内容源于课程《强化学习的数学原理》 赵世钰老师 西湖大学,旨在记录学习强化学习的过程。
强化学习06——随即近似和随机梯度下降
Stochastic approximation (SA)是指一大类求根和优化问题的随机迭代算法,与许多其他求根算法相比,SA 的强大之处在于它无需知道目标函数的表达式或其导数。Robbins-Monro算法是SA领域的开创工作。
Robbins-Monro algorithm
假定我们想要找到如下等式的根:
g
(
w
)
=
0
g(w)=0
g(w)=0其中
g
:
R
→
R
g:\mathbb{R}\rightarrow\mathbb{R}
g:R→R,
w
∈
R
w\in \mathbb{R}
w∈R是要求解的变量。假如不知道
g
g
g的函数表达式该怎么求解呢?例如
g
g
g是由神经网络表示。
Robbins-Monro 算法可以解决这个问题:
w
k
+
1
=
w
k
−
a
k
g
~
(
w
k
,
η
k
)
,
k
=
1
,
2
,
3...
w_{k+1}=w_{k}-a_k\tilde{g}(w_k,\eta_{k}),k=1,2,3...
wk+1=wk−akg~(wk,ηk),k=1,2,3...
- w k w_{k} wk是第k次对根的估计
- g ~ ( w k , η k ) = g ( w k ) + η k \tilde{g}(w_k,\eta_{k})=g(w_{k})+\eta_{k} g~(wk,ηk)=g(wk)+ηk噪声观测
- a k a_k ak是正系数
显然,这个算法不依赖于模型 g g g,但依赖于数据:
- 输入序列: { w k } \{w_k\} {wk}
- 噪声输出序列: { g ~ ( w k , η k ) } \{\tilde{g}(w_k,\eta_{k})\} {g~(wk,ηk)}
接下来看一个例子,利用Robbins-Monro 算法求解如下问题的根:
g
(
w
)
=
tanh
(
w
−
1
)
g(w)=\tanh(w-1)
g(w)=tanh(w−1)
参数设置如下:
- w 1 = 3 , a k = 1 k , η k = 0 w_{1}=3,a_{k}=\frac{1}{k},\eta_{k}=0 w1=3,ak=k1,ηk=0(为了简化不考虑噪音)
那么在这种情况下Robbins-Monro 算法如下:
w
k
+
1
=
w
k
−
a
k
g
(
w
k
)
w_{k+1}=w_{k}-a_{k}g(w_{k})
wk+1=wk−akg(wk)可以得到计算过程如下:
最终序列
{
w
k
}
\{w_{k}\}
{wk}会收敛至根
w
∗
=
1
w^{*}=1
w∗=1。
Robbins-Monro 算法收敛性的理论支撑
Dvoretzky’s Theorem
先介绍Dvoretzky’s Theorem,Robbins-Monro 算法收敛性可以由Dvoretzky’s Theorem导出。什么是Dvoretzky’s Theorem?
令
h
k
=
Δ
k
2
h_{k}=\Delta_{k}^{2}
hk=Δk2,那么
h
k
+
1
−
h
k
h_{k+1}-h_{k}
hk+1−hk有如下形式:
等式两边取条件期望,有:
简化式子:(思考:为什么
Δ
k
,
α
k
,
β
k
\Delta_{k},\alpha_{k},\beta_{k}
Δk,αk,βk可以被提出期望?)
根据定理给的条件,可以给出
E
[
h
k
+
1
−
h
k
∣
H
k
]
\mathbb{E}[h_{k+1}-h_{k}|\mathcal{H}_k]
E[hk+1−hk∣Hk]上界的一个估计:
两边对
k
k
k求和:
应用quasimartingale convergence theorem可以推出
h
k
h_{k}
hk收敛,所以
Δ
k
\Delta_{k}
Δk也收敛,接下来确定
Δ
k
\Delta_{k}
Δk到底收敛于何值。
由(6.9)式可知:
事实上,等式右边两项都受
∞
\infty
∞约束,所以容易知道等式左边也受
∞
\infty
∞约束:
(证明原文可以在课程对应书籍中找到)
Robbins-Monro 收敛定理
接下来回到Robbins-Monro 算法收敛性的分析,给出Robbins-Monro收敛定理:
这个定理告诉我们,只要满足上述给出的三个条件,那么由Robbins-Monro 算法得到的序列
{
w
k
}
\{w_{k}\}
{wk}就能收敛到我们所要求的根
w
∗
w^{*}
w∗。如何证明呢?我们是依据Dvoretzky’s Theorem,事实上Dvoretzky’s Theorem证明了,Robbins-Monro 收敛定理就能很轻松的证明,以下是证明过程:
Robbins-Monro 收敛定理三个条件的理解
随机梯度下降(Stochastic gradient descent)
Stochastic gradient descent被广泛应用于机器学习和强化学习,但后面可以发现它实际上就是一种特殊的 Robbins-Monro算法。
假定我们要求解如下问题:
有如下方法:
- gradient descent (GD)
期望很难求得的时候,有什么方法呢?可以依靠数据近似期望,其实就是蒙特卡洛思想。
- batch gradient descent (BGD)
但每一次更新 w k w_{k} wk时,都需要进行多次采样,现实中可能行不通。 - stochastic gradient descent (SGD)
使用一次采样得到的随机梯度代替真实梯度,也就是BGD的 n = 1 n=1 n=1的情况。
SGD的收敛性分析
这里的证明方法说明SGD是一个特殊的RM算法即可。
给出SGD收敛定理,注意第一个条件要求
f
f
f是凸的,故能保证找到的局部最优解是全局最优解,第三个条件要求样本是独立同分布的。