《Reinforcement Learning》 读书笔记 4:动态规划(Dynamic Programing)
《Reinforcement Learning: An Introduction》 读书笔记 - 目录
为了求解价值函数,或更一步得到最优策略,可以解Bellman方程组,但是当状态集太大时,求解的复杂度太高,所以这一章主要介绍了一些迭代的方式来逼近精确解,在不损失精度的情况下,大幅减少复杂度(对state-value function来说,一般是,即状态数量的多项式)
一些前提说明
- 接下来的几章主要说明的是一种
tabular solution
的解法,也就是基于表格的解法 - 因为state,action的数量有限,所以value可以是一个state的一维表(数组,map),也可以是一个state-action的二维表(数组,map)
- 这一章的动态规划从形态上来看,和经典的动态规划算法上没什么区别
Policy Evaluation
- 问题:已知,怎么更快地计算value-funtion?
- 思路:找一个序列,使得
- 算法(
iterative policy evaluation
)- 过程
- 选一个随机/heuristic初始值
- 持续用Bellman equation更新,获得
- 直到
- 说明
- 对episodic task,其terminal state,始终为0(包括初始化)
- 对于第2步迭代的两种思路
- synchronous:设置两个数组,old/new,new=Bellman(old)
- in-place:只有一个数组,每轮迭代,如果一些依赖的状态已经更新了,就用更新后的来计算(上面图中的方法)
- in-place的收敛速度更快,但是其中每一轮计算各s的顺序也有很大影响
- action-value的算法也是一样
- 例子
- gridworld
- gridworld
- 过程
Policy Improvement
- 问题:已知当前policy 及其value function ,怎样得到一个更优(至少不变差)的策略?
-
policy improvement theorem
- 对所有,假设有,则
- 也就是说,假如有一个新的(确定性的)策略,我们仅贪婪地在当前这一步执行这个策略,就能使得长期收益()至少不变坏;那么继续长期地使用这一策略,其结果也是更好的
- 这里虽然做了确定性policy的假设,但是如果多个actions的效果一样,是可以随机组合的
- 因此根据以上定理,最简单的选择方式就是贪婪地选择当前的,这一步叫
policy improvement
:
Policy Iteration
- 问题:总的来说,怎样才能找到一个最优的策略?
- 方法:迭代执行上面的 Evaluation和Improvement 两步,也就是:计算当前策略的价值函数,在此基础上找一个新的策略,迭代这两步直到策略不再变化(没有更好的)为止
- 怎么理解
- 目标:
- improvement:给当前的找一个上界(但这个上界本身不是真的value function)
- evaluation:给再找一个上界(此时就是真的value function了)
Value Iteration
- 问题:evaluation可能会很慢,有没有更快的方法?
- 方法:
- 不做精确的evaluation了,每执行一步,就直接用improvement;
- 同时也不以策略是否稳定为标准,而是看这个上界是否收敛,收敛时,即为最优value function
Asynchronous DP
- 问题:对于大规模的states,在一些限制的条件下,如需实时更新,或只关注一部分states,那么完整更新一遍state value会很慢
- 方法:依旧是in-place,比Value Iteration更极端一些,不完整地(有侧重地)优先更新一些states,比如:忽略掉一些不重要的 or 实时更新有新的观测的
Generalized Policy Iteration (GPI
)
- 定义:前面的三种方法实际上都是evaluation和improvement的某种组合,这种类型的解法统称GPI
- 实际上,RL问题都可以描述为某种GPI,也就是以下的这种循环
当两个过程都稳定时,就是达到最优解的时候 - 怎么理解
- 一个可能不恰当的解释,有点像EM/Coordinate Ascent,优化
- 书中的一个说明(其实每一步甚至都不用最优,即箭头不用达到边)
- 初始值的选择对收敛的速度影响也很大
其它
- Gambler’s problem
- 关于这个问题的一些讨论:
- email discussion
- some clue
- 关于Excercise 4.8,为什么这里50和51的最优策略差那么多,估计作者也没想明白,因为看讨论的结果,最优解不止一个,书中只是选择了最小赌注,其实也有看上去更平滑的解(?)
- 关于这个问题的一些讨论: