本分类专栏博客系列是学习《深入浅出强化学习原理入门》的学习总结。
书籍链接:链接:https://pan.baidu.com/s/1p0qQ68pzTb7_GK4Brcm4sw 提取码:opjy
文章目录
基于蒙特卡洛的强化学习方法
强化学习算法的精髓之⼀是解决⽆模型的⻢尔科夫决策问题。如图4.1 所⽰,⽆模型的强化学习算法主要包括蒙特卡罗⽅法和时间差分⽅法。本章我们阐述蒙特卡罗⽅法。
先来梳理一下强化学习的研究思路:
- ⾸先,强化学习问题可以纳⼊⻢尔科夫决策过程中,这⽅⾯的知识已在第2章阐述。
- 在已知模型的情况下,可以利⽤动态规划的⽅法(动态规划的思想是⽆模型强化学习研究的根源,因此重点阐述)解决⻢尔科夫决策过程。
- 第3章, 阐述了两种动态规划的⽅法:策略迭代和值迭代。这两种⽅法可以⽤⼴义策略迭代⽅法统⼀:即先进⾏策略评估,也就是计算当前策略所对应的值函数,再利⽤值函数改进当前策略。⽆模型的强化学习基本思想也是如 此,即:策略评估和策略改善。
1. 无模型中的策略评估
动态规划⽅法计算状态处的值函数时利⽤了模型
,回顾一下:在动态规划的⽅法中,值函数的计算⽅法如图:
⽽在⽆模型强化学习中,模型 是未知的。⽆模型的强化学习算法要想利⽤策略评估和策略改善的框架,必须采⽤其他的⽅法评估当前策略(计算值函数)。
我们回到值函数最原始的定义公式:
状态值函数和⾏为值函数的计算实际上是计算返回值的期望(参⻅图 4.2),动态规划的⽅法是利⽤模型计算该期望。在没有模型时,我们可以 采⽤蒙特卡罗的⽅法计算该期望,即利⽤随机样本估计期望。在计算值函数时,蒙特卡罗⽅法是利⽤经验平均代替随机变量的期望。此处,我们要理解两个词:经验和平均。
2. 经验和平均
2.1 经验
首先,先看下什么是“经验”。
当要评估智能体的当前策略
时,我们可以利⽤策略
产⽣很多次试验,每次试验都是从任意的初始状态开始直到终⽌,⽐如⼀次试验(an episode
)为
,计算⼀次试验中状态
处的折扣回报返回值为:
那么“经验”就是指利⽤该策略做很多次试验,产⽣很多幕数据(这⾥的⼀幕是⼀次试验的意思),如图4.3所⽰。
2.2 平均
再来看什么是“平均”。
这个概念很简单,平均就是求均值。不过,利⽤蒙特卡罗⽅法求状态 处的值函数时,⼜可以分为第⼀次访问蒙特卡罗⽅法和每次访问蒙特卡 罗⽅法。
第⼀次访问蒙特卡罗⽅法是指在计算状态
处的值函数时,只利⽤每次试验中第⼀次访问到状态
时的返回值。如图4.3中第⼀次试验所⽰,计算
状态处的均值时只利⽤
,因此第⼀次访问蒙特卡罗⽅法的计算公式为
每次访问蒙特卡罗⽅法是指在计算状态
处的值函数时,利⽤所有访问到状态
时的回报返回值,即
根据⼤数定律:
由于智能体与环境交互的模型是未知的,蒙特卡罗⽅法是利⽤经验平均来估计值函数,⽽能否得到正确的值函数,则取决于经验——因此,如何获得充⾜的经验是⽆模型强化学习的核⼼所在。
在动态规划⽅法中,为了保证值函数的收敛性,算法会逐个扫描状态空间中的状态。⽆模型的⽅法充分评估策略值函数的前提是每个状态都能被访问到,因此,在蒙特卡洛⽅法中必须采⽤⼀定的⽅法保证每个状态都能被访问到,⽅法之⼀是探索性初始化。
探索性初始化是指每个状态都有⼀定的⼏率作为初始状态。后续会讲探索初始化。
3. 策略改善
在学习基于探索性初始化的蒙特卡罗⽅法前,我们还需要先了解策略改善⽅法,以 及便于进⾏迭代计算的平均⽅法。下⾯我们分别介绍蒙特卡罗策略改善⽅法和可递增计算均值的⽅法。
3.1 蒙特卡罗的策略改善⽅法
蒙特卡罗⽅法利⽤经验平均估计策略值函数。估计出值函数后,对于每个状态,它通过最⼤化动作值函数来进⾏策略的改善。即
3.2 可递增计算均值的策略改善⽅法
递增计算均值的⽅法如(4.4)式所⽰。
如图4.4所⽰,即下图:
是探索性初始化蒙特卡罗⽅法的伪代码,需要注意的是:
第⼀,第2步中,每次试验的初始状态和动作都是随机的,以保证每个状态⾏为对都有机会作为初始状态。在评估状态⾏为值函数时,需要对每次试验中所有的状态⾏为对进⾏估计;
第⼆,第3步完成策略评估,第4步完成策略改善。
4. 探索性初始化
我们再来讨论⼀下探索性初始化。
探索性初始化在迭代每⼀幕时,初始状态是随机分配的,这样可以保证迭代过程中每个状态⾏为对都能被选中。它蕴含着⼀个假设:假设所有的动作都被⽆限频繁选中。对于这个假设,有时很难成⽴,或⽆法完全保证。
我们会问,如何保证在初始状态不变的同时,⼜能保证每个状态⾏为对可以被访问到?
答:精⼼设计你的探索策略,以保证每个状态都能被访问到。
可是如何精⼼地设计探索策略?符合要求的探索策略应该是什么样的?
答:策略必须是温和的,即对所有的状态
和
满⾜:
。 也就是说,温和的探索策略是指在任意状态下,采⽤动作集中每个动作的 概率都⼤于零。典型的温和策略是
策略:
根据探索策略(⾏动策略)和评估的策略是否为同⼀个策略,蒙特卡罗⽅法⼜分为on-policy和off-policy两种⽅法。
若⾏动策略和评估及改善的策略是同⼀个策略,我们称为on-policy, 可翻译为同策略。
若⾏动策略和评估及改善的策略是不同的策略,我们称为off-policy, 可翻译为异策略。 接下来我们重点理解这on-policy⽅法和off-policy⽅法。
4.1 同策略
同策略(on-policy)是指产⽣数据的策略与评估和要改善的策略是同 ⼀个策略。⽐如,要产⽣数据的策略和评估及要改善的策略都是 策略。其伪代码如图4.5所⽰。
图4.5中产⽣数据的策略以及评估和要改善的策略都是
策略。
4.2 异策略
异策略(off-policy)是指产⽣数据的策略与评估和改善的策略不是同⼀个策略。我们⽤ 表⽰⽤来评估和改善的策略,⽤ 表⽰产⽣样本数据的策略。
异策略可以保证充分的探索性。例如⽤来评估和改善的策略 是贪婪策略,⽤于产⽣数据的探索性策略 为探索性策略,如 策略。
⽤于异策略的⽬标策略 和⾏动策略 并⾮任意选择的,⽽是必须满⾜⼀定的条件。这个条件是覆盖性条件,即⾏动策略产⽣的⾏为覆盖或包含⽬标策略产⽣的⾏为。利⽤式⼦表⽰:满⾜ 的任何 均满⾜ 。
4.3 重要性采样
利⽤⾏为策略产⽣的数据评估⽬标策略需要利⽤重要性采样⽅法。下 ⾯,我们介绍重要性采样。
4.3.1 重要性采样原理
我们⽤图4.6描述重要性采样的原理。重要性采样来源于求期望,如图 4.6所⽰:
如图4.6所⽰,当随机变量
的分布⾮常复杂时,⽆法利⽤解析的⽅法 产⽣⽤于逼近期望的样本,这时,我们可以选⽤⼀个概率分布很简单,很 容易产⽣样本的概率分布
,⽐如正态分布。原来的期望可变为
定义重要性权重: ,普通的重要性采样求积分如 ⽅程(4.7)所⽰为
由式(4.7)可知,基于重要性采样的积分估计为⽆偏估计,即估计的期望值等于真实的期望。但是,基于重要性采样的积分估计的⽅差⽆穷⼤。这是因为原来的被积函数乘了⼀个重要性权重,改变了被积函数的形状及分布。尽管被积函数的均值没有发⽣变化,但⽅差明显发⽣改变。
在重要性采样中,使⽤的采样概率分布与原概率分布越接近,⽅差越⼩。然⽽,被积函数的概率分布往往很难求得、或很奇怪,因此没有与之相似的简单采样概率分布,如果使⽤分布差别很⼤的采样概率对原概率分布进⾏采样,⽅差会趋近于⽆穷⼤。
⼀种减⼩重要性采样积分⽅差的⽅法 是采⽤加权重要性采样.
4.3.2 加权重要性采样
⼀种减⼩重要性采样积分⽅差的⽅法是采⽤加权重要性采样:
在异策略⽅法中,⾏动策略 即⽤来产⽣样本的策略,所产⽣的轨迹概率分布相当于重要性采样中的 ,⽤来评估和改进的策略 所对应的轨迹概率分布为 ,因此利⽤⾏动策略 所产⽣的累积函数返回值来评估策略 时,需要在累积函数返回值前⾯乘以重要性权重。
在⽬标策略 下,⼀次试验的概率为
在⾏动策略
下,相应的试验的概率为
因此重要性权重为
普通重要性采样的值函数估计如图4.7所⽰:
现在举例说明公式(4.11)中各个符号的具体含义。
4.3.3 举例说明
如图4.8所⽰,
是状态
访问的时刻,
是访问状态
相对应的试验的终⽌状态所对应的时刻。T(s) 是状态
发⽣的所有时刻集合。在该例中,
加权重要性采样值函数估计为
最后,我们给出异策略每次访问蒙特卡罗算法的伪代码,如图4.9所示:
注意:此处的软策略 是 策略,需要改善的策略 为贪婪策略。
总结⼀下:本节重点讲解了如何利⽤MC的⽅法估计值函数。与基于动态规划的⽅法相⽐,基于MC的⽅法只是在值函数估计上有所不同,在整个框架上则是相同的,即评估当前策略,再利⽤学到的值函数进⾏策略改善。本节需要重点理解on-policy 和off-policy的概念,并学会利⽤重要性采样来评估⽬标策略的值函数。
5. 统计学基础知识