本文约1800字,建议阅读6分钟
本文简述了蒙特卡罗控制方法用于优化策略。
我们在《原创 | 一文读懂强化学习在动态规划领域的应用》回顾了强化学习的基础概念,以及预测与控制 (求解已知的MDP)。
并且在《原创 | 一文读懂无模型的预测(强化学习二)》讲述了无模型的预测与控制Model-free Prediction and Control 中的,无模型的预测 (Model-free Prediction)通过与环境的交互迭代来求解问题。本文将继续讲解Lecture 3中无模型的预测与控制的中的,无模型的控制(Model-free Control)- 蒙特卡罗控制(Monte Carlo Control)。
注:本文整理自周博磊和David Silver的课件,并添加了我个人的总结和见解。
无模型的控制(Model-free Control)
无模型的预测与控制,即在一个未知的马尔可夫决策过程(MDP)中,估计与优化价值函数。
无模型的预测 (Model-free Prediction):在不知道 MDP 模型的情况下,仅通过与环境交互来评估状态价值(state value)。这个过程不依赖于明确的状态转移概率和奖励函数,而是通过实际的经验数据,使用蒙特卡罗(Monte Carlo,MC)或时间差分(Temporal-Difference,TD)来估计状态价值。
无模型的控制(Model-free Control):优化未知 MDP 的价值函数(value function)。无模型控制的目标是找到最优策略,使得在每个状态下的价值最大化。这包括两种主要的方法:① 蒙特卡罗控制(Monte Carlo Control,MC):基于多次从起始状态到终止状态的完整采样,计算并优化策略的价值。② 时间差分控制(Temporal-Difference Control,TD):结合了蒙特卡罗方法的无模型特性和动态规划的更新方式,通过逐步更新来优化策略。我们可以将这两种方法纳入广义策略迭代(Generalized Policy Iteration,GPI)的框架。GPI 是指通过交替进行策略评估(Policy Evaluation)和策略改进(Policy Improvement)来逐步逼近最优策略的过程。在 GPI 中,策略评估阶段使用无模型预测方法(如 TD 或 MC)来评估当前策略的价值函数,而策略改进阶段则通过贪婪地选择能够最大化价值的行为来更新策略。
1.广义策略迭代(Generalized Policy Iteration,GPI)
GPI 是通过交替进行策略评估(Policy Evaluation)和策略改进(Policy Improvement)来逐步逼近最优策略的过程。
策略评估(Policy Evaluation):使用无模型预测方法(如 TD 或 MC)来估计当前策略
的价值函数
或
策略改进(Policy Improvement):通过贪婪地选择能够最大化价值的动作来更新策略。对于所有的状态
,生成
,使得
.
2. 蒙特卡罗控制(Monte Carlo Control)
蒙特卡罗控制方法用于优化策略,使得在一个未知的马尔可夫决策过程(MDP)中,找到最优策略
. 蒙特卡罗控制通过完整的episode采样来更新策略和价值函数。其核心思想是通过多次采样,逐步逼近最优策略。
每一个episode包括两个主要步骤:
策略评估(Policy Evaluation):通过蒙特卡罗方法评估当前策略.
策略改进(Policy Improvement):
-greedy 策略改进,基于评估结果改进策略,使其更接近最优策略。
-greedy探索:以
的概率选择贪心动作(greedy action),
的概率选择随机动作(action)。
定理:对于任何
-greedy的策略
,关于
的
-greedy的策略
是一个改进,
。
蒙特卡罗控制算法 GLIE (Greedy in the Limit with Infinite Exploration)
(1)初始化
和策略
。初始化一个空的计数器
来记录每个状态-动作对出现的次数。
(2)使用当前策略
生成一系列episode,每个episode从初始状态开始,直到达到终止状态,包含状态、动作、奖励的序列:
(3)对于每个episode,从终止状态反向计算每个状态-动作对的回报
.
(4)对于情节中的每个状态-动作对
和
:
这里的
是逐步增量平均法,用于避免直接设置固定学习率
.
(5)根据更新后的
,对每个状态
进行策略改进:
基于新的动作-价值函数(action-value function)改进策略:
(6)重复步骤 2 到 5,直到策略和价值函数收敛。
定理:GLIE 蒙特卡罗控制算法收敛到最优的动作-价值函数(action-value function).
。
本文简述了蒙特卡罗控制方法用于优化策略的主要步骤,在后续的强化学习系列文章中将进一步深入探讨无模型的控制中的TD控制、Sarsa,及在线学习与离线学习。