本笔记参考《Reinforcement Learning: An Introduction》和
David Silver的公开课及其ppt

David Silver的课程在Tabular Soluction上介绍的比较多。可以配合David Silver的课程来理解《Reinforcement Learning: An Introduction》这本书的内容


DP指的是一组算法,可以用来计算最佳策略,给定一个完美的model作为马尔科夫决策过程(MDP)[这是必须的]。当然之后介绍的算法不是用DP解的,它只是给后面要介绍的方法基础理论

一定要注意DP解问题的必要条件。我们假设environment是finite MDP。其中我们假设它的state,action以及reward sets,S,A,and,R是有限的,而且它的动态性是通过一系列的概率p(s,r|s,a)给出来的

4.2 Policy Evaluation (Prediction)

Policy evaluation Estimate vπ
Iterative policy evaluation

Policy Evaluation就是对于任意policy π ,计算出state-value function vπ。这也被看成prediction problem
Chapter 4 Dynamic Programming

4.2 Policy Improvement

Policy improvement Generate ππ
Greedy policy improvement

policy improvement theorem
假设有 ππ 更好

qπ(s,π(s))vπ(s)vπ(s)vπ(s)

证明:
vπ(s)qπ(s,π(s))=E[Rt+1+γvπ(St+1)|St=s,At=π(s)]=Eπ[Rt+1+γvπ(St+1)|St=s]Eπ[Rt+1+γqπ(St+1,π(St+1))|St=s]=Eπ[Rt+1+γEπ[Rt+2+γvπ(St+2)|St+1]|St=s]=Eπ[Rt+1+γRt+2+γ2vπ(St+2)|St=s]Eπ[Rt+1+γRt+2+γ2Rt+3+γ3vπ(St+3)|St=s]Eπ[Rt+1+γRt+2+γ2Rt+3+γ3Rt+4+|St=s]=vπ(s).

很自然的就会想到使用greedy policy在每个状态s根据qπ(s,a)选择最好的a,从而得到新的policy π
π(s)argmaxaqπ(s,a)=argmaxaE[Rt+1+γvπ(St+1)|St=s,At=a]=argmaxas,rp(s,r|s,a)[r+γvπ(s)]

4.3 Policy Iteration

把Policy Evaluation (Prediction)和Policy Improvement两个过程迭代进行,最终获得收敛的最佳policy

π0Evπ0Iπ1Evπ1Iπ2EπEv

Chapter 4 Dynamic Programming
注意上图的迭代是Policy Evaluation和Policy Improvement交替进行的

这个过程被证明是收敛的,最后一定可以收敛到最佳的policy

4.4 Value Iteration

Value Iteration不像policy iteration,没有显式的 policy evaluation。policy iteration的一个缺点是每次迭代都要进行完整的policy evaluation,这非常的耗时。

policy evaluation的步骤可以被截取为少许的几步,而且还保证policy iteration的收敛。一个特殊的例子就是在仅进行一个sweep后停止。
Chapter 4 Dynamic Programming
在每个sweep中,执行一个sweep的policy evaluation和一个sweep的policy improvement
注意与policy iteration的区别p(s,r|s,π(s))p(s,r|s,a)

Problem Bellman Equation Algorithm
Prediction Bellman Expectation Equation Iterative Policy Evaluation
Control Bellman Expectation Equation + Greedy Policy Improvement Iterative Policy Evaluation
Control Bellman Optimality Equation Value Iteration
4.6 Generalized Policy Iteration (GPI)

上面说的迭代就是强化学习的迭代框架
Chapter 4 Dynamic Programming
Chapter 4 Dynamic Programming

相关文章: