第六课 随机近似理论和随机梯度下降
1.Mean Estimation
首先回顾在Monte Carlo Estimation中,我们通过采样求平均估计期望值,为了更高效地实现这一过程,可以使用增量思想计算平均值。
这样建立起
w
k
w_k
wk和
w
k
+
1
w_{k+1}
wk+1的关系就可以直接更新平均值。
了解以上思路之后可以提出一个假设:将
1
/
k
1/k
1/k替换为
α
k
\alpha_k
αk,等式是否还成立,是否会有更多的应用场景。
Stochastic Approximation
SA算法是一系列用于求解优化问题的随机迭代算法的统称,它的特点在于无需已知目标函数的表达式或者可导性。
2.Robbins-Monro Algorithm
问题描述:
RM算法求解:
RM收敛性定理:
其中每一个条件的详细含义在于:
需要特别说明的是:条件2是限制
a
k
a_k
ak要收敛到0但又不能收敛的太快,例如
1
/
k
1/k
1/k就完全满足该条件
Mean Estimation就是一种特殊的Robbins-Monro Algorithm:
3.Stochaxtic Gradient Descent(SGD)
问题 :
Method 1: Gradient Descent (GD) 梯度下降
w
k
+
1
=
w
k
−
α
k
∇
w
E
[
f
(
w
k
,
X
)
]
=
w
k
−
α
k
E
[
∇
w
f
(
w
k
,
X
)
]
w_{k+1}=w_k- \alpha_k \nabla_w\mathbb{E}[f(w_k,X)]=w_k- \alpha_k\mathbb{E}[ \nabla_wf(w_k,X)]
wk+1=wk−αk∇wE[f(wk,X)]=wk−αkE[∇wf(wk,X)]Method 2: Batch Gradient Descent (BGD) 批量梯度下降
E
[
∇
w
f
(
w
k
,
X
)
]
≈
1
n
∑
i
=
1
n
∇
w
f
(
w
k
,
x
i
)
\mathbb{E}[ \nabla_wf(w_k,X)]\approx\frac {1}{n} \sum_{i=1}^{n}\nabla_wf(w_k,x_i)
E[∇wf(wk,X)]≈n1i=1∑n∇wf(wk,xi)
w
k
+
1
=
w
k
−
α
k
1
n
∑
i
=
1
n
∇
w
f
(
w
k
,
x
i
)
w_{k+1}=w_k- \alpha_k\frac {1}{n} \sum_{i=1}^{n}\nabla_wf(w_k,x_i)
wk+1=wk−αkn1i=1∑n∇wf(wk,xi)Method 3: Stochastic Gradient Descent (SGD) 随机梯度下降
w
k
+
1
=
w
k
−
α
k
∇
w
f
(
w
k
,
x
k
)
w_{k+1}=w_k- \alpha_k\nabla_wf(w_k,x_k)
wk+1=wk−αk∇wf(wk,xk)
对比上述方法的表达式不难发现,SGD使用一个随机采样的梯度(stochastic gradient)近似原函数的梯度(true gradient)
SGD的收敛证明:
因为SGD就是特殊的RM算法
相似算法比较:
第七课 时序差分方法
导入
问题的开始我们想求解的随机变量的期望,于是我们将其转化为了等式求根的优化问题,并结合上一课所提出的方法,得到了求解的迭代方程
当相关随机变量有函数变化:
更进一步引入第二个随机变量:
Temporal Difference Learnig Algorithm
TD算法的本质在于求解model-free的Bellman公式(policy evaluation):
使用导入部分得到的第三个迭代公式估计state value
TD Target意味着随着时间
t
t
t增加,
v
(
s
t
)
→
v
t
ˉ
v(s_t) \to \bar{v_t}
v(st)→vtˉ
TD Error中
v
(
s
t
)
v(s_t)
v(st)表示的是
t
t
t时刻;而
r
t
+
1
+
γ
v
(
s
t
+
1
)
r_{t+1}+\gamma v(s_{t+1})
rt+1+γv(st+1)在
t
+
1
t+1
t+1时刻
更重要的是,
δ
t
\delta_t
δt表示了当前对state value的估计值
v
t
v_t
vt与待求的state value准确值
v
π
v_{\pi}
vπ之间的差距。也就是说,在计算中当出现新的
(
s
t
,
r
t
+
1
,
s
t
+
1
)
(s_t,r_{t+1},s_{t+1})
(st,rt+1,st+1) ,带入计算TD Error就可以发现
v
t
v_t
vt与
v
π
v_{\pi}
vπ之间的差距,可以用于进一步改进
v
t
v_t
vt。
下面是对TD算法的收敛性证明:
不难发现,上述过程都是对Bellman方程做了一些常规的变形和代入,并借助RM算法求解,得到的最终公式与TD Learning公式有两处微小差别,但整体上并不影响其收敛性。(具体证明见课本)
两种model-free算法的对比:
尽管TD的方差更小,但是它估计的平均值可能会有偏差,因为估计过程依赖于初始值;而MC属于无偏估计。
Sarsa Algorithm
不难看出,Sarsa与TD算法有极大的相似性,相当于把state value全部换为了action value。
该过程基于policy iteration的思想,采取
ϵ
\epsilon
ϵ-greedy策略
下面是对经典Sarsa的两种推广算法
Expected Sarsa Algorithm
注意与经典Sarsa的区别:不再需要
a
t
+
1
a_{t+1}
at+1而是采用
A
A
A[同时相应地增加了一次期望计算],他解决的Bellman方程为:
n-step Sarsa Algorithm
通过与TD算法和Sarsa求解的Bellman方程不同,得到n-step Sarsa Algorithm的公式:
Q-Learning Algorithm
这里TD Target中的
m
a
x
max
max体现了对
a
a
a的优化,因为此时他求解的问题是bellman最优方程:
两种策略下的Q-Learning算法伪代码:
Summary
整理对比几种不同算法的TD Target和解决的问题:
On-policy 与 Off-policy :
在了解二者区别之前,先掌握behavior policy 与 target policy
behavior policy指与环境不断交互,生成experience的策略;target policy指不断更新直到最后得到optimal policy的策略。当behavior policy 与 target policy一致时即为On-policy,否则为Off-policy。更简洁地描述的方式:On-policy表示的是实时学习优化过程,而Off-policy是事后学习优化。如:Sarsa和MC Learning都是On-policy的,Q-Learning是Off-policy的。
课本链接:https://westlakeu-my.sharepoint.com/:b:/g/personal/lyujialing_westlake_edu_cn/ETz-mSO6hHREuuO7fYlJ-n4BSirN1PZienJPe77FehoM2A?e=GmpRnL