普林斯顿-ECE524-强化学习基础笔记-全-

普林斯顿 ECE524 强化学习基础笔记(全)

001:课程介绍与MDP基础 🎯

在本节课中,我们将学习强化学习的基本概念及其数学基础,特别是马尔可夫决策过程。课程将从应用实例出发,逐步深入到数学模型、核心挑战以及本学期的学习计划。

课程概述与目标

大家好,我是来自电子与计算机工程系的 Chi J。本学期我们将共同学习一门名为“强化学习基础”的课程。这门课程虽然名为“基础”,但实际上是强化学习的数学基础。

本课程将被录像,主要面向公开讲座和校外学生。如果你有任何不清楚的地方,欢迎随时提问,所有问题都非常有价值。

我们将首先对课程进行简要介绍。由于课程侧重于数学基础,大部分时间我们将进行黑板推导和概念讲解。但第一节课,我们会使用幻灯片进行概述。

强化学习的应用领域

在深入探讨数学基础之前,我们首先应该了解强化学习的目标和应用领域。现代强化学习已被广泛应用于众多领域,并取得了部分成功。

以下是几个著名且成功的应用实例:

  • 机器人学与操作:例如,谷歌和伯克利等机构发布的 RT-2 模型,利用强化学习和其他方法训练机器人操作各种物体,并适用于不同类型的机器人。机器人学是强化学习最主要的应用领域之一。
  • 策略性视频游戏:例如《星际争霸》。你可能听说过 AlphaStar,它是由谷歌 DeepMind 训练出的超人类人工智能,能够击败世界冠军。这类场景涉及大量策略。
  • 自动驾驶:这是另一个广为人知的应用。
  • 大型语言模型:例如去年非常热门的 ChatGPT。他们声称在最后阶段使用了基于人类反馈的强化学习技术来微调模型。

观察所有这些应用,它们的共同点是都涉及决策制定,并且不仅仅是单一决策,而是一系列的决策,即序列决策问题。因此,强化学习本质上是一个为处理这类序列决策问题而设计的框架。

本课程的核心内容

以上是令人兴奋的应用实例,但本学期我们将更深入地探讨其背后的数学基础。我们将研究支撑这些应用的数学原理。

为了讨论强化学习,所有这些应用都可以抽象为以下图示:我们有一个智能体和一个环境。智能体是我们想要构建的学习者或人工智能,它会采取动作。这个动作会影响环境如何变化或转移到下一个状态。我们用状态来描述环境。除了状态,环境还会给我们奖励

以国际象棋为例,环境是棋盘,智能体是执白棋的一方。我们采取的动作是将特定棋子移动到某个位置。环境将转移到下一个状态,即棋盘的新配置。奖励可以理解为:最终赢得游戏获得奖励 1,输掉游戏获得奖励 0。

通常,强化学习可以被表述为:找到一个好的策略,以最大化累积奖励

以上是从应用和基础模型角度对强化学习的简要介绍。

接下来,我们将简要介绍本课程将涵盖和不会涵盖的内容。

涵盖内容

首先,我们将涵盖强化学习背后的数学模型。本课程很大一部分将致力于所谓的马尔可夫决策过程。我们将在本节课稍后介绍这个模型,它将严谨地描述这个序列过程是如何进行的,以及哪些量控制着环境状态的演进。

我们还将考虑许多不同的设置,例如模拟器设置、需要探索的设置以及需要函数近似的设置。我们将识别其中的挑战,并讨论解决这些挑战的策略。挑战包括处理序列决策中的时间相关性,以及如何平衡探索与利用,这一点非常重要。

我们还将讨论在线决策在线强化学习中的主题,即我们需要自己收集样本或数据。我们也会探讨如何处理大规模状态空间的问题。经典的强化学习通常讨论有限状态,但像视频游戏这样的实际应用通常有数百万个状态。我们将学习如何使用函数近似来处理这些挑战。

最后,我们将在学期的最后部分讨论多智能体强化学习,涉及智能体间的协作与竞争,以及如何处理部分可观测性,即某些状态可能无法完全观测,我们需要从有限的观测中推断潜在状态。

我们将讨论模型、挑战以及如何解决这些挑战。课程中非常重要的一部分将致力于设计算法,或讨论哪些算法能够解决这些挑战。这些算法包括经典且重要的算法,如价值迭代Q学习,以及函数近似算法,如拟合Q迭代。基本上,所有重要的强化学习算法都会涉及。

我们还将讨论一些额外的算法组件,这些组件不仅仅是像规划或Q学习这样的核心强化学习算法,而是帮助这些核心算法取得成功。例如,我们讨论探索与利用。除了评估、Q学习等经典强化学习算法外,我们还需要进行探索。我们将探讨进行探索的原则性方法。在本课程中,我们将利用所谓的乐观原则,设计一些如上置信界算法,并将其与标准强化学习算法结合,展示这些算法的性能。

我们还将讨论离线场景,即我们已经拥有大量可用数据,可以使用悲观主义而非乐观主义。这些是算法和算法设计部分。

最后,除了模型和算法,课程最重要的部分将是理论保证。这真正体现了本课程与其他更偏重实证的机器学习或强化学习课程的区别。我们关心使用数学为算法提供保证,说明它总能以高概率找到我们想要的最优策略或量,适用于广泛的应用类别。

我们将讨论两种主要的理论保证:

  • 样本效率:本质上是一个统计问题,即我们需要多少样本来学习最优策略。例如,对于自动驾驶或机器人学,需要玩多少局游戏(以《星际争霸》为例)或需要收集多少条轨迹(以机器人为例)。现有算法通常需要海量样本,动辄数百万甚至数亿。对于许多应用(如驾驶),收集样本可能非常昂贵或耗时。因此,如何降低样本复杂度是本课程理论部分的重要议题。
  • 计算效率:通常,机器学习是统计学和计算机科学的结合。统计学对应样本复杂度,计算机科学则更对应计算效率。最先进的模型通常需要训练数周甚至一个月。如何降低计算需求,使其更易于管理或更易于日常计算,是理论部分的另一个重要议题。

以上是本课程将讨论的内容。更重要的是,我们将使用数学和证明,非常严谨地处理所有内容。

不涵盖内容

由于我们专注于数学和证明,本课程将不涉及任何编码项目或实际算法的实现。我们不会讨论为某些基准测试编写真实算法,本课程也不会有任何编程作业。

课程总结与先修要求

总结来说,这是一门关于强化学习数学基础的高级研究生课程。它不适合作为你的第一门机器学习课程。我们将涵盖数学模型、不同设置和挑战、算法和算法设计,最重要的是,我们将讨论关于样本复杂度和计算复杂度的理论分析和理论保证。我们将全程使用数学。最后,没有编码或实现部分。我们会简要讨论一些深度算法,但主要是从算法公式和其工作原理的角度,不会实现这些深度算法。如果你真的想学习实现,这可能不是适合你的课程。

最后,我想谈谈先修要求。由于我们建立的是数学基础,我们肯定需要一些数学背景。本课程大部分内容本质上是自包含的,只需要本科入门级的数学知识。基础的微积分和线性代数非常重要,本课程会大量使用梯度和积分等概念。概率论和统计学也非常重要,本科水平即可。你至少需要了解概率、条件概率、边缘概率、期望等概念。接触过随机过程(如马尔可夫链)的知识会有所帮助,但非必需,我们会在课程中涵盖相关内容。

最后,如果你上过一些机器学习入门课程,这将是推荐的,但不是硬性要求。我个人认为,因为我们在做基础研究,心中有一个目标应用通常是非常好的。除了数学推导,对应用类型和数学在其中的作用有一些直觉是有益的。因此,入门课程是推荐的。如果你将本课程作为第一门机器学习课程,可能会有些挑战。

课程后勤信息

以上是关于课程的简要概述。如果没有问题,我们将讨论一些课程的后勤信息。

你已经知道了课程的时间和地点。我是讲师,Wen Hao 是助教。我们的办公时间将在本周公布。

如前所述,本课程的内容确实是强化学习的数学基础,我们主要处理定理和证明。

关于课程评分,本课程将有五次作业和一次期末考试,构成全部成绩。五次作业占总成绩的 60%,期末考试占 40%。我们的政策是希望没有迟交的作业。如果真的有紧急情况,请至少在截止日期前几天给我发邮件,请不要在最后一刻发邮件要求延期。

如前所述,我们将录制讲座,并更新 2020 年版本的初步讲义。你可以访问课程网站查看。本学期的课程将主要基于这些讲义,我们也会发布更新后的讲义,修正一些错误并使内容更清晰。

我们将在课后几天内发布录像。

我想简要谈谈本学期的教学大纲。这与往年大致相似,但在某些主题上略有变化。首先,我们有五次作业。从作业 2 开始,每两周一次作业,共五次。课程将分为两部分。

第一部分是强化学习的真正基础。我希望在一些非常清晰的设置中讨论强化学习的各个方面,以便我们能非常清晰、明确地理解每个方面。因此,学期的前半部分将专注于表格型 MDP。表格型 MDP 指的是具有有限状态和有限动作的马尔可夫决策过程。

第一周,我们将讨论一些介绍、基础知识和规划算法,即如何基于转移和奖励找到最优策略。

从第二周开始,我们将更多地讨论学习视角,即我们需要从数据中学习 MDP 或学习转移和奖励。每当我们谈论学习时,都需要一些统计和概率工具。因此,从第二周开始,我们将首先讨论进行分析所需的数学工具,即集中不等式和一些如并界之类的工具。

然后,我们将直接进入最重要、最不同的设置,以及如何建立保证。第一个设置称为生成模型模拟器,这是强化学习中从学习角度来看较简单的设置。

接着,我们将讨论两个部分:在线学习离线强化学习。在线强化学习中,我们将讨论探索与利用之间的权衡,并讨论乐观原则如何真正有帮助。离线强化学习则相反,采用悲观主义

在中间,我们还将讨论极小极大下界。如前所述,一个非常重要的问题是样本复杂度,我们将为特定算法提供需要多少样本才能学习的保证。但同样重要的是,我们也想知道我们设计的算法是否已经是最优的,是否存在更好的算法可以实现更低的样本复杂度或更高的计算效率。下界本质上是为了回答这些问题。我们将看到,对于某些算法类别,确实没有算法能够绕过那种样本复杂度。这表明某些算法是紧的、最优的。

讲座的第二部分,在春假之后,将讨论更高级的主题。包括策略优化,这更类似于实践中的 PPO 算法,以及我们如何为这类策略优化算法建立一些保证。

然后,我们将讨论处理大规模状态空间的挑战,这超出了经典的表格型设置(我们假设状态有限)。在这种大规模状态设置中,我们将讨论例如如果我们有无限多个状态,如何处理这种情况。这其中的关键概念是所谓的函数近似,我们将使用一些平滑函数来近似价值或策略。我们将讨论线性函数近似和一般函数近似。这些是抽象概念,只是让你对我们将要讨论的内容有一个大致的了解。如果你不知道这些概念,没关系,我们会在讲到时详细讨论。

课程的最后三周将致力于强化学习中的其他额外挑战。其中两周,我们将从博弈论的角度讨论多智能体强化学习,研究多智能体强化学习的数学模型、算法和保证。最后一周将致力于部分可观测场景,讨论部分可观测 MDP 及其算法和保证。

期末考试是开卷考试,通常会有几天时间完成,你可以花费任意多的时间。

最后,我想简要谈谈一些参考读物。除了我们提供的讲座,我认为第一份草稿是最相关的补充读物。它可能没有太多关于多智能体和部分可观测的内容,但之前的部分都有类似的章节讨论相似内容。尽管表述可能略有不同,但它为你提供了关于大致相似内容的另一种视角。因此,如果你真的想阅读其他材料,这将是最相关的读物。但就讲座的大部分内容而言,将是自包含的,我们真的不需要很多额外的阅读。

还有其他一些非常好的教科书推荐,例如 Richard Sutton 和 Barto 的《强化学习导论》。这确实是强化学习入门书籍。这本书有很多关于应用、公式和算法的内容,但没有过多讨论分析或保证。作为入门教科书,这真的很棒。另外还有 Csaba 的两本额外书籍,其中包含大量赌博机技术,我也推荐。如果你真的想在强化学习领域进行研究生水平的研究,赌博机是一个非常重要的基础部分。这本赌博机算法书籍对不同设置、如何设计算法以及不同场景下能获得何种保证进行了非常全面的介绍。

最后两份是第二周关于集中不等式材料的补充读物。当我们介绍一些新的概率工具来研究 MDP 和学习 MDP 问题时,如果你觉得想多了解一些集中不等式,可以阅读这两份调查或教科书。

已经有一些相关的课程。这是我第三次讲授这门课程。最初我们在 2020 年设计了这门课程,自那时起,不同大学已经开设了许多强化学习课程,包括 UIUC、康奈尔、MIT 等。不同的课程有不同的风格。我相信前两门课程主要是关于第一份草稿,而 Dylan 和 Alexandra Rackling 的课程在统计风格上更深入,会介绍更高级的工具。我个人觉得有点太复杂了,我会在本课程中简要提及,但不会深入。最后,Alexa Gro 和 Alex Scvins 也开设了关于赌博机和强化学习的课程。

还有一些更偏重实证或实践版本的课程,例如 Sergey 在 UC Berkeley 开设的深度强化学习课程。我相信本学期普林斯顿也会有强化学习入门课程,面向高年级本科生和研究生,会讨论很多实证案例研究和实际应用。如果这些是你感兴趣的,你也可以查看这些材料。

以上就是所有的后勤信息。我们使用 Canvas 平台。我们会在 Canvas 上上传所有作业,你的解决方案也应该上传到 Canvas。

如果没有其他问题,我们将直接开始讲座。

马尔可夫决策过程基础

现在,让我们直接进入数学基础。首先讨论 MDP 公式。

MDP 代表马尔可夫决策过程。我们在介绍中提到,这本质上是强化学习一切研究的数学模型。本学期大部分时间,我们将专注于学习 MDP 的不同视角和不同设置。

我们将分步骤最终引入这个 MDP。首先,如前所述,强化学习通常是这样的图示:我们有学习者,有智能体,也有环境。智能体本质上是学习者或决策者,将采取一些动作来影响环境。环境将向智能体发送一些反馈。在介绍幻灯片中,我们说这种反馈包括状态和奖励,我们稍后会讨论这些。但总的来说,我们有这种交互循环。

为了引入 MDP 公式,我想先讨论一些更简单的模型,这些模型基本上是 MDP 的特殊情况。我们将从那里开始,一点一点地添加,最终得到 MDP,并了解它是什么。

从简单模型到 MDP

我想讨论的第一个基本模型叫做多臂赌博机问题

多臂赌博机问题本质上是:想象你去赌场,面对所谓的 K 臂赌博机。你面前有 K 个摇臂。每次你需要拉动其中一个摇臂,并获得一些奖励,本质上你会从这台赌博机中得到一些硬币。

假设我们在这个模型下,当我拉动第一个摇臂时,我会得到一个随机奖励,我得到的硬币数量是从某个高斯分布中采样的。这个高斯分布的均值是 r1,方差是 σ²。如果我拉动第二个摇臂,我会得到一个随机奖励,它从均值为 r2、方差为 σ² 的高斯分布中采样。类似地,如果我拉动最后一个摇臂 K,我会得到一个随机奖励,它从均值为 rK、方差为 σ² 的高斯分布中采样。

在这种情况下,你可以想象每次我拉动一个摇臂,我都会得到一个随机奖励。多臂赌博机的目标之一是识别最佳摇臂。本质上,我们知道因为每个奖励都是从高斯分布中采样的,最佳摇臂可以定义为具有最高均值奖励的摇臂。

对于这类问题,我们可以称之为多臂赌博机问题。我们可以通过两个元素来指定多臂赌博机问题:一个是动作集 A(在我们的例子中本质上是 {1, 2, ..., K}),另一个是奖励分布 R。这两个元素确定了什么是多臂赌博机问题。

我们从非常基础的设置开始,为了让下一个设置稍微复杂一点,我们将讨论所谓的上下文多臂赌博机,或者人们直接称之为上下文赌博机。

上下文多臂赌博机说的是:我有一台 K 臂赌博机。假设上下文多臂赌博机告诉你,不是只有一台机器,而是有多台这样的 K 臂赌博机。例如,我有第一台机器,比如蓝色的赌博机。我还有一台红色的赌博机,也是 K 臂赌博机。我还有一台黄色的赌博机。

上下文多臂赌博机具有以下交互协议:我们与这个上下文多臂赌博机交互 K 轮。在每一轮 k 中,环境首先选择一个上下文 s(在我们的例子中,这个上下文 s 就像是蓝色、红色或黄色)。然后智能体采取一个动作。最后,环境揭示随机奖励。

本质上,我有一个环境在和我玩,它会先告诉我:“你应该先玩蓝色的赌博机”,然后我拉动一个摇臂。接着它告诉我:“你现在只能玩红色的赌博机”,然后我从红色的赌博机拉动另一个摇臂。

这种情况下的目标当然是识别每个上下文的最佳摇臂。有时在 MDP 中,我们会使用状态这个术语。本质上,我想学习的是:如果你告诉我玩蓝色赌博机,我想知道哪个摇臂对蓝色赌博机最好。另一方面,我也想知道哪个摇臂对红色最好,哪个对黄色最好。

在这种情况下,我们本质上可以从数学上描述识别每个上下文最佳摇臂的目标,我们可以称之为最优策略。本质上,这等价于一个最优策略 π。

我们如何定义策略?策略定义为一个映射 π,它将每个上下文(上下文集合是 S)映射到动作集 A。这是一个确定性策略。有时,在讲座的最后部分(例如在一些多智能体场景中),考虑随机化策略也是有益的,即它不仅将状态映射到动作集,而且将状态映射到动作上的概率单纯形。本质上,你将状态映射到一个概率,例如,我有 0.5 的概率采取动作 1,0.5 的概率采取动作 2。这是动作上的概率单纯形。这是随机策略。

上下文多臂赌博机本质上可以通过相同的东西来指定:我们有动作集和奖励分布。我们额外有的是上下文集,或者叫状态。

你可以认为第二个模型,上下文多臂赌博机,是多臂赌博机的有状态版本。它不仅仅是一台单一的赌博机,而是其中有不同的赌博机,不同的赌博机由这个状态或上下文描述。

到目前为止,关于这个模型有什么问题吗?我想介绍这个模型,因为在课程后期,当我们为强化学习开发一些非常复杂或相当复杂的解决方案时,始终记住这些是特殊情况总是好的。如果你觉得理解 MDP 或强化学习的某些概念非常困难,回到简单案例首先理解它如何工作将非常有益,例如多臂赌博机和上下文多臂赌博机,然后思考它如何适用于 MDP,这样你对一切都会有更深入的理解。

马尔可夫决策过程

最后,我们将讨论马尔可夫决策过程。我们将使用很多符号来表示它。它有上下文集或状态集 S,动作集 A,奖励 R。此外,它还有一些转移 P 和 H。我们稍后会讨论这些是什么。

我认为 MDP 试图建模的最重要的事情,除了上下文多臂赌博机之外,是一些时间相关性。本质上,我们想说动作会对未来状态产生影响。本质上,我们不再只是重复玩相同的上下文赌博机,而是状态将以某种特定方式转移,这实际上取决于你采取何种动作。

我们首先讨论协议。交互协议有点类似。我们有不同的回合。通常,如果我们能想到一些目标应用会很好。我有时想到的目标应用是,例如,我们正在玩超级玛丽或国际象棋。本质上,每个回合就像是游戏的一次通关。你可以认为一个回合是从初始状态开始,直到最终(例如超级玛丽中玩家死亡)。然后我们开始另一局游戏,那就是一个回合。

想想超级玛丽是如何进行的。首先是环境揭示初始状态 s1。从初始状态开始,我们需要做出一系列决策,然后环境状态将转移到未来的一系列状态。因此,我们内部有另一个循环。这是针对步骤 h,从 1 到 H。

想象我们玩超级玛丽 H 步。在每一步,智能体选择某个动作 a_h(h 步的动作)。然后环境将转移到下一个状态 s_{h+1},并给出奖励 r_h。

本质上,在我们采取某个动作后,我们可以立即看到动作的效果。例如,在超级玛丽中,如果我们吃了蘑菇,玩家会变大;如果我们跳进某个深坑,玩家就会死亡。所以我们会看到环境如何转移到下一个状态,环境也会给出一些即时奖励。这个奖励是在步骤 h 即时给出的。有时也称为即时奖励。

如果我们能用图表说明事情如何运作,会更清楚。环境首先从某个状态 s1 开始(初始状态)。有时是固定的,有时是从某个分布中随机采样的。玩家将采取 a1 作为第一个动作。s1 和 a1 共同决定环境将进入的下一个状态是什么。s1 和 a1 也共同决定我将收集到的即时奖励是什么。

然后游戏过程继续。在第二步,我知道游戏转移到了 s2,我将采取另一个动作 a2。s2 和 a2 共同决定第三步的状态,以及第二步我们将获得的即时奖励。

我们会说这个过程继续下去,直到我们到达最终状态。在这种情况下,我们考虑的是回合制设置。为简单起见,我们考虑每个游戏只有 H 步。H 是游戏的最终范围。游戏在达到 s_{H+1} 后停止。

MDP 在直觉层面上,真的只是上下文多臂赌博机的一个稍微复杂的版本。上下文多臂赌博机已经有状态、动作和奖励。现在 MDP 的不同之处在于,我们有了额外的转移,本质上描述了状态如何从第一步的 s1 变化到第二步、第三步,以及动作如何影响这些转移。这个 P 是 MDP 中的新东西。我们将更具体地讨论这些东西是什么。

MDP 的形式化定义

我们将正式定义 MDP 的元素。

首先,S 是我们所说的状态集合。这个集合可以是任何东西,可以是 {1, 2, 3, 4, ...} 等状态。或者你可以说它是蓝色、黄色等。这并不重要,它只是你拥有的任何状态。这是一个状态集合。

A 是动作集合。你在每个不同状态下可以采取的动作类型。

为简单起见,我们说 R 只是一个奖励函数。本质上,R 被定义为各个 R_h(h 从 1 到 H)。其中 R_h 是一个从状态-动作对映射到 [0, 1] 之间某个实数的映射。本质上,这个数字 R_h(s, a) 是如果当前处于状态 s 并采取动作 a 时将获得的奖励。为简单起见,我们在这里考虑确定性奖励。这就像一个函数。所以我们不再有奖励分布。奖励真的只是一个单一函数。这与我们的多臂赌博机和上下文多臂赌博机略有不同。我认为我们通常可以这样做的原因是,因为我们将看到转移中有一些随机性,通常转移中的随机性比奖励中的随机性更难处理。因此,通常我们后来开发的适用于随机转移和确定性奖励的任何结果或理论分析,都可以很容易地扩展到随机转移和随机奖励的情况。这只是为了简单起见。我们当然可以处理随机奖励,只是符号稍微复杂一些,我们不想让一切变得更复杂。

