蒙特卡洛方法
介绍蒙特卡洛方法在强化学习中的应用,包括蒙特卡洛方法的定义、蒙特卡洛预测、蒙特卡洛控制以及蒙特卡洛方法的优缺点等内容
蒙特卡洛方法
-
基本思想
-
显然,动态规划用于解决已知的 MDP 问题(Model-Based)
-
在现实问题中,转移概率未知,奖励函数未知,只能与环境交互,得到样本轨迹
-
问题变成:如果我只看到一条一条完整轨迹,能不能估计价值函数?
-
那么如何解决未知的 MDP(Model-Free)
- Model-Free Prediction:评估值函数,如蒙特卡洛方法、时间差分学习 TD
- Model-Free Control:优化值函数,如 On-Policy 蒙特卡洛方法、On-Policy 时间差分学习
-
-
蒙特卡洛方法(Monte Carlo Methods)的特点
- 蒙特卡洛方法 = 用完整回报直接逼近期望值函数
- 核心思想:基于一个朴素的假设 —— 价值函数等于回报的期望,然后用样本均值近似期望
- 不需要 Bellman 方程
- 不需要模型
- 仅仅依赖大数定律
- 模型无关(Model-Free):不需要知道 MDP 的状态转移概率 或奖励函数,仅从采样的交互数据中学习
- 直接从完整的经验片段(episode)中学习:使用整个回合的经验来更新估计,即从起点到终点的所有交互,而不是依赖于部分的价值函数估计
蒙特卡洛策略评估
-
蒙特卡洛策略评估
-
目标和 DP 完全一致:给定策略 ,估计
-
但是 DP 使用贝尔曼期望方程,MC 使用完整 episode 的回报
-
实现步骤
- 收集经验片段:运行策略 ,采样多个完整片段 ,直到回合结束
- 计算回报:在每个时间步 ,计算从 开始到回合结束的折扣回报
- 更新价值函数,将每次访问状态 时的 取平均,作为 的估计
-
使用经验回报的样本均值替代期望回报
- 其中 是状态 在采样中被访问的次数, 是状态 的第 次回报
-
必须要等到一个 episode 结束,才可以进行估计更新
- 因为 MC 的目标是真实回报,在 episode 没结束前, 还不确定,后续奖励还未知
- 所以 MC 天然适用于 episodic 任务
-
如何对同一个状态进行计数
- First-Visit:在一个 episode 中,只记录某个状态第一次出现时的回报 —— 每个 episode 对同一状态只贡献一次
- Every-Visit:在一个 episode 中,记录某个状态每次出现时的回报 —— 更快利用数据,在期望意义下仍然无偏
- 两者在样本无限时收敛到同一结果
-
-
无偏性:样本均值满足大数定律:
-
增量蒙特卡洛
-
直接保存所有 不现实,因此使用增量更新
-
Online:每次进行采样时,逐步更新价值估计,
-
对于每个回报为 的状态
-
对于非平稳问题,当环境或策略在变时,旧数据权重指数衰减,但是不再严格无偏
-
蒙特卡洛控制
-
在 MC 方法基础上加入策略改进,完成控制任务(学习策略)
-
必然基于动作值函数
-
利用价值函数基于贪心方法进行策略改进需要 MDP 模型,而利用动作值函数则是 Model-Free
-
其中, 本身就是
-
不需要知道 ,所以 MC Control 必然是基于动作值函数
-
-
On-Policy 蒙特卡洛控制(Monte-Carlo Control)
-
一边用当前策略采样,一边评估该策略,再用贪婪原则改进策略
-
这和 DP 的策略迭代在逻辑上完全一致,只是 DP:精确期望,而 MC:样本估计
-
之前的纯贪婪方法不再适用,因为初期 不准,贪婪会 “锁死” 在次优动作,其他动作永远不被尝试
-
采用 - 贪心策略: 的概率选择贪心动作保证利用(Exploit), 的概率选择随机动作保证探索(Explore),即
-
- 贪心策略的证明
-
“贪心动作的 q 值 ≥ π(a|s) 加权的平均 q 值” 的证明
-
上式等价于证明
-
由于原策略 是 ε- 贪心的,有
-
下面证明以下是一个合法的概率分布
-
证明其非负性与归一性:
-
对任意函数 和任意概率分布 ,都有一个基本不等式:
- 每一项 ,对它们做加权平均,结果不可能超过最大值
-
应用 ,
-
-
-
算法流程
- 初始化:
- 动作价值函数
- 计数器
- 初始策略 为随机策略
- 循环直到收敛(对于每个 episode):
-
根据当前策略 执行一次完整的轨迹 。
-
对轨迹中的每个状态 - 动作对 :
-
计算从该状态起始的回报
-
更新计数器 :
-
更新动作价值函数:
-
-
更新策略为 - 贪婪策略:
- 以 概率选择贪婪动作
- 以 概率随机探索
-
- 初始化:
-
MC Control 算法为什么能收敛 ——Greedy in the Limit with Infinite Exploration(GLIE)
-
无限探索:确保每个状态 - 动作对 都被反复采样
-
极限贪婪:确保策略收敛至贪婪策略
-
取
-
初期 大 → 多探索
-
后期 小 → 多利用
-
且满足:
-
-
在 GLIE 条件下
-