强化学习基础篇(四)动态规划之迭代策略评估
强化学习基础篇(四)动态规划之迭代策略评估
1、迭代策略评估(Iterative Policy Evaluation)
在环境模型已知的前提下,对于任意的策略,需要合理估算该策略带来的累积奖励期望以及准确衡量该策略的优劣程度,而策略评估(Policy Evaluation)可以实现这两个目标。
回顾一下策略的具体定义:策略是根据环境反馈的当前状态,决定智能体采取何种行动的指导方法。策略评估通过计算与策略对应的状态值函数,以评估该策略的优劣。即给定一个策略,计算基于该策略下的每个状态的状态值的期望,并用该策略下的最终状态值的期望来评价该策略。
策略评估通过迭代计算贝尔曼期望方程,已获得对应的状态值函数,进而利用该状态值函数评估该策略是否最优,
2、 迭代策略评估的过程
问题定义:
评估一个给定策略,求对应的值函数或者,即解决预测(Prediction)问题。
解决方案:
-
直接求解贝尔曼方程,可以参考《强化学习基础篇(二)马尔科夫决策过程(MDP)》中MDP下贝尔曼方程的矩阵形式。可以在时间复杂度为的情况下求得精确解。
-
迭代解:迭代地应用Bellman期望方程进行求解,。
具体方法-同步反向迭代(synchronous backups):
即在每次迭代过程中,对于第次迭代,所有状态 的价值用计算并更新该状态第次迭代中使用的价值 ,其中 是的后继状态。
同步(synchronous)的含义是每次更新都要更新完所有的状态;
备份(backup),即需要用到,用更新 的过程称为备份,更新状态的值函数称为备份状态。
使用数学描述这个过程为:
<svg xmlns:xlink="http://www.w3.org/1999/xlink" width="66.702ex" height="5.551ex" viewBox="0 -1039.5 28718.6 2390.2" role="img" focusable="false" style="vertical-align: -3.137ex;" class="in-text-selection"><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="matrix(1 0 0 -1 0 0)"><g transform="translate(18364,0)"><text font-family="STIXGeneral, 'PingFang SC', serif" stroke="none" transform="scale(51.874) matrix(1 0 0 -1 0 0)">(</text></g><g transform="translate(20124,0)"><text font-family="STIXGeneral, 'PingFang SC', serif" stroke="none" transform="scale(51.874) matrix(1 0 0 -1 0 0)">为</text></g><g transform="translate(20932,0)"><text font-family="STIXGeneral, 'PingFang SC', serif" stroke="none" transform="scale(51.874) matrix(1 0 0 -1 0 0)">第</text></g><g transform="translate(22260,0)"><text font-family="STIXGeneral, 'PingFang SC', serif" stroke="none" transform="scale(51.874) matrix(1 0 0 -1 0 0)">次</text></g><g transform="translate(23067,0)"><text font-family="STIXGeneral, 'PingFang SC', serif" stroke="none" transform="scale(51.874) matrix(1 0 0 -1 0 0)">迭</text></g><g transform="translate(23874,0)"><text font-family="STIXGeneral, 'PingFang SC', serif" stroke="none" transform="scale(51.874) matrix(1 0 0 -1 0 0)">代</text></g><g transform="translate(24682,0)"><text font-family="STIXGeneral, 'PingFang SC', serif" stroke="none" transform="scale(51.874) matrix(1 0 0 -1 0 0)">得</text></g><g transform="translate(25489,0)"><text font-family="STIXGeneral, 'PingFang SC', serif" stroke="none" transform="scale(51.874) matrix(1 0 0 -1 0 0)">的</text></g><g transform="translate(26296,0)"><text font-family="STIXGeneral, 'PingFang SC', serif" stroke="none" transform="scale(51.874) matrix(1 0 0 -1 0 0)">函</text></g><g transform="translate(27104,0)"><text font-family="STIXGeneral, 'PingFang SC', serif" stroke="none" transform="scale(51.874) matrix(1 0 0 -1 0 0)">数</text></g><g transform="translate(27911,0)"><text font-family="STIXGeneral, 'PingFang SC', serif" stroke="none" transform="scale(51.874) matrix(1 0 0 -1 0 0)">)</text></g></g></svg>
3、同步备份下的迭代式策略评价算法
一次迭代内,状态的价值等于前一次迭代该状态的即时奖励与下一个所有可能状态 的价值与其概率乘积的和,如图示:
image.png同步备份下的迭代式策略评价算法的伪代码如下:
image.png4、迭代策略评估在方格问题(Gridworld)中的示例
4.1、Gridworld描述:
image.png已知条件为:
状态空间 :如图, - 为非终止状态,为终止状态(灰色方格所示的两个位置) 动作空间 :对于任何非终止状态可以有东南西北移动的四个动作。 转移概率 :任何试图离开方格世界的动作其位置将不会发生改变,其余条件下将100%地转移到动作指向的状态。 即时奖励 :任何在非终止状态间的转移得到的即时奖励均为-1.0,进入终止状态即时奖励为0 衰减系数:设定为常数1 当前策略 :智能体采用随机行动策略,在任何一个非终止状态下有均等的几率采取任一移动方向这个行为,即。
4.2、问题定义:
评估在这个方格世界里给定的策略。即求解该方格世界在给定策略下的(状态)价值函数,也就是求解在给定策略下,该方格世界里每一个状态的价值。