介绍
动态规划(Dynamic Programming,DP)是一类优化算法。将待求解问题分解成若干子问题,先求解子问题,然后从这些子问题的解得到目标问题的解 。
核心特点:
最优子结构——子问题的最优解是可以得到的
重复子问题——子问题的解决方案是可以存储和利用的
动态规划与强化学习
在完备的马尔可夫决策(状态转移矩阵、系统的奖励Ra完全已知的情况下)过程中,DP可用于计算最优策略。对于强化学习问题,传统的DP算法作用有限:完备的环境模型只是一个假设,计算复杂度极高。
但是,DP提供了必要的基础,所有的其他方法都是对DP的近似。:
- 降低计算复杂度
- 减弱对环境模型完备性的假设
基于动态规划的强化学习
策略迭代:使用贝尔曼期望方程,求解最优策略。包含两个核心步骤:
- 策略评估(Policy evaluation)——输入MDP<S,A,P,R,γ>和策略π,输出价值函数vπ
- 策略提升(Policy Improvement)——输入MDP<S,A,P,R,γ>和价值函数vπ,输出最优价值函数v* 和最优策略π*
价值迭代(Value iteration):使用贝尔曼最优方程,求解最优策略
策略评估
迭代策略评估
问题:评估一个给定的策略π,也称为“预测”问题
解决方案:迭代应用贝尔曼期望方程进行回溯

用老的打分器计算新的状态值,赋给新的打分器,实现迭代过程的进行
算法会收敛到vπ
迭代评估算法:
输入待评估的策略π
算法参数:小阈值θ>0,用于确定估计量的精度,对于任意s∈S+,任意初始化V(s)其中V(终止状态)=0,循环:
直到△<θ,其中策略π与环境奖励R均为已知(输入量)。求得的vπ在阈值θ允许的范围下,可以认为满足贝尔曼期望方程,但不一定满足贝尔曼最优方程。如果输入的策略π为最优策略,则迭代后的价值函数接近贝尔曼最优价值函数。
例子:小型网格世界中的随机策略评估

已知条件:
- 状态空间S:S1~S14为非终止状态,ST为中止状态(两个灰色正方形)
- 动作空间A:对于任何非终止状态可以有东、南、西、北四个移动动作
- 转移概率P:每个动作会导致状态转移,但当动作会导致智能体移出时,状态不变
- 即时奖励R:任何非终止状态间的转移得到的即时状态奖励均为-1,进入终止状态奖励为0
- 折扣率:γ = 1
- 智能体遵循随机策略
π(n |·) = π(e |·) = π(s |·) = π(w |·) = 0.25
问题:评估在小型网格世界中的随机策略

同步更新:像上图示这样一次迭代计算完所有的价值函数数据后,再将整张网格图作为下一次迭代的输入数据。
异步更新:将每一个小正方形作为迭代单位,完成迭代计算后即存入网格,作为下一个网格迭代的可用数据。异步更新不需要另辟存储空间来储存上一次的迭代结果,即直接在整张网格上逐“像素”迭代。因此有些时候需要考虑网格迭代的顺序。
经过多次迭代(k→∞),最后的策略评估结果(即每个网格的价值函数)满足贝尔曼期望方程,但不一定满足贝尔曼最优方程,这取决于在迭代开始前指定的动作策略π
策略迭代
如何获得最优策略?
策略迭代 方法,交替进行以下步骤:
-
评估给定的策略π,获得价值函数

-
应用贪婪方法来改进策略,使其后续状态价

本文介绍了动态规划的基本概念及其在强化学习中的应用。探讨了策略评估与策略迭代的方法,并通过小型网格世界的实例进行了说明。此外,还介绍了价值迭代算法及其实现过程。
最低0.47元/天 解锁文章
3884

被折叠的 条评论
为什么被折叠?



