无模型方法简介
所谓“无模型”,表示环境模型是未知的,即马尔可夫决策过程中的 和
是未知的。
什么是马尔可夫决策过程?
详见强化学习总结02
回顾之前,用动态规划解决马尔可夫决策过程问题时(详见强化学习总结03 动态规划),值函数的计算方法如下:

上式中用到了 ,因此,无模型的情况无法通过动态规划的方法解决,只能通过采样经验来估计值函数。
综上,无模型的方法:
- 属于学习方法的一种,即智能体和环境需要进行交互,从经验中学习
- 需要结合充分的探索,才能保证估计的准确性 (explore)
无模型学习和动态规划的对比
无模型学习:
- 未知环境模型
- 需要与环境进行交互, 有交互成本(因此一般在仿真情况下进行)
- 需要充分的探索
- 两个策略
- 行为策略(智能体和环境进行交互时的策略)
- 目标策略(是我们要学习的策略,求值函数时,
,
的下标)
动态规划:
- 已知环境模型
- 不需要直接交互, 直接利用环境模型推导
- 无探索
- 只有一个策略
在策略和离策略
根据行为策略和目标策略是否相同,可以把无模型方法分为:
- 在策略方法(on-policy)
- 离策略方法(off-policy)
在策略
- 行为策略和目标策略是同一个策略
- 样本来自于行为策略,直接使用样本统计属性去估计总体
- 数据利用性更差 (只有智能体当前交互的样本能够被利用)
- 为了保证充分的探索性(explore),学习过程中的行为策略必须是随机性策略
离策略
- 行为策略和目标策略不是同一个策略
- 一般行为策略
选用随机性策略,目标策略
选用确定性策略
- 需要利用重要性采样才能使用样本估计总体
- 数据利用性更好 (可以使用其他智能体交互的样本)
- 行为策略需要比目标策略更具备探索性。即,在每个状态下,目标策略的可行动作是行为策略可行动作的子集
什么是重要性采样?
重要性采样
重要性采样用于估计概率分布期望值,它使用了来自其他概率分布的样本。 主要用于无法直接采样原分布的情况 估计期望值时,需要加权概率分布的比值(称为重要性采样率)
满足
分布,使用分布
,估计
的期望值:
离策略中的重要性采样
考虑 t 时刻之后的动作状态轨迹
可以计算出该条轨迹出现的概率:
因此,可以得到重要性采样率为:

所以即使是无环境模型的情况下,也可以得到重要性采样率。
蒙特卡洛方法
简而言之,蒙特卡洛(Monte-Carlo, MC)就是用统计平均估计期望值的方法(重点)。可以被用于任意随机变量的估计。
而值函数 的计算,为期望值的估计:
因此,MC 方法可用于估计值函数。
用 MC 方法估计值函数,具有的特点:
- 使用 MC 方法只需要利用经验数据,不需要
- MC 方法从完整的片段中学习。因此 MC 方法仅仅用于片段性任务 (必须有终止条件)
通过不断的采样,统计平均回报值来估计值函数,而且要做大量采样来减少估计的方差。
蒙特卡洛评价
之前提到,策略评价就是给定策略 ,求其值函数(V 函数或 Q 函数)。
关于一些表述的说明
轨迹: 把整个片段(episode)的状态-动作的序列称为一个智能体的轨迹(trajectory)。有时也可以加上奖励。
从中采样一条轨迹
: 我们把智能体从初始状态开始和环境进行交互的整个过程中得到的轨迹叫做采样一条轨迹。因为智能体每走一步,都要在
这两个分布中进行采样。
从中采样一条轨迹
: 又由于在学习过程中,策略是不断变化的,
是稳定的,所以轨迹的分布随着策略的变化而变化。所以可以简述成从一个策略
中采样轨迹。

过去求值函数的方法(动态规划中)使用了贝尔曼期望方程

- 直接解
- 迭代式动态规划
而 MC 方法直接利用值函数的定义。
MC 策略评价使用回报值的经验平均来估计实际期望值
MC 策略评价方法包括:
首次拜访 MC 策略评价
评价状态 :
- 为了评价状态
,使用给定的策略
采样大量的轨迹
- 在每一条轨迹中,对于状态
首次出现的时间
- 增加状态数量
- 增加总回报值
- 计算平均值得到值函数的估计
- 每条轨迹都是独立同分布的,根据大数定律,随着
每次拜访 MC 策略评价
评价状态 :
- 使用给定的策略
采样大量的轨迹
- 在每一条轨迹中,对于状态
每次出现的时间
- 增加状态数量
- 增加总回报值
- 计算平均值得到值函数的估计
- 同样地,根据大数定律,随着
对 Q 函数的 MC 方法
在无模型的时候,一般估计Q 函数。
因为我们可以通过 Q 函数直接得到贪婪的策略,从而进行策略优化。而且最优的 Q 函数可以直接导出最优的策略。(直接取Max)
和之前估计 V 函数类似,但是 Q 函数的拜访从状态 s 变成了在状态 s 下做动作 a。
离策略 MC 策略评价
在采样轨迹时使用的策略是 ,而计算的值函数是策略
的。使用重要性采样率去加权回报值
将所有在策略的 MC 算法中的 替换成
就得到离策略 MC 算法。
MC 小结
- 偏差为 0,是无偏估计
- 方差较大,需要大量数据去消除
- 收敛性较好
- 容易理解和使用
- 没有利用马尔可夫性,有时可以用在非马尔可夫环境
增量式蒙特卡洛算法
之前的蒙特卡洛算法需要采样大量轨迹,之后再统一计算平均数。 使用增量式算法,在每一条轨迹之后都得到值函数的估计值
以增量形式进行计算平均值:

增量式 MC 更新
采样轨迹:
对于每一个状态 ,统计回报值
,

- 此处
是更新的步长
蒙特卡洛优化
广义策略迭代
广义策略迭代包括2部分:
- 策略评价:估计值函数
或
。例如迭代式策略评价。
- 策略提升:利用值函数
或
提升策略。例如贪婪策略提升。

选择 V 函数还是 Q 函数
- 在 V 函数上做贪婪策略提升要求已知环境模型

- 在 Q 函数上做贪婪策略提升是无模型的

- 贪婪策略提升
需要保证智能体一直在探索新的策略,保证所有的 m 个动作都有一定的概率被采样。
- 用
的概率选择贪婪的动作
- 用
的概率随机从 m 个动作中选择

MC 的策略迭代
因此,MC 策略迭代中,使用:
- 策略评价方法为:Q 函数的蒙特卡洛策略评价
- 策略提升方法为:
-贪婪策略提升
MC 优化:

参考资料
- 《reinforcement learning: an introduction》
- https://zhuanlan.zhihu.com/p/25743759
- https://blog.csdn.net/hiwallace/article/details/81284799
- https://blog.csdn.net/qjf42/article/details/79657649