强化学习的数学原理 | 赵世钰 | 西湖大学 | 笔记 | Lecture 5 | Part 1 | 蒙特卡洛方法(通过例子介绍蒙特卡洛)

目录

    • 前言
    • [1. Outline](#1. Outline)
    • [2. Motivating example: Monte Carlo estimation](#2. Motivating example: Monte Carlo estimation)
    • 结语
    • 参考

前言

学习赵老师讲授的强化学习的数学原理视频,本篇文章记录第五讲 Part 1:蒙特卡洛方法(通过例子介绍蒙特卡洛),记录个人学习笔记,和大家一起分享交流😄

videohttps://www.bilibili.com/video/BV1sd4y167NS

1. Outline

OK,这是我们的第五次课,这次课我们将会介绍 基于蒙特卡洛的强化学习方法,下面是我们这个课程的地图。

相信大家也比较熟悉了,这次我们来到了第五章,上次课我们介绍的是 value iterationpolicy iteration ,这两节课是什么关系呢?上节课介绍的是 model-based 方法,而这次课我们将介绍整个课程中的第一个 model-free 方法,它们一个是依赖模型的,一个是不依赖模型的。

在开始之前我想说明两点,第一点:我们上节课介绍的 policy iteration 方法,实际上是这一次课的基础。待会大家就会看到,我们把 policy iteration 中依赖模型的部分,替换为不需要模型的方法(采样估计),就得到了今天的算法。

第二点我想说明的是,在我们这门课当中,我们把 value iterationpolicy iteration 也统称为 model-based reinforcement learning ,但更准确地说,它们应该称为 dynamic programming(动态规划) 方法。

近年来,model-based reinforcement learning(MBRL) 又重新兴起,它研究的是什么呢?例如,先用数据估计出一个模型,再基于这个模型进行强化学习。不过在本课程中,我们仍统一把 value iterationpolicy iteration 也称为 model-based reinforcement learning 方法。

下面是我们这次课的大纲:

  • 1. Motivating example
  • 2. The simplest MC-based RL algorithm
    • Algorithm: MC Basic
  • 3. Use data more efficiently
    • Algorithm: MC Exploring Starts
  • 4. MC without exploring starts
    • Algorithm: MC ε \varepsilon ε-Greedy

首先我会通过一个 motivating example 来介绍 Monte Carlo Estimation 的基本思想,之后会介绍 3 个基于蒙特卡洛的强化学习的算法,这三个算法分别称为 MC BasicMC Exploring Starts 以及 MC ε \varepsilon ε-Greedy ,这里的 MC 是 Monte Carlo(蒙特卡洛)的缩写。

另外想强调的是 这三个算法实际上是环环相扣的,前面一个是后面一个的基础 ,比如说,MC Basic 是最简单的基于蒙特卡洛的强化学习算法,它简单到 在实际当中是没法用的 ,因为效率等各方面都比较差,但它在揭示 "如何去掉模型、不基于模型来实现强化学习" 这一核心 idea 上非常关键。

这个算法经过改进,得到后续两个算法:比如说考虑如何让 数据的使用效率更高 、如何去除 exploring starts 这一假设等。

2. Motivating example: Monte Carlo estimation

下面我们来看第一部分。

其实从 model-based 的 reinforcement learning 过渡到 model-free 的 reinforcement learning,最让人难以理解的应该就是:如何在 没有模型的情况下去估计一些量 。这里有一个重要的方法(思想)--- Monte Carlo Estimation

下面我通过这样一个例子来说明这个方法,这个例子是什么呢?就是 掷硬币

假设我手上有一枚硬币,我把它抛到空中,然后硬币会落到我的手心,这枚硬币要么是正面朝上,要么是反面朝上,然后我把这个结果表示为一个 随机变量 X X X ,如果它是正面朝上我就说 X = + 1 X=+1 X=+1 ,如果它是反面朝上我就说 X = − 1 X=-1 X=−1 。

所以我下面要求解的问题就是: X X X 的平均数,也就是它的 expectation (即 E X \mathbb{E}X EX),是多少?

这里有两种方法:

第一种方法是 基于模型的(model-based)

那就是随机变量 X X X 的 probability distribution 是已知的:

p ( X = 1 ) = 0.5 , p ( X = − 1 ) = 0.5 p(X=1)=0.5, \quad p(X=-1)=0.5 p(X=1)=0.5,p(X=−1)=0.5

比如说它正面朝上的概率是 0.5,反面朝上的概率也是 0.5,那 expectation 就可以直接按定义计算:

E X = ∑ x x p ( x ) = 1 × 0.5 + ( − 1 ) × 0.5 = 0 \mathbb{E}X= \sum_x xp(x) = 1 \times 0.5 + (-1) \times 0.5 = 0 EX=x∑xp(x)=1×0.5+(−1)×0.5=0

公式中 x x x 是取值, p ( x ) p(x) p(x) 是概率,最后算出来是 0。这个方法非常简单。

但是问题是,这么精确的 probability distribution 模型,我们可能无法知道,这也是我们本次课要面对的问题,所以我们能不能在 没有模型的情况 下也去估计呢?

其实答案也非常简单,利用蒙特卡洛估计就行。

它基本的思想就是:掷硬币很多次(做很多次实验、得到很多 采样 ),然后求它们的 平均数

具体来说,我们做 N N N 次实验,假设结果分别为 { x 1 , x 2 , ... , x N } \{ x_1,x_2,\ldots, x_N \} {x1,x2,...,xN} ,然后把这些结果相加再除以 N N N ,得到平均值,记作 x ˉ \bar{x} xˉ ,然后用 x ˉ \bar{x} xˉ 来近似 E X \mathbb{E}X EX 。即认为:

E X ≈ x ˉ = 1 N ∑ j = 1 N x j . \mathbb{E}X \approx \bar{x} = \frac{1}{N} \sum_{j=1}^N x_j. EX≈xˉ=N1j=1∑Nxj.

这个就是 Monte Carlo Estimation 的一个基本的思想

那有的同学可能会说了,你用一个平均数来近似 E X \mathbb{E}X EX ,那是否精确呢?当 N N N 比较小的时候这种近似实际上是不精确的,但 随着 N N N 逐渐增大,这种近似会变得越来越精确,上面这个图清晰地展示了出来。

这个掷硬币任务总共做了 200 次,真实的 expectation 是 0,如果用最开始的两次结果做平均---前两次都是反面(-1)---平均值为负,与真实值相差较大,但随着数据越来越多,平均数会 越来越收敛到真实的 expectation

这种直观解释有很好的数学支撑,那就是 Law of Large Numbers(大数定律) blog,具体是什么呢?


大数定律

考虑随机变量 X X X 。假设 { x j } j = 1 N \{x_j\}{j=1}^N {xj}j=1N 是 X X X 的独立同分布(iid)样本。令 x ˉ = 1 N ∑ j = 1 N x j \bar{x} = \frac{1}{N} \sum{j=1}^N x_j xˉ=N1∑j=1Nxj 为这些样本的均值。那么,

E x ˉ = E X , Var x ˉ = 1 N Var X . \begin{align*} \mathbb{E}\\bar{x} &= \mathbb{E}X, \\ \text{Var}\\bar{x} &= \frac{1}{N} \text{Var}X. \end{align*} EVar=EX,=N1VarX.

因此, x ˉ \bar{x} xˉ 是 E X \mathbb{E}X EX 的一个无偏估计,并且随着样本量 N N N 趋向于无穷大,其方差将减小至零。


具体来说,假设有 N N N 个 iid 的样本,iidindependent and identically distributed(独立同分布) ,然后用这些样本做平均得到 x ˉ \bar{x} xˉ ,可以证明以下两个结论:

第一个结论:如果把 x j x_j xj 看作 随机变量 ,那么 x ˉ \bar{x} xˉ 也是 随机变量 ,可以对其求期望。它的期望等于真实的 E X \mathbb{E}X EX---所以 x ˉ \bar{x} xˉ 是 E X \mathbb{E}X EX无偏估计

第二个结论: x ˉ \bar{x} xˉ 的 variance 是 1 N Var X \frac{1}{N}\text{Var}X N1VarX,即 X X X 方差的 1 N \frac{1}{N} N1 。

那么显然,当 N N N 趋向于无穷时,方差 1 N Var X \frac{1}{N}\text{Var}X N1VarX 趋向于 0,方差趋向于 0 意味着 x ˉ \bar{x} xˉ 会收敛到一个常数,而这个正是 expectation E X \mathbb{E}X EX ,具体证明可以参考教材。

所以通过这样一个例子,其实我们就非常清晰地了解了 蒙特卡洛估计的基本的思想

蒙特卡洛 不仅可以用于掷硬币这样简单的任务,凡是需要 大量采样、再用实验结果进行近似 的方法,都可以称为蒙特卡洛估计方法。

我们在这个课程当中,为什么会需要考虑 Monte Carlo Estimation ?就是因为我们是无模型的,而 Monte Carlo Estimation 恰好也不需要模型

我们为什么要考虑这个 mean estimation ?为什么要用蒙特卡洛来估计 expectation?就是因为 state valueaction value ---如果大家还记得的话---它们的定义实际上就是 expectation,所以后面会用到。

结语

本讲第一部分正式拉开了 model-free 强化学习的序幕。通过掷硬币这个简单直观的例子,我们掌握了 Monte Carlo Estimation 的核心思想:当概率模型未知时,不依赖模型的解析计算,而是通过大量采样、求平均来估计期望值。大数定律为这一方法提供了坚实的数学保障---样本均值 x ˉ \bar{x} xˉ 是 E X \mathbb{E}X EX 的无偏估计,且其方差随样本量 N N N 增大而趋于零,因此采样越多、估计越精确。

这一思想之所以对强化学习至关重要,正是因为 state value 和 action value 本质上就是期望值,而蒙特卡洛方法恰好提供了一条绕开模型的估计路径。接下来,我们将看到如何把这一思想融入 policy iteration 的框架---只需将其中的模型依赖部分替换为基于采样的估计,就能得到第一个 model-free 强化学习算法 MC Basic🤗。

参考

相关推荐
Mid_search6 小时前
高估问题、Target Network、Double DQN
人工智能·深度学习·强化学习·double dqn·bootstrapping·target network
Mid_search10 小时前
Experience Replay
人工智能·深度学习·强化学习·经验回放
爱听歌的周童鞋14 小时前
强化学习的数学原理 | 赵世钰 | 西湖大学 | 笔记 | Lecture 4 | Part 3 | 值迭代与策略迭代(截断策略迭代算法)
强化学习·iteration·policy·truncated·value iteration
爱听歌的周童鞋3 天前
强化学习的数学原理 | 赵世钰 | 西湖大学 | 笔记 | Lecture 3 | Part 4 | 贝尔曼最优公式(最优策略的有趣性质)
强化学习·贝尔曼最优公式·optimal policy·invariance·shortest path
Mid_search4 天前
随机排列与Fisher-Yates算法
人工智能·深度学习·强化学习·随机排列·fisher-yates
夫唯不争,故无尤也4 天前
RL强化学习常见问题
强化学习·rl
深圳市爱派派智能科技有限公司4 天前
从英伟达 GPU 到 RK3566 实机:Microduck 25 厘米强化学习机器人部署手记
机器人·边缘计算·强化学习·rk3566·机器人英伟达
爱听歌的周童鞋4 天前
强化学习的数学原理 | 赵世钰 | 西湖大学 | 笔记 | Lecture 3 | Part 1 | 贝尔曼最优公式(例子-如何改进策略)
强化学习·贝尔曼最优公式·optimal policy·action value
爱听歌的周童鞋5 天前
强化学习的数学原理 | 赵世钰 | 西湖大学 | 笔记 | Lecture 3 | Part 2 | 贝尔曼最优公式(最优策略和公式推导)
强化学习·贝尔曼最优公式·optimal policy·action value·maximization