什么时候使用蒙特卡洛方法: 
蒙特卡洛方法适用于免模型的强化学习任务。(“免模型学习”对应于一类现实的强化 
学习任务,在该类任务中,环境的转移概率、奖赏函数往往很难得知,甚至很难知道环境中一共有多少状态,因此,在该类学习任务中,学习算法不依赖于环境建模。) 
为什么使用蒙特卡洛方法: 
在免模型情形下,由于模型未知而导致无法做全概率展开,策略迭代酸中的策略无法评估,此时,只能通过在环境中执行选择的动作,来观察转移的概率和得到的奖赏。 
什么是蒙特卡洛方法: 
其主要思想是通过多次“采样”,然后求取平均累积奖赏来作为期望累积奖赏的近似。需要注意:和策略迭代算法不同,模型未知时,对状态值函数V的估计是有一定困难的,于是我们将估计对象从V转变为Q,即估计每一对“状态-动作”的值函数。

First-visit MC Method and Every-visit MC Method

First-visit MC Method:对于每一个被采样的episode,在进行对状态值函数或者“状态-动作”值函数进行估计时,只考虑第一个被访问的状态或者动作-状态对。 
Every-visit MC Method:对于每一个被采样的episode,在进行对状态值函数或者“状态-动作”值函数进行估计时,考虑了每一个被访问的状态或者动作-状态对。 
蒙特卡洛方法
蒙特卡罗与动态规划不同点:

  • 在动态规划算法中需要知道下一个状态对应的概率分布,而在蒙特卡洛算法中不需要。即不需要计算p(s,r|s,a)
  • 蒙特卡洛方法估计的对象是一个状态或者一个动作状态对,因此对每个状态的估计是相互独立的。
  • 蒙特卡罗计算复杂度独立于状态的数目

Monte Carlo Estimation of Action Values

有模型的学习: 
根据“状态-动作”值函数可以很好地估计状态值函数,状态值函数可以充分确定策略。 
免模型的学习: 
对状态值函数的估计并不充分,智能精确地估计每一个动作对应的“状态- 
动作”值函数。其原因在于:在真实的episodes中,对于一个已经被确定的策略,有 
些存在的动作状态对不一定会被访问到。 
针对该种情况,提出如下两种解决方法: 
(1)探索性开端(相当于随机初始化); 
(2)随机策略,在每个状态下选择任何动作的概率都是非0的。

Monte Carlo Control

蒙特卡洛方法的整体思路是:模拟 -> 抽样 -> 估值。

用蒙特卡洛方法估计最优策略——广义的策略迭代: 
(1)更新值函数,使其逼近当前策略下值函数的真实值; 
(2)根据当前的值函数改善当前的策略; 
不断的循环迭代,使值函数和策略都逼近最优。 
蒙特卡洛方法

结合通用策略迭代(GPI)的思想。 
下面是蒙特卡洛方法的一个迭代过程:

  1. 策略评估迭代 
    (1) 探索 - 选择一个状态(s, a)。 
    (2) 模拟 - 使用当前策略π,进行一次模拟,从当前状态(s, a)到结束,随机产生一段真实迭代序列(episode)。 
    (3) 抽样 - 获得这段序列上的每个状态(s, a)的回报G(s,a),记录G(s,a)到集合Returns(s,a)。 
    (4) 估值 - q(s, a) = Returns(s, a)的平均值。 
    (因为状态(s, a)可能会被多次选择,所以状态(s, a)有一组回报值。)
  2. 策略优化 - 使用新的行动价值q(s,a)优化策略π(s)

蒙特卡洛方法收敛的两个条件: 
(1)探索性开端; 
(2)无限多episodes;一般会针对所有的状态-行动,或者一个起始(s0,a0)下的所有状态-行动。这也说明持续探索(continual exploration)是蒙特卡洛方法的主题。 
实际算法中对无限多episodes的假设处理的方法是: 
(1)保证在每一步的策略估计中逼近qπk,即要确保出错概率和估计偏差的幅度有上界; 
(2)放弃完整的策略估值(极端情况:值迭代)。 
蒙特卡洛方法

On-policy and Off-policy

On-policy: 
指的是被评估和被改善的是同一个策略。 
Off-policy: 
指的是被评估和被改善的策略 与 产生数据的策略是不同的策略。

数学基础——Important Sampling 
目标: 
求函数f在概率分布p下的期望值,即为 
蒙特卡洛方法 
蒙特卡洛方法 
方法: 
从“提议分布”中采样,对目标分布进行估计 
蒙特卡洛方法

对应到Off-policy Method中: 
目标分布p -> 目标策略 
提议分布q -> 行为策略 
函数值f(z) -> 值函数 
其中,目标策略可以表示为:蒙特卡洛方法 
重要性采样比为:蒙特卡洛方法 
在普通的重要性采样下(τ(s)为所有时间序列中s被访问的次数):蒙特卡洛方法,这种采样无偏,方差大 
在有权重的重要性采样下:蒙特卡洛方法,这种采样有偏,方差小

Incremental Implementation

蒙特卡罗估计可以写为递增性形式。假设我们有一系列得回报G1,G2,...,Gn1,所有都是从同一个状态开始的,并且有随机的权重Wi,所以有估计为: 
蒙特卡洛方法 
当又得到一个新的回报Gn的时候,应该如下进行更新: 
蒙特卡洛方法 
蒙特卡洛方法 
则最终的程序框架为: 
蒙特卡洛方法

相关文章: