第二篇 值函数Based——基于蒙特卡洛的强化学习方法


本分类专栏博客系列是学习《深入浅出强化学习原理入门》的学习总结。
书籍链接:链接:https://pan.baidu.com/s/1p0qQ68pzTb7_GK4Brcm4sw 提取码:opjy



基于蒙特卡洛的强化学习方法

强化学习算法的精髓之⼀是解决⽆模型的⻢尔科夫决策问题。如图4.1 所⽰,⽆模型的强化学习算法主要包括蒙特卡罗⽅法时间差分⽅法。本章我们阐述蒙特卡罗⽅法。

在这里插入图片描述
先来梳理一下强化学习的研究思路

  • ⾸先,强化学习问题可以纳⼊⻢尔科夫决策过程中,这⽅⾯的知识已在第2章阐述。
  • 已知模型的情况下,可以利⽤动态规划的⽅法(动态规划的思想是⽆模型强化学习研究的根源,因此重点阐述)解决⻢尔科夫决策过程。
  • 第3章, 阐述了两种动态规划的⽅法:策略迭代值迭代。这两种⽅法可以⽤⼴义策略迭代⽅法统⼀:即先进⾏策略评估,也就是计算当前策略所对应的值函数,再利⽤值函数改进当前策略。⽆模型的强化学习基本思想也是如 此,即:策略评估和策略改善。

1. 无模型中的策略评估

动态规划⽅法计算状态处的值函数时利⽤了模型 P s s a P_{ss'}^a ,回顾一下:在动态规划的⽅法中,值函数的计算⽅法如图:
在这里插入图片描述

⽽在⽆模型强化学习中,模型 P s s a P_{ss'}^a 是未知的。⽆模型的强化学习算法要想利⽤策略评估和策略改善的框架,必须采⽤其他的⽅法评估当前策略(计算值函数)。

我们回到值函数最原始的定义公式:
在这里插入图片描述

状态值函数和⾏为值函数的计算实际上是计算返回值的期望(参⻅图 4.2),动态规划的⽅法是利⽤模型计算该期望。在没有模型时,我们可以 采⽤蒙特卡罗的⽅法计算该期望,即利⽤随机样本估计期望。在计算值函数时,蒙特卡罗⽅法是利⽤经验平均代替随机变量的期望。此处,我们要理解两个词:经验和平均。

2. 经验和平均

2.1 经验

首先,先看下什么是“经验”。

当要评估智能体的当前策略 π \pi 时,我们可以利⽤策略 π \pi 产⽣很多次试验,每次试验都是从任意的初始状态开始直到终⽌,⽐如⼀次试验(an episode)为 S 1 , A 1 , R 2 , . . . , S T {S_1},{A_1},{R_2},...,{S_T} ,计算⼀次试验中状态 s s 处的折扣回报返回值为: G t ( s ) = R t + 1 + γ R t + 2 + . . . + γ T 1 R T {G_t}(s) = {R_{t + 1}} + \gamma {R_{t + 2}} + ... + {\gamma ^{T - 1}}{R_T}

那么“经验”就是指利⽤该策略做很多次试验,产⽣很多幕数据(这⾥的⼀幕是⼀次试验的意思),如图4.3所⽰。

在这里插入图片描述

2.2 平均

再来看什么是“平均”。

这个概念很简单,平均就是求均值。不过,利⽤蒙特卡罗⽅法求状态 s s 处的值函数时,⼜可以分为第⼀次访问蒙特卡罗⽅法每次访问蒙特卡 罗⽅法

第⼀次访问蒙特卡罗⽅法是指在计算状态 s s 处的值函数时,只利⽤每次试验中第⼀次访问到状态 s s 时的返回值。如图4.3中第⼀次试验所⽰,计算 s s 状态处的均值时只利⽤ G 11 G_{11} ,因此第⼀次访问蒙特卡罗⽅法的计算公式为
在这里插入图片描述
每次访问蒙特卡罗⽅法是指在计算状态 s s 处的值函数时,利⽤所有访问到状态 s s 时的回报返回值,即
在这里插入图片描述
根据⼤数定律: v ( s ) v π ( s ) v(s) \to {v_\pi }(s) a s as N ( s ) N(s) \to \infty

由于智能体与环境交互的模型是未知的,蒙特卡罗⽅法是利⽤经验平均来估计值函数,⽽能否得到正确的值函数,则取决于经验——因此,如何获得充⾜的经验是⽆模型强化学习的核⼼所在

在动态规划⽅法中,为了保证值函数的收敛性,算法会逐个扫描状态空间中的状态。⽆模型的⽅法充分评估策略值函数的前提是每个状态都能被访问到,因此,在蒙特卡洛⽅法中必须采⽤⼀定的⽅法保证每个状态都能被访问到,⽅法之⼀是探索性初始化

探索性初始化是指每个状态都有⼀定的⼏率作为初始状态。后续会讲探索初始化。

3. 策略改善

在学习基于探索性初始化的蒙特卡罗⽅法前,我们还需要先了解策略改善⽅法,以 及便于进⾏迭代计算的平均⽅法。下⾯我们分别介绍蒙特卡罗策略改善⽅法和可递增计算均值的⽅法。

3.1 蒙特卡罗的策略改善⽅法

蒙特卡罗⽅法利⽤经验平均估计策略值函数。估计出值函数后,对于每个状态,它通过最⼤化动作值函数来进⾏策略的改善。即 π ( s ) = arg max a q ( s , a ) \pi (s) = \mathop {\arg \max }\limits_a q(s,a)

3.2 可递增计算均值的策略改善⽅法

递增计算均值的⽅法如(4.4)式所⽰。
在这里插入图片描述
如图4.4所⽰,即下图:
在这里插入图片描述是探索性初始化蒙特卡罗⽅法的伪代码,需要注意的是:

第⼀,第2步中,每次试验的初始状态和动作都是随机的,以保证每个状态⾏为对都有机会作为初始状态。在评估状态⾏为值函数时,需要对每次试验中所有的状态⾏为对进⾏估计

第⼆,第3步完成策略评估,第4步完成策略改善。

4. 探索性初始化

我们再来讨论⼀下探索性初始化。

探索性初始化在迭代每⼀幕时,初始状态是随机分配的,这样可以保证迭代过程中每个状态⾏为对都能被选中。它蕴含着⼀个假设:假设所有的动作都被⽆限频繁选中。对于这个假设,有时很难成⽴,或⽆法完全保证。

我们会问,如何保证在初始状态不变的同时,⼜能保证每个状态⾏为对可以被访问到?
答:精⼼设计你的探索策略,以保证每个状态都能被访问到。

可是如何精⼼地设计探索策略?符合要求的探索策略应该是什么样的?
答:策略必须是温和的,即对所有的状态 s s a a 满⾜ π ( a s ) > 0 \pi (a|s) > 0 。 也就是说,温和的探索策略是指在任意状态下,采⽤动作集中每个动作的 概率都⼤于零。典型的温和策略是 ε s o f t \varepsilon - soft 策略:
在这里插入图片描述
根据探索策略(⾏动策略)和评估的策略是否为同⼀个策略,蒙特卡罗⽅法⼜分为on-policyoff-policy两种⽅法。

若⾏动策略和评估及改善的策略是同⼀个策略,我们称为on-policy, 可翻译为同策略。

若⾏动策略和评估及改善的策略是不同的策略,我们称为off-policy, 可翻译为异策略。 接下来我们重点理解这on-policy⽅法和off-policy⽅法。

4.1 同策略

同策略(on-policy)是指产⽣数据的策略与评估和要改善的策略是同 ⼀个策略。⽐如,要产⽣数据的策略和评估及要改善的策略都是 策略。其伪代码如图4.5所⽰。
在这里插入图片描述
图4.5中产⽣数据的策略以及评估和要改善的策略都是 ε s o f t \varepsilon - soft 策略。

4.2 异策略

异策略(off-policy)是指产⽣数据的策略与评估和改善的策略不是同⼀个策略。我们⽤ π \pi 表⽰⽤来评估和改善的策略,⽤ μ \mu 表⽰产⽣样本数据的策略。

异策略可以保证充分的探索性。例如⽤来评估和改善的策略 π \pi 贪婪策略,⽤于产⽣数据的探索性策略 μ \mu 探索性策略,如 ε s o f t \varepsilon - soft 策略。

⽤于异策略的⽬标策略 π \pi 和⾏动策略 μ \mu 并⾮任意选择的,⽽是必须满⾜⼀定的条件。这个条件是覆盖性条件,即⾏动策略产⽣的⾏为覆盖或包含⽬标策略产⽣的⾏为。利⽤式⼦表⽰:满⾜ π ( a s ) > 0 \pi (a|s) > 0 的任何 ( s , a ) (s,a) 均满⾜ μ ( a s ) > 0 \mu (a|s) > 0

4.3 重要性采样

利⽤⾏为策略产⽣的数据评估⽬标策略需要利⽤重要性采样⽅法。下 ⾯,我们介绍重要性采样

4.3.1 重要性采样原理

我们⽤图4.6描述重要性采样的原理。重要性采样来源于求期望,如图 4.6所⽰:
在这里插入图片描述

如图4.6所⽰,当随机变量 z z 的分布⾮常复杂时,⽆法利⽤解析的⽅法 产⽣⽤于逼近期望的样本,这时,我们可以选⽤⼀个概率分布很简单,很 容易产⽣样本的概率分布 q ( z ) q(z) ,⽐如正态分布。原来的期望可变为
在这里插入图片描述

定义重要性权重: w n = p ( z n ) / q ( z n ) {w^n} = p({z^n})/q({z^n}) ,普通的重要性采样求积分如 ⽅程(4.7)所⽰为

在这里插入图片描述
由式(4.7)可知,基于重要性采样的积分估计为⽆偏估计,即估计的期望值等于真实的期望。但是,基于重要性采样的积分估计的⽅差⽆穷⼤。这是因为原来的被积函数乘了⼀个重要性权重,改变了被积函数的形状及分布。尽管被积函数的均值没有发⽣变化,但⽅差明显发⽣改变

在重要性采样中,使⽤的采样概率分布与原概率分布越接近,⽅差越⼩。然⽽,被积函数的概率分布往往很难求得、或很奇怪,因此没有与之相似的简单采样概率分布,如果使⽤分布差别很⼤的采样概率对原概率分布进⾏采样,⽅差会趋近于⽆穷⼤。

⼀种减⼩重要性采样积分⽅差的⽅法 是采⽤加权重要性采样.

4.3.2 加权重要性采样

⼀种减⼩重要性采样积分⽅差的⽅法是采⽤加权重要性采样:
在这里插入图片描述

在异策略⽅法中,⾏动策略 μ \mu 即⽤来产⽣样本的策略,所产⽣的轨迹概率分布相当于重要性采样中的 q ( z ) q(z) ,⽤来评估和改进的策略 π \pi 所对应的轨迹概率分布为 p ( z ) p(z) ,因此利⽤⾏动策略 μ \mu 所产⽣的累积函数返回值来评估策略 π \pi 时,需要在累积函数返回值前⾯乘以重要性权重。

在⽬标策略 μ \mu 下,⼀次试验的概率为

在这里插入图片描述
在⾏动策略 π \pi 下,相应的试验的概率为

在这里插入图片描述
因此重要性权重为
在这里插入图片描述
普通重要性采样的值函数估计如图4.7所⽰:
在这里插入图片描述
现在举例说明公式(4.11)中各个符号的具体含义。

4.3.3 举例说明

如图4.8所⽰, t t 是状态 s s 访问的时刻, T ( t ) T(t) 是访问状态 s s 相对应的试验的终⽌状态所对应的时刻。T(s) 是状态 s s 发⽣的所有时刻集合。在该例中,
在这里插入图片描述
加权重要性采样值函数估计为
在这里插入图片描述
最后,我们给出异策略每次访问蒙特卡罗算法的伪代码,如图4.9所示:
在这里插入图片描述

注意:此处的软策略 μ \mu ε s o f t \varepsilon - soft 策略,需要改善的策略 π \pi 为贪婪策略。

总结⼀下:本节重点讲解了如何利⽤MC的⽅法估计值函数。与基于动态规划的⽅法相⽐,基于MC的⽅法只是在值函数估计上有所不同,在整个框架上则是相同的,即评估当前策略,再利⽤学到的值函数进⾏策略改善。本节需要重点理解on-policy 和off-policy的概念,并学会利⽤重要性采样来评估⽬标策略的值函数。

5. 统计学基础知识

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

发布了21 篇原创文章 · 获赞 3 · 访问量 610

猜你喜欢

转载自blog.csdn.net/qq_38293297/article/details/105188345
今日推荐