Steve Brunton | Reinforcement Learning | 笔记 | Lecture 4 | 强化学习系列:方法概览

目录

    • 前言
    • [1. 引言](#1. 引言)
    • [2. 强化学习核心概念回顾](#2. 强化学习核心概念回顾)
    • [3. 模型驱动强化学习](#3. 模型驱动强化学习)
    • [4. 模型无关强化学习](#4. 模型无关强化学习)
    • [5. 深度强化学习方法](#5. 深度强化学习方法)
    • [6. 总结与展望](#6. 总结与展望)
    • 结语
    • 参考

前言

学习 Steven Brunton 讲授的强化学习入门概述视频,本篇文章记录第四讲:强化学习系列:方法概览,记录下个人学习笔记,和大家一起分享交流😄

video :https://www.youtube.com/playlist?list=PLMrJAkhIeNNQe1JXNvaFvURxGY4gE9k74

1. 引言

前三个讲座主要从宏观层面介绍了什么是 强化学习 以及它是如何工作的,还有 强化学习 的应用领域有哪些。

然而,我们尚未深入探讨如何在实践中具体实现 强化学习算法 的细节,这正是我们今天以及本系列后续部分将要重点讲解的内容。

首先,我将对强化学习的各种方法进行系统性的梳理和分类。

这是一个庞大的研究领域,其历史可追溯至约 100 年前,这一领域融合了 神经科学 、行为科学 (如巴甫洛夫的狗实验)、优化理论 、最优控制 (如贝尔曼方程和哈密顿-雅可比-贝尔曼方程),直至现代 深度强化学习,即如何运用强大的机器学习技术来解决这些优化问题。

在我看来,强化学习实际上是 机器学习 与 控制理论 的交叉领域,因此,我们本质上是在通过机器学习来获取与环境交互的良好且有效的 控制策略 。在本次第一讲中,我将探讨这些不同决策的组织方式,以及如何理解 强化学习 的整体格局。

2. 强化学习核心概念回顾

在进入那个关于如何理解所有这些不同类型强化学习的组织结构图之前,我想先非常快速地回顾一下什么是强化学习问题。

在强化学习中,有一个 智能体 通过一系列 动作 与世界或 环境 进行交互,这些动作有时是离散的,有时是连续的。如果我有一个机器人,我可能有一个连续的 动作空间;而如果我在玩游戏,比如我是棋盘上的白方,那么我有一组离散的动作,尽管这些动作可能是高维的。

在每个时间步,我观察系统的 状态 ,并利用这些信息来调整我的动作,以尝试最大化当前或未来的 奖励 。通过不断尝试,我会提到,在许多应用中,比如 奖励结构 可能非常稀疏,在游戏结束之前,我可能不会得到任何关于我的走法是否正确的反馈,直到最终我赢了或输了。

井字棋、双陆棋、跳棋、围棋等游戏都是类似的情况,这种 延迟奖励结构 正是使得强化学习问题极具挑战性的原因之一。这也使得,你知道,动物系统中的学习同样充满挑战,如果你想教你的狗一个技巧,你需要让它逐步明白你希望它做什么,因此有时你必须在中间步骤给予奖励来训练它的行为。

POLICY π ( s , a ) = Pr ( a t = a ∣ s t = s ) \color{red} \text{POLICY} \quad \pi(s,a) = \text{Pr}(a_t=a \mid s_t=s) POLICYπ(s,a)=Pr(at=a∣st=s)

因此,智能体的控制策略或 策略 通常被称为 π \pi π ,它基本上是在给定当前状态 s s s 的情况下采取动作 a a a 的概率。因此,这可以是一个 确定性策略 ,也可以是一个 概率性策略 ,但本质上它是一组规则,决定了作为智能体的我在感知到环境中的信息后,采取哪些动作以最大化未来的奖励,这就是 策略。

同样,通常这会在概率框架中表示,因为环境通常被建模为概率模型,并且存在一个称为 价值函数 的概念。因此,给定我采取的某个策略 π \pi π ,我可以通过计算预期未来奖励来为系统的每个状态关联一个价值。

VALUE V π ( s ) = E ( ∑ t γ t r t ∣ s 0 = s ) \color{blue} \text{VALUE} \quad V_{\pi}(s) = \mathbb{E} \left( \sum_{t} \gamma^t r_t \mid s_0 = s \right) VALUEVπ(s)=E(t∑γtrt∣s0=s)

具体来说,就是将所有未来奖励的总和的期望值作为价值,并且我们会引入一个 折扣因子 ,因为未来的奖励可能不如当前的奖励对我有利,这只是经济学理论中常用的一种做法。这有点类似于效用函数,因此对于每个策略 π \pi π ,都有一个与处于给定状态 s s s 相关联的价值。

这里需要指出的是,即使是相对复杂的问题,你也可以做到这一点。例如,在井字棋游戏中,你可以枚举所有可能的状态和所有可能的动作,并通过暴力计算的方式得出这个价值函数。

然而,即使是中等复杂的游戏,比如跳棋,更不用说国际象棋或围棋,其 状态空间 --- 即你可能观察到的系统所有可能状态的集合 --- 已经庞大到天文数字级别。据估计,其数量级可能达到 10 80 10^{80} 1080 甚至更高,这是一个极其庞大的数字,表示可能的棋盘状态数量,围棋的棋盘状态甚至更多。

因此,实际上我们无法真正枚举这个价值函数,但它是一个很好的抽象概念,我们可以基于此进行思考,至少在简单的动态规划中,我们通常假设已知环境模型,稍后我会详细讨论这一点。

因此,强化学习的核心目标是通过 试错 和 经验学习 ,找到能够最大化未来奖励的 最优策略。

OK,请注意,这个价值函数是策略 π \pi π 的函数,我希望学习到最优策略,使其能够在每个棋盘位置、每个状态下都为我带来最大价值,而这确实是一个非常复杂的问题,目标很容易表述,但要解决这个问题却极其困难。

正因如此,这一领域在过去的一百年里不断发展壮大,这也是为什么它仍然是一个蓬勃发展的领域,因为我们拥有了更强大的机器学习技术,可以开始解决这一问题。

以上就是整个框架的概述,你需要理解什么是策略,即作为智能体的我用来操控环境的一系列规则或控制器,价值函数告诉我处于某个特定状态的价值,因此我可能会希望将自己移动到那个状态,因此,我需要你熟悉这些术语。

现在我可以向你展示这些技术是如何分类组织的,这就是我接下来要做的,在接下来的课程中,我们将讨论各种主流强化学习方法的关键分类。

3. 模型驱动强化学习

首先最大的分类是 模型驱动强化学习 (Model-based RL )和 模型无关强化学习 (Model-free RL)。

如果你有一个良好的环境模型,比如 马尔可夫决策过程 或某些微分方程,如果你一开始就有一个好的模型,那么你可以在 模型驱动强化学习 的框架下工作。虽然有些人可能不认为接下来我要讨论的内容属于强化学习范畴,但我认为它们是相关的。

举个例子,如果我的环境是一个马尔可夫决策过程,这意味着在已知当前状态 s s s 和采取动作 a a a 的情况下,转移到下一个状态 s ′ s' s′ 的概率是确定的(即这个概率分布是存在的且已知的),这个概率函数是 P ( s ′ ∣ s , a ) P(s' \mid s, a) P(s′∣s,a) ,它不依赖于你过去的状态和动作历史,只取决于当前状态和当前动作,并决定了转移到下一个状态 s ′ s' s′ 的概率。

接下来,我将介绍两种非常强大的技术,用于优化策略函数,一种是 策略迭代 ,而另一种是 价值迭代。这些方法允许你通过迭代的方式遍历游戏或马尔可夫决策过程,选择你认为最优的动作,然后评估该动作和状态的实际价值,接着逐步优化策略函数和价值函数。

这是一种非常强大的方法,如果你有一个系统模型,你可以在计算机上运行这种方法,从而确定并学习出最优的策略和价值。这是一种特殊的 动态规划 方法,它依赖于价值函数的 贝尔曼最优条件,因此,我将专门用一节课来讲解图中的蓝色部分内容,我们将讨论策略迭代和价值迭代,以及它们如何本质上利用动态规划方法作用于满足贝尔曼最优条件的价值函数。

上述内容针对的是概率性过程,比如像西洋双陆棋这样的游戏,每轮都有掷骰子的环节。而对于 确定性系统 ,如机器人系统或自动驾驶汽车 --- 如果以人类为例来思考我的强化学习问题,这更像是一个 连续控制问题,在这种情况下,我可能会遇到一些非线性微分方程:

d d t x = f ( x ( t ) , u ( t ) , t ) \frac{d}{dt}\mathbf{x} = \mathbf{f}(\mathbf{x}(t), \mathbf{u}(t), t) dtdx=f(x(t),u(t),t)

因此,我们在书 book 中第 8 章学习的线性最优控制理论,在这里或许能派上用场,比如 线性二次调节器 、卡尔曼滤波器 等这类方法。最优线性控制问题是带有 哈密顿-雅可比-贝尔曼方程 的最优非线性控制问题的特例,同样,这依赖于 贝尔曼最优性原理 ,你可以运用 动态规划 的思想来解决这类最优非线性控制问题。

从数学角度来看,我要指出:这是一套优美的理论,它非常强大,已经存在了几十年,可以说是设计 最优策略 和 最优控制器 的教科书式方法,适用于 马尔可夫决策过程 和 非线性控制系统 。实际上,用 动态规划 来解决这些问题通常等同于进行 暴力搜索 ,而且这种方法通常无法扩展到高维系统,因此,即便是对于中等高维系统,通常也很难实现这种基于 哈密顿-雅可比-贝尔曼方程 的最优非线性控制。

你可以对三维系统进行这种计算,有时甚至可以对五维系统进行,我听说过一些案例,借助机器学习或许能处理 10 维或 100 维的系统,但是,对于非线性流体流动方程,当你将其写入计算机时,可能会涉及十万甚至百万维的微分方程,这种方法就无能为力了,因此,这里有一个重要的注意事项。

这是基于模型的控制方法,而我们在无模型控制中要做的许多工作,实际上借鉴了基于模型控制中的思想。因此,尽管我在日常的强化学习工作中并不经常使用这种方法,但大多数情况下,我们并没有一个良好的系统模型。例如,在国际象棋中,我并没有对手的模型,或者说至少无法将其以马尔可夫决策过程的形式用数学表达出来,因此我无法真正应用这些技术。

4. 模型无关强化学习

然而,无模型控制中的强化学习在很大程度上类似于 近似动态规划 ,它通过试错的方式同时学习系统的动态特性或更新这些函数,而无需实际拥有一个模型,因此,在 模型无关强化学习 中,主要的分界在于 无梯度 (Gradient free )方法和 基于梯度 (Gradient based)的方法之间,稍后我会详细解释这两者的含义。

举例来说,如果我能用一些变量 θ \theta θ 来参数化我的策略 π \pi π ,并且我知道这些变量 θ \theta θ 的依赖关系,那么我或许能够直接对奖励函数或价值函数关于这些参数的梯度进行计算,从而加速优化过程。

OK,因此,基于梯度的方法 --- 如果能够使用的话 --- 通常是最快、最高效的解决方案。但很多时候,我们并没有梯度信息,我们只是在玩游戏,比如下象棋或围棋,我无法计算一个游戏相对于另一个游戏的导数,至少对我来说,这很难做到。

因此,在 无梯度方法 中,存在许多不同的分类,在无梯度控制中,存在着层层嵌套的分类体系,这里有一个重要的概率区分:有时可以采用 离策略 (off-policy)或 同策略(on-policy)方法,这是一个非常关键的区别。

同策略 的含义是,假设我正在玩多局象棋,我试图通过下象棋来学习一个最优策略函数或最优价值函数,或者两者兼得,并在过程中不断迭代优化我对 π \pi π 或 V V V 的估计,同策略意味着我总是尽我所能地发挥出最佳水平,无论我认为价值函数是什么,也无论我认为当前的最佳策略是什么,我都会在游戏中始终使用这个最佳策略,并努力在每一局游戏中从系统中获取最大的奖励,这就是 "同策略" 的含义。

而 异策略 则意味着:我可能会尝试一些不同的做法,也许我知道当前的策略并非最优,因此我会随机采取一些动作,这种做法有时被称为 "异策略",因为我认为这些动作可能并非最优,但它们对于学习系统信息可能非常有价值。

同策略方法包括:SARSA (状态-动作-奖励-状态-动作),以及所有 SARSA 算法的变体,这些都属于 同策略强化学习 ,这里的 TD 指的是 时间差分 ,MC 则是 蒙特卡洛 ,因此,这整个家族的方法都属于一种 无梯度优化技术,它们利用不同长度的历史信息来进行学习,这将是另一堂完整的课程内容。

这个红色框内的是无梯度模型无关强化学习,而 SARSA 的异策略版本则属于同策略算法家族中的一种变体,有一种异策略变体称为 Q-Learning ,其中的 Q Q Q 函数 可以理解为在特定状态下采取特定动作的联合价值,这个 Q Q Q 函数 包含了我的最优策略和价值函数的所有信息,实际上这两者都可以从 Q Q Q 函数 中推导出来。

但最关键的区别在于,当我们基于 Q Q Q 函数 进行学习时,我们并不需要一个模型来预测下一个状态会是什么,这个 Q Q Q 函数 实际上隐含地定义了基于未来走向的价值,因此 Q-Learning 是一种非常有效的方法,尤其是在没有模型的情况下,它能够利用 异策略 信息进行学习,即使使用次优控制器来观察结果,也能不断学习并逐步改进策略和价值函数。

这一点在 模仿学习 中尤为重要,例如,如果我想通过观看他人下国际象棋来学习,尽管我并不知道他们的价值函数或策略是什么,利用这些 异策略学习算法 ,我可以将这些信息整合到对环境的估计中,每获取一点信息,都能提升我的 Q Q Q 函数,进而提高我下一局游戏的表现。

确实非常强大,可以说,如果我们所做的大部分工作都处于 Q-Learning 的范畴内,事实上,机器学习的很大一部分都是基于 Q-Learning 的,强化学习主要就是 Q-Learning 以及 基于梯度的算法 ,这里我不打算深入讨论,但本质上,它是通过某种 梯度优化方法 直接更新策略、价值函数和 Q Q Q 函数 的参数。

因此,如果我能将未来的所有奖励汇总起来 --- 并且这些奖励是当前参数 θ \theta θ 的函数,这些参数决定了我的策略 --- 那么我或许能够运用 梯度优化方法 ,诸如 牛顿法 和 最速下降法 等方法,可以用来获得一个良好的估计。当我能够运用这些方法时,其速度将远远超过任何无梯度方法,甚至在某种程度上比动态规划还要快。

5. 深度强化学习方法

因此,最后一点是,在过去十年中,深度强化学习 领域出现了巨大的爆发式发展,这一现象很大程度上归功于 DeepMind 和 AlphaGo ,他们展示了机器和计算机能够玩转 Atari 游戏 的能力,它们不仅达到了人类水平的性能,甚至能够击败围棋大师,这些成就令人难以置信地展示了 强化学习 的威力。

如今我们利用 深度神经网络 ,既可以学习模型进而采用 模型驱动的强化学习 方法,也可以表达这些模型无关的概念,比如用 深度神经网络 来表示质量函数,你可以使用 深度神经网络 来表示策略,然后通过 自动微分 和 反向传播 对这些网络参数进行微分,从而在 策略网络 上执行基于梯度的优化。

我认为 深度模型预测控制 --- 虽然它并不完全属于强化学习的范畴,但可以说,它在理念上与强化学习有着非常紧密的联系。深度模型预测控制 能够解决这类复杂的非线性优化问题,然后,你可以根据模型预测控制器的实际行为来学习策略,你可以将模型预测控制器的逻辑编码成一个控制策略。

最后,还有 演员-评论家方法 ,演员-评论家方法 早在深度强化学习出现之前就已存在,但如今它们重新引起了广泛关注,因为你可以做到,你可以用 深度神经网络 来训练这些方法。

6. 总结与展望

OK,以上就是我对强化学习不同分类的概览。

这只是一个粗略的概述,主要展示了在选择 强化学习算法 时需要考虑的主要分类和关键点,如果你拥有系统的模型,就可以基于 贝尔曼最优性原理 使用 动态规划 方法,如果缺乏系统模型,你可以选择 无梯度法 或 基于梯度的方法 ,并根据具体需求进一步选择 同策略 或 异策略 的变体。

事实证明,SARSA 方法更为保守,而 Q-Learning 往往收敛得更快,对于所有这些方法,都有一些途径可以增强其能力并提高灵活性,通过 深度神经网络 以不同的专注方式进行表征。

OK,那么在接下来的几个课程中,我们将深入探讨 马尔可夫决策过程 这一部分,讲解如何进行 策略迭代 和 价值迭代 ,我们将实际推导出价值函数,在这里,我们将讨论 无模型控制 ,包括基于同策略和异策略的梯度无关方法,Q-Learning 是最重要的方法之一,而 时序差分学习 实际上与神经科学有很多相似之处,因此,人们认为我们动物大脑的学习方式与这些 时序差分学习策略 密切相关。

我们将讨论如何利用 哈密顿-雅可比-贝尔曼方程 实现最优非线性控制,我们将简要讨论 策略梯度优化,然后涵盖所有这些内容。

这些都属于深度学习的范畴,我们会在整个过程中穿插深度学习的相关内容,或者可能会专门安排一节课来讲解这些深度学习方法,以上就是即将展开的内容。

结语

本讲作为强化学习系列课程的 "方法总览",承担了一个承上启下的关键角色---它不再聚焦于某个具体的应用案例,而是从方法论的高度,对 RL 近百年的研究脉络进行了系统性的梳理与分类,为后续深入各技术细节做好了 "地图式" 的铺垫。

整讲的核心架构可以凝练为一张 二分决策树:

第一层分叉:模型驱动(Model-Based) vs. 模型无关(Model-Free)

模型驱动 RL 的前提是已知环境的转移概率 P ( s ′ ∣ s , a ) P(s' \mid s, a) P(s′∣s,a) 或动力学方程 d d t x = f ( x , u , t ) \frac{d}{dt}\mathbf{x} = \mathbf{f}(\mathbf{x}, \mathbf{u}, t) dtdx=f(x,u,t) 。在此框架下,动态规划(Dynamic Programming) 是核心工具---策略迭代(Policy Iteration)和价值迭代(Value Iteration)基于 贝尔曼最优性原理 交替优化策略与价值函数;对于连续控制系统,哈密顿-雅可比-贝尔曼(HJB)方程 则提供了最优非线性控制的理论基础,线性二次调节器(LQR)和卡尔曼滤波器是其特例。然而,Brunton 也坦诚指出:这些方法的致命瓶颈在于 维数灾难---对于百万维的流体力学系统,HJB 方程的暴力求解完全不可行。

模型无关 RL 则放弃了精确模型的假设,转而通过 试错与经验 直接学习。这正是现代 RL 最活跃的主战场。

第二层分叉:无梯度(Gradient-Free) vs. 基于梯度(Gradient-Based)

无梯度方法 内部又按 同策略(On-Policy) 与 异策略(Off-Policy) 划分---SARSA(含 TD 和 MC 变体)属于同策略家族,策略较为保守;Q-Learning 则是异策略的旗舰算法, Q ( s , a ) Q(s,a) Q(s,a) 函数将策略与价值合二为一,能利用次优控制器的观测数据持续学习改进,在模仿学习等场景中尤为强大。Brunton 特别指出:强化学习的大部分工作本质上都落在 Q-Learning 及其变体的范畴内。

基于梯度的方法 (如策略梯度优化)在梯度信息可用时通常是最快、最高效的---通过参数化策略 π θ \pi_\theta πθ 并对奖励函数求导,可利用牛顿法、最速下降法等经典优化器大幅加速收敛。

第三层融合:深度强化学习(Deep RL)

当深度神经网络介入后,上述所有分支都获得了新的生命力:可以用 NN 学习环境模型(Model-Based + DL)、用 DQN 表示 Q 函数、用策略网络(Policy Network)表示 π θ \pi_\theta πθ 并通过自动微分和反向传播实现梯度优化、以及用深度 Actor-Critic 方法同时训练演员(策略)和评论家(价值)。此外,深度模型预测控制(Deep MPC) 虽然严格说不属于 RL,但与 RL 的理念高度关联,可将 MPC 的控制逻辑编码为策略网络。

值得一提的是,Brunton 在结尾处点出了一个颇具生物学意味的观察:时序差分学习(TD Learning)与动物大脑的学习机制有着深刻的相似性---我们大脑中的多巴胺信号,本质上就是一种时序差分误差。这再次印证了 RL 不仅是一个工程工具,更是理解智能本身的窗口。

如果说前三讲回答了 "RL 是什么" 和 "RL 能做什么",那么本讲回答的是 "RL 怎么做"---它为后续课程(MDP 动态规划 → 无模型控制 → 策略梯度 → 深度方法)绘制了一张清晰的地图。带着这张地图上路,接下来的每一讲都将是一次深度的 "景点游览" 🚀

下一讲我们来学习基于模型的强化学习方法,敬请期待🤗

参考

相关推荐
爱听歌的周童鞋8 小时前
Steve Brunton | Reinforcement Learning | 笔记 | Lecture 3 | 深度强化学习在流体动力学与控制中的应用
steve brunton·deep rl·fluid dynamics·flow control·fish schooling
爱听歌的周童鞋13 小时前
Steve Brunton | Reinforcement Learning | 笔记 | Lecture 1 | 强化学习:机器学习与控制理论的交汇
rl·value·q-learning·policy·reward·steve brunton
爱听歌的周童鞋24 天前
强化学习的数学原理 | 赵世钰 | 西湖大学 | 笔记 | Lecture 8 | Part 5 | 值函数近似(Sarsa 和 Q-learning)
强化学习·sarsa·q-learning·value function·approximation
爱听歌的周童鞋1 个月前
强化学习的数学原理 | 赵世钰 | 西湖大学 | 笔记 | Lecture 7 | Part 7 | 时序差分方法(Q-learning 伪代码与例子)
强化学习·q-learning·on-policy·off-policy
爱听歌的周童鞋2 个月前
Steve Brunton | Probability Bootcamp | 笔记 | 第四部分:高级统计 | Lecture 40 | 矩母函数的可加性质
statistics·steve brunton·probability·mgf·additivity
爱听歌的周童鞋2 个月前
Steve Brunton | Probability Bootcamp | 笔记 | 第三部分:高级概率 | Lecture 43 | 概率中的尾和公式
statistics·steve brunton·probability·tail sum·ccdf
爱听歌的周童鞋2 个月前
Steve Brunton | Probability Bootcamp | 笔记 | 第四部分:高级统计 | Lecture 41 | 协方差与相关性
statistics·steve brunton·probability·covariance·correlation
爱听歌的周童鞋2 个月前
Steve Brunton | Probability Bootcamp | 笔记 | 第四部分:高级统计 | Lecture 37 | 矩母函数
moments·statistics·steve brunton·probability·mgf
爱听歌的周童鞋2 个月前
Steve Brunton | Probability Bootcamp | 笔记 | 第四部分:高级统计 | Lecture 35 | 大数定律
statistics·steve brunton·probability·lln·sample mean