[RL Notes] 策略评估和控制
强化学习的过程中通常会涉及两类任务:策略评估(policy evaluation)和控制(control)。策略评估指的是计算特定策略的价值函数,也称为预测问题;控制指的是找到能够最大化收益的策略。虽然控制是强化学习的最终目标,但策略评估往往是第一步——要改善策略,首先要能够比较策略的好坏。
Contents [show]
1. 策略评估
在策略评估中,要计算给定策略 π 的状态价值函数
vπ(s)≐Eπ[Gt|St=s]
即在状态 s 后按照策略 π 行动所能获得的期望收益。使用折后回报时,Gt 定义为
Gt≐Rt+1+γRt+2+γ2Rt+3+⋯=∞∑k=0γkRt+k+1
通过贝尔曼方程
vπ(s)=∑aπ(a|s)∑s′∑rp(s′,r|s,a)[r+γvπ(s′)]
可以为每个状态都构造一个等式,这些等式组成了一个方程组,求解这个方程组即可得到每个状态的价值。
通过贝尔曼方程,计算 vπ 的过程就变为了求解线性方程组。在实际中,通常使用如动态规划这样的迭代算法来求解,这一过程可以写为
π,p,γ→动态规划→vπ
2. 控制
控制的任务是改善策略。对于两个策略 π1 和 π2,如果 π2 在每个状态的价值都大于或等于 π1 的价值,则称 π2 和 π1 差不多或更好。在此基础上,如果 π2 在至少一个状态上的价值严格大于 π1 的价值,则称 π2 严格优于 π1。
在控制任务中,通过修改现有策略得到一个严格更优的策略,如此反复迭代,得到一系列越来越好的策略,直到再也无法得到严格更优的策略,此时的策略就是最优策略,控制任务结束。动态规划也可以解决控制问题,这一过程可以写为
p,γ→动态规划→π∗