我认为关键重要的部分是 P,即转移矩阵。同样,P 是... 因为这是回合制设置,我们可能有每个不同的部分。所以每一步都会有一个不同的转移矩阵。其中 P 本质上是概率 P_h(s' | s, a)。这真的是在给定当前处于状态 s 并采取动作 a 的条件下,转移到下一个状态 s' 的概率。

最后,我们有最后一个元素 H,它只是回合的长度。

为什么它被称为马尔可夫决策过程?马尔可夫部分是什么?一个非常简单的原因是,让我们考虑固定动作序列的情况。那么如果你看这个图,如果 a1, a2, ..., aH 是固定的,那么我们基本上就去掉了这个部分,因为它不再起作用,因为我们已经预设了这些动作。我们看剩下的链,这就像 s1 到 s2,s2 到 s3,本质上剩下的状态形成了一个马尔可夫链。那么状态序列 s1 到 s_{H+1} 就是一个马尔可夫链。

对于那些不熟悉随机过程的人,我认为马尔可夫链是你在那门课中学到的非常重要的基本随机过程之一。我认为马尔可夫链最重要的属性是依赖性。依赖性本质上说,例如,如果这只是一个链,那么以当前步骤发生的情况为条件(例如,以 s2 为条件),之前发生的和之后发生的是独立的。这本质上说明,以 s_h 为条件,s1 到 s_{h-1} 之前发生的一切和 s_{h+1} 到最后状态 s_{H+1} 之后发生的一切,这两件事的概率分布是独立的。这是一个非常重要的属性,本质上当前状态已经是过去的充分统计量,如果你想对未来做出一些预测。我们有时会在 MDP 中利用这个属性,这个马尔可夫属性已经内置于这个假设中,即转移被假定为这种方式。本质上,下一个状态只是以当前状态和动作为条件的某个分布,与之前的状态无关。这种属性已经假设这是一个马尔可夫链。所以我们这里已经有了马尔可夫属性。

状态数量必须是有限的吗?在这个基本公式中,为了便于理解,你可以认为它是一个有限集合,但你也可以在这个公式中使有限集合变成可数无限或不可数无限,甚至无限大。后来,我们实际上会处理无限大的情况,例如函数近似主题。我们处理的是具有无限多状态的 MDP。所以答案是,在这个公式中,你不一定要求状态数量有限,它可以是无限大的。

MDP 的核心概念

在我们介绍了基本公式之后,我们将讨论几个非常重要的概念,这些概念我们将在整个课程中讨论。

我们将讨论三个最重要的概念:环境价值策略

首先,当我们谈论学习环境或理解探索某个未知环境时,在 MDP 场景中,我们通常所说的环境指的是 MDP 中的两个属性,即这个转移 P 和奖励 R。后来许多不同的设置将根据我们如何了解环境以及如何与环境交互来划分。有很多不同的设置。一种是已知环境,我们只做规划,这是一个较简单的设置。未知环境也可以进一步划分为一些模拟器场景,我们有一些非常强大的东西,虽然我们不知道转移和奖励,但我们可以很容易地从中学到它们;或者像更具挑战性的设置,我们可以处理这种在线场景,我们必须进行在线交互;或者我们有离线场景,我们不能再与 MDP 交互,但我们可以访问一些预先收集的数据。基本上,许多不同的设置都围绕着我们如何假设访问这个环境。我们稍后会更具体地讨论这些设置。这是从交互中学习,这是从预先收集的数据中学习。

接下来,我们将讨论策略。如果你还记得,我们已经在上下文赌博机中遇到了策略的概念,其中策略只是一个映射,从状态映射到动作或动作的分布。本质上,策略告诉你在每个状态下你将采取什么样的动作。这里的 MDP 真的只是这种上下文多臂赌博机的序列版本,所以策略大致具有类似的结构。策略也是一个映射。它不仅将状态作为输入,还将你采取动作的步骤作为输入。它从状态空间和 H(H 本质上是集合 {1, 2, ..., H})映射到动作集 A。这是针对确定性策略。你也可以说对于随机或随机策略,你将其映射到 A 的概率单纯形。

等价地,如果你不习惯这种符号,我们也可以使用其他符号。我们将在课程中互换使用这些符号。相应地,我们也可以说这个 π 是 H 个不同策略的集合。本质上,我们对于不同的步骤有不同的策略。每个 π_h 是一个从状态到动作或动作概率单纯形的映射,取决于确定性策略还是随机策略。这本质上是等价的公式。你可以将 π 视为从 S × H 的映射,或者你可以说有 H 个不同的函数,每个函数只是从状态到动作的映射。

我想强调一点,这种谈论策略的方式实际上就是所谓的马尔可夫策略,或者我称之为马尔可夫策略,因为每一步的策略 π_h 只依赖于当前状态,本质上在这里使用了一些马尔可夫属性。但我们也可以有一般策略。一般策略可能更复杂。本质上,在步骤 h,当我想做出一些决策采取动作 a 时,我有更多的信息。我不仅有当前状态,还可以访问所有之前的状态和所有之前的动作。所以一般策略本质上是我想要跳出框框思考。为什么不利用所有关于历史的先前信息来做出决策呢?所以一般策略也可以定义为 π = {π_h}_{h=1}^{H}。一般策略的唯一区别是,每个策略将不再是从状态到动作的映射,而是从整个历史到动作的映射。整个历史本质上是 s1, a1, s2, a2, ..., 直到最后 s_h。所以它本质上是这个集合中的元素。

我想在这里讨论一般策略,因为我不想给人留下策略必须是某种形式的初步印象,特别是在后期阶段,例如当我们讨论多智能体强化学习或部分可观测强化学习时。事实上,这种马尔可夫策略并不总是好的。在很多场景中,我们需要讨论这种一般策略。我们需要依赖于历史。但对于 MDP,有一个非常好的属性,我们不再需要讨论这种一般策略。我想我们将在下一讲中介绍,本质上当我们想要讨论某个最优策略(即最佳策略)时,你实际上可以证明最优策略总是马尔可夫的。所以我们将在下一讲正式讨论这一点。这就是为什么在不失一般性的情况下,我们总是可以只讨论马尔可夫策略,并且对于课程的很大一部分,我们可以忽略一般策略。

价值函数

最后,我们可以讨论价值

我们将首先介绍策略 π 的价值。我们介绍两种类型的价值,一种叫做 V 价值,另一种叫做 Q 价值

我们将表示 V 价值 V_h^π 在每个值上定义,对应于每个不同的步骤。它只对应于一个特定的策略 π。V 价值定义在一个状态上,而 Q 价值定义在一个状态-动作对上。

这个 V 价值的定义本质上是累积奖励,如果我从状态 s 在步骤 h 开始,并遵循策略 π。你可以想象这类似于这样的概念:例如,如果你在下国际象棋,并且你真的知道你所遵循的策略是什么。那么,例如,你固定一个策略,你大致会有一个估计。目前,我处于棋盘的这种配置,每个棋子在不同的位置。我想知道,从当前配置开始,我赢得这场比赛的概率是多少。这本质上是价值的概念:如果你从当前状态 s 开始并持续遵循策略 π,你将获得的所有未来奖励的总和。

类似地,Q 价值基本上是相同的想法。唯一不同的是,你不是从某个状态 s 开始,而是从状态-动作对 (s, a) 开始,也在步骤 h,并遵循策略 π。唯一的区别是,这是从 s 开始。所以在步骤 h,我们从状态 s 开始。而这是在步骤 h,我们从状态 s 开始并立即采取动作 a。在这里,我将立即采取的动作是遵循策略 π。这是唯一的区别。其他一切都相同。

V 价值是否总是等于 Q 价值乘以 π 的求和?我们将讨论这个关系。a 是否总是等于 π(s)?这个 a 不一定是。这个 a 可以是任何任意的 a。这就是为什么我说,是的。在这个定义中,在步骤 h,a 总是从 π 中采样。但这个 a 可以是任何东西。所以 V(s) 等于 Q... 是的,这是正确的。我们将在下一讲讨论这个。

最后,我只想非常快速地谈谈这两者的数学定义。这是文字定义。数学定义本质上是:V_h^π(s) 等于所有未来奖励总和的期望,即从步骤 h 到最终步骤我将收集的奖励 r_{h'},条件是目前 s_h = s。这是 V 价值的定义。Q 价值非常相似,它是取所有未来奖励总和的期望,条件是目前 s_h = s 且 a_h = a,并遵循策略 π。

我想稍微解释一下这个符号。我们实际上在期望中取什么?为了理解这一点,我们首先需要从这个符号中理解,什么是随机的东西。我们知道 s_h, a_h 在每一步都已经固定。所以除此之外的一切,未来的所有东西实际上都是随机的,可能是随机的。我们需要对其取期望。所以这包括 s_{h+1} 可以是随机的,a_{h+1} 可以是随机的,s_{h+2},一直到 s_{H+1}。本质上,我们可以将这个期望展开。这个期望也将等于我们一个一个地对每个随机变量取期望。在最外面,我们首先对 s_{h+1} 取期望,其中这个状态是从给定 s_h 和 a_h 的转移概率中采样的。然后我们将采样 a_{h+1},它来自 π_{h+1},给定 s_{h+1}。然后我们将有下一个状态 s_{h+2},再次从转移中采样,给定 s_{h+1}, a_{h+1}。然后我们将有 a_{h+2},依此类推,直到最后。这本质上是这个期望的展开。

强化学习的目标

有了 MDP 的所有这些定义,我们最终可以得出强化学习的目标或目的。

想象强化学习 MDP 就像国际象棋游戏。我们真正想要的是有一个策略,一种下棋的方式,以便我们可以最大化我们的胜率。用数学术语来说,我们本质上可以说我们想找到某个最优策略 π,以最大化初始状态的价值*。本质上,我们想找到最优的 π,以实现这个价值的最大值。这是第一步的价值,这是初始状态。

通常有几种情况:我们可以首先考虑一个固定的初始状态。或者有时,如果你不满意固定的初始状态,你想讨论一些随机初始状态。那么你本质上想最大化类似这样的东西:s1 从某个初始分布 μ 中采样的期望,以及 V_1^π(s1)。但为简单起见,在本课程的许多情况下,我们只考虑一个简单的设置,即我们有一个固定的初始状态。这真的是我们想要实现的目标。我们想找到一个策略,以便从一开始就能实现最大价值。

总结

本节课中,我们一起学习了强化学习的基本介绍及其数学基础的核心——马尔可夫决策过程。我们从广泛的应用领域(如机器人、游戏、自动驾驶和大型语言模型)出发,理解了强化学习解决序列决策问题的本质。课程将深入探讨MDP的数学模型、不同学习设置(如规划、在线/离线学习)、核心挑战(如探索与利用、大规模状态空间)以及算法设计与理论保证(样本效率与计算效率)。

我们正式定义了MDP的五个核心元素:状态集 S、动作集 A、奖励函数 R、转移概率 P 和回合长度 H。通过对比更简单的多臂赌博机和上下文赌博机模型,我们理解了MDP引入了状态转移的时间相关性。此外,我们介绍了策略(确定性/随机性、马尔可夫/一般策略)和价值函数(状态价值函数 V 和动作价值函数 Q)这两个关键概念,它们量化了在特定策略下从某状态(或状态-动作对)出发的长期期望回报。

最终,强化学习的目标被形式化为:找到一个最优策略 π*,以最大化从初始状态开始的累积奖励。在下一讲中,我们将探讨如何计算这些价值函数以及如何寻找最优策略。

002:贝尔曼方程 🧠

在本节课中,我们将要学习强化学习的核心数学工具——贝尔曼方程。我们将首先回顾马尔可夫决策过程的基本概念,然后证明一个关键命题,即在不失一般性的情况下,我们可以只关注马尔可夫策略。接着,我们将深入探讨如何利用贝尔曼方程进行策略评估,并最终推导出用于寻找最优策略的贝尔曼最优方程。

回顾与预备知识

上一节我们介绍了马尔可夫决策过程的基本公式。本节中,我们来简要回顾一下。

一个MDP包含以下元素:

  • 状态集合 (S)
  • 动作集合 (A)
  • 奖励函数 (R)
  • 转移概率/矩阵 (P)
  • 最终时间步长 (H) - 在本课程中,我们主要讨论分幕式设定。

我们还讨论了环境和策略。

  • 环境 通常指代元素 (P, R)。今天我们首先讨论环境已知的情况。
  • 策略 有两种类型:
    • 马尔可夫策略:策略 π 由 H 个函数组成。每个函数 π_h 将当前状态 s 映射到动作集 A(确定性策略)或动作集上的概率单纯形(随机性策略)。其形式为:π = (π_1, π_2, ..., π_H)
    • 一般策略:策略 π_h 的映射依赖于整个历史 τ_h = (s_1, a_1, ..., s_h),而不仅仅是当前状态 s_h。

最后,我们定义了价值函数。

  • 状态价值函数 V^π_h(s) 定义为:从第 h 步状态 s 开始,遵循策略 π 所能获得的期望累积奖励。公式为:V^π_h(s) = E_π[ Σ_{h'=h}^{H} R_{h'}(s_{h'}, a_{h'}) | s_h = s ]
  • 动作价值函数 Q^π_h(s, a) 定义为:从第 h 步状态 s 并执行动作 a 开始,然后遵循策略 π 所能获得的期望累积奖励。公式为:Q^π_h(s, a) = E_π[ Σ_{h'=h}^{H} R_{h'}(s_{h'}, a_{h'}) | s_h = s, a_h = a ]

需要强调的是,V^π_h(s) 的定义明确适用于马尔可夫策略。对于一般策略,未来的累积奖励可能依赖于整个历史,因此价值函数通常需要定义为 V^π_h(τ_h)。然而,在第一步 (h=1),由于没有更早的历史,V^π_1(s_1) 的定义对两种策略都适用。

我们的目标是找到一个最优策略 π*,以最大化初始状态的价值 V^π_1(s_1)

命题一:马尔可夫策略的充分性 🔄

上一节我们提到了策略的复杂性。本节中,我们将证明一个关键命题,它表明在MDP中,我们可以只关注马尔可夫策略。

命题一:对于任何一般策略 π,都存在一个马尔可夫策略 μ,使得在初始状态 s_1 下的价值相等,即 V^π_1(s_1) = V^μ_1(s_1)

这个命题的直接推论是:至少存在一个最优策略是马尔可夫策略。因此,在后续关于MDP的讨论中,我们将只关注马尔可夫策略。

证明

我们通过构造法来证明。目标是构造一个马尔可夫策略 μ,使其与给定的一般策略 π 具有相同的“访问度量”。

访问度量:定义 P^π_h(s, a) 为从初始状态 s_1 开始,遵循策略 π,在第 h 步访问到状态-动作对 (s, a) 的概率。价值函数可以重写为:
V^π_1(s_1) = Σ_{h=1}^{H} Σ_{s,a} P^π_h(s, a) * R_h(s, a)
因此,如果两个策略在所有 (s, a, h) 上的访问度量 P_h(s, a) 都相同,那么它们的初始价值就相同。

构造马尔可夫策略 μ
对于每个步数 h 和状态 s,我们如下定义 μ_h(a|s):
μ_h(a|s) = [ Σ_{τ_{h-1}: s_h=s} P^π(τ_{h-1}) * π_h(a | τ_{h-1}) ] / P^π_h(s)
其中,分母 P^π_h(s) 是遵循 π 在第 h 步访问到状态 s 的概率。如果 P^π_h(s) = 0(即 π 永远不会访问该状态),则 μ_h(·|s) 可以任意定义(例如均匀分布)。
直观上,这个构造是对所有能以状态 s 结束的历史轨迹,按其概率对 π 在该历史下的动作选择进行加权平均。

证明 μ 与 π 具有相同的访问度量
我们通过对步数 h 进行归纳法来证明 P^μ_h(s) = P^π_h(s)P^μ_h(s, a) = P^π_h(s, a)

  • 基例 (h=1):由于初始状态 s_1 固定,显然有 P^μ_1(s_1) = P^π_1(s_1) = 1。根据 μ 的构造,P^μ_1(s_1, a) = μ_1(a|s_1) = π_1(a|s_1) = P^π_1(s_1, a)
  • 归纳步骤:假设对于步数 h,有 P^μ_h(s) = P^π_h(s)P^μ_h(s, a) = P^π_h(s, a) 对所有 s, a 成立。
    1. 首先证明 P^μ_h(s, a) = P^π_h(s, a) 对 h 成立(这实际上是归纳假设的一部分,但我们可以验证构造的一致性):
      • 左边:P^μ_h(s, a) = P^μ_h(s) * μ_h(a|s)
      • 右边:P^π_h(s, a) = Σ_{τ_{h-1}: s_h=s} P^π(τ_{h-1}) * π_h(a | τ_{h-1})
        根据 μ_h 的构造,两者相等。
    2. 然后证明 P^μ_{h+1}(s') = P^π_{h+1}(s')
      P^μ_{h+1}(s') = Σ_{s,a} P^μ_h(s, a) * P(s' | s, a) (利用MDP的马尔可夫性)
      = Σ_{s,a} P^π_h(s, a) * P(s' | s, a) (根据归纳假设)
      = P^π_{h+1}(s')
      由此,结合 μ 的构造,也可推出 P^μ_{h+1}(s', a') = P^π_{h+1}(s', a')

归纳完成,因此构造的马尔可夫策略 μ 与一般策略 π 在所有步数上具有相同的状态-动作访问概率,从而 V^π_1(s_1) = V^μ_1(s_1)。证毕。

贝尔曼方程与策略评估 ⚙️

既然我们可以专注于马尔可夫策略,接下来的问题就是:给定一个固定的马尔可夫策略 π,如何高效计算其价值 V^π_1(s_1)?这就是策略评估问题。

一种朴素的方法是直接根据定义,对所有可能的轨迹进行求和。但轨迹数量是 (S*A)^H 量级的,计算成本是指数级的,不可行。

高效计算的关键在于利用MDP的马尔可夫结构,通过动态规划实现。其核心是贝尔曼方程

贝尔曼方程

贝尔曼方程建立了相邻步数价值函数之间的关系:

  1. 状态价值与动作价值的关系
    V^π_h(s) = Σ_{a ∈ A} π_h(a|s) * Q^π_h(s, a)
    这个方程说明,一个状态的价值是其所有可能动作价值的概率加权平均。

  2. 动作价值的递归关系
    Q^π_h(s, a) = R_h(s, a) + Σ_{s' ∈ S} P_h(s' | s, a) * V^π_{h+1}(s')
    这个方程说明,一个状态-动作对的价值等于即时奖励加上下一状态期望价值的折扣(此处折扣因子为1)。
    我们引入简洁记号:[P_h V^π_{h+1}](s, a) = E_{s'∼P_h(·|s,a)}[ V^π_{h+1}(s') ]。因此上式可写为:
    Q^π_h(s, a) = R_h(s, a) + [P_h V^π_{h+1}](s, a)

动态规划进行策略评估

利用贝尔曼方程,我们可以通过反向递归(动态规划)高效计算 V^π_1(s_1)

  1. 初始化:设置终端后一步的价值为零,V^π_{H+1}(s) = 0(对于所有状态 s)。
  2. 反向递归:对于步数 h = H, H-1, ..., 1:
    a. 对于所有状态-动作对 (s, a),计算:
    Q^π_h(s, a) = R_h(s, a) + [P_h V^π_{h+1}](s, a)
    b. 对于所有状态 s,计算:
    V^π_h(s) = Σ_{a ∈ A} π_h(a|s) * Q^π_h(s, a)
  3. 得到结果:递归完成后,即得到 V^π_1(s_1)

这个动态规划算法的复杂度是多项式级别的,与步数 H 呈线性关系,远优于指数级的朴素方法。

贝尔曼最优方程与最优策略 🏆

策略评估是第一步,我们的最终目标是找到最优策略 π*,使得初始价值最大化:π* = argmax_π V^π_1(s_1)

受贝尔曼方程的启发,我们猜想最优策略应该满足一个类似的方程,但将“平均”操作替换为“最大化”操作。

贝尔曼最优方程

我们定义最优价值函数 V*_h(s)Q*_h(s, a),它们满足以下贝尔曼最优方程

  1. V*_h(s) = max_{a ∈ A} Q*_h(s, a)
  2. Q*_h(s, a) = R_h(s, a) + [P_h V*_{h+1}](s, a)

与策略评估的贝尔曼方程相比,第一个方程中的求和 Σ π(a|s)[·] 被替换为了最大化 max_a[·]

从最优方程到最优策略

根据贝尔曼最优方程,我们可以自然地导出一个确定性策略 π*:
π*_h(a|s) = 1, 如果 a = argmax_{a' ∈ A} Q*_h(s, a');否则为 0。
(若最大值对应多个动作,可任意选择其一)。

可以验证,这个策略 π* 的贝尔曼方程与贝尔曼最优方程完全相同,因此有:
V*_h(s) = V^{π*}_h(s)Q*_h(s, a) = Q^{π*}_h(s, a)
即,贝尔曼最优方程的解正是这个特定策略 π* 的价值函数。

命题二:最优性证明

我们现在证明一个更强的命题:上述策略 π* 是一致最优的,即对于所有步数 h 和所有状态 s,都有:
V^{π*}_h(s) = max_{π ∈ (马尔可夫策略)} V^π_h(s)
当 h=1, s=s_1 时,这就是我们最初的最优策略定义。

证明(反向归纳法):

  • 基例:在 h = H+1 步,V^{π*}_{H+1}(s) = 0 = max_π V^π_{H+1}(s)
  • 归纳假设:假设对于 h+1 步,V^{π*}_{h+1}(s) = max_π V^π_{h+1}(s) 对所有 s 成立。
  • 归纳步骤
    1. 证明 Q^{π*}_h(s, a) 是最优的
      max_π Q^π_h(s, a) = R_h(s, a) + max_π [P_h V^π_{h+1}](s, a)
      根据归纳假设,V^{π*}_{h+1} 在所有状态上都达到了最大价值。因此,最大化策略 π 在所有下一个状态 s‘ 上都能同时达到最大值(即都是 π*)。这使得我们可以交换 max 和期望算子:
      max_π [P_h V^π_{h+1}](s, a) = [P_h (max_π V^π_{h+1})](s, a) = [P_h V^{π*}_{h+1}](s, a)
      所以,max_π Q^π_h(s, a) = R_h(s, a) + [P_h V^{π*}_{h+1}](s, a) = Q^{π*}_h(s, a)
    2. 证明 V^{π*}_h(s) 是最优的
      max_π V^π_h(s) = max_π Σ_a π_h(a|s) Q^π_h(s, a)
      由于 Q^π_h(s, a) 只依赖于未来策略(步数 > h),我们可以将最大化分解。利用上一步结论,最优未来策略是 π,且最优动作是最大化 Q^{π*}_h(s, a) 的动作:
      max_π V^π_h(s) = max_{π_h} Σ_a π_h(a|s) * (max_{π_{>h}} Q^π_h(s, a)) = max_{π_h} Σ_a π_h(a|s) * Q^{π*}_h(s, a)
      这个最大化在确定性策略(将全部概率质量赋予使 Q^{π*}_h(s, a) 最大的动作 a)时取得。这正是 π
      _h 的定义。因此:
      max_π V^π_h(s) = max_a Q^{π*}_h(s, a) = V^{π*}_h(s)
  • 归纳完成,证毕。

总结 📚

本节课中我们一起学习了强化学习的理论基础:

  1. 马尔可夫策略的充分性:在马尔可夫决策过程中,寻找最优策略时,只需考虑马尔可夫策略,因为任何一般策略的性能都可以被某个马尔可夫策略匹配。
  2. 策略评估与贝尔曼方程:给定一个固定策略,可以通过贝尔曼方程进行动态规划,高效计算其价值函数,避免了直接枚举轨迹的指数复杂度。
  3. 最优策略与贝尔曼最优方程:最优价值函数满足贝尔曼最优方程,该方程将均值操作替换为最大化操作。通过求解贝尔曼最优方程(或等价地,进行最优策略的动态规划),我们可以得到一个确定性马尔可夫策略,该策略在所有状态和所有步数上都是一致最优的。

这些概念和方程构成了解决已知环境MDP问题的规划算法的核心。在接下来的课程中,我们将探讨如何计算最优策略的具体规划算法,并开始讨论更具挑战性的场景——当环境未知时,如何利用数据来学习并做出决策。

003:规划与集中不等式

在本节课中,我们将要学习两个核心部分。首先,我们将继续探讨如何计算最优策略,即规划问题,并介绍两种经典算法:值迭代和策略迭代。其次,我们将转向学习问题的预备知识,引入一个关键的数学工具——集中不等式,它帮助我们理解如何通过有限样本准确地估计未知环境。

规划算法

上一节我们介绍了贝尔曼最优方程,它为我们寻找最优策略提供了理论基础。本节中,我们来看看如何利用这个方程来实际计算最优策略。

值迭代算法

值迭代算法直接利用贝尔曼最优方程,通过动态规划的方式计算最优值函数和策略。

以下是值迭代算法的步骤:

  1. 初始化:对于所有状态 ( s ),设最终步的值函数 ( V^*_{H+1}(s) = 0 )。
  2. 反向迭代:对于步数 ( h ) 从 ( H ) 到 ( 1 ) 依次执行:
    • 计算最优动作值函数:对于所有状态 ( s ) 和动作 ( a ),( Q^h(s, a) = R_h(s, a) + \mathbb{E}[V^_{h+1}(s‘)] )。
    • 计算最优状态值函数:对于所有状态 ( s ),( V^_h(s) = \max_a Q^_h(s, a) )。
  3. 提取最优策略:最优策略 ( \pi^_h(s) = \arg\max_a Q^_h(s, a) )。

该算法通过动态规划,从最后一步反向计算至第一步,最终得到最优策略。

策略迭代算法

策略迭代算法采用另一种思路:它维护一个策略序列,并通过不断评估和改进该策略来逼近最优策略。

以下是策略迭代算法的步骤:

  1. 初始化:任意选择一个初始策略 ( \pi^0 )。
  2. 迭代优化:对于迭代轮次 ( t = 1, 2, ... ) 执行以下两步:
    • 策略评估:计算当前策略 ( \pi^{t-1} ) 的值函数 ( Q{\pi{t-1}} )。
    • 策略改进:基于计算出的值函数,生成一个新策略 ( \pi^t ),其中 ( \pi^t_h(s) = \arg\max_a Q{\pi{t-1}}_h(s, a) )。

关于策略迭代,有一个重要的收敛性定理:在有限步长 ( H ) 的设定下,策略迭代算法最多经过 ( H ) 轮迭代就能找到最优策略,即对于任意 ( t \ge H ),( \pi^t ) 是最优策略。

证明思路(归纳法)
我们证明一个更强的结论:在第 ( t ) 轮迭代后,对于所有 ( h \ge H - t ),有 ( Q{\pit}_h = Q^*_h )。即每轮迭代能使最优性向更早的时间步“传播”一步。

  • 基础情况(t=0):在最后一步 ( h=H ),无论策略如何,( Q{\pi0}_H(s,a) = R_H(s,a) = Q^*_H(s,a) )。
  • 归纳步骤:假设第 ( t ) 轮后结论成立。在第 ( t+1 ) 轮,策略改进步骤会使得对于 ( h \ge H-t ),新策略 ( \pi^{t+1}h ) 在状态 ( s ) 选择的动作与最优策略 ( \pi^_h(s) ) 相同(都是贪心地根据 ( Q^h ) 选择)。由于 ( Q ) 函数只依赖于未来的策略,而我们已经知道对于 ( h‘ > h ) 的未来步,( \pi^{t+1} ) 已经是最优的(归纳假设),因此可以推出 ( Q{\pi{t+1}} = Q^* )。这正好使得结论对 ( t+1 ) 轮和 ( h \ge H-(t+1) ) 成立。当 ( t = H ) 时,即覆盖所有步长 ( h \ge 0 ),策略达到全局最优。

两种算法的比较与设定说明

在理论最坏情况下,值迭代通常更高效,因为它直接求解贝尔曼最优方程,而策略迭代的每一轮都需要进行一次完整的策略评估。但在某些实际场景或无限时域折扣设定下,策略迭代可能表现更佳。

我们主要关注有限时域设定,因为其动态规划结构更清晰。无限时域折扣设定可以通过引入折扣因子 ( \gamma ) 和考虑有效时域 ( \tilde{O}(1/(1-\gamma)) ) 来近似转化为有限时域问题进行分析。

从规划到学习

规划问题假设我们完全了解环境(转移概率 ( P ) 和奖励 ( R ))。然而,在真正的强化学习中,环境通常是未知的,智能体必须通过交互采样来估计环境模型,进而学习最优策略。这就引出了统计估计问题。

考虑一个简单例子:估计从一个固定的状态-动作对 ( (s, a) ) 转移到某个新状态 ( s‘ ) 的概率 ( p )。这类似于估计一枚有偏硬币正面朝上的概率 ( p )。我们通过独立投掷硬币 ( n ) 次,得到观测 ( X_1, X_2, ..., X_n )(例如正面为1,反面为0)来估计 ( p )。

根据大数定律,样本均值 ( \hat{p}n = \frac{1}{n}\sum^n X_i ) 会几乎必然地收敛到真实参数 ( p )。但对于学习理论,我们更关心样本复杂度:需要多少样本 ( n ),才能以高概率保证估计误差 ( |\hat{p}_n - p| ) 小于某个给定值 ( \epsilon )?这就需要更精细的工具——集中不等式

集中不等式导引

集中不等式量化了随机变量与其期望之间偏差的概率上界。它是分析学习算法样本复杂度的核心数学工具。

在介绍具体不等式前,我们先明确一些用于描述复杂度阶数的渐近记号,以便简洁地表达结论:

  • ( O(\cdot) ):上界,忽略常数因子。
  • ( \tilde{O}(\cdot) ):上界,忽略常数因子和对数因子。
  • ( \Omega(\cdot) ):下界,忽略常数因子。
  • ( \Theta(\cdot) ):紧界,同时是 ( O(\cdot) ) 和 ( \Omega(\cdot) )。
  • ( o(\cdot) ):严格上界,当变量趋于无穷时比值趋于0。

霍夫丁不等式

我们首先介绍一个最基本但非常重要的集中不等式,适用于有界独立随机变量之和。

定理(霍夫丁不等式):设 ( X_1, X_2, ..., X_n ) 为相互独立的随机变量,且对于每个 ( i ),( X_i ) 几乎必然落在区间 ( [a_i, b_i] ) 内。记 ( S_n = \sum_{i=1}^n X_i ),( \mathbb{E}[S_n] = \sum_{i=1}^n \mathbb{E}[X_i] )。那么,对于任意 ( t > 0 ),有:
[
P(S_n - \mathbb{E}[S_n] \ge t) \le \exp\left(-\frac{2t2}{\sum_{i=1}n (b_i - a_i)^2}\right)
]
同样地,有 ( P(\mathbb{E}[S_n] - S_n \ge t) \le \exp\left(-\frac{2t2}{\sum_{i=1}n (b_i - a_i)^2}\right) )。

直观理解:该不等式表明,有界独立随机变量之和偏离其期望超过 ( t ) 的概率,随着 ( t ) 的增大呈指数级衰减(衰减速度与 ( t^2 ) 成正比)。这意味着大部分概率质量都集中在期望值附近,即随机变量之和是“集中”的。这一定理是分析许多统计估计器性能的基础。我们将在后续课程中给出其证明。

总结

本节课中我们一起学习了:

  1. 规划:在已知环境模型时寻找最优策略。我们掌握了值迭代(基于贝尔曼最优方程的直接动态规划)和策略迭代(通过交替评估和改进策略)两种算法,并理解了策略迭代的收敛性证明。
  2. 学习的基础:当环境未知时,我们需要通过采样来估计模型。这引出了对统计估计理论的需求。
  3. 集中不等式:作为分析学习算法样本复杂度的关键工具,我们引入了霍夫丁不等式,它描述了有界独立随机变量之和的集中性质,为后续理论分析奠定了基础。

下一讲,我们将深入探讨霍夫丁不等式的证明及其应用。

004:集中不等式

在本节课中,我们将要学习集中不等式,特别是霍夫丁不等式和伯恩斯坦不等式。这些不等式描述了独立随机变量之和与其期望值之间的偏差概率,是理解随机过程收敛性和后续强化学习算法理论保证的基础。

霍夫丁不等式

上一节我们介绍了集中不等式的概念,本节中我们来看看一个核心的不等式:霍夫丁不等式。

霍夫丁不等式指出:令 X1, X2, ..., Xn 为独立的随机变量。以概率1保证,每个 Xi 被限制在区间 [ai, bi] 内。定义 Ri = bi - ai 为每个区间的长度。

那么,对于任意 t ≥ 0,我们有:

P( Σ_{i=1}^{n} (Xi - E[Xi]) ≥ t ) ≤ exp( -2t² / Σ_{i=1}^{n} Ri² )

这个不等式本质上是一个尾界。如果我们把随机变量之和 Sn = Σ_{i=1}^{n} Xi 看作一个分布,那么这个不等式表明,Sn 偏离其期望值超过 t 的概率非常小,呈指数级衰减。正因为概率质量都集中在期望值附近,所以它被称为“集中”不等式。

我们可以通过变量替换,将这个不等式写成另一种常用形式。令 δ = exp( -2t² / Σ_{i=1}^{n} Ri² ),我们可以解出 t

在相同条件下,对于任意 δ > 0,以至少 1 - δ 的概率,我们有:

| Σ_{i=1}^{n} (Xi - E[Xi]) | ≤ √( ( Σ_{i=1}^{n} Ri² ) * log(2/δ) / 2 )

这个形式更直接地告诉我们,在很高的概率下,总波动量不会超过一个由 Riδ 决定的阈值。

为了理解这个结论的意义,我们可以考虑一个简单情况:假设所有 Ri 都相等,即 R1 = R2 = ... = Rn = R。那么总波动的上界大致为 O(√n)。如果我们考虑平均值,其波动上界则为 O(1/√n)

这个结论是非平凡的。考虑一个随机游走过程,每一步的波动是独立的。如果没有独立性(例如完全正相关),总波动可能以 O(n) 的速度增长。但正是因为这些波动是独立且随机的,它们会相互抵消,使得总和的增长被限制在 O(√n) 的量级。这也意味着,随着样本数 n 的增加,样本平均值将以 1/√n 的速度收敛到期望值,这在一定意义上恢复了(弱)大数定律。

霍夫丁不等式的证明思路

接下来,我们来看看如何证明霍夫丁不等式。证明过程分为三个引理,这是整个集中不等式理论的核心。

第一步:马尔可夫不等式
这是一个基础的不等式。令 X 为一个非负随机变量,那么对于任意标量 a > 0,有:

P(X ≥ a) ≤ E[X] / a

这个证明很直接,通过将期望积分在 X ≥ a 的区域进行下界放缩即可得到。虽然它也是一个尾界,但比霍夫丁不等式要宽松得多(衰减速度是 1/a 而非指数衰减)。我们将用它作为起点。

第二步:次高斯随机变量的性质
我们引入一个抽象条件来定义一类具有良好集中性质的随机变量,称为次高斯随机变量。

X1, X2, ..., Xn 为独立随机变量。如果对于任意实数 λ,满足以下矩生成函数条件:

E[ exp( λ (Xi - E[Xi]) ) ] ≤ exp( λ² σi² / 2 )

那么,对于任意 t ≥ 0,我们有集中不等式:

P( Σ_{i=1}^{n} (Xi - E[Xi]) ≥ t ) ≤ exp( -t² / (2 Σ_{i=1}^{n} σi²) )

这个引理是证明的关键。它表明,只要随机变量满足这个“次高斯”条件,其和就有指数级的集中性。之所以称为“次高斯”,是因为满足此条件的随机变量,其分布尾部的衰减速度至少和正态分布一样快。正态分布和有界随机变量都属于次高斯族。

证明的核心技巧是利用指数函数和独立性。我们想估计 P( Σ (Xi - E[Xi]) ≥ t )。对于任意 λ > 0,利用指数函数的单调性,该概率等于 P( exp(λ Σ (Xi - E[Xi])) ≥ exp(λt) )。然后对其应用马尔可夫不等式。接着,利用独立性,将和的期望转化为乘积的期望:E[ Π exp(λ (Xi - E[Xi])) ] = Π E[ exp(λ (Xi - E[Xi])) ]。这时,我们可以代入次高斯条件给出的上界。最后,通过优化选择参数 λ 来得到最紧的界,完成证明。

第三步:有界随机变量是次高斯的
最后一步是搭建桥梁,证明霍夫丁不等式前提下的有界随机变量满足次高斯条件。

如果随机变量 X 以概率1落在区间 [a, b] 内,定义 R = b - a。那么,对于任意实数 λ,有:

E[ exp( λ (X - E[X]) ) ] ≤ exp( λ² R² / 8 )

这表明,有界随机变量是次高斯的,且对应的参数 σ² = R²/4。证明主要通过计算其对数矩生成函数 ψ(λ) = log E[ exp(λ (X - E[X])) ],并利用泰勒展开进行分析。可以证明 ψ(0)=0ψ'(0)=0,且 ψ''(λ) 有上界 R²/4,从而得到结论。

结合引理二和引理三,我们就完成了霍夫丁不等式的证明:有界随机变量是次高斯的(引理三),次高斯随机变量之和有良好的集中性(引理二),因此有界独立随机变量之和满足霍夫丁不等式。

伯恩斯坦不等式

霍夫丁不等式虽然强大,但有时可能不是最紧的界。下面我们介绍另一个常用的集中不等式:伯恩斯坦不等式。它在方差较小时能提供更精确的估计。

Xi 为独立随机变量,以概率1满足 |Xi - E[Xi]| ≤ R。此外,我们增加一个更强的条件:每个 Xi 的方差有界,即 Var(Xi) ≤ σ²

那么,对于任意 t ≥ 0,有:

P( Σ_{i=1}^{n} (Xi - E[Xi]) ≥ t ) ≤ exp( -t² / (2 Σ σ² + (2/3) R t) )

同样,我们可以将其转化为高概率形式:以至少 1 - δ 的概率,

| Σ_{i=1}^{n} (Xi - E[Xi]) | ≤ C * ( √( Σ σ² * log(1/δ) ) + R * log(1/δ) )

其中 C 是某个绝对常数。

与霍夫丁不等式 O( √( Σ R² log(1/δ) ) ) 的界相比,伯恩斯坦不等式的主要项 √( Σ σ² log(1/δ) ) 依赖于方差而非区间长度 R。当方差 σ² 远小于 时,伯恩斯坦不等式给出的界更紧。

例子:不公平硬币
假设每个 Xi 服从伯努利分布 Bernoulli(p),即 P(Xi=1)=p, P(Xi=0)=1-p。那么有:

  • 范围 R = 1
  • 方差 Var(Xi) = p(1-p) ≤ p

应用霍夫丁不等式到样本均值,得到的主要项为 O( √( log(1/δ) / n ) )
应用伯恩斯坦不等式,得到的主要项为 O( √( p * log(1/δ) / n ) )
p 很小时(例如一个很稀有的事件),伯恩斯坦不等式给出的界要比霍夫丁不等式好得多。

鞅差序列的集中不等式

到目前为止,我们讨论的都要求随机变量相互独立。但在序列决策和强化学习中,独立性往往是一个过强的假设。我们需要将集中性推广到更弱的条件上,这就是鞅差序列。

直观上,鞅差序列放松了独立性的要求。我们不再要求 ξ1, ξ2, ... 相互独立,而是要求一个条件期望为零的条件:对于任意 i,有

E[ ξi | ξ1, ξ2, ..., ξ_{i-1} ] = 0

这意味着,尽管下一步的噪声 ξi 的分布可能依赖于过去的历史(即不独立),但在给定所有过去信息的情况下,它的期望值始终为零。

例子
考虑一个长度为2的序列 ξ1, ξ2

  • ξ1 以等概率取 -11
  • ξ2 的分布依赖于 ξ1
    • ξ1 = 1,则 ξ2 以0.5概率取 -1,0.5概率取 1
    • ξ1 = -1,则 ξ2 以概率1取 0
      显然,ξ1ξ2 不独立,因为 ξ2 的分布随 ξ1 变化。
      但是,我们可以验证:E[ξ2 | ξ1=1] = 0,且 E[ξ2 | ξ1=-1] = 0。因此,这个序列满足鞅差条件。

对于鞅差序列,只要每个 ξi 是有界的(或满足次高斯等条件),我们仍然可以推导出与独立情形类似的集中不等式,其和的波动同样被 O(√n) 所控制。这为分析强化学习中的时序差分误差等非独立随机过程提供了理论基础。我们将在后续课程中看到它的应用。

本节课中我们一起学习了集中不等式的核心内容。我们首先深入探讨了霍夫丁不等式及其证明思路,理解了有界独立随机变量之和的波动如何被有效控制。接着,我们介绍了在方差信息已知时可能更紧的伯恩斯坦不等式。最后,我们将视野扩展到独立性之外,引入了鞅差序列的概念,为处理强化学习中常见的依序相关随机过程做好了准备。这些不等式是分析随机算法收敛性和性能保证的基石。

005:鞅与集中不等式

在本节课中,我们将学习一种比独立随机变量更弱的条件——鞅差序列,并探讨在此条件下随机变量和依然具有的集中性质。我们首先会回顾并正式定义鞅差序列与鞅,然后介绍并证明适用于鞅差序列的集中不等式(Azuma-Hoeffding 和 Azuma-Bernstein 不等式)。最后,我们将简要讨论这些理论工具在强化学习学习问题中的应用场景。

回顾与直观理解

上一节我们介绍了独立随机变量的集中不等式,本节中我们来看看在更弱条件下——即随机变量不再独立,但满足所谓的“鞅差”条件时,集中现象是否依然存在。

首先,我们回顾一下鞅差的非正式定义。我们观察一系列随机变量 K_i 的和(从 i=1N)。在鞅差序列中,K_i 不再要求是独立同分布的,它只要求一个条件:给定过去发生的所有事情(即 K_1K_{i-1}),当前随机变量 K_i 的条件期望为零。用公式表示这个关键思想:

E[ K_i | 过去 ] = 0

我们称满足此条件的序列 {K_i} 为鞅差序列。

在上一讲的例子中,我们有两个不独立的随机变量 Ca1Ca2,但通过验证,我们确认它们满足 E[Ca2 | Ca1] = 0,因此构成了一个鞅差序列。

鞅差序列的和(称为鞅)同样展现出集中现象。虽然每一步的分布可能依赖于过去的路径(导致不同的实现轨迹),但由于每一步在给定过去后的期望为零,大量的“正负抵消”仍然会发生,最终和的增长幅度会受到控制,类似于独立情形的平方根级别增长。

鞅的正式定义

为了更严谨地讨论,我们需要引入一些数学定义。直观上,“过去”可以用到当前时刻为止的所有随机性来刻画。数学上,这通过“滤子”(Filtration)来实现。

假设有一列递增的 σ-代数(或称滤子)F_1 ⊆ F_2 ⊆ ... ⊆ F_n。你可以将 F_i 理解为包含了到时间 i 为止所有可能观测到的随机事件的信息。

我们称随机变量序列 {C_i}, i=1 to n 是关于滤子 {F_i}鞅差序列,如果满足以下两个条件:

  1. 可测性C_iF_i 可测的(即 C_i 的值由到时间 i 的信息决定)。
  2. 条件期望为零:对于所有 i,有 E[ C_i | F_{i-1} ] = 0

常见的滤子选择是 F_i = σ(C_1, ..., C_i),即由前 i 个随机变量生成的 σ-代数。这直观地对应了“所有过去的随机性”。滤子也可以包含其他外部随机变量,只要满足上述两个条件即可。

基于鞅差序列,我们可以定义:序列 {S_i}, i=1 to n 是一个鞅,当且仅当它可以表示为鞅差序列的部分和,即 S_i = Σ_{j=1}^{i} C_j,其中 {C_j} 是鞅差序列。

Azuma-Hoeffding 不等式

有了鞅差序列的定义,我们现在可以陈述其集中不等式。结果表明,对于鞅差序列,我们可以得到与 Hoeffding 不等式非常相似的结果,只是前提条件从“独立”放松为“鞅差”。

定理 (Azuma-Hoeffding 不等式)
假设 {C_i}, i=1 to n 是关于滤子 {F_i} 的鞅差序列。并且,对于所有 iC_i 以概率 1 被限制在某个长度为 R_i 的区间内(即 |C_i| ≤ R_i/2)。
那么,对于任意 t > 0,有:

P( Σ_{i=1}^{n} C_i ≥ t ) ≤ exp( - (2 t^2) / (Σ_{i=1}^{n} R_i^2) )

这个界限在形式上与 Hoeffding 不等式完全相同。注意,由于鞅差序列已隐含均值为零,所以不等式直接针对和本身。

证明思路

Azuma-Hoeffding 不等式的证明框架与独立情形的 Hoeffding 不等式证明类似,都依赖于三个引理:

  1. 马尔可夫不等式:无需修改。
  2. 次高斯变量和的性质:这是需要加强的关键部分。我们需要证明,对于鞅差序列,其和的矩母函数依然能被类似地控制。
  3. 有界随机变量是次高斯的:这个引理只涉及单个随机变量,与独立性无关,因此可以直接沿用。

证明的核心在于加强第二个引理。我们利用鞅差序列的条件期望性质,通过“从后往前”逐层取条件期望的技巧,将 E[exp(λ Σ C_i)] 的界化为 exp(λ^2 Σ σ_i^2 / 2) 的形式,其中 σ_i^2R_i 有关。具体地,对于有界鞅差,可以取 σ_i^2 = (R_i^2)/4。最终代入优化后,即得到 Azuma-Hoeffding 不等式。

Azuma-Bernstein 不等式

类似地,我们也有适用于鞅差序列的 Bernstein 型不等式,它在方差较小时能提供比 Hoeffding 型更紧的界。

定理 (Azuma-Bernstein 不等式)
假设 {C_i}, i=1 to n 是关于滤子 {F_i} 的鞅差序列,并且:

  1. 以概率 1 有 |C_i| ≤ R
  2. 条件方差有界:Var( C_i | F_{i-1} ) ≤ σ_i^2
    那么,对于任意 t > 0,有:
P( Σ_{i=1}^{n} C_i ≥ t ) ≤ exp( - t^2 / (2 Σ_{i=1}^{n} σ_i^2 + (2/3) R t) )

这与标准的 Bernstein 不等式形式一致,主要优势在于当方差之和 Σ σ_i^2 远小于 nR^2 时,能给出更尖锐的衰减率。

集中不等式总结

到目前为止,我们已经学习了四种重要的集中不等式:

  1. Hoeffding 不等式:适用于独立且有界的随机变量。
  2. Bernstein 不等式:适用于独立、有界且方差已知的随机变量,当方差较小时更优。
  3. Azuma-Hoeffding 不等式:将 Hoeffding 的前提条件放松为鞅差序列。
  4. Azuma-Bernstein 不等式:将 Bernstein 的前提条件放松为鞅差序列。

这些工具将在后续的统计估计和强化学习算法分析中发挥重要作用。

并界 (Union Bound)

在进入强化学习应用之前,我们介绍一个简单但使用频繁的概率工具——并界。

命题 (并界)
对于任意事件 AB,有:

P(A ∪ B) ≤ P(A) + P(B)

直观上,事件 AB 发生的概率,不超过它们各自发生概率之和。

一个常用的推论是:如果我们有 n 个事件 A_1, ..., A_n,且每个事件都以高概率成立,即 P(A_i) ≥ 1 - δ,那么所有这些事件同时成立的概率下界为:

P( ∩_{i=1}^{n} A_i ) ≥ 1 - nδ

证明:考虑补集事件。所有 A_i 同时成立的补集是至少有一个 A_i 不成立。利用并界:

P( ∪_{i=1}^{n} A_i^c ) ≤ Σ_{i=1}^{n} P(A_i^c) ≤ Σ_{i=1}^{n} δ = nδ

因此,所有事件同时成立的概率 P(∩ A_i) = 1 - P(∪ A_i^c) ≥ 1 - nδ

在后续分析中,我们通常会先用集中不等式证明某个单步或单个估计以高概率成立,然后利用并界来保证所有步骤或所有状态-动作对上的估计同时以高概率成立,只需付出一个 n 倍的因子代价。

通向强化学习学习问题

我们之所以深入研究集中不等式,是因为我们不仅对 MDP 的规划感兴趣,更对其学习问题感兴趣。接下来,我们将从最简单的学习设置开始——生成模型或模拟器设置。

回忆一个 MDP 由 (S, A, P, R, H) 构成。在规划中,我们假设 PR 已知。在学习中,它们未知,我们需要通过收集样本来学习。

表格化设置中,我们假设状态空间 S 和动作空间 A 是有限的。

模拟器设置是一种数据收集协议。你可以将模拟器视为一个黑箱:

  • 输入:状态 s,动作 a,步数 h
  • 输出:下一个状态 s‘(从 P_h(·|s,a) 中随机抽取)和奖励 r = R_h(s,a)(为简化,假设奖励是确定性的)。

直观上,模拟器允许你“传送”到任何状态-动作对进行查询。这与更困难的在线设置(必须从初始状态重新开始)和离线设置(只给定固定数据集)形成对比。

强化学习学习问题的目标是找到一个策略 π_hat,使其在初始状态 s1 上的价值接近最优价值:

V_1^{π_hat}(s1) ≥ V_1^*(s1) - ε

一个重要的问题是样本复杂度:为了以高概率找到 ε-最优 策略,我们需要向模拟器进行多少次查询?

一个直接的算法策略是:

  1. 估计模型:对每个 (s,a,h),查询模拟器 n 次,用经验频率估计转移概率 P_h(·|s,a)
    P_hat(s‘|s,a,h) = (1/n) Σ_{i=1}^{n} I( s_i‘ = s‘ )
    
  2. 规划:将估计的 P_hat 和已知的 R 代入贝尔曼最优方程,进行值迭代或策略迭代,得到贪婪策略 π_hat

这个算法被称为基于模型的强化学习经验模型值迭代。在下一讲中,我们将利用本节课学习的集中不等式和并界,来分析这个算法的样本复杂度,即需要多少样本 n 才能保证输出策略是 ε-最优 的。

总结

本节课中我们一起学习了:

  1. 鞅差序列与鞅的正式定义,其核心是给定过去后,下一步增量的条件期望为零。
  2. Azuma-Hoeffding 不等式Azuma-Bernstein 不等式,它们将经典的集中不等式推广到了鞅差序列的情形。
  3. 简单而强大的并界及其推论,用于联合控制多个高概率事件。
  4. 强化学习学习问题的起点——模拟器设置,以及一个最简单的基于模型估计的学习算法框架。

这些数学工具为我们分析强化学习算法的样本复杂度和性能保证奠定了坚实的基础。从下一讲开始,我们将具体分析上述算法的理论性质。

006:生成模型

在本节课中,我们将学习在模拟器(生成模型)设置下的价值迭代算法,并深入探讨其首个统计性能保证定理。我们将理解该算法如何工作,以及需要多少样本才能确保学习到一个接近最优的策略。


算法回顾:模拟器中的价值迭代

上一节我们介绍了在规划任务(已知转移和奖励)中的价值迭代算法。本节中,我们来看看在模拟器设置下的情况。关键区别在于,我们现在不知道真实的转移概率。

因此,算法分为两个主要阶段:

  1. 估计转移模型:通过查询模拟器来估计转移概率。
  2. 执行价值迭代:基于估计的转移模型,使用贝尔曼最优方程计算最优价值函数和策略。

以下是算法的具体步骤:

第一阶段:估计转移概率

对于每个状态-动作-步数三元组 (s, a, h),我们查询模拟器 N 次,收集 N 个下一状态样本 s’_1, s’_2, …, s’_N

我们使用经验频率来估计转移概率:

公式
P_hat_h(s’ | s, a) = (1/N) * Σ_{i=1 to N} 1[s’_i = s’]

其中 1[·] 是指示函数。这为我们提供了对真实转移概率 P_h 的估计 P_hat_h

第二阶段:基于估计模型进行价值迭代

有了估计的转移模型 P_hat 后,我们将其视为真实模型,并执行标准的基于贝尔曼最优方程的价值迭代。

对于步数 h = H, H-1, …, 1,我们进行以下更新:

公式
Q_hat*_h(s, a) = R_h(s, a) + Σ_{s’} P_hat_h(s’ | s, a) * V_hat*_{h+1}(s’)
V_hat*_h(s) = max_a Q_hat*_h(s, a)

最终,我们输出由 Q_hat* 诱导的贪婪策略:

公式
π_hat(s, h) = argmax_a Q_hat*_h(s, a)

直观上,当样本数 N 趋于无穷时,根据大数定律,P_hat 会收敛到真实的 P。此时,第二阶段就是在真实模型上进行规划,因此算法是渐近正确的。


理论保证:样本复杂度

我们不仅关心算法的渐近行为,更希望知道需要多少样本才能以高概率获得一个 ε-最优策略。以下是我们的第一个统计保证定理。

定理 1
存在一个绝对常数 C,使得如果我们为每个 (s, a, h) 对选择的样本数 N 满足:
N ≥ C * (H^4 * ζ) / ε^2
其中 ζ = log(HSA / p)(一个对数因子),那么,以至少 1 - p 的概率,价值迭代算法输出的策略 π_hatε-最优的。

定义(ε-最优策略):
一个策略 π_hat 是 ε-最优的,如果其初始状态价值与最优策略价值的差距小于 ε:
V*_1(s1) - V^{π_hat}_1(s1) ≤ ε

对定理的解读

以下是关于该定理样本复杂度的几个关键点:

  1. 总样本复杂度:由于我们需要对每个 (s, a, h) 收集 N 个样本,总查询次数为 N * S * A * H。代入 N 的界限,总样本复杂度为 Õ( H^5 * S * A / ε^2 )。这里的 Õ 符号隐藏了对数因子。

  2. 与模型参数的关系:转移模型 P 本身有 S^2 * A * H 个参数(每个 (s,a) 对应一个在 S 上的分布)。但我们的样本复杂度仅线性依赖于状态数 S,而不是平方项 S^2。这揭示了一个深刻见解:为了学习一个好的策略,我们不需要精确估计整个转移矩阵,只需保证对某些特定值函数(后续证明中会出现)的估计足够准确即可。这是强化学习样本效率高于简单模型学习的关键。

  3. ε 依赖:误差 ε1/ε^2 的形式缩放。这是统计学中由集中不等式导出的典型速率。若要精度提高10倍,则需要约100倍的样本。

  4. H 依赖:当前分析得到 H^5 的依赖,但通过更精细的分析可以改进到 H^4,并且存在下界证明 H^4 的依赖在信息论意义下是最优的,无法进一步降低。部分 H 的幂次来源于价值函数本身的量级(范围是 0H)。


定理证明概览

定理的证明基于两个核心引理。我们将看到第一个引理如何将价值误差与转移误差联系起来,第二个引理如何利用集中不等式来约束转移误差。

引理 1:价值差分解

对于任意策略 π 和任意状态-步数对 (s, h),以下等式成立:
V^π_h(s) - V_hat^π_h(s) = E_{M_hat, π} [ Σ_{i=h}^{H} (P_i - P_hat_i) V^π_{i+1} (s_i, a_i) | s_h = s ]

解释

  • V^π 是在真实 MDP M 下的价值。
  • V_hat^π 是在估计的 MDP M_hat(使用 P_hat 作为转移)下的价值。
  • 期望 E_{M_hat, π} 表示在策略 π 和转移模型 P_hat 下,对未来轨迹(状态和动作)求期望。
  • 等式右边是沿着 M_hat 生成的轨迹,对各步的转移误差 (P_i - P_hat_i) 与真实价值函数 V^π_{i+1} 的乘积进行累加。

这个引理的证明直接通过对贝尔曼方程进行展开和代数重组即可得到。它精确地将两个 MDP 中同一策略的价值差异,表达为各步转移模型差异的加权和。

引理 2:转移估计的集中性

对于固定的 (s, a, h) 和一个值域在 [0, H]固定值函数 V,我们有如下概率保证:
以至少 1 - p/(HSA) 的概率,以下不等式成立:
| (P_h(·|s,a) - P_hat_h(·|s,a)) · V | ≤ C * H * sqrt(ζ / N)
其中 ζ = log(HSA / p)· 表示点积(即 Σ_{s’} P(s’) * V(s’))。

解释

  • 这个引理衡量了使用经验估计 P_hat 来计算值函数 V 的期望时,与使用真实 P 计算时的差异。
  • 它来源于霍夫丁不等式等集中性工具的应用(在作业1中已证明)。
  • 关键点:此界限适用于固定的或与样本 P_hat 独立的随机值函数 V。如果 V 可以依赖于 P_hat(对抗性的),则界限会变差,需要 sqrt(S) 倍的样本。强化学习的效率增益正源于我们只需要对一类“好”的(独立或固定的)值函数保证估计准确,而非对所有可能的值函数。

定理证明的主要步骤

  1. 分解目标:我们想证明 V*_1(s1) - V^{π_hat}_1(s1) ≤ ε。通过加减 V_hat*_1(s1)V_hat^{π_hat}_1(s1),将其分解为三部分:

    • A = V*_1(s1) - V_hat*_1(s1)
    • B = V_hat^{π_hat}_1(s1) - V^{π_hat}_1(s1)
    • C = V_hat*_1(s1) - V_hat^{π_hat}_1(s1)
  2. 处理 C:由于 π_hat 是 MDP M_hat 中的最优策略,而 π*M 中的最优策略,在 M_hatπ_hat 至少和 π* 一样好,因此 C ≤ 0

  3. 利用引理1 bound A 和 B

    • 对于 A,直接应用引理1,其中策略 π = π*。此时 V^π* 是真实 MDP 的最优价值函数,是固定的,与样本无关。因此我们可以对每个 (s,a,h) 应用引理2,并通过联合界保证所有 (s,a,h) 同时成立。最终得到 A ≤ O(H² * sqrt(ζ / N))
    • 对于 B,同样应用引理1,其中策略 π = π_hat。这里的挑战在于 V^{π_hat} 依赖于策略 π_hat,而 π_hat 又依赖于所有样本 P_hat,看似不满足引理2的独立性条件。但关键观察是:V^{π_hat}_{h+1} 这个值函数只依赖于 π_hat 在步数 h+1 及之后的决策,而这些决策又只依赖于用于估计 P_hat_{h+1}, …, P_hat_H 的样本。由于不同步数的样本是独立采集的,用于估计 P_hat_h 的样本与用于计算 V^{π_hat}_{h+1} 的样本是独立的。因此,在每一步 h,我们可以将 V^{π_hat}_{h+1} 视为一个与当前步的估计样本 P_hat_h 独立的值函数,从而仍然可以应用引理2。最终得到 B ≤ O(H² * sqrt(ζ / N))
  4. 综合结果:将 AB 的界限相加,并代入定理中对 N 的要求 N ≥ C * H^4 * ζ / ε^2,可以推出 A + B ≤ ε。结合 C ≤ 0,即得 V*_1 - V^{π_hat}_1 ≤ ε,定理得证。


扩展:Q-learning 算法简介

价值迭代是一种“批处理”算法:先收集所有数据估计模型,再进行规划。在实践中,另一种非常流行的算法是 Q-learning,它采用在线、增量式更新。

Q-learning 的核心更新公式如下:

公式
Q_{t+1}(s, a) = (1 - α_t) * Q_t(s, a) + α_t * [r + max_{a’} Q_t(s’, a’)]

解释

  • α_t 是学习率。
  • 算法不显式估计转移模型 P
  • 每得到一个转移样本 (s, a, r, s’),就立即用该样本产生的 TD 目标 r + max_{a’} Q_t(s’, a’) 来更新当前的 Q 值估计。
  • 通过精心设计的学习率衰减(如 α_t = 1/t),可以平均掉噪声,使 Q 值收敛到最优 Q 函数。

与价值迭代相比,Q-learning 的优点是无模型、更易于在线部署。但其样本复杂度分析通常更为复杂。在接下来的课程中,我们将进一步探讨 Q-learning 及其在更具挑战性的在线探索场景中的应用。


总结

本节课中我们一起学习了:

  1. 模拟器设置下的价值迭代算法:通过先估计转移模型,再基于估计模型进行规划来求解最优策略。
  2. 首个样本复杂度定理:证明了该算法只需 Õ( H^5 * S * A / ε^2 ) 总样本即可以高概率找到 ε-最优策略,并详细解读了其与模型参数、精度和步数的依赖关系。
  3. 定理证明的核心思想
    • 使用引理1将策略价值误差分解为各步转移误差的累积。
    • 使用引理2(集中不等式)控制转移误差对特定值函数的影响。
    • 巧妙利用不同步数样本的独立性来处理最优策略 π_hat 的随机性。
  4. 关键洞见:强化学习之所以比全模型估计更样本高效,是因为学习一个好策略不需要在任意值函数下都精确估计转移模型,只需保证对(独立或固定的)最优或相关值函数的估计足够准确即可。
  5. Q-learning 简介:作为另一种基础算法,它通过增量式在线更新来学习最优 Q 函数,为后续学习无模型和在线探索方法奠定了基础。

007:探索入门 🧭

在本节课中,我们将学习探索(Exploration)的基本概念。上一讲我们主要讨论了模拟器(Simulator)设定下的算法,例如值迭代(Value Iteration)和Q学习(Q-learning)。本节我们将更具体地分析Q学习算法,并正式介绍在线强化学习(Online RL)或探索设定,这是比模拟器设定更具挑战性的场景。

Q学习算法回顾与深入分析

上一节我们介绍了值迭代(VI)和Q学习(Q-learning)两种算法。值迭代是一种批量更新算法,而Q学习则是一种在线或增量更新算法。本节我们将更具体地探讨Q学习算法及其性能。

Q学习算法形式化描述

Q学习算法需要输入一个学习率序列 α_t(t从1到无穷)。α_t 权衡了我们对先前Q值的信任程度(1 - α_t 比例)和对新更新的信任程度(α_t 比例)。

以下是Q学习算法的核心步骤:

  1. 初始化:对于所有状态 s 和步数 h,初始化 Q_h^0(s, a)。可以初始化为0或任意值。
  2. 迭代更新:对于 t = 1, 2, ... 进行循环:
    • 对于 h = 1H
      • 对于所有状态-动作对 (s, a)
        • 查询模拟器,输入 (s, a, h),获得一个单一样本的下一个状态 s' 和奖励 r
        • 执行Q值更新:
          Q_h^t(s, a) = (1 - α_t) * Q_h^{t-1}(s, a) + α_t * [r + V_{h+1}^{t-1}(s')]
      • 对于所有状态 s,更新值函数:
        V_h^t(s) = max_a Q_h^t(s, a)

这个算法的关键步骤在于增量更新:它将新的Q值计算为旧Q值和新观测到的“目标值”(即时奖励加上下一状态的估计值)的加权平均。

算法要点评述

关于Q学习算法,有几个重要点需要说明:

  1. 基于模型 vs. 无模型:值迭代是基于模型的算法,因为它显式地构建并使用了转移概率 P_hat 的估计。而Q学习是无模型算法,它不显式构建转移模型,更新中隐含地学习了转移信息。
  2. 空间复杂度:值迭代需要存储估计的转移模型,空间复杂度约为 O(H * S^2 * A)。Q学习只需存储Q值表,空间复杂度为 O(H * S * A),相对于模型参数数量是次线性的。
  3. 样本复杂度:值迭代的样本复杂度约为 Õ(H^4 * S * A / ε^2)。Q学习可以达到相似的性能,但H的依赖稍差,约为 Õ(H^5 * S * A / ε^2)。这是因为增量更新未能最大化利用每个样本的信息。
  4. 计算复杂度:在后续将讨论的在线设定中,Q学习的计算优势更明显。值迭代每收集一条轨迹都需要重新运行一遍完整的动态规划,而Q学习只需进行简单的增量更新。

Q学习的分析思路

分析Q学习的关键在于理解其更新公式。通过递归展开更新公式,可以将 Q_h^t(s, a) 表示为所有历史更新值的加权和:

Q_h^t(s, a) = r_h(s, a) + Σ_{i=1}^{t} [γ_{t,i} * V_{h+1}^{i-1}(s_i')]

其中权重 γ_{t,i} = α_i * Π_{j=i+1}^{t} (1 - α_j),且所有权重之和为1。

将此式与值迭代的更新公式对比:
Q_hat(s, a) = r_h(s, a) + (1/n) * Σ_{i=1}^{n} V_hat_{h+1}(s_i')

可以发现两个主要区别:

  • 权重:值迭代使用均匀权重 1/n。Q学习可以使用非均匀权重 γ_{t,i},这通过选择学习率 α_t 来控制。
  • 使用的值函数:值迭代使用收集所有数据后计算的 V_hat,相对准确。Q学习使用第 i-1 次迭代时计算的 V_{h+1}^{i-1},在迭代早期可能非常不准确。

学习率的选择:偏差-方差权衡

选择权重 γ_{t,i}(即学习率 α_t)时,我们需要平衡两个冲突的目标:

  • 减少偏差:我们希望权重更多地偏向后期更新,因为早期的 V_{h+1}^{i-1} 不准确,会引入偏差。理想情况下,可以将所有权重放在最后一次更新上。
  • 减少方差:我们不应将所有权重集中在一个样本上,因为单个样本噪声大,会导致高方差。理想情况下,权重应相对均匀地分散。

因此,需要在偏差和方差之间进行权衡。

以下是两种具体选择:

  • 均匀权重:选择 α_t = 1/t,则 γ_{t,i} = 1/t。这有利于控制方差,但偏差较大,无法获得好的样本复杂度。
  • 理论最优选择:理论证明,能达到前述样本复杂度的学习率形如 α_t = (H+1)/(H+t) ≈ H/t。这相当于对最近 1/H 比例的数据给予相对均匀的权重,忽略了更早的数据以减少偏差。这就是Q学习H依赖稍差的原因:为了处理偏差,需要更激进地对后期更新加权。

模拟器设定小结

在非平稳转移的模拟器设定中,我们主要讨论了两种算法:

  • 基于模型算法:值迭代(VI)
    • 样本复杂度:Õ(H^4 * S * A / ε^2)
    • 空间复杂度:O(H * S^2 * A)
  • 无模型算法:Q学习
    • 样本复杂度:Õ(H^5 * S * A / ε^2) (稍差)
    • 空间复杂度:O(H * S * A) (更优)

信息理论下界表明,任何算法在最坏情况下都需要至少 Ω(H^3 * S * A / ε^2) 个样本。因此,值迭代在忽略对数因子的意义下达到了极小极大最优的样本复杂度。

在线强化学习(探索设定)介绍 🎮

现在我们将转向更具挑战性的在线强化学习,也称为探索设定。在此设定中,我们不再拥有可以任意查询的模拟器。

在线设定协议

智能体与环境按如下协议交互:

  1. 环境给出初始状态 s_1
  2. 对于每一步 h = 1H
    • 智能体采取动作 a_h
    • 环境转移到下一个状态 s_{h+1},并给出奖励 r_h
  3. 整条轨迹结束后,环境重置到初始状态 s_1,开始新的回合。

关键区别:在模拟器设定中,我们可以选择任意的(状态,动作,步数)进行查询。而在在线设定中,我们只能从初始状态开始,通过选择动作序列来生成轨迹,无法自由选择中间状态。这极大地影响了数据收集策略。

随机探索的失败

在模拟器设定中,我们可以简单地遍历所有状态-动作对来收集数据。在线设定中,一个朴素的想法是进行随机探索:每一步都随机选择动作。

然而,随机探索在MDP中可能是高度低效的。在某些困难实例上,它可能需要指数级A^Ω(H))的轨迹数才能找到最优策略。

困难实例:组合锁(Combinatorial Lock)

考虑一个确定性MDP,称为“组合锁”:

  • 状态:每个步数 h 有两个状态:S0_hS1_h
  • 转移
    • S0_h,无论采取任何动作,都转移到 S0_{h+1}
    • S1_h,只有一个特定动作 a_h* 能转移到 S1_{h+1};其他所有动作都转移到 S0_{h+1}
  • 奖励:只有在最后一步 H 到达 S1_H 才能获得奖励1,其他情况奖励为0。
  • 最优策略:从第一步开始,每一步都必须精确选择动作 a_1*, a_2*, ..., a_H*,才能获得奖励1。

对于随机探索,只有精确采样到动作序列 (a_1*, a_2*, ..., a_H*) 时,才能发现这个高奖励路径。这个概率是 (1/A)^H。因此,找到最优策略需要大约 A^H 量级的轨迹,这是关于步长 H 指数级的。

即使是ε-贪婪(ε-greedy)这类简单策略,只要它以一定概率进行随机尝试,同样会在这个例子上失败。这说明,要解决具有挑战性的探索问题,需要更智能的算法。

探索与利用的权衡及乐观原则 🌟

在线强化学习的核心挑战是如何高效地收集信息,这引出了探索(尝试新动作以获取信息)与利用(执行当前已知的最佳动作以获取奖励)之间的权衡。

解决这一权衡的一个关键思想是乐观原则(Optimism)。为了更好地理解这个原则,我们首先介绍一个更简单的模型:多臂赌博机(Multi-Armed Bandit, MAB)。

多臂赌博机模型

多臂赌博机模型简化了MDP,没有状态转移:

  • A 个摇臂(动作)。
  • 在每一轮 t=1,2,...,T,学习者选择一个摇臂 I_t
  • 学习者获得一个随机奖励 R_t,其期望值 μ_{I_t} 依赖于所选的摇臂。假设奖励在 [0,1] 区间内。

定义最优臂:I* = argmax_i μ_i

在多臂赌博机中,通常有两个目标:

  1. 最佳臂识别:在实验结束后,找到一个ε-最优臂 Î,使得 μ_Î ≥ μ_{I*} - ε。不关心中间过程的收益。
  2. 最小化遗憾:在全部 T 轮中,同时要求良好的累积收益。遗憾定义为:
    Regret(T) = T * μ_{I*} - Σ_{t=1}^{T} E[μ_{I_t}]
    遗憾衡量了因未一直播放最优臂而损失的累积奖励。目标是在 T 轮内实现次线性遗憾(如 O(√T))。

第二个目标(遗憾最小化)自然地体现了探索与利用的权衡:学习者必须在探索新臂(可能发现更好的臂)和利用当前已知的最佳臂(获取即时高奖励)之间取得平衡。

乐观原则正是从多臂赌博机的遗憾最小化算法中发展出来的核心思想。它随后被成功地应用于更复杂的强化学习问题中,以指导智能体进行高效的探索。我们将在后续课程中详细阐述这一原则及其算法。

总结

本节课我们一起学习了以下内容:

  1. 深入分析了Q学习算法,理解了其无模型、增量更新的特性,以及其样本复杂度、空间复杂度的优劣。
  2. 介绍了更具挑战性的在线强化学习(探索)设定,指出了其与模拟器设定的关键区别在于无法自由选择状态。
  3. 通过组合锁例子,说明了朴素的随机探索策略在困难问题上可能需要指数级样本,是低效的。
  4. 引出了强化学习中核心的探索-利用权衡问题,并介绍了从多臂赌博机模型中借鉴来的乐观原则,作为解决这一挑战的关键思想起点。下一讲我们将继续深入探讨基于乐观原则的算法。

009:探索策略

在本节课中,我们将要学习如何在强化学习环境中进行有效的探索。上一节我们介绍了在多臂老丨虎丨机问题中的探索策略,本节中我们来看看如何将这些思想应用到更复杂的强化学习场景中。

概述

在上一讲中,我们讨论了多臂老丨虎丨机中的探索问题。具体来说,我们介绍了两种算法:ε-贪心(或ε-first)算法和上置信界算法。我们看到,ε-贪心算法只是简单地以ε的概率随机尝试动作,而上置信界算法通过计算一个上置信界(即均值加上一个奖励项)来更好地平衡探索与利用。事实证明,在多臂老丨虎丨机设置中,ε-贪心算法的遗憾度约为 T^(3/4),而UCB算法则能获得更好的性能。

今天,我们将讨论强化学习场景下的探索问题。在强化学习场景中,我们注意到探索比多臂老丨虎丨机更具挑战性。具体来说,我们讨论了一个反例——组合锁问题。在这个问题中,如果我们进行随机探索或使用ε-贪心算法,我们至少需要付出指数级于时间范围 H 的代价才能首次识别出最优策略。在这种情况下,可以很容易地证明遗憾度将是线性的,直到 T 大于 A^H 的量级。这是非常糟糕的结果。

因此,本讲将讨论如何将更好的探索思想融入到强化学习中。基本思路是将UCB思想与强化学习算法相结合。通过结合我们用于强化学习的值迭代算法和UCB,我们将再次获得类似 √T 且关于 H 是多项式的遗憾度。这就是我们将要讨论的算法。

UCB-VI 算法

整个思路与多臂老丨虎丨机中的UCB算法非常相似,我们不只是看均值,还会添加一个奖励项。这个算法被称为UCB-VI算法,即上置信界值迭代算法。

算法首先初始化一个数据集 D,我们称之为数据集。假设它是空的,因为当我们开始算法时,我们没有任何数据,没有观察到任何轨迹。我们初始化 Q_H(s, a) = H。这很重要,因为我们总是希望保持对最优值函数的上界,所以我们将其初始化为 H。回想一下我们的归一化条件,我们假设每一步的奖励在0到1之间,因此可以实现的最大值是 H。

我们还将初始化 V_{H+1}(s) = 0。这是在第 H+1 步的值,我们知道在第 H+1 步之后没有奖励,所以它总是等于0。

主算法由以下两个部分组成。

在探索设置中,我们需要运行 K 个回合。

在每个回合中,我们做两件主要的事情。第一步是计算每一步值的上置信界。思路基本上是做贝尔曼更新加上奖励项。

所以我们再次进行值迭代,从最后一步开始到第一步。我们从 H 到 H-1,一直到1。

我们首先检查这个状态-动作对 (s, a, h) 是否已经在数据集 D 中。如果在数据集中,我们可以计算经验估计,我们再次使用经验平均值作为我们的估计。

我们使用在数据集中观察到 (s, a, s‘) 的次数除以在步骤 h 观察到 (s, a) 的次数。这些都是计数。

唯一的区别是,在模拟器设置或生成模型设置中,我们遍历所有状态-动作对,所以我们可以保证这是一个固定的数字。现在因为我们在进行探索,有时我们可能永远无法访问某些状态-动作对,所以那个计数可能为零,我们将以其他方式处理。

所以只要这个计数不为零,我们就可以使用经验平均值来估计转移概率。

然后我们所做的就是进行值更新,并进行一些截断,以保证我们得到的值永远不会大于 H,这是我们的上界。

然后我们使用贝尔曼更新,并用经验估计的 P_hat 替换转移概率 P。这是一个标准的值更新。

我们的修改是,除了做这个,我们还添加了一个奖励项。这个奖励项只是 N_h(s, a) 的函数,即我们在每一步观察到 (s, a) 的次数。

基本上,这一步我们只是进行值迭代,但用经验估计替换转移概率,并添加一些奖励项,同时进行一些截断。

在另一种情况下,如果我们没有在数据集中观察到 (s, a, h),我们就不进行这个更新步骤。Q 值将保持为初始化的 Q 值,即 H。所以它仍然是定义良好的。Q 值是定义良好的,只是不是根据这个更新规则,它只是 H。

所以这是 Q 值的贝尔曼更新。接下来我们将进行 V 值的贝尔曼更新。

V_h(s) = max_{a in A} Q_h(s, a)。同样,对于任何已经观察到的 (s, a),Q 值在这里定义。如果 (s, a) 还没有被观察到,Q 值将是初始化的 Q 值。所以这个 V 值也是一个定义良好的量。

基本上,这整个部分就是我们如何计算值的上置信界。核心思想很简单,我们只是在 Q 值更新中添加一个奖励项。

还有其他变体。我们稍后会看到,这个奖励项类似于 c * H^2 * sqrt(log项 / n)。在某些情况下,例如当 n 不是很大时,比如我们只观察到一两个值,我们可能会添加很多奖励项。在这种情况下,我的 Q 值会变得非常大。当我们讨论如何构造这个奖励项时,它会累积并影响到下一步。我认为我们构造这个奖励项的主要原因是希望它是一个上界。如果中间的 Q 值变得非常大,那么它会损害整个关于它如何成为上界的证明,因为本质上我们想要做一些构造。我们稍后会看到原因,但主要是为了确保这个 Q 值得到很好的控制,不会变得极端大,并且在集中性和统计误差方面一切表现良好。

我认为如果我们不添加这个奖励项,这种情况就不会发生,只有这个奖励项才能使这个 Q 值变得非常大。这就是为什么在早期的模拟器设置中,我们不进行这种截断。

好的,这是关于我们如何计算UCB的部分。但在多臂老丨虎丨机中,计算UCB后的另一步是,我们将根据上置信界采取贪心动作。在多臂老丨虎丨机设置中,我们基本上计算每个臂的上置信界,然后选择具有最高上置信界的臂。这里本质上是相同的,我们将根据这个 Q 值采取贪心动作。

所以对于 h 从 1 到 H,我们将采取动作 a_h = argmax_{a in A} Q_h(s_h, a)。我们将观察下一个状态 s_{h+1} 和奖励 r_h。

然后我们只需将这个元组添加到数据集中。D = D ∪ { (s_h, a_h, r_h, s_{h+1}) }。

所以第二部分本质上是执行贪心策略。

你可以认为这只是UCB算法的强化学习MDP版本。你不是给每个臂的值添加奖励项,而是在贝尔曼更新中添加奖励项,从而计算 Q 值的上界,然后你根据这个 Q 值的上界采取贪心策略。

D 是用于计算计数的数据集。N_h(s, a) 基本上就是我在数据集中观察到 (s, a) 在步骤 h 的次数。

奖励项 b(n) 是我们的选择。我们稍后会讨论。

基本上,我们已经在这里提到了我们对奖励项的选择。奖励项只是计数的函数,即我们在步骤 h 观察到这个 (s, a) 对的次数。

这个选择将等于某个常数 c 乘以 sqrt( H^2 * υ / n ),其中 υ 是一些对数因子,比如 log(SAT / δ)。

我们实际上将展示为什么这种奖励项的构造是有效的,你会看到为什么会出现这样的东西。

本质上,这个奖励项反映了我们在观察了 n 次后对这个值的置信度。它某种程度上反映了随机变量的波动,其边界为 H,因为最终,这是根据值而定的随机变量。

在我们介绍了算法之后,我们现在将讨论我们可以为这个算法提供什么样的保证。

遗憾度分析

因为这是一个探索设置,我们还将讨论MDP中的遗憾度。在上一讲中,我们已经说过,一旦我们得到了遗憾度,我们可以很容易地将其转换为样本复杂度。所以遗憾度是更强的概念。

在MDP中,遗憾度可以定义为:截至第 K 轮的遗憾度 R(K) = Σ_{k=1}^{K} [ V_1*(s_1k) - V_1{π_k}(s_1k) ]。

这与多臂老丨虎丨机的定义相同,唯一的区别是用MDP的值替换了每个臂的奖励。

我们将要说的最重要的定理实际上是,我们可以以至少 1 - δ 的概率证明,UCB-VI 算法的遗憾度 R(K) 有上界:R(K) ≤ C * [ √(H^3 S A T υ) + H^3 S^2 A υ^2 ],其中 T = K * H。

有时人们用 T 来写,因为 T 是你观察到的总步数。υ 再次是对数项。通常我们不关心它,它只是 log(SAT/δ)。我们可以把 H 也放进去,这并不重要。

所以请注意,这就像形式定理。但基本上,如果我们想知道主导项,这就像 √T 项,而这是与 T 无关的项。我们知道遗憾度在最坏情况下将是 K 的线性函数,所以 √K 已经是一些非平凡的结果。这是与 K 无关的常数项,所以这是低阶项。

我们真正完成的是我们可以实现这个保证。但最重要的是,我们不会像在随机探索或 ε-贪心中那样付出指数级于 H 的代价,在最坏情况下我们只付出关于 H 的多项式代价。

T 项是 K * H 的量级。T 正好等于 K * H。我说我们关心遗憾度是什么,所以这个项很重要。这是主导项,因为它是 √K 项。

现在我们将更多地讨论为什么这个算法会起作用。我们直观地说这只是类似于UCB的添加奖励项,实际上我们需要更具体一些并证明定理1。

为了做到这一点,我们将引入稍微多一点的符号,这样我们就不会混淆这些量。

我认为最重要的符号是添加一个上标 K。原因是,在这里我们基于新数据反复更新 Q 值,如果我们只说某个 Q 值,会有点混乱,因为在每个不同的回合,Q 值实际上是不同的。所以我们只是添加一个上标 K 来表示在第 K 回合计算出的量。

例如,我们有 N_{h,k}(s, a, s‘)。本质上,在算法中,我们有这个 N_h(s, a)。但在这里,为了非常具体地说明哪个回合出现了哪个数字,我们将在这里添加上标。这将表示为截至第 k 回合观察到的 (h, s, a, s’) 的次数。

类似地,我们还将使用 P_{h,k}(s‘| s, a) 表示在第 k 回合计算的经验转移矩阵。

以及第 k 回合的 Q 值,第 k 回合的 V 值。本质上,你只需要知道这些符号。这些是值。

最后,我们将说 s_{h,k}, a_{h,k}。我会说 s_{1,k}, a_{1,k}, ..., s_{H,k}, a_{H,k}。这是在第 k 回合收集的轨迹。

顺便说一下,我忘了提到我们需要小心一件事。在值迭代中,事实证明在回合制设置中,我们只进行一次值迭代扫描。但在这里的探索设置中,我们注意到在每个回合,我们收集一条新的轨迹,在收集一条新轨迹后,我们进行完整的值迭代扫描。这本质上就像我们在每个回合重新计算值迭代。

这最终可能成本很高,因为我们每个回合只观察一条轨迹,然而我们更新所有的值。我们更新所有的值,因为它可能与后面步骤的值相关。所以我们需要重新计算所有东西。这是非常耗时的。是的,每次完整的 VI 扫描的计算成本。

有了这个新符号,本质上我们证明定理1的方式与多臂老丨虎丨机中的UCB非常相似,我们基本上有两个步骤。

第一步,我们将证明 Q_{h,k}(s, a) 是 Q_h^*(s, a) 的上界。顾名思义UCB,本质上我们设计这个奖励项的方式,我们希望确保这是真的。

第二步,我们进行遗憾度分析。通过UCB,我们最终能够证明遗憾度小于所有奖励项的总和,再加上一些小项。

第二步对于这个讲座来说有点繁琐,涉及很多计算,所以我们将第二步留给讲义,如果你感兴趣,可以查看关于如何推导遗憾度界限的具体计算。所以在课堂上,我们将主要关注第一步,展示为什么我们的构造证明这是一个上界。

我们今天将在课堂上做这个。第二步将推迟到讲义中。

形式上,对于第一步,我们需要证明引理。本质上,我们只是让这个陈述更严谨。

我们说以至少 1 - δ 的概率,对于任何 s, a, h,在状态集、动作集内,且时间范围不超过 H,回合数不超过 K,我们有 Q_{h,k}(s, a) ≥ Q_h^(s, a) 且 V_{h,k}(s) ≥ V_h^(s)。

基本上,在所有步骤和所有回合中,我们总是以高概率保持我们计算的 Q 值始终是最优策略值的上界。

在我们继续证明之前,对这个陈述有什么问题吗?

本质上,强化学习的很多证明基本上都是通过归纳法进行的。所以在这里,我们再次使用归纳法。我们将从 H 到 1 进行归纳。

基本情况是第 H+1 步,因为在算法中,我们从不更新第 H+1 步的值。所以这意味着在每个回合,我在第 H+1 步的值将始终等于我们设置的初始值,即等于 0,也等于最优值。

所以基本情况非常简单直接。

现在,我们假设对于所有后面的步骤,我们已经保证 V_{h+1,k} 已经是 V_{h+1}^* 的上界。

现在,我们想通过归纳法证明对于每个步骤,我们仍然有这个值也是上界。我们分为两种情况。

第一种情况是,如果状态-动作对 (s, a, h) 不在 D_k 中。也就是说,这个 (s, a, h) 对在截至时间 k 的数据集中没有被观察到。在这种情况下,我们没有更新 Q_{h,k},因为如果我们没有观察到它,我们基本上跳过了更新。

所以它将仍然保持为初始值,因此这个 Q_{h,k}(s, a) 将等于 H,即初始值。这显然是 Q_h^*(s, a) 的上界。

另一方面,如果我们观察到了这个对,那么我们将其分为两种情况。

如果我们已经知道截断后的值小于等于 H,那么 Q 值将等于 H,因为记得我们取两者中的最小值。它再次大于 Q_h^*(s, a)。

唯一非平凡的情况是另一种情况,即截断后的值实际上更小。所以最后一种情况我们需要做一点计算,这基本上是我们选择这个特定奖励项的原因。

我们看 Q_{h,k}(s, a) - Q_h^*(s, a)。根据更新方程,我们立即知道这个 Q_k 根据定义等于 r_h(s, a) + P_{h,k} V_{h+1,k}(s, a) + 奖励项 b(N_{h,k}(s, a))。

减去第二部分,根据贝尔曼方程,即 r_h(s, a) + P_h V_{h+1}^*(s, a)。

本质上,我们只是使用更新方程展开这个,使用贝尔曼方程展开那个,然后我们消去奖励项。

我们可以稍微重新排列项。我们说这等于 (P_{h,k} V_{h+1,k} - P_{h,k} V_{h+1}^)(s, a) + (P_{h,k} - P_h) V_{h+1}^(s, a) + 奖励项 b(N_{h,k}(s, a))。

我所做的只是减去这个 P_h V^* 并加回 P_h V^*。所以我没做任何事。我们只是将差值分解为两部分。

我们将这些项分解为两部分的最重要原因是,我们可以通过归纳法断定第一项大于等于 0。通过归纳法,我们知道这大于等于 0,因为我们知道对于未来的任何步骤,比如 h+1,我们已经假设这已经是一个上界。所以一旦这个 V_k 是 V^* 的上界,如果你只是对某个正的东西应用一些转移,这再次是一个正的东西。所以这将立即大于等于 0,这没问题。

所以为了使这个 Q_k 成为上界,我们需要确保的是第二项。我们希望确保第二项大于等于 0。

现在我们对这个项变得非常熟悉,因为本质上,我们想做的就是用奖励项来覆盖一些随机项,结果证明这就像独立随机变量的和,可能不是独立的,但像鞅差的和,最终我们可以说只要我们使用一些集中不等式。

更具体地说,我们可以说以至少 1 - δ 的概率,对于所有 k, h, s, a,我们有以下不等式: (P_{h,k} - P_h) V_{h+1}^*(s, a) ≤ C * √( H^2 υ / N_{h,k}(s, a) ),其中 H^2 本质上是 V 的尺度。我们知道它的边界是 H。

这只是由集中不等式得出的,本质上我们有许多项加在一起,我们取平均值,我们知道收敛速度类似于 1/√n,这就是为什么我们在这里放一个 1/√n。我们特意选择奖励项使其等于这个,或者可能大于这个某个常数因子。

我的意思是,所以这就像我们使用的霍夫丁不等式吗?我认为这本质上与我们在UCB场景中讨论的相同,如果你还记得,在UCB场景中,我们还需要做这种类型的集中性,我们说这本质上是一个霍夫丁不等式,唯一的区别是这里的 N_{h,k} 就像你拉动那个臂的次数在这里也是你访问 (s, a) 的次数是随机的。

这就是为什么你需要做一些更高级的技术,除了霍夫丁不等式,你还需要做 union bound,这与 UCB 中的类似论证相同,以处理计数 N_{h,k}(s, a) 中的随机性。

这本质上证明了我们对奖励项的选择,我们可以基本上把奖励项放在这里。并且我们说,以高概率,这将覆盖这个集中性项中发生的任何情况。

所以我们可以保证这大于等于 0。当然,证明中实际上还有一步。

最后一步非常快。一旦我们证明了对所有 s, a,有 Q_{h,k}(s, a) ≥ Q_h^(s, a),我们就说 V 值也是相同的。这意味着 V_{h,k}(s) = max_a Q_{h,k}(s, a) ≥ max_a Q_h^(s, a) = V_h^*(s)。

本质上,我们可以用这个来完成归纳,一切就都完成了。

好的,正如我们所说,最终定理1的证明将只是一些遗憾度分析,因为我们已经证明了上界。然后我们可以利用这个事实来证明遗憾度 R(K) 小于等于奖励项的总和。

具体来说,是类似于从 1 到 K 对奖励项 b(N_{h,k}(s_{h,k}, a_{h,k})) 求和,我们只计算在第 k 回合访问的状态-动作的奖励项,再加上一些小项。我们将把这个留给讲义。

但我想强调,这通常是我们证明上界算法的方式,比如UCB算法,首先我们证明它是上界,然后我们说遗憾度以奖励项为上界。

所以我们可以从这里看到,如果我们只关心第一部分是上界,我们可以让奖励项变得非常大。例如,我总是选择 Q 值为 H。这显然是一个上界。

但问题是,最终遗憾度将以奖励项的某个常数为上界。所以在这种情况下,如果我们让上界非常宽松,这个奖励项也非常宽松,整个遗憾度就会受到很大影响。所以本质上,这里的关键点是我们希望使这个上界尽可能尖锐。所以在这种情况下,我们本质上使用集中不等式来做上界。

然后最终,我们可以基于此进行遗憾度分析。

奖励函数的设计

我想讨论的另一件事是奖励函数的设计。事实证明,这个UCB-VI算法中奖励函数的设计实际上很重要,因为这个奖励函数不仅影响分析,还影响算法,因为在算法中,我们明确需要将奖励项添加到值中,然后我们根据这个值的上界计算的贪心策略收集数据。

所以奖励函数的设计实际上影响算法和我们收集的数据或轨迹。这就是为什么它回到了前一点,我说我们本质上希望使用我们想要的最尖锐的奖励函数,但另一方面,它仍然应该是可计算的,不依赖于某些不可计算的量。

我们在讲座中介绍的方式,比如 b(n) = c * H * √(υ / n),这基本上是我们之前做的。这本质上是由霍夫丁集中不等式设计的。

正如我们从集中不等式中学到的,我们实际上知道霍夫丁不等式不是最尖锐的集中不等式。很多时候,我们实际上可以做伯恩斯坦不等式,这实际上给出了更尖锐的界。事实证明,你也可以设计一个可证明的更尖锐的奖励项。

大概这会有所帮助,这里唯一的复杂性是因为伯恩斯坦不等式实际上取决于方差,而方差与霍夫丁不等式不同,霍夫丁不等式本质上是一个有界随机变量,我们知道它的边界是 H,所以我们直接把 H 放在这里。而这里我们本质上需要估计方差。

是的。所以这造成了更多的一些步骤,因为我们本质上不知道方差,所以我们需要估计方差,并将估计的方差用于我们的奖励项设计,分析也变得更加复杂。但最终,如果我们让一切正常工作,你实际上可以改进遗憾度中的 √H 因子。

我的意思是,实际上做一个更尖锐的奖励项确实有助于遗憾度。最初,我们得到类似 √(H^3 S A T) 的东西,现在我们得到 √(H^2 S A T)。

好的,到目前为止有什么问题吗?

回顾组合锁问题

在我们介绍了整个UCB-VI算法之后,我们想重新讨论一下我们谈到的困难实例,即组合锁问题,它对于探索来说非常困难。

如果你还记得,组合锁是一个两状态的MDP,本质上只有一个特定的动作序列最终会到达结束状态 S_0。其他所有动作都会导致吸收状态 S_1,并且永远不会返回。

所以我们说,如果我们只是做一些随机探索,这个问题实际上非常困难,因为我们采样到精确动作序列 a_1^, a_2^, a_3^, ..., a_H^ 的机会是指数级小的,仅仅通过一些随机探索找到最优策略是极其困难的。

然而,我们可以看到,通过使用UCB,它实际上表现得更好,在某种意义上,它非常快地消除了不正确的动作。我们本质上将从所有值开始,比如 H 或 Q 值为 H。在我们观察了一些多个轨迹之后,例如,在这个步骤,如果我们观察到许多其他不同的动作,比如除了 a_3^* 之外的其他动作,我们注意到其他不是 a_3^* 的动作的 Q 值会非常快地下降。所以它会很快降到 0。这样,我们最终会非常快地消除不正确的动作。我们将逐步进行,最终我们将能够找到这个最优值。

所以,本质上,整个思路是,我们将再次使用动态规划类型的方法来找到最优策略。

这也说明组合锁问题实际上只对特定算法来说是困难的,比如对于随机探索,但对于精心设计的算法,例如UCB-VI,我们实际上可以保证不会遭受指数级 H 的代价,实际上我们可以在多项式时间内找到最优策略。

Q-Learning with UCB

好的,所以这是关于我们如何将上置信界思想与值迭代相结合。

记住,在模拟器设置中,我们不仅讨论了值迭代,还讨论了 Q-学习算法,它进行增量更新。

我们也注意到在UCB-VI设置中,我们注意到有一个非常大的计算问题,比如在每个回合,我们需要进行完整的值迭代扫描,尽管我们只观察一条轨迹,但我们需要进行整个扫描。

所以本质上,我们将看到实际上我们也可以将 Q-学习与 UCB 结合起来,这个算法实际上将解决那个计算问题,成为真正的在线学习算法。

算法如下。这在我们 2018 年(或 2020 年)的论文中。

再次,我们初始化所有 Q 值为 H。N_h(s, a) = 0,即计数。对于所有 h, s, a。

我们进行完整的循环。即对于回合 k 从 1 到 K。我们首先接收第一个状态,初始状态 s_1。

然后,对于步骤 h 从 1 到 H。

我们不再将整个事情分解成两个大块,比如 VI 或收集数据。Q-学习的好处是,我们进行增量更新。所以每次我们收集一个新数据,我们会立即进行更新。

所以我们可以将采取轨迹与这个值更新结合起来。所以我们采取动作 a_h = argmax_a 我们当前维护的值。观察下一个状态。

我们将设置某个 t = N_h(s_h, a_h) 的计数,它将增加 1,因为我们观察到了这个 (s_h, a_h)。所以这个 N_h(s_h, a_h) 始终是计数,即我们在步骤 h 观察到这个 (s_h, a_h) 的次数。

最重要的部分是我们进行 Q 值更新。所以 Q_h(s_h, a_h) 更新为 (1 - α_t) * Q_h(s_h, a_h) + α_t * [ r_h + V_{h+1}(s_{h+1}) + 奖励项 b(t) ],其中 b(t) 只依赖于这个 t。

同样,我们只是添加了这个奖励项,我们选择这个奖励项 b(t) = c * √( H^3 υ / t ),对 H 的依赖稍差一些。

然后我们只是将 V 值设为 Q 值的最大值,但截断为 H。就这样。

所以我们看到这里不需要计算 P_hat,即转移概率的估计。在整个 Q-学习中,我们实际上并不计算 P_hat。所以这通常被认为是一种无模型算法。

而且,我们只更新我们访问过的轨迹上的值。

因此,与进行完整的值迭代扫描(这需要重新计算所有状态、动作和 h 的值)不同,在这里我们只更新我们访问过的状态和动作的值。所以在计算上,这比 UCB-VI 快得多。

而且,请记住,我们具有这种选择性记忆的优势。

再次,这里的关键是。我们需要本质上放置更多的权重在后面的更新上,以减少方差。如果你还记得在类似设置中,这相当于选择学习率 α_t 为 O(1/t)。

我们注意到,如果选择为 1/t,这正好等于均匀平均。现在我把它设置得大于 1/t。这意味着我比之前的更新更重视后面的更新。

一旦我们这样做,一切就绪,我们将基本上能够证明下一个定理。

以至少 1 - δ 的概率,Q-学习 UCB 的遗憾度 R(K) 最多为 C * √( H^4 S A T υ ),其中 υ 再次是对数项。

我们还注意到,这个遗憾度比 UCB-VI 差一个 √H 因子。这是由于同样的原因,就像这是增量更新,类似于在模拟器、生成模型设置中,我们也观察到稍微更差的样本复杂度,因为我们本质上需要偏向后面的更新,所以我们知道我们处理噪声的效果不如 UCB-VI,UCB-VI 基本上记住所有数据并使用最小的方差。这里是在线更新,我们某种程度上在滚动丢弃数据。所以在样本复杂度方面,我们比 UCB-VI 效率低。

我想我们今天就在这里结束,所以从下一讲开始,我们将总结这个探索设置,然后开始讨论一些问题。

你说后面的权重更小?是的,α_t 总是需要递减,因为你拥有越来越多的样本。所以即使你进行均匀加权,你也应该期望 α_t 递减,因为如果你有 t 个数据,每个数据只获得 1/t 的权重;如果你有 2t 个数据,每个数据应该只有 1/(2t) 的权重,这就是均匀的。我认为在上一讲中,我们提到如果这是 1/t,通过做 (1 - α_t) 乘以前一个值加上 α_t 乘以新更新,你得到精确的均匀平均。无论你使它大于 1/t,那么它就像更重视后面的更新而不是前面的更新。

Q-学习比 UCB-VI 计算更快,但样本效率更低。所以,就每次更新的计算而言,它计算更快。但样本效率更低意味着它可能需要更多的回合。但总体而言,Q-学习不会,因为这只是在样本方面差一个 √H 因子。所以这意味着你本质上需要多 H 倍的回合,但每个回合你只计算一条轨迹,更新一条轨迹。而在 UCB-VI 中,你本质上进行完整的值迭代评估,你需要查看所有状态和所有动作。所以那里你本质上在计算上多了一个 S * A 因子。

所以那里有一个权衡,在下一讲中,我们将实际讨论这种权衡。

总结

本节课中我们一起学习了如何在强化学习中应用上置信界进行有效探索。我们首先回顾了多臂老丨虎丨机中的探索策略,然后将其思想扩展到更复杂的MDP环境中,介绍了UCB-VI算法。我们讨论了算法的步骤、奖励项的设计原理以及如何通过归纳法证明算法能提供值函数的上界。我们还分析了算法的遗憾度上界,并指出其避免了指数级代价。最后,我们探讨了组合锁例子,并简要介绍了结合Q-学习和UCB的在线算法及其权衡。

011:MDP的下界

概述

在本节课中,我们将继续探讨强化学习的下界问题。我们将首先回顾上一讲中为多臂老丨虎丨机问题建立下界的通用策略,然后将其思想扩展到马尔可夫决策过程,证明在平稳MDP设置下的遗憾下界。

上节回顾:多臂老丨虎丨机下界策略

上一节我们介绍了为任何随机算法建立下界的通用策略。其核心思想是通过“约简”,将针对随机算法的下界问题,转化为针对确定性算法在某个困难问题分布上的期望表现问题。我们不再需要为特定算法构造特定的困难实例,而是可以处理一个确定性算法在一个困难实例分布上的期望表现。

我们试图证明的定理如下:对于任何算法 A,都存在一个多臂老丨虎丨机问题,使得其在时间 T 内的遗憾下界为 Ω(√(A T))

我们构造的困难实例是一个有 A 个臂的多臂老丨虎丨机问题。其中,大多数臂的奖励服从参数为 1/2 的伯努利分布,只有一个特殊的“好臂”其奖励服从参数为 1/2 + ε 的伯努利分布。这个好臂是从所有臂中均匀随机选取的。这就构成了我们的困难问题分布。

我们定义了以下符号:

  • E*:对所有随机性(包括好臂的随机选取)取期望。
  • E_a:在臂 a 是好臂的条件下,对随机奖励取期望。
  • E_0:在没有好臂(即所有臂奖励均为 1/2)的条件下,对随机奖励取期望。
  • R_1:T:算法在前 T 轮中与环境交互所观察到的全部奖励序列。

遗憾计算与关键步骤

我们计算了算法在特定问题实例下的期望遗憾,其表达式为:
Regret = εT - (1/A) Σ_{a=1}^{A} E_a[N_a]
其中 N_a 是算法拉动臂 a 的次数。

我们的核心思路是比较 E_a[N_a]E_0[N_a]。当 ε 很小时,算法很难区分是否存在好臂,因此我们期望 E_a[N_a] 不会比 E_0[N_a] 大很多。我们推导出以下关键不等式:
E_a[N_a] - E_0[N_a] ≤ T * √(2 * KL(P_0 || P_a))
这里 KL(P_0 || P_a) 是两种情形下观测历史分布之间的KL散度。

接下来,我们计算了这个KL散度。通过利用历史序列的条件独立性以及算法在给定历史下动作确定的事实,我们将其化简为:
KL(P_0 || P_a) = E_0[N_a] * KL(Bernoulli(1/2) || Bernoulli(1/2+ε))
其中 KL(Bernoulli(1/2) || Bernoulli(1/2+ε)) ≈ 2ε²(当 ε 很小时)。

完成下界证明

我们对所有臂 a 求和,并利用柯西-施瓦茨不等式,最终得到:
Σ_{a=1}^{A} E_a[N_a] ≤ T + T * √(A * 2ε²)

将这个上界代入遗憾表达式,我们得到:
Regret ≥ εT * (1 - 1/A) - √(T/A) * √(2ε²AT)

通过选择 ε = c * √(A/T)(其中 c 是一个小的常数),我们最终证明了遗憾的下界为 Ω(√(A T))

扩展到马尔可夫决策过程

在证明了多臂老丨虎丨机的下界后,我们现在将其思想扩展到马尔可夫决策过程。我们关注的是平稳MDP(即转移概率不随时间步变化)的遗憾下界。目标是证明对于任何算法,都存在一个MDP,使得其经过 K 幕、每幕 H 步的期望遗憾下界为 Ω(√(H S A K)),这与一些算法(如UBE-VI)的上界相匹配。

MDP困难实例构造

我们首先构造一个简单的三状态MDP困难实例,然后将其扩展到多状态情况。

考虑一个具有三个状态的MDP:状态 0,状态 1,状态 2

  • 在状态 0,有 A 个可选动作。其中一个特殊动作 a* 会以概率 1/2 + ε 转移到状态 1,以概率 1/2 - ε 转移到状态 2。所有其他动作都以概率 1/2 转移到状态 12
  • 状态 1 和状态 2 都是吸收状态(一旦进入,永远停留)。在状态 1,每一步获得奖励 1;在状态 2,每一步获得奖励 0
  • 初始状态固定为 0(通过对抗性初始化实现)。
  • 特殊动作 a* 是从所有动作中均匀随机选取的。

与多臂老丨虎丨机的类比

观察这个MDP的第一幕:从状态 0 出发,选择一个动作。

  • 如果选择了特殊动作 a*,我们以概率 1/2 + ε 进入状态 1,并在剩余的 H-1 步中获得累计奖励 H-1;以概率 1/2 - ε 进入状态 2,获得累计奖励 0
  • 如果选择了其他动作,我们以概率 1/2 进入状态 1,获得 H-1 奖励;以概率 1/2 进入状态 2,获得 0 奖励。

本质上等同于一个多臂老丨虎丨机问题,其中每个臂的“奖励”是 0H-1,好臂产生高奖励的概率是 1/2 + ε,其他臂是 1/2。因此,每幕的期望遗憾缩放因子是 H(而不是多臂老丨虎丨机中的 1)。

扩展到多状态和总遗憾

对于具有 S 个状态的MDP,我们可以构造大约 S/3 个相互独立的上述三状态困难实例“分支”。通过对抗性初始化,我们可以将总共 K 幕均匀地分配到这些分支上(每个分支大约分配到 K / (S/3) 幕)。

每个分支本身会产生类似多臂老丨虎丨机的遗憾,缩放因子为 H。因此,总遗憾的下界约为:
(S/3) * √(H * A * (K / (S/3))) = Ω(√(H S A K))

这就完成了平稳MDP遗憾下界的证明概要。严格的证明需要像多臂老丨虎丨机案例中一样,进行详细的信息论(KL散度)计算,但核心的构造思想和缩放关系是清晰直观的。

总结

本节课我们一起学习了如何为强化学习问题建立下界。

  1. 我们首先回顾了为多臂老丨虎丨机构造困难分布并利用信息论工具证明遗憾下界 Ω(√(A T)) 的方法。
  2. 接着,我们将这一框架扩展到平稳马尔可夫决策过程。通过构造一个简单的三状态MDP,我们展示了其第一幕的决策问题等价于一个奖励缩放 H 倍的多臂老丨虎丨机。
  3. 通过将多个这样的独立实例组合,并利用对抗性初始化,我们最终论证了平稳MDP的遗憾下界为 Ω(√(H S A K)),这表明现有的一些算法在最坏情况下已经是最优的。

下节课,我们将进入表格型MDP的最后一个主题:离线强化学习,即如何仅利用已收集的数据来学习最优策略,而不再与环境进行在线交互。

012:离线强化学习

在本节课中,我们将要学习离线强化学习。与之前讨论的在线交互学习不同,离线强化学习是从已有的、由其他策略收集的数据中学习最优策略。这种设置在实际应用中非常常见,例如在广告推荐系统中,公司不希望直接在线测试可能带来巨大损失的新策略,而是希望从历史数据中学习改进。

回顾强化学习的不同设置

首先,我们来回顾一下我们已经讨论过的几种强化学习设置。

以下是几种主要的设置:

  1. 规划:在这种设置中,我们已经完全知晓环境的转移概率和奖励函数。这更像是一个纯粹的规划问题,目标是找到最优策略,而非学习。
  2. 生成模型:在这种交互协议下,我们拥有一个模拟器。我们可以查询任何状态-动作对 (s, a),模拟器会输出下一个状态 s' 和奖励 r
  3. 在线强化学习:在这种设置中,智能体必须从初始状态开始,通过与马尔可夫决策过程在线交互来收集数据。这涉及到探索与利用的权衡。
  4. 离线强化学习:这是我们本节课的重点。在这种设置中,我们从一个已有的、由其他策略(称为行为策略)收集的数据集中学习,而不再与环境进行新的交互。

离线强化学习的设定

在离线强化学习中,我们假设存在一个行为策略 π_b,它被用来收集数据。这个策略可以是确定性的,也可以是随机的,甚至可以是由多个策略混合而成。我们得到的数据有两种常见形式:

  1. 完整轨迹数据:我们拥有 n 条完整的轨迹 τ_i,每条轨迹的形式为 (s_1^i, a_1^i, s_2^i, a_2^i, ..., s_H^i, a_H^i)
  2. 转移三元组数据:我们拥有 n 个独立的三元组 (s_h^i, a_h^i, s_{h+1}^i),它们代表了在某个时间步 h 发生的状态转移。

第二种设定比第一种更具挑战性,因为数据点之间可能缺乏连续性。为了简化,我们通常假设奖励函数 R 是已知的,因此学习的核心是估计状态转移概率 P

数据覆盖性与可集中性

为了能够从离线数据中学习到一个好的策略,数据集必须具有足够的“覆盖性”,即它需要包含足够多不同类型的状态-动作对。一个直观的想法是,数据分布应该能够覆盖到最优策略可能访问到的状态-动作对。

为了形式化这个概念,我们引入可集中性系数。首先,定义数据分布 μ_h(s, a) 为在数据集中,在时间步 h 观察到状态-动作对 (s, a) 的(经验)概率。

一个非常强的假设是全策略可集中性

假设 1(全策略可集中性):存在一个常数 C,使得对于所有时间步 h、所有状态-动作对 (s, a) 以及所有可能的策略 π,都有:

max_{h, s, a, π} [ P_π^h(s, a) / μ_h(s, a) ] ≤ C

其中 P_π^h(s, a) 表示遵循策略 π 时,在时间步 h 访问到 (s, a) 的概率。

这个假设要求数据分布 μ 必须覆盖任何策略可能访问到的所有状态-动作对,且概率不能太小。常数 C 衡量了覆盖的充分程度,C 越小表示覆盖越好。通常 C 不是绝对常数,而是与状态/动作空间大小相关。

朴素算法:基于经验转移的价值迭代

一个最直接的想法是使用经验转移概率 \hat{P} 来代替真实转移概率 P,然后运行标准的价值迭代算法。

经验转移概率 \hat{P}_h(s‘ | s, a) 定义为在数据集中,观察到 (s, a, s’) 三元组的次数除以观察到 (s, a) 对的次数。

然后,我们通过以下贝尔曼更新方程来计算动作价值函数:

\hat{Q}_h(s, a) = R_h(s, a) + \sum_{s'} \hat{P}_h(s‘ | s, a) * \hat{V}_{h+1}(s’)
\hat{V}_h(s) = max_a \hat{Q}_h(s, a)

最终输出的策略 \hat{π} 是相对于 \hat{Q} 的贪婪策略。

理论保证

在强假设(全策略可集中性)下,这个朴素的算法是有效的。

定理 1:假设数据分布 μ 满足全策略可集中性假设(系数为 C)。那么,以至少 1 - δ 的概率,基于经验转移的价值迭代算法输出的策略 \hat{π}ε-最优 的,只要每个时间步的转移三元组数量 n 满足:

n = O( (H^4 * S * C * log(1/δ)) / ε^2 )

其中 H 是时间步长度,S 是状态空间大小。

证明思路:证明结构与生成模型(模拟器)设置中的证明类似,主要分为两步:

  1. 价值差分解:将最优策略在真实MDP和价值在估计MDP上的值函数差异,分解为各时间步转移概率差异的期望和。
  2. 浓度不等式:利用霍夫丁不等式等工具, bound 经验转移与真实转移之间的差异。关键点在于,由于离线数据是预先收集的,我们需要通过数据分割的技术来确保用于估计 \hat{P}_h 的数据与用于计算 \hat{V}_{h+1} 的数据相互独立,从而应用浓度不等式。
  3. 应用可集中性假设:将分解后的期望项中的访问概率 P_π^h(s, a)C * μ_h(s, a) 替换,从而将 bound 与数据分布 μ 和经验计数 n_h(s, a) ≈ n * μ_h(s, a) 联系起来。
  4. 最终计算:通过柯西-施瓦茨不等式等技巧,最终得到样本复杂度的上界。

这个定理表明,在足够强的数据覆盖假设下,即使使用非常朴素的算法,离线强化学习也是可行的。然而,全策略可集中性假设过于强烈,在现实中很难满足。

改进算法:悲观主义与单策略可集中性

上一节我们介绍了在全策略可集中性假设下朴素的VI算法。本节中我们来看看如何通过改进算法来放宽这个强假设。直觉来源于多臂老丨虎丨机问题。

在多臂老丨虎丨机中,全策略可集中性要求我们必须以一定频率拉动每一个摇臂。如果我们采用朴素算法(选择经验平均奖励最高的摇臂),那么这个假设是必要的。否则,如果一个次优摇臂被拉动的次数很少,其经验平均可能偶然很高,导致算法错误地选择它。

然而,存在一个更好的算法:悲观主义。具体来说,我们为每个摇臂计算一个置信下界,然后选择具有最高置信下界的摇臂。这个算法被称为下界置信度算法

直觉:LCB算法只要求最优摇臂被拉动足够多次,使其置信区间足够窄、下界足够高。对于次优摇臂,即使其经验平均偶然很高,由于其数据量少导致置信区间很宽,其置信下界也会很低,因此不会被选中。这大大降低了对数据覆盖的要求。

将这种思想推广到一般的强化学习,我们得到基于悲观价值迭代的算法。

算法:悲观价值迭代
与朴素VI类似,但在贝尔曼更新中减去一个奖励加成项:

\hat{Q}_h(s, a) = R_h(s, a) + \sum_{s'} \hat{P}_h(s‘ | s, a) * \hat{V}_{h+1}(s’) - b_h(s, a)
\hat{V}_h(s) = max_a \hat{Q}_h(s, a)

其中奖励加成项 b_h(s, a) 可以设置为:

b_h(s, a) = c * H * sqrt( log(1/δ) / n_h(s, a) )

这里 n_h(s, a) 是数据中 (s, a) 对在步数 h 出现的次数。

与LCB对应,这个加成项是“悲观”的,因为它降低了那些数据支持不足的 (s, a) 对的Q值估计。

对应于这个更智能的算法,我们可以使用一个弱得多的假设:单策略可集中性

假设 2(单策略可集中性):存在一个常数 C*,使得对于所有时间步 h 和所有状态-动作对 (s, a),有:

max_{h, s, a} [ P_{π*}^h(s, a) / μ_h(s, a) ] ≤ C*

其中 P_{π*}^h(s, a)最优策略 π* 在时间步 h 访问 (s, a) 的概率。

这个假设只要求数据覆盖最优策略可能访问到的状态-动作对,这比覆盖所有策略要容易得多。

在这个弱假设和改进的算法下,我们得到了一个更优的理论保证。

定理 2:假设数据分布 μ 满足单策略可集中性假设(系数为 C*)。那么,以至少 1 - δ 的概率,悲观价值迭代算法输出的策略 \hat{π}ε-最优 的,只要每个时间步的转移三元组数量 n 满足:

n = O( (H^4 * S * C* * log(1/δ)) / ε^2 )

由于 C* 通常远小于 C,因此样本复杂度显著降低。

关于复杂度的进一步讨论

在证明中,为了应用浓度不等式,我们需要确保用于估计 \hat{P}_h 的数据与用于计算 \hat{V}_{h+1} 的价值函数估计是独立的。这通常通过数据分割来实现:将收集到的 n 条完整轨迹分割成 H 份,每份只用于估计一个特定时间步的转移概率。这种方法的代价是,我们需要总共 O(n * H) 条轨迹数据,使得轨迹级别的样本复杂度变为 O(H^5 * S * C* / ε^2)

然而,通过更精细的分析(例如使用参考优势分解技术)和设计更紧的加成项,可以避免这种数据浪费,将轨迹复杂度降低到理论最优的 O(H^3 * S * C* / ε^2)

总结

本节课中我们一起学习了离线强化学习的基础知识。

我们首先回顾了强化学习的多种设置,并明确了离线学习的特点:从固定的、由行为策略收集的历史数据中学习,不与环境进行新的交互。

接着,我们认识到数据覆盖性是离线学习的核心挑战,并形式化地引入了可集中性系数来衡量覆盖程度。我们首先在一个非常强的全策略可集中性假设下,分析了朴素的基于经验转移的价值迭代算法,并给出了其理论保证。

然后,我们指出强假设不切实际,并借鉴在线学习中“乐观探索”的思想,提出了离线学习中对应的悲观主义原则。基于此,我们介绍了悲观价值迭代算法,它通过减去一个与不确定性相关的加成项来保守地估计Q值。相应地,理论假设可以大幅放宽为单策略可集中性,即只要求数据覆盖最优策略的轨迹,从而使得离线学习在实际中更可行。

最后,我们讨论了算法实现中关于数据独立性的技术细节以及样本复杂度的优化空间。离线强化学习是处理现实世界历史数据、实现安全策略改进的重要框架。从下一讲开始,我们将进入函数逼近的领域,探讨当状态空间巨大甚至连续时,如何利用函数近似来进行强化学习。

013:大规模状态空间中的强化学习

在本节课中,我们将要学习如何处理状态空间巨大的强化学习问题。我们将介绍函数逼近这一核心方法,并重点探讨其最简单的形式——线性函数逼近。通过理解线性马尔可夫决策过程,我们将看到如何在没有模型误设的理想情况下,有效地学习和泛化价值函数。

概述:大规模状态空间的挑战与函数逼近方法

到目前为止,本学期的课程主要聚焦于表格化设定,即状态和动作的数量都是有限的。在接下来的两周,我们将进入一个新主题:处理状态和动作数量巨大的情况。

大规模状态空间带来了新的挑战。首先,样本复杂度在表格化设定中通常与状态数 S 呈线性关系,这在状态数极大时是无法承受的。其次,在实际应用中(如机器人控制或雅达利游戏),我们可能永远不会两次访问完全相同的状态,这使得基于重复访问状态的探索策略失效。

这些挑战的核心在于我们需要泛化能力:从已观测到的状态中学习,并将知识应用到未观测到的状态上。实现泛化的关键在于编码状态之间的相似性结构

主要的方法是函数逼近。我们不再为每个状态或状态-动作对存储一个独立的值(表格法),而是用带参数的函数来参数化模型、价值函数或策略。通过这种参数化,我们在不同状态之间引入了约束,从而编码了相似性结构。

以下是几种主要的函数逼近方法:

  • 参数化模型:使用神经网络等参数化转移概率 P(s'|s, a; θ) 和奖励函数 R(s, a; θ)
  • 逼近价值函数:这是本课程重点,例如用参数 θ 的神经网络逼近 Q 值 Q(s, a; θ)
  • 参数化策略:直接参数化策略函数 π(a|s; θ)
  • 演员-评论家方法:同时参数化价值和策略,并交替学习。

函数逼近也带来了新的挑战,主要包括:

  1. 稀疏性:大多数状态未被观测到,算法必须具备从已观测状态到未观测状态的泛化能力。
  2. 模型误设:真实的最优价值函数 Q* 可能不在我们选择的函数类中,这种误设会损害性能。
  3. 探索与利用:在在线场景中,仍需在稀疏性和误设的挑战之上处理探索与利用的权衡。

在接下来的课程中,我们将首先关注价值函数逼近,并暂时避免模型误设的复杂情况,集中处理稀疏性和探索的挑战。

线性函数逼近与线性MDP

上一节我们介绍了函数逼近的整体思路和挑战,本节中我们来看看最简单且理论清晰的起点:线性函数逼近。

我们假设智能体已知一个特征映射 φ: S × A -> R^d,它将状态-动作对映射到一个 d 维特征向量。基于此,我们用权重向量 w 来参数化所有 Q 值:Q(s, a; w) = w^T φ(s, a)。我们需要学习的参数就是这个 w

然而,如果我们简单地用线性函数逼近 Q 值,通常会面临模型误设问题,因为真实的最优 Q 值 Q* 未必是线性的。为了首先理解线性逼近在何种条件下有效,我们引入一个强假设来排除误设:线性马尔可夫决策过程

线性 MDP 是一类特殊的 MDP,它要求奖励和转移模型都具有线性结构:

  • 奖励R_h(s, a) = φ(s, a)^T θ_h,其中 θ_h 是参数。
  • 转移P_h(· | s, a) = φ(s, a)^T μ_h(·),其中 μ_h 是一个 d 维的(概率)测度向量。

这个假设的强大之处在于,它能保证所有策略(包括最优策略)的价值函数都是线性的。

命题:对于线性 MDP 和任意策略 π,存在一组权重向量 {w_h^π},使得对于所有 s, a, h,都有 Q_h^π(s, a) = φ(s, a)^T w_h^π

证明:根据贝尔曼方程,Q_h^π(s, a) = R_h(s, a) + E_{s'~P_h(·|s,a)} [V_{h+1}^π(s')]。代入线性 MDP 的假设:
Q_h^π(s, a) = φ(s, a)^T θ_h + ∫ V_{h+1}^π(s') d(φ(s, a)^T μ_h)(s') = φ(s, a)^T ( θ_h + ∫ V_{h+1}^π(s') dμ_h(s') )
w_h^π = θ_h + ∫ V_{h+1}^π(s') dμ_h(s'),这是一个 d 维向量,因此 Q_h^π 是线性的。

线性 MDP 是表格化 MDP 的推广。在表格化 MDP 中,我们可以构造 d = |S|×|A| 维的特征,φ(s,a) 是仅在对应 (s,a) 索引处为 1 的单位向量,此时 θ_hμ_h 就分别编码了奖励表和转移表。

然而,线性 MDP 的假设非常强,它也对特征空间施加了限制。

命题:对于线性 MDP,对于任何 s, a, h,有 φ(s, a)^T μ_h(S) = 1φ(s, a)^T μ_h(B) ≥ 0(对任意可测集 B ⊆ S)。这意味着特征空间必须位于一个超平面内(例如单纯形),而不能是像 L2 球这样的常见集合。

尽管线性 MDP 假设较强,但它提供了一个没有误设的清晰理论框架,便于我们理解线性函数逼近的学习原理。

学习方法:最小二乘价值迭代

理解了线性 MDP 的性质后,我们来看看如何学习它。我们采用与价值迭代类似的思想,但由于是函数逼近,无法精确求解贝尔曼方程,因此引入其变体:最小二乘价值迭代

在表格化设定中,我们利用经验数据来估计 Q 值:Q̂_h(s,a) = R_h(s,a) + P̂_h V̂_{h+1}(s,a)。在线性设定中,我们参数化 Q̂_h(s,a) = w_h^T φ(s,a)

权重的学习目标是最小化贝尔曼残差的平方误差。具体来说,假设我们有一批数据 {(s_i, a_i, r_i, s_i')}_{i=1}^N,我们通过最小化以下损失来求解权重 w_h
w_h = argmin_w Σ_{i=1}^N [ w^T φ(s_i, a_i) - ( r_i + max_{a'} Q̂_{h+1}(s_i', a') ) ]^2
其中 Q̂_{h+1} 是下一时间步已估计的 Q 值函数(或目标网络的值)。这个过程从 h=Hh=1 反向进行。

LSVI 的核心思想是,即使我们无法使贝尔曼方程精确成立,也可以寻找一个线性函数,使其在观测数据上尽可能满足贝尔曼方程。

本节课中我们一起学习了处理大规模状态空间的核心方法——函数逼近,并深入探讨了线性函数逼近及其理想条件线性 MDP。我们看到了线性 MDP 如何保证价值函数的线性性质,同时也认识到其假设的局限性。最后,我们介绍了最小二乘价值迭代这一基本学习算法。在下一讲中,我们将进一步探讨 LSVI 的理论性质及其保证。

014:最小二乘价值迭代

在本节课中,我们将学习在线性函数近似背景下,如何使用最小二乘价值迭代算法。我们将从回顾线性马尔可夫决策过程开始,然后详细讲解算法的核心步骤,并分析其理论保证。

概述

上一节我们介绍了线性函数近似和线性MDP的概念。本节中,我们将深入探讨一种具体的算法——最小二乘价值迭代。该算法是表格型设置中价值迭代的推广,它通过最小化贝尔曼残差的平方损失来寻找最优的线性价值函数近似。

线性MDP与最小二乘价值迭代回顾

首先,我们简要回顾线性MDP的定义。在线性MDP中,奖励和转移概率都具有线性结构。具体来说,对于每一步 h,存在一个已知的特征映射 φ_h(s, a) 和未知的参数 θ_hμ_h,使得:

  • 奖励函数:r_h(s, a) = φ_h(s, a)^T θ_h
  • 转移概率:对于任何下一状态集合 BP_h(B | s, a) = φ_h(s, a)^T μ_h(B)

在函数近似设置下,我们不再能精确求解贝尔曼方程。最小二乘价值迭代的核心思想是:参数化Q函数为线性形式 Q_h(s, a) = φ_h(s, a)^T w_h,并通过最小化平方损失来求解权重 w_h

给定一个由 n 个数据元组 (s_i, a_i, r_i, s_i‘) 构成的数据集 D,在第 h 步,我们求解以下最小二乘问题:
w_h = argmin_w Σ_{(s_i,a_i,r_i,s_i’) ∈ D} [ φ_h(s_i, a_i)^T w - (r_i + V_{h+1}(s_i‘)) ]^2
其中 V_{h+1} 是下一时间步的估计价值函数。这个问题的解析解(在添加了小的正则项 λI 以保证可逆性时)为:
w_h = (Σ_i φ_i φ_i^T + λI)^{-1} (Σ_i φ_i (r_i + V_{h+1}(s_i‘)))
这里 φ_iφ_h(s_i, a_i) 的简写。

核心集与模拟器设置

在表格型设置中,模拟器允许我们查询所有状态-动作对。但在大规模或连续状态空间中,这是不可行的。我们需要一种方法来高效地收集具有代表性的数据。

核心集的概念应运而生。一个核心集 C 是一组 d 个状态-动作对 {(s_i, a_i)},其对应的特征向量 {φ(s_i, a_i)}(记作 {ψ_i})需要满足两个关键性质:

  1. 矩阵 Ψ = [ψ_1, ..., ψ_d] 是满秩的(即秩为 d),这意味着这些特征向量张成了整个特征空间。
  2. 对于任何可能的状态-动作对 (s, a),其系数向量的1-范数有界:||Ψ^{-1} φ(s, a)||_1 ≤ LL 衡量了核心集的“代表性”或“正交性”程度。

第二个性质意味着,任何状态-动作对的特征向量 φ(s, a) 都可以用核心集特征向量的线性组合来近似表示,且组合系数的绝对值之和不会太大。一个简单的例子是当特征空间是 d 维单纯形时,选择标准基向量 e_i 作为核心集,此时 L=1

最小二乘价值迭代算法(带核心集)

结合核心集思想,在线性函数近似下的模拟器设置算法如下:

算法步骤:

  1. 数据收集:对于每一步 h 和核心集 C 中的每一个状态-动作对 (s, a),我们查询模拟器 n 次,获得 n 个样本 (r, s‘)。将所有样本元组 (s, a, r, s’) 存入数据集 D_h
  2. 价值迭代:从最后一步 H 开始,反向迭代到第一步 h=1
    • 对于每一步 h,利用数据集 D_h,通过上述最小二乘公式计算权重 w_h,从而得到 Q_h(s, a) = φ(s, a)^T w_h
    • 然后计算 V_h(s) = max_a Q_h(s, a)
  3. 策略输出:最终,算法输出贪心策略 π_hat(s) = argmax_a Q_1(s, a)

理论保证

以下是该算法性能的理论保证:

定理:假设我们处于线性MDP中,并选择了一个满足上述性质(参数为 L)的核心集 C。如果对核心集中的每个状态-动作对查询 n 次样本,其中 n ≥ C * L^2 * H^4 * (log(HD/δ)) / ε^2C 为某个常数,那么,以至少 1-δ 的概率,算法输出的策略 π_hatε-最优 的,即 V_1^*(s1) - V_1^{π_hat}(s1) ≤ ε

样本复杂度:总样本数为 H * |C| * n = H * d * n,代入 n 可得为 O( H^5 * d * L^2 * log(HD/δ) / ε^2 )

关键点在于,该复杂度不再依赖于原始状态空间 S 和动作空间 A 的大小,而是依赖于特征空间的维度 d 和核心集的质量 L。这使我们能够处理大规模甚至无限的状态空间。

证明思路

证明结构与表格型模拟器设置中的价值迭代分析类似,但需要处理线性近似和核心集带来的变化。主要步骤如下:

  1. 连接贝尔曼方程:将最小二乘解 Q_h 的表达式代入,并利用线性MDP的定义,将 Q_h 重写为 r_h(s,a) + (P_h^{hat} V_{h+1}^{hat})(s,a) 的形式。这里的 P_h^{hat} 是一个由核心集样本定义的“伪”转移算子,它可能不是标准的概率分布(权重可为负),但具有类似的线性形式。
  2. 价值差分解:与之前类似,最优价值函数 V^* 和算法估计的价值函数 V^{hat} 在初始状态 s1 下的差值,可以分解为关于策略 π^* 的期望下,每一步真实转移 P_h 与算法使用的伪转移 P_h^{hat} 对下一时刻价值函数 V_{h+1}^{hat} 作用的差异之和。
  3. 误差项分析:分析每一项 (P_h - P_h^{hat}) V_{h+1}^{hat}。通过代数变换,可以将其表达为特征向量 φ(s,a) 与一个由核心集样本经验均值与期望之差构成的向量 ε 的内积形式,即 φ(s,a)^T Ψ^{-1} ε
  4. 利用核心集性质和集中不等式
    • 由核心集性质2,||φ(s,a)^T Ψ^{-1}||_1 ≤ L
    • 向量 ε 的每个分量 ε_j 对应核心集中第 j 个特征方向上的经验误差。根据霍夫丁不等式,以高概率有 |ε_j| ≤ O( H * sqrt( log(D/δ) / n ) )
  5. 合并结果:应用霍尔德不等式,得到每一步的误差上界为 O( L * H * sqrt( log(D/δ) / n ) )。对 H 步求和,并代入 n 的取值条件,即可证明总价值差小于 ε

总结

本节课我们一起学习了线性函数近似下的最小二乘价值迭代算法。我们首先回顾了线性MDP的假设,然后引入了核心集的概念,它允许我们在庞大的状态空间中高效地收集代表性数据。接着,我们详细描述了结合核心集的LSVI算法流程,并给出了其理论性能保证。该保证表明,算法的样本复杂度仅依赖于特征维度 d 和核心集质量 L,而与原始状态/动作空间大小无关,从而实现了对表格型方法的超越。证明过程展示了如何将表格型分析中的思想推广到线性近似设置,核心在于利用线性结构和核心集性质来控制近似误差。

015:大状态空间中的探索

在本节课中,我们将要学习如何将探索策略扩展到函数逼近的强化学习场景中,特别是在大状态空间下。我们将从回顾线性函数逼近开始,然后讨论如何将乐观探索(如UCB)整合到最小二乘值迭代算法中,最后探讨如何将算法推广到更一般的线性完备函数类。

回顾:线性函数逼近与LSVI

在上一讲中,我们讨论了函数逼近下的强化学习,并重点介绍了一种简单情况:线性函数逼近。我们花了很多时间讨论基本模型——线性MDP,并特别关注了一种称为最小二乘值迭代的算法。该算法本质上是修改了值迭代算法,通过用求解最小二乘问题来替代贝尔曼更新,以适应线性函数逼近。

我们特别花了大量时间研究该算法的保证,尤其是在核心集设置下LSVI的保证。这本质上可以看作是表格型MDP中模拟器设置的类比。在表格型设置中,模拟器设置允许我们均匀地查询所有状态-动作对。而在线性函数逼近中,尽管状态空间是无限的,但我们只需均匀地遍历核心集中的所有状态-动作对,并使用该算法。这类似于生成器模型或模拟器设置。

我们知道,在表格型MDP场景中,讨论完模拟器设置后,我们会转向更高级的设置,如在线设置和离线设置。今天,我们将花一些时间讨论如何将其扩展到探索设置或在线设置。

在线探索设置与挑战

在探索设置中,与表格型设置的动机类似,我们不再能够随意查询特定的状态和动作对。我们必须从初始状态开始。在这种情况下,我们无法再遍历核心集中所有可能的状态-动作对。我们不能再查询核心集中的状态。这是一个更实际的场景。

在这种情况下,我们如何处理这个在线强化学习问题呢?如果你还记得,在表格型设置中,处理在线强化学习的核心思想是融入乐观主义。这里,我们将尝试采用相同的策略,即将乐观主义或UCB融入LSVI。

算法:LSVI-UCB

这就引出了下面的算法,即如何用置信上界来修改我们的LSVI。该算法称为LSVI-UCB。

对于回合 k = 1, 2, ..., K,执行以下操作:

  1. 接收初始状态 s_1^k
  2. 对于每个回合,执行以下操作:

首先,进行值迭代(但现在是基于最小二乘)。对于步骤 hH1,我们执行以下操作:

  • Λ_h 为我们在最小二乘解中讨论过的格拉姆矩阵:
    Λ_h = Σ_{τ=1}^{k-1} φ_h^τ (φ_h^τ)^T + λI
    其中 φ_h^τ 定义为在第 τ 个回合第 h 步访问的状态-动作对的特征映射 φ(s_h^τ, a_h^τ)λI 是正则化项,确保矩阵满秩。
  • 然后,我们求解最小二乘解,即权重向量 w_h
    w_h = (Λ_h)^{-1} * Σ_{τ=1}^{k-1} φ_h^τ * [r_h(s_h^τ, a_h^τ) + max_{a'} Q_{h+1}(s_{h+1}^τ, a')]

现在,最关键的是如何分配Q值。如果我们直接使用这个权重向量乘以特征向量,得到的就是最小二乘解。但我们需要添加一个置信上界。因此,在Q值更新中,我们执行以下操作:
Q_h(s, a) = min(H, w_h^T φ(s, a) + β * sqrt(φ(s, a)^T (Λ_h)^{-1} φ(s, a)))
其中 β 是一个常数标量。

新的Q值将是由最小二乘迭代公式求解出的权重向量构成的线性函数,再加上一个二次型作为奖励加成。这个二次型包含 φ^T (Λ_h)^{-1} φ。我们稍后会讨论为什么选择这种特定的奖励形式。

这大致完成了算法的第一部分,即如何基于先前数据进行值迭代。下一步则非常直接。

剩余步骤是,对于步骤 h1H

  • 我们采取动作 a_h^k,使其成为之前计算的Q值的贪婪动作。
  • 然后我们观察下一个状态和奖励。

整个算法有两部分:第一部分是带奖励的LSVI,第二部分是执行贪婪策略。该算法相对简单直接。唯一的重大区别是添加了奖励,并且该奖励形式是专门为线性函数逼近设计的。

奖励函数的设计原理

现在的问题是,为什么选择这种特定类型的奖励函数,即 φ^T Λ^{-1} φ 的形式?

原因与线性函数逼近的特性密切相关。你可以将其大致理解为类似于 1 / sqrt(n) 的形式,其中 n 是在 φ 方向上的有效样本数。在表格型设置中,我们的奖励函数是 1/n,其中 n 是我们观察到特定状态-动作对的次数。在线性函数逼近中,你可以认为这大致是 1 / sqrt(n),其中 n 是在 φ 方向上的有效样本数。

所谓有效样本,是因为这是线性逼近。所以,你不应该只计算与 φ 方向完全相同的观测。由于是线性的,任何接近 φ 方向的观测都可以算作是该方向上的部分样本。有效样本数由矩阵逆 Λ^{-1} 来计数。

为了更具体地理解,我们首先考虑表格型MDP的特殊情况。在表格型MDP中,特征空间 Φ 中所有可能的线性特征向量就是基向量 e_i,其中 i1D。在这种情况下,φ_i 对应于一个状态-动作对。此时,Λ 矩阵本质上就是所有先前见过的特征向量的和。我们可以将所有对应于 i 空间的特征向量分组,因此它是 Σ_{i=1}^{D} (观测到 e_i 的次数) * e_i e_i^T 的和。

在这种情况下,当我们查看奖励函数时,对于特征向量 e_j,有 e_j^T Λ^{-1} e_j = 1 / n_j,这对应于表格型设置中的置信边界。这是一个非常特殊的情况,因为在表格型情况下,所有特征向量都是正交的,因此只有完全相同的基向量才会增加你的计数。

但在一般情况下,在线性设置之外,这些 φ 特征向量可能不正交。因此,任何先前的观测,只要 φ_i^T φ 不为零,就会以 01 之间的数值增加 φ 方向的有效样本数。这就是为什么我们使用这种奖励函数的直观理解。

更严格的数学原因源于线性赌博机场景。线性赌博机是没有状态转移的MDP的简化情况。在线性赌博机中,也有UCB算法,并且这种奖励形式是专门为其设计的。你可以认为这种奖励是从赌博机文献中借鉴并插入到强化学习中,使其仍然有效。

LSVI-UCB的保证

现在我们直接讨论这种算法的保证。对于任何线性MDP,我们仍然将自己限制在线性MDP模型中,这要求奖励和转移都是线性的,这仍然有点限制性。

那么,以至少 1 - δ 的概率,LSVI-UCB的遗憾满足以下形式:
Regret ≤ C * sqrt(d^3 * H^3 * T * log(dT/δ))
其中,η = log(dT/δ)

这个结果是以遗憾的形式陈述的。你仍然可以使用我们之前讨论的类似方法,通过在线到批次的转换,将任何遗憾转换为某种复杂度,从而也可以使用该定理将其转换为样本复杂度。

关于此结果,有两点快速说明:

  1. 函数逼近设置与表格型设置略有不同,在表格型设置中我们非常关心速率,而在函数逼近设置中,我们将更多地讨论设置是什么以及我们可以获得何种类型的保证。我们将详细的速率留给讲义或更具体的论文。
  2. 高层来看,我们观察到LSVI-UCB相对于之前核心集方法的改进是,现在我们不再假设给定核心集或能够查询核心集。我们在这里使用乐观主义进行探索。这个改进是相当显著的,即我们不再需要模拟器的访问权限,甚至不关心是否存在某个核心集。事实上,如果你还记得在带有核心集的LSVI中,我们仍然需要依赖于核心集的某种范数 L 因子,而这里则完全独立于这个 L 因子。也就是说,我不再关心你是否有好的核心集,我总能做出这种保证。
  3. 第二个重要的事情是,我们不再有 SA 的依赖关系。在函数逼近中,这总是很重要。我们用线性设置中的维度 d 替代了它们。维度 d 扮演着类似 S*A 的角色,因为在表格型设置中,当你将其表格化时,本质上 d 就等于 S*A。但一般来说,我们可以认为 d 更通用,它不一定是 S*A,即使是无限状态,你也可以有某个固定的或小的 d

证明要复杂得多,基本上是置信上界、最小二乘评估和一些探索性回归分析的结合。我们将其留给原始论文。

到目前为止,关于LSVI-UCB的乐观探索有什么问题吗?如果没有,我们将进入下一个主题,即再次讨论线性函数逼近,但我们想讨论超越线性MDP的情况。

超越线性MDP:线性完备类

这回到了我们早先提出的一个问题。线性MDP是一个相当强的假设,我们假设了线性转移和线性奖励。但在很多实践中,例如当我们做深度学习时,我们只关心可以用线性函数逼近值函数。我们希望放宽假设,只要我们用线性函数逼近值函数,我们仍然可以处理一些更通用的MDP。

人们思考这个问题已经有一段时间了。我想介绍一类结果,我认为它们非常优雅。这是一个稍微更通用的类别,我们暂时称之为线性完备类。

我喜欢这个类别,因为最终我们介绍的算法解决方案非常通用,并且可以推广到一般的函数逼近,非常优雅。

让我们谈谈这个更一般的条件是什么。请记住,每当我们讨论线性函数逼近时,我们实际上讨论的是线性值函数类。在这个类别中,它被指定为 F,是所有形式为 φ^T w 的线性函数的函数类,其中 wR^d 中。

线性完备类的假设基本上有两个:

  1. 第一个是可实现性。可实现性是指最优Q值 Q^*F 中。也就是说,我们不再假设底层MDP是线性转移或非线性转移,我们不在乎。我们只关心最优值是线性的。
  2. 第二个假设本质上是完备性。这就是我们称此设置为线性完备的原因。我们说贝尔曼最优算子 T^*F 映射到 F 内部。这意味着对于任何线性值函数,如果你应用这里定义的贝尔曼算子,它仍然是一个线性函数。所以,在这个意义上,它是完备的,即应用贝尔曼算子后,线性函数将保持为线性函数。

首先检查线性MDP是这个线性完备类的一个子集。最重要的是要确保在应用贝尔曼算子后,线性函数被映射为线性函数。在线性MDP中,这相对简单,因为在线性MDP中,奖励是线性的,转移也是线性的。所以这部分保证了这一点。第一个假设也相当简单。实际上,第一个假设有点冗余,因为如果你已经说最后一步的函数是零,并且你也看到零在这个 F 中,那么完备性基本上会在某种意义上保证可实现性。

当然,每当我们引入一些新条件时,我们至少希望看到一个超出原始线性MDP但仍然在线性完备类中的例子。另一个例子在控制文献中非常重要,它实际上属于这个更一般的类别,但不属于原始类别。这就是LQR。

示例:线性二次调节器

LQR称为线性二次调节器。这是控制文献中非常基本的模型,因为控制中也进行线性控制,这本质上是线性动力学的基本模型。

我们通过一个实际应用来激发这个重要模型。例如,我们想要控制某个机器人直升机的高度。在这种情况下,如果我们只关心高度和速度,我们可以写出动力学方程。根据牛顿第二定律,我们可以将动力学大致写成以下形式。目标是找到最佳策略,即我们可以控制加速度,条件是状态(这里只是高度和速度),以便我们能找到这样的策略来维持高度。

我们希望将直升机保持在高度 H^*,并尽可能使用最少的功率。从数学上讲,你可以将其形式化为最小化某个目标函数。这个应用激发了一类通用的控制问题或MDP,称为LQR。

对于一般的LQR,你可以认为它是这类应用的抽象。状态 x_tR^d 中的向量,动作 u_tR^{d'} 中的向量。LQR假设线性转移,即 x_{t+1} = A x_t + B u_t + w_t,以及瞬时奖励是状态和动作的二次函数,即 r_t = -[x_t^T Q x_t + u_t^T R u_t]。这里 QR 是半正定矩阵。所以,A, B, Q, R 这四个矩阵指定了LQR。

一旦我们理解了什么是LQR,我们现在有以下主张:LQR满足线性完备性,但它不是线性MDP。这是一个很好的练习,可以通过直接代入那些条件来检查定义,并检查这些假设是否成立。

LQR的值函数实际上是 xu 的二次函数。这似乎与线性完备或线性MDP无关。但基本上,我们可以做一些扩展,我们可以进行线性特征映射。我们想要的特征映射类似于 xx x^Tu u^Tx u^Tu x^T 的向量化版本,以及 xu1。如果我们把这个新事物作为特征,那么 xu 的任何二次函数在 φ 中都是线性的。因为本质上,你可以将其展开为向量形式。在这个意义上,虽然关于 x 是二次的,但关于 x x^T 是线性的。

新算法:ELEANOR

在引入这个新的通用类别之后,我们接下来总是要做的就是设计新算法来解决这个类别的问题,然后提供保证。

不幸的是,原始的LSVI-UCB算法不再能够处理这种线性完备场景。原因与添加这种特定奖励函数的方式有很大关系。我们稍后会讨论这个新算法的主要区别。

能够处理更通用类别的整个新想法带来了一些权衡,称为全局乐观主义。我们使用全局乐观主义。通过称此为全局乐观主义,我们本质上将先前添加奖励的方式称为局部乐观主义。

当我们写出算法时,我们会更清楚地看到什么是全局乐观主义,什么是局部乐观主义。但现在,我们只能说整个新想法是全局乐观主义,整个算法都围绕它展开。这实际上带来了一些权衡,并非总是有利的。

新算法称为ELEANOR算法。该算法如下:对于回合 k = 1K,执行以下操作:

  1. 接收初始状态 s_1^k
  2. 构建以下置信集。置信集是参数 θ 的集合。我们在第 k 回合之前构建置信集。置信集是值函数权重向量的集合,θ_1 bar, ..., θ_H bar。你可以认为 θ_1 bar 是第一步Q值的权重向量,θ_H bar 是第 h 步值的权重向量。这些是每个步骤的权重向量。

置信集本质上是一组满足几个约束的权重。约束相对简单。它说我只考虑所有值函数的所有权重,使得它们在 Λ_h 范数下距离我的最小二乘估计 θ_hat 不远。

这里我们需要介绍一下这个范数和 θ_hat 是什么。基本上,对于任何向量,φΛ 范数平方定义为 φ^T Λ φΛ_h 是我们之前多次讨论过的格拉姆矩阵,是所有先前特征向量的和加上小的正则化项。θ_hat 就是最小二乘解。

一旦你理解了这个置信集,剩下的事情就非常直接了。所有剩余的事情就是我们计算乐观值函数 θ_1 barθ_H bar,使其成为置信集中能最大化初始状态 s_1^k 值函数的参数。然后我们只是执行,再次是贪婪执行。

全局乐观主义 vs. 局部乐观主义

全局乐观主义最重要的特点是,我们只保证总奖励的上界。在某种意义上,我们不保证我们在这里找到的 V_1 barV_1 star 的上界,特别是针对初始状态。而在局部乐观主义中,我们本质上保证所有步骤、所有状态的上界。也就是说,对于任何状态 s 和步骤 h,我们需要保证 V_h bar(s) ≥ V_h star(s)。请注意,这对于表格型设置中的VI-UCB和LSVI-UCB都是成立的。

通常,乐观主义需要两部分。当我们谈论乐观主义时,我们谈论的是奖励或向原始值添加一些额外的东西。我们希望乐观奖励足够大,以保证上界。第二件事,我们也希望奖励足够小,以便我们知道我们添加的任何奖励实际上可以忽略不计,从而使遗憾很小。如果我们添加了太多的奖励,我们基本上要在遗憾中支付这个奖励,这会损害遗憾。这些是相互冲突的目标:为了确保上界,我们希望奖励大;为了确保遗憾小,我们希望奖励小。

本质上,你可以认为局部乐观主义在上界部分施加了很多约束。因此,无论你添加什么奖励,最终都可能使约束集变得如此之大,以至于你无法使遗憾变小。另一方面,当我们进行全局乐观主义时,我们施加的约束要少得多。我们不施加任何约束,只要求第一个值足够大,成为上界。从这个意义上说,我们可以允许更小的奖励,反映在数学上就是我们构建了一个非常紧密的置信集,这样我们就可以确保遗憾很小。

因此,全局乐观主义可以带来小的奖励和小的遗憾。这本质上是为什么当我们进行乐观主义时,我们希望移除一些不必要的约束的好处。这就是为什么我们可以从局部乐观主义转向全局乐观主义,只是因为我们希望使遗憾变小。事实证明,对于这种线性完备情况,局部乐观主义的遗憾非常大,以至于甚至没有意义,它是关于 H 的指数级,而全局乐观主义会给你关于 H 的多项式级。

最后,我只想说明一点,全局乐观主义并非没有代价。全局乐观主义有一个缺点,即计算效率低下。你可以从这个置信集中观察到这一点。这是嵌套约束。因此,这个置信集除了像写出所有函数那样,没有简洁的表示方式。而且其中有一个非常复杂的优化问题。现在你只想在这个置信集的形状内进行优化。因此,计算非常密集。它需要你搜索整个函数空间以获得这个非常尖锐的奖励。而对于局部乐观主义,它实际上是计算高效的,比如LSVI-UCB就是高效算法。

总结

本节课中,我们一起学习了如何在大状态空间中进行探索。我们从线性函数逼近的回顾开始,介绍了如何将乐观探索策略整合到最小二乘值迭代算法中,形成了LSVI-UCB算法,并解释了其奖励函数的设计原理。接着,我们探讨了如何超越线性MDP的强假设,引入了更一般的线性完备函数类,并以线性二次调节器为例进行了说明。最后,我们介绍了适用于线性完备类的ELEANOR算法,并讨论了全局乐观主义与局部乐观主义的区别与权衡。在下一讲中,我们将简要讨论ELEANOR算法的保证,然后转向一般的函数逼近。

017:一般函数逼近中的探索 🧭

在本节课中,我们将学习一般函数逼近框架下的探索问题,特别是贝尔曼秩这一核心概念。我们将回顾其定义,通过几个重要例子理解其内涵,并介绍一个能利用低贝尔曼秩实现高效学习的算法——GOLF算法。最后,我们将开启课程新篇章,简要介绍多智能体强化学习的基本模型。

贝尔曼秩回顾 📚

上一讲我们讨论了函数逼近。现在,我们进入本课程最困难的内容之一。我们已经介绍了基本算法——拟合Q迭代,它是值迭代的函数逼近版本。我们讨论了离线保证,即在给定策略集的情况下,拟合Q迭代能获得何种保证,这与离线设置中值迭代的保证类似。

随后,我们转向在线设置。在离线设置中,我们需要关注函数类的对数复杂度,它描述了从一般函数类学习的复杂性。但在在线强化学习中,我们实际上需要另一个复杂度度量。我们在上一讲末尾引入了称为贝尔曼秩的概念。

首先,我们回顾什么是贝尔曼秩。为了引入贝尔曼秩,我们需要先定义平均贝尔曼误差。

定义相当直接。对于函数类 F 中的任何值函数 f,以及任何策略 π,我们可以定义这个平均贝尔曼误差。在步骤 h,观察值函数 f 并遵循策略 π 的平均贝尔曼误差定义为:我们取期望,其中在前 h-1 步,我们使用策略 π,而在最后第 h 步,我们使用函数 f 的贪婪策略来采取行动。然后,我们观察贝尔曼误差,即当前步骤的值与对该值应用贝尔曼算子后下一状态值的差异。

贝尔曼秩本质上就是观察这个平均贝尔曼误差,并衡量其复杂性。令 ε_h 为一个矩阵,其行和列由函数类 F 索引。这个矩阵的每个条目 (f, f‘) 就是上述平均贝尔曼误差,其中评估函数为 f,遵循的策略是 f‘ 的贪婪策略 π_f‘

因此,我们定义MDP关于函数类 F 的贝尔曼秩,本质上就是这个矩阵的秩。我们观察每个步骤 h 的矩阵秩,并取这些秩的最大值,将其定义为贝尔曼秩。

一个非常重要的观察是:这是基于矩阵的秩定义。但为了证明贝尔曼秩小于某个维度 d,我们只需要证明存在一个映射,将函数映射到 d 维空间,使得对于任何 f, f‘ 和任何步骤 h,平均贝尔曼误差可以分解为两个 d 维向量的内积。一旦我们能证明这一点,就相当于将 ε_h 矩阵分解为行向量和列向量,这表明其秩最多为 d。我们将利用这个特性来证明许多我们已考虑的MDP或强化学习问题实际上具有低贝尔曼秩。

贝尔曼秩示例 🔍

现在,我们来看一些例子。

表格型MDP 📊

命题1:对于表格型MDP,其函数类 F 包含所有可能的值函数。我们可以证明其贝尔曼秩小于或等于状态数 S

我们利用上述分解特性来证明。观察平均贝尔曼误差,根据定义,它是贝尔曼误差的期望。我们可以将其显式写出,对状态 s_h 和动作 a_h 取期望。最终,这个表达式可以写成一个内积形式:一个向量只依赖于 f‘(与遵循策略 π_f‘ 访问状态 s_h 的概率有关),另一个向量只依赖于 f(与贝尔曼误差项有关)。这个内积是 S 维的,因此贝尔曼秩至多为 S

线性MDP 📈

命题2:对于线性MDP,其贝尔曼秩小于或等于特征维度 d

我们进行类似的分解。展开平均贝尔曼误差的期望表达式。利用线性MDP的转移特性,我们可以将期望追溯到前一步 s_{h-1}, a_{h-1}。关键的观察是,表达式的一部分只依赖于 f‘(与特征向量 φ(s_{h-1}, a_{h-1}) 的期望有关),另一部分只依赖于 f(与后续的期望有关)。这再次形成了一个 d 维的内积分解,因此贝尔曼秩至多为 d

区块MDP 🧱

区块MDP可以看作是部分可观测MDP的一个简单特例。其底层是一个MDP,但我们观测到的是从状态生成的、可能非常丰富的观测值(如图像)。我们假设存在一个解码器,可以从每个步骤的观测值中解码出底层状态。

在这种情况下,如果我们天真地应用表格型结果,复杂度将取决于巨大的观测空间。但在贝尔曼秩框架下,我们可以证明其贝尔曼秩仅取决于底层状态数 S,而不是观测空间的复杂度。我们再次对平均贝尔曼误差进行分解,通过首先对底层状态 s_h 取期望,然后对给定状态生成的观测和动作取期望,最终得到一个内积形式,其中一个因子只依赖于 f‘,另一个只依赖于 f,维度为 S

这表明,对于具有丰富观测但底层状态简单的MDP,贝尔曼秩框架能提供更紧的复杂度度量。

GOLF算法 ⛳

既然我们知道许多问题的贝尔曼秩很小,那么如何利用这一点设计高效算法呢?答案是一个非常自然的算法——GOLF算法(基于局部拟合的全局乐观算法)。

你可以将其视为线性函数逼近中Elnor算法的一般函数逼近版本,但结合了全局乐观思想。

以下是算法步骤:

  1. 初始化:对于所有步骤 h=1,...,H,初始化数据集 D_h 为空集。初始化置信集 B_0 为整个函数类 F
  2. 循环:对于回合 k = 1 到 K
    • 乐观规划:选择函数 f_k,使其在置信集 B_{k-1} 中最大化初始状态 s_1 下的值函数 V_1^{f_k}(s_1)。将策略 π_k 设置为 f_k 的贪婪策略。
    • 收集数据:遵循策略 π_k 收集一条轨迹数据,并将其添加到各步骤的数据集 D_h 中。
    • 更新置信集:构造新的置信集 B_k。置信集包含所有满足以下条件的值函数 f:其贝尔曼残差平方损失 L_{D_h}(f_h, f_{h+1}) 不超过所有函数中的最小损失加上一个松弛项 β。即:
      L_{D_h}(f_h, f_{h+1}) ≤ inf_{f‘∈F} L_{D_h}(f‘_h, f_{h+1}) + β

算法理解:置信集的构造是核心。它本质上是拟合Q迭代(FQI)的松弛版本。FQI寻找最小化贝尔曼残差损失的点估计,而GOLF的置信集则包含了所有损失不超过最小损失加 β 的函数。β 是一个统计松弛项,通常选择为 O(log(|F|) * KH / δ) 的形式,以确保真实的最优值函数以高概率始终位于置信集内。这样,算法结合了FQI的局部拟合思想和基于置信集的全局乐观规划。

理论保证 ✅

在满足两个假设——可实现性(真实值函数在 F 中)和完备性(对 F 应用贝尔曼算子后结果仍在 F 中)——的前提下,存在常数 C,使得如果我们按上述方式选择 β,则以至少 1-δ 的概率,算法在 K 回合内的累积遗憾上界为:
Regret(K) ≤ O( H * √(D * K * β) )
其中 D 是贝尔曼秩。

这个保证非常通用,不依赖于状态或动作的数量。除了水平长度 H 和对数因子,遗憾主要取决于两个关键量:贝尔曼秩 D 和函数类的对数复杂度 log|F|。在离线设置中,我们需要 log|F| 小和集中性系数;在在线设置中,集中性系数被贝尔曼秩所取代。GOLF算法能够有效解决任何具有小贝尔曼秩的强化学习问题。

迈向多智能体强化学习 🤝

接下来,我们将进入课程的新主题——多智能体强化学习。在剩余时间里,我们将用两周讨论多智能体强化学习,一周讨论部分可观测强化学习。

多智能体强化学习研究涉及多个智能体的应用,例如视频游戏、多机器人协作或竞争、军事应用等。一个天真的想法是将其简化为单智能体问题,将其他智能体视为环境的一部分。然而,这并不简单,因为其他智能体是自适应的,它们的策略会在游戏中改变,这与单智能体中静态环境的假设不同。

我们将首先关注纯竞争环境,因为合作环境更类似于分布式单智能体问题,而竞争环境将对手的自适应性推向了极致,会产生许多有趣的现象。我们将从最基本的竞争形式——两人零和博弈开始。

首先考虑博弈的基本形式:正规形式博弈(无状态和转移)。对于两人零和正规形式博弈,我们只需要一个效用矩阵 R ∈ R^{|A|×|B|},其中行对应最大化玩家(行玩家)的动作,列对应最小化玩家(列玩家)的动作。矩阵条目 R(a,b) 表示行玩家采取动作 a、列玩家采取动作 b 时,行玩家获得的奖励。由于是零和,列玩家的奖励就是 -R(a,b)。我们假设玩家同时行动。

一个简单的例子是“石头剪刀布”游戏。双方动作集相同:{石头, 布, 剪刀}。效用矩阵(从行玩家角度)可以写为:平局得0分,赢的得1分,输的得-1分。

在下一讲中,我们将继续讨论正规形式博弈的解概念(如纳什均衡)及其求解方法,然后推广到更一般的马尔可夫博弈。

总结 📝

本节课我们一起学习了一般函数逼近中的探索。我们回顾并深入理解了贝尔曼秩这一关键复杂度度量,它通过衡量平均贝尔曼误差矩阵的秩来刻画问题的内在难度。我们通过表格型MDP、线性MDP和区块MDP的例子,看到许多重要问题都具有低贝尔曼秩。

接着,我们介绍了GOLF算法,它巧妙地将拟合Q迭代的局部拟合思想与基于置信集的全局乐观规划相结合。该算法能够利用低贝尔曼秩的特性,在仅依赖贝尔曼秩 D 和函数类复杂度 log|F| 的情况下,获得次线性遗憾保证,为一般函数逼近下的在线学习提供了强大工具。

最后,我们开启了课程新篇章,引入了多智能体强化学习,并简要介绍了其基本模型——正规形式博弈,为后续学习博弈论解概念和马尔可夫博弈奠定了基础。

019:双人零和博弈

在本节课中,我们将继续学习多智能体强化学习,重点探讨双人零和博弈的求解算法。我们将从基于“最佳响应”的经典方法入手,分析其优缺点,然后介绍更高效、更具理论保证的动态规划方法。

基于最佳响应的算法

上一节我们介绍了马尔可夫博弈的公式和贝尔曼最优方程。本节中,我们来看看一类经典的求解思路:基于最佳响应的算法。其核心思想是,当固定对手的策略时,求解我方的最佳响应就变成了一个(类)单智能体问题。

以下是这类算法的两个关键组成部分:

  1. 纳什均衡求解算法(正规形式博弈):这是一个在无状态转移的“正规形式”博弈中寻找纳什均衡的算法,它只需要能够调用一个“最佳响应计算器”。
  2. 单智能体强化学习算法:我们将使用标准的单智能体RL算法(如值迭代、Q学习、PPO等)来近似计算针对某个固定对手策略的“最佳响应”。

将这两部分结合,就构成了求解马尔可夫博弈的一种启发式方法。然而,这种方法存在根本性缺陷。

虚拟对局算法

一个简单的想法是让智能体轮流针对对方当前策略计算最佳响应,即“自我对局”。但这种方法即使在“石头剪刀布”这样的简单博弈中也会陷入循环,无法收敛。

为了解决这个问题,我们引入虚拟对局算法。与自我对局不同,虚拟对局中,每个智能体计算的是针对对手历史平均策略的最佳响应。

  • 算法描述:在第 K 轮迭代中,玩家1的策略 π1^(K+1) 是针对玩家2前 K 轮策略的平均值的最佳响应。玩家2的更新同理。

虚拟对局在理论上能保证收敛到纳什均衡,但其收敛速度可能极慢,在最坏情况下需要 O((1/ε)^{|A|}) 轮迭代才能找到 ε-近似 纳什均衡,其中 |A| 是动作数量。这意味着对于动作空间稍大的博弈,该算法并不实用。

双重预言算法

为了提升效率,我们引入双重预言算法。该算法维护一个由历史策略两两对抗构成的收益矩阵 M_K,并在每轮迭代中计算该矩阵的纳什均衡,得到一个元策略(即对历史策略的权重分布),然后针对该元策略的混合策略计算最佳响应。

  • 算法核心:使用元策略 pq(由子博弈 M_K 的纳什均衡给出)来混合历史策略,并计算针对该混合策略的最佳响应。

双重预言算法最多在 |A| 轮迭代内就能找到纳什均衡,这比虚拟对局有了显著改进。基于此思想的一系列算法(如策略空间响应预言)在实践中被广泛应用。

方法的局限性

尽管基于最佳响应的算法直观且被广泛尝试,但将其用于马尔可夫博弈时存在两个主要问题:

  1. 效率低下:将马尔可夫博弈视为正规形式博弈时,其“动作”对应的是所有可能的策略,数量极其庞大(约为 (1/ε)^{H*S*|A|}),导致算法复杂度爆炸。
  2. 原理冲突:在双重预言等算法中,需要计算针对一组策略的混合(而非单一策略)的最佳响应。这不再是一个标准的马尔可夫决策过程,因此使用为MDP设计的单智能体RL算法作为最佳响应计算器缺乏理论保证。

综上所述,基于最佳响应的算法未能充分利用马尔可夫博弈的结构,难以设计出具有高效理论保证的算法。

基于动态规划的算法

为了获得更原理性的算法,我们需要回归到利用马尔可夫博弈本身的结构,即基于贝尔曼最优方程的动态规划方法。

生成模型下的纳什值迭代

首先考虑生成模型(模拟器)设定。与单智能体情况类似,我们可以通过采样估计经验转移模型 ,然后执行纳什值迭代

  • 值更新公式
    Q_h(s, a, b) = R_h(s, a, b) + E_{s'∼P̂(·|s,a,b)}[V_{h+1}(s')]
  • 策略与状态值更新公式
    (μ_h(·|s), ν_h(·|s)) = Nash(Q_h(s, ·, ·))
    V_h(s) = E_{a∼μ_h(·|s), b∼ν_h(·|s)}[Q_h(s, a, b)]

其中,Nash(Q_h(s, ·, ·)) 表示求解以矩阵 Q_h(s, ·, ·) 为收益的双人零和博弈的纳什均衡。该算法可以看作是单智能体值迭代在零和博弈下的自然推广,其样本复杂度分析也类似。

探索设定下的乐观纳什值迭代

在需要主动探索的设定下,我们结合纳什值迭代与乐观原则,得到乐观纳什值迭代算法。关键在于,在零和博弈中,最大化玩家需要乐观的上界,而最小化玩家需要乐观的下界。

  1. 构造乐观Q值
    • 上界:Q̅_h(s,a,b) = R_h(s,a,b) + E_{s'∼P̂}[V̅_{h+1}(s')] + bonus
    • 下界:Q_h(s,a,b) = R_h(s,a,b) + E_{s'∼P̂}[V_{h+1}(s')] - bonus
  2. 策略求解的挑战:一个朴素的想法是求解一个广义和博弈,其收益矩阵分别为 Q̅_h(s)Q_h(s)。然而,计算广义和博弈的纳什均衡是 PPAD-Complete 难题,没有已知的多项式时间算法。
  3. 解决方案:粗相关均衡:为了避免计算难题,我们用计算粗相关均衡 来代替求解纳什均衡。CCE是一种联合策略分布 π(a,b|s),它满足:任何玩家单方面偏离并采取一个固定动作(而非遵循相关协议)都无法获益。
    • 关键性质:对于零和博弈(即当 Q̅ = Q = Q 时),一个CCE策略 π 的边际分布 (μ, ν) 就构成了原博弈的一个纳什均衡。
    • 计算效率:CCE可以通过线性规划高效求解。

因此,修改后的算法步骤如下:在每一步,我们计算 (Q̅_h(s), Q_h(s)) 的一个CCE策略 π_h(·|s),然后将其边际分布作为执行策略,并用于计算乐观值 V̅_h(s)V_h(s)。这样就得到了一个计算高效且具有理论保证的探索算法。

总结

本节课我们一起学习了双人零和博弈的两种求解思路。基于最佳响应的算法(如虚拟对局、双重预言)虽然直观,但在应用于马尔可夫博弈时存在效率和原理上的局限。而基于动态规划的算法(如纳什值迭代及其乐观变体)则更好地利用了博弈结构。通过引入粗相关均衡作为计算子程序,我们能够设计出既计算高效又具有理论样本复杂度保证的强化学习算法,用于解决带探索的零和马尔可夫博弈。下一讲我们将深入探讨这些算法的形式化理论保证。

020:多人一般和博弈

在本节课中,我们将学习多人一般和马尔可夫博弈,探讨其与双人零和博弈的区别,并介绍应对多智能体强化学习独特挑战(如“多智能体诅咒”和去中心化算法设计)的核心思想。

博弈形式化

上一节我们介绍了双人零和博弈的求解方法。本节中,我们来看看更一般的多人一般和马尔可夫博弈的形式化定义。

一个多人一般和马尔可夫博弈由以下元素定义:

  • 状态集合S
  • 智能体集合M 个智能体
  • 动作集合:对于第 i 个智能体,其动作集为 A_i
  • 转移函数P(s_{h+1} | s_h, a_h),其中 a_h 是所有智能体的联合动作向量 (a_h^1, ..., a_h^M)
  • 奖励函数:对于第 i 个智能体,其奖励为 R_h^i(s_h, a_h)
  • 时间步长H

每个智能体 i 的策略 π^i 是其自身状态到自身动作分布的一个映射。联合策略 π 是所有智能体策略的集合。智能体 i 在联合策略 π 下的价值函数 V_1^i,π(s) 是其期望累积奖励。

均衡概念与挑战

在博弈设定中,我们的目标是找到某种均衡策略。纳什均衡要求每个智能体在给定其他智能体策略不变的情况下,没有动机偏离自己的策略。然而,在一般和博弈中,寻找纳什均衡是PPAD难的,没有已知的多项式时间算法。

因此,我们常使用替代的均衡概念,例如相关均衡粗糙相关均衡 。这些均衡允许智能体之间存在相关性(通过一个“协调者”或共享随机性),并且可以在多项式时间内通过线性规划求解。纳什均衡是CE的子集,而CE又是CCE的子集。

多智能体强化学习面临两个主要挑战:

  1. 多智能体诅咒:基于联合Q值的方法,其样本复杂度会随智能体数量 M 呈指数增长(∏ A_i)。
  2. 去中心化算法设计:我们希望每个智能体能像单智能体一样,仅基于自身观察独立运行算法,且不依赖中心化协调。

核心问题是:能否设计一种去中心化的多智能体强化学习算法打破多智能体诅咒

无悔算法:从矩阵博弈出发

为了设计去中心化算法,一个关键思路是让每个智能体运行能对抗对抗性对手的算法,即无悔算法

在矩阵博弈(单步博弈)中,一个著名的无悔算法是EXP3(用于对抗性多臂老丨虎丨机)。以下是其步骤:

对于每一轮 t

  1. 根据权重计算动作概率分布:p_t(a) = w_t(a) / Σ_{a'} w_t(a')
  2. 根据 p_t 随机选择动作 a_t
  3. 观察到损失 l_t(a_t)
  4. 构造无偏估计量:\hat{l}_t(a) = l_t(a) / p_t(a) * 1{a = a_t}
  5. 更新权重:w_{t+1}(a) = w_t(a) * exp(-η * \hat{l}_t(a))

EXP3算法能保证,对于任意对抗性选择的损失序列,其遗憾值是次线性的:
Regret_T = Σ_{t=1}^T p_t · l_t - min_{a} Σ_{t=1}^T l_t(a) ≤ O(√(|A| T))

在博弈中应用时,如果每个智能体都运行某种无悔算法:

  • 双人零和博弈中,时间平均策略会收敛到纳什均衡。
  • 多人一般和博弈中,时间平均的联合策略(注意,平均过程会引入相关性)会收敛到一个粗糙相关均衡。

重要的是,其样本复杂度仅依赖于单个智能体的最大动作数 max_i |A_i|,而非所有动作的乘积,从而打破了“诅咒”。

从矩阵博弈到马尔可夫博弈:V-学习算法

然而,直接将无悔算法扩展到多步的马尔可夫博弈是困难的。为对抗性对手设计一个具有多项式遗憾保证的马尔可夫博弈无悔算法被证明是不可能的。

但我们的目标(找到均衡)比设计无悔算法更容易实现。关键思想是将无悔算法的思想与动态规划结合,设计新的算法。这就是V-学习算法

V-学习与Q学习类似,但有一个核心区别:

  • Q学习:维护Q值 Q(s, a),策略通常是对Q值的贪心策略。
  • V学习:只维护状态值 V(s)。由于没有Q值,无法直接贪心。因此,它为每个状态维护一个独立的无悔算法实例(如EXP3)来生成策略。

V-学习算法的伪代码如下:

对于回合 k = 1 to K

  1. 初始化状态 s_1
  2. 对于时间步 h = 1 to H
    • 根据当前状态 s_h 对应的无悔算法实例给出的策略 π_h 选择动作 a_h
    • 执行 a_h,观察到奖励 r_h 和下一个状态 s_{h+1}
    • 更新访问计数 N(s_h) += 1
    • 更新V值V_h(s_h) ← (1 - α_t) * V_h(s_h) + α_t * [r_h + V_{h+1}(s_{h+1}) + β_t] (其中 α_t 是学习率,β_t 是探索奖励)
    • 更新策略(无悔算法):向状态 s_h 对应的无悔算法实例反馈“效用” r_h + V_{h+1}(s_{h+1}),该实例据此更新其内部权重,从而更新策略 π_h

总结

本节课我们一起学习了多人一般和马尔可夫博弈的基础。我们首先了解了其形式化定义及纳什均衡的计算困难,从而引入了相关均衡等替代概念。接着,我们探讨了多智能体强化学习的两个核心挑战:“多智能体诅咒”和去中心化算法设计。

我们从简单的矩阵博弈出发,介绍了无悔算法(以EXP3为例)如何通过让每个智能体独立运行对抗性算法,最终收敛到均衡,并有效避免了动作空间的指数爆炸。

最后,我们将视角扩展到更复杂的马尔可夫博弈,指出了直接设计无悔算法的局限性,并引入了V-学习算法作为一种解决方案。V-学习通过结合值函数更新和基于状态的、分布式的无悔算法来生成策略,为实现去中心化且高效的多人博弈学习提供了新的思路。在下一讲中,我们将深入探讨V-学习的理论保证。

022:部分可观测强化学习 II

在本节课中,我们将继续学习部分可观测强化学习,这是本学期的最后一讲。我们将深入探讨部分可观测马尔可夫决策过程在统计学习上的困难性,并介绍一个统计上可处理的POMDP子类及其学习算法。

回顾:部分可观测马尔可夫决策过程

上一节我们介绍了部分可观测强化学习的数学模型——部分可观测马尔可夫决策过程。POMDP有三个核心要素:状态动作观测。与MDP的关键区别在于,智能体无法直接观测到状态,只能接收到由状态生成的观测信号。

由于状态是隐藏的,智能体必须基于整个历史观测序列来推断状态的分布,这使得最优策略依赖于整个历史。历史序列的数量随步长H呈指数级增长,导致计算和统计学习都面临巨大挑战。

统计学习的困难性

本节中,我们来看看POMDP在统计学习上的困难性。研究表明,在最坏情况下,学习一个POMDP需要样本数量为 Ω(A^H),即动作数量的指数级。这意味着即使拥有无限的计算能力,也需要收集指数级的样本才能学习。

为了理解这个困难性,我们需要分析其反例构造。

以下是构造困难POMDP实例的关键要素:

  1. 无信息观测:观测信号完全不提供关于状态的信息。例如,无论处于哪个状态,都生成相同的观测。
  2. 组合锁结构:底层状态转移采用类似“组合锁”的MDP结构。只有执行完全正确的动作序列,才能到达有奖励的最终状态,否则进入无奖励的吸收态。

当智能体面对一个具有无信息观测的“组合锁”POMDP时,其体验类似于尝试输入密码:在输入完成前,没有任何反馈表明哪些动作是正确的。解决此类问题本质上需要穷举所有可能的动作序列,因此需要指数级的样本。

识别可处理的子类:弱揭示POMDP

既然任意POMDP都难以学习,一个自然的思路是识别一个丰富且统计上可处理的POMDP子类。我们从困难实例中得到启示:学习困难源于观测信息不足

直观上,信息丰富的观测意味着不同的状态应产生不同的观测分布。这样,通过观测信号,我们就能区分不同的状态。

更严格的数学条件是弱揭示条件。一个POMDP被称为 α-弱揭示 的,如果其所有时间步的发射矩阵 O_h 的最小奇异值都满足 σ_min(O_h) ≥ α > 0。这保证了发射矩阵是满秩的,并且是满秩条件的鲁棒版本,意味着任何不同的状态混合都会产生不同的观测分布。

α-弱揭示POMDP构成了一个丰富的子类,它排除了那些观测无信息的病态实例,是统计学习可处理的关键。

基于模型的算法:乐观最大似然估计

上一节我们提到,基于价值的方法在POMDP中面临挑战,因为价值函数依赖于历史,其复杂度是指数级的。本节我们转向基于模型的方法。

基于模型的方法之所以可行,是因为POMDP的模型参数(状态转移和观测发射)是有限的,与历史长度无关。模型的大小仅与状态数、动作数和观测数有关。

我们将设计一个结合了乐观原则最大似然估计的算法。该算法遵循与一般函数近似的GOLF算法相似的迭代框架。

以下是乐观MLE算法的三个核心步骤:

  1. 乐观规划:在当前模型参数的置信集合中,选择能够最大化初始价值的模型和策略对 (M_k, π_k)
  2. 数据收集:执行策略 π_k,收集一条新的轨迹数据 τ_k
  3. 置信集更新:基于所有收集到的数据,使用最大似然估计更新模型参数的置信集合。

其中,置信集合 C_k 包含所有满足以下条件的模型参数 θ

∑_{(π, τ) ∈ 数据} log P_θ^π(τ) ≥ [ max_{θ‘} ∑_{(π, τ) ∈ 数据} log P_{θ’}^π(τ) ] - β

这里,右边第一项是当前数据集上的最大似然估计值,β 是一个统计容差项。置信集合包含了所有似然度不低于最优值减去β的模型,这为学习过程中的不确定性提供了空间。

对于满足α-弱揭示条件的POMDP,该乐观MLE算法能够以多项式数量的样本(poly(H, S, A, O, 1/ε, 1/α))学习到一个ε-最优策略

总结

本节课中我们一起学习了部分可观测强化学习的统计学习理论。我们首先分析了POMDP统计学习困难性的根源,即无信息观测与复杂状态转移的结合。为了克服这一困难,我们定义了一个丰富且实用的POMDP子类——α-弱揭示POMDP,其核心是观测矩阵满秩且满足鲁棒性条件。最后,我们介绍了一种基于模型的乐观最大似然估计算法,该算法能够以多项式样本复杂度有效学习此类POMDP,从而在理论上解决了部分可观测场景下的高效学习问题。

posted @ 2026-03-26 13:11  布客飞龙IV  阅读(7)  评论(0)    收藏  举报