这节主要讲了动态规划在强化学习中的用法。
image.png
引入两个问题的定义,Prediction,Control。
Prediction:
image.png
预测问题,MDP的信息都知道,policy也知道。输出该策略下的V。
Control:
image.png
控制问题,MDP的信息都知道,但是不知道policy,输出最优情况下的,V和policy。
对于Prediction问题,只需要根据policy求出最优的value就行。
对于control问题,有两个方法,第一种是Policy Iteration。
Policy Iteration
- 随机初始化Value(一般全置0),然后随机初始化Policy。
- 贪心的优化Policy
- 然后依据新的Policy继续求Value。然后继续优化Policy,依次迭代。
image.png
image.png
Value Iteration
另一种方法是值迭代。根据bellman方程,迭代优化值函数,而不管policy,直到最后,得到最优的value。
image.png
我们可以将这个迭代公式分成两步:
第一步遍历所有的动作a得到不同动作a所对应的一个值函数更新,即:
[\upsilon_{l+1}\left(s,a\right)=R_{s}^{a}+\gamma\sum_{s'\in S}{P_{ss'}^{a}\upsilon_l\left(s'\right)}]
(2.3)
\upsilon_{l+1}\left(s,a\right)
[\upsilon_{l+1}\left(s\right)=\underset{a}{\max}\upsilon_{l+1}\left(s,a\right)]
https://www.bilibili.com/video/av9930653/
https://zhuanlan.zhihu.com/p/27330154
http://www0.cs.ucl.ac.uk/staff/D.Silver/web/Teaching_files/DP.pdf