强化学习 (10)蒙特卡洛
如何在没有模型的情况下估计一些量?→ 蒙特卡洛
引入
投掷一个硬币,正面朝上X=+1,反面朝上X=-1,求X的期望E[X]
第一种方法:model-based
问题是这么精确的一个分布可能是未知的
第二种方法:model-free
做很多次采样,把采样的结果求平均 →这就是蒙特卡洛的思想
随着N增大,近似会越来越精确
大数定律
随机变量的算术平均值在概率意义下无限趋近于其数学期望
MC-based RL 算法
策略迭代包含两个步骤:
先根据策略求出state value
,再求解最优化问题得到一个新的策略
其中的policy improvement步骤的elementwise form为:
接下来,目标是求解出最大的
第一种求法需要模型(模型里的 和
)
第二种求法不用模型,用的是action value最初的定义
蒙特卡洛估计求action value的过程
核心思想是用data代替model,这里的data在强化学习里称为experience
MC basic算法
给定一个初始策略,在第k次迭代时有两个步骤:policy evaluation&policy improvement
MC basic算法的第二步与policy iteration一致,只有第一步不同
MC basic太简单了,实际不会用它
episode length
当 episode 长度较短时,只有靠近目标的状态具有非零状态值
随着 episode 长度增加,相较于远离目标的状态,更靠近目标的状态会更早出现非零值
episode 长度应足够长
episode 长度不必是无限长的
MC Exploring Starts
基于蒙特卡洛(MC)的强化学习(RL)的另一个方面是何时更新策略。有两种方法。
第一种方法是,在策略评估步骤中,收集从一个状态 - 动作对开始的所有 episode,然后使用平均回报来近似动作值。这是MC basic算法所采用的方法。这种方法的问题在于智能体必须等到所有 episode 都被收集完毕
第二种方法是使用单个 episode 的回报来近似动作值。通过这种方式,我们可以逐个 episode 地改进策略
Generalized policy iteration (GPI)
- GPI是一类算法,并非一种特定算法
- 它指的是在 policy - evaluation(策略评估)和 policy - improvement(策略改进)过程之间切换的总体思路或框架
- 许多基于模型(model - based)和无模型(model - free)的强化学习(RL)算法都属于这个框架
MC Exploring Starts 步骤
核心环节:
MC Exploring Starts通过收集 episode(情节)、用回报平均估计 action value 来学习策略。为了让估计出的 action value 能真正反映 “最优选择”,理论上需要确保每个 state - action pair 都有机会作为起始点被探索 。
比如在网格世界任务中,若某个角落状态 s 下的动作 a(比如 “向左走”)从未作为起始去探索,而恰好这个动作是该状态下能获得最大长期回报的最优动作,由于没探索过,算法就无法知晓它的价值,可能永远选不出最优策略
MC without Exploring Starts
去掉Exploring Starts的方法是引入soft policy 比如epsilon-greedy
balance between exploitation(充分利用) and exploration(探索)
=0的时候,变成greedy→exploitation
=1的时候,变成均匀分布uniform distribution→exploration
无需严格从每个 state - action pair 起始,就能保证长期探索的充分性,让算法在实践中也能收敛到近似最优策略,弥合了理论和实践的 gap
蒙特卡洛基础算法(MC Basic)和蒙特卡洛探索性起始算法(MC Exploring Starts)中的策略改进步骤是求解:
现在改为:
越小,越不探索,这个时候target area的state value很大
越大,越探索,这个时候各个area的state value都会变小,因为他们做了很多不该做的探索。特别地,对于一个被好几个forbidden area包围的target area,它的state value会非常小,因为他可能会做很多进入forbidden area的探索,得到很多负数reward
参考文章
S. Zhao. Mathematical Foundations of Reinforcement Learning. Springer Nature Press, 2025. 【【强化学习的数学原理】课程:从零开始到透彻理解(完结)】
https://www.bilibili.com/video/BV1sd4y167NS/?p=2&share_source=copy_web&vd_source=52164f68a5f27ac2e86f0e7963ea966c