第六课 随机近似理论和随机梯度下降
1.Mean Estimation
首先回顾在Monte Carlo Estimation中,我们通过采样求平均估计期望值,为了更高效地实现这一过程,可以使用增量思想计算平均值。

这样建立起wkw_kwk和wk+1w_{k+1}wk+1的关系就可以直接更新平均值。
了解以上思路之后可以提出一个假设:将1/k1/k1/k替换为αk\alpha_kαk,等式是否还成立,是否会有更多的应用场景。
Stochastic Approximation
SA算法是一系列用于求解优化问题的随机迭代算法的统称,它的特点在于无需已知目标函数的表达式或者可导性。
2.Robbins-Monro Algorithm
问题描述:

RM算法求解:

RM收敛性定理:

其中每一个条件的详细含义在于:
需要特别说明的是:条件2是限制aka_kak要收敛到0但又不能收敛的太快,例如1/k1/k1/k就完全满足该条件
Mean Estimation就是一种特殊的Robbins-Monro Algorithm:
3.Stochaxtic Gradient Descent(SGD)
问题 :

Method 1: Gradient Descent (GD) 梯度下降
wk+1=wk−αk∇wE[f(wk,X)]=wk−αkE[∇wf(wk,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[∇wf(wk,X)]≈1n∑i=1n∇wf(wk,xi)
\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)wk+1=wk−αk1n∑i=1n∇wf(wk,xi)
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) 随机梯度下降
wk+1=wk−αk∇wf(wk,xk)
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意味着随着时间ttt增加,v(st)→vtˉv(s_t) \to \bar{v_t}v(st)→vtˉ
TD Error中v(st)v(s_t)v(st)表示的是ttt时刻;而rt+1+γv(st+1)r_{t+1}+\gamma v(s_{t+1})rt+1+γv(st+1)在t+1t+1t+1时刻

更重要的是,δt\delta_tδt表示了当前对state value的估计值vtv_tvt与待求的state value准确值 vπv_{\pi}vπ之间的差距。也就是说,在计算中当出现新的(st,rt+1,st+1)(s_t,r_{t+1},s_{t+1})(st,rt+1,st+1) ,带入计算TD Error就可以发现vtv_tvt与vπv_{\pi}vπ之间的差距,可以用于进一步改进vtv_tvt。
下面是对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的区别:不再需要at+1a_{t+1}at+1而是采用AAA[同时相应地增加了一次期望计算],他解决的Bellman方程为:

n-step Sarsa Algorithm
通过与TD算法和Sarsa求解的Bellman方程不同,得到n-step Sarsa Algorithm的公式:


Q-Learning Algorithm

这里TD Target中的maxmaxmax体现了对aaa的优化,因为此时他求解的问题是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
1万+



被折叠的 条评论
为什么被折叠?



