
目录前言1. 引言2. 强化学习概述3. 强化学习的数学基础4. 马尔可夫决策过程5. 信用分配问题6. 强化学习的优化技术7. 强化学习示例8. Q-Learning9. 事后经验回放结语参考前言学习 Steven Brunton 讲授的强化学习入门概述视频本篇文章记录第一讲强化学习机器学习与控制理论的交汇记录下个人学习笔记和大家一起分享交流videohttps://www.youtube.com/playlist?listPLMrJAkhIeNNQe1JXNvaFvURxGY4gE9k741. 引言强化学习本质上是机器学习的一个分支专注于如何学习控制策略以与复杂环境进行交互我对强化学习的理解是它是一种通过经验学习如何与环境交互的框架。这是一个极具生物学启发的概念这正是动物所做的事情通过试错、经验积累、正负奖励和反馈它们学会了如何与环境互动。在深入探讨之前我想先展示一些激发兴趣的视频它展示了强化学习如何在人工环境中学会行走类似的论文有很多研究者们将强化学习作为一种优化框架用于学习如何控制复杂系统。例子中是一个双足步行机器人通常是在模拟环境中进行训练这看起来非常酷而且是一个极具挑战性的控制问题这是一个非常复杂的非线性控制问题现在的目标是将虚拟环境学到的知识迁移到现实世界中应用以制造出更好的机器人以及能够与我们共同在现实世界中互动的实体智能体学习如何像人类和动物那样学习。无论何时任何训练过动物的人无论是狗还是其他动物都进行过某种形式的强化学习或强化训练没错这实际上就是 “强化” 一词的由来。无论是在动物系统还是人类系统中你都会通过奖励比如零食来强化好的行为因此这里的核心就是通过正向强化学习一种良好的控制策略或一系列有效的行为。OK这就是我们今天要讨论的内容。2. 强化学习概述我将带大家梳理整个框架因此我想理清其中的关键点我们将讨论两个主要部分首先是强化学习的框架即如何学习与环境互动的基本方法其次是在此框架下如何实际优化智能体的行为或策略这是一个复杂的优化问题今天我们会围绕这两点展开讨论。而在之后的视频中我们将深入探讨深度强化学习即结合现代技术和深度神经网络的强化学习方法以及这些系统所能实现的惊人应用和性能表现。OK接下来我们将从头开始一步步构建这个强化学习框架其核心在于你需要从一个智能体和一个环境开始智能体能够采取行动与环境进行交互在第一个例子中我还会举几个例子我们将讨论一只老鼠在迷宫中的情境因此智能体是一只老鼠环境则是一个迷宫老鼠能够测量它在环境中的当前状态即测量状态s ss需要注意的是它测量的并非完整状态老鼠并没有对整个迷宫的全局视角它只知道当前所处的位置以及过去的位置。接着老鼠会采取某个动作a aa即决定下一步该做什么OK在这种情况下它可以选择左转、右转或直行而只有在迷宫尽头时老鼠才能真正获得奖励因此这些奖励非常稀疏数量少且间隔远在这种情况下如果它走到迷宫的尽头可能会得到一块奶酪。这个故事的核心在于这个智能体需要做出一些决策它能够控制自己的行为因此具备自主性和对环境的掌控能力它能够感知自己在环境中的位置并且偶尔会获得奖励奖励的获得并不频繁因此这个系统的目标之一就是学习哪些行为真正导致了奖励的获得或缺失从某种意义上来说这属于机器学习的范畴这被称为半监督学习如果老鼠在迷宫的每一个阶段都能获得奖励即在每一个正确的转弯处都能得到一块奶酪那么这就只是普通的监督学习而这些奖励则被称为标签它们会告诉你“是的你做对了”或者“不你做错了”。但由于这里的奖励是延迟的 — 它只在游戏结束时或非常零星地出现并且并不与每一个单独地行为直接关联我们将这种时间延迟的标签称为奖励reward而这就变成了一个半监督学习问题。因此从某种意义上说它仍然是监督学习因为有监督反馈告诉智能体哪些行为有效哪些无效但它提供的信息远不及经典监督学习中的那样丰富而这正是强化学习的主要挑战之一这些标签极为稀少且很难判断究竟是哪些行为促成了最终获得奖励。因此这是一个更加复杂的优化问题通常需要更多的数据以及更多的试错过程接下来我们将详细讨论这一点。我还喜欢以国际象棋、跳棋或井字棋为例 — 基本上就是各种游戏在这些游戏中智能体遵循一定的规则并通过一系列有限的动作与环境互动以国际象棋为例有趣的是环境不仅包括游戏规则还包括一个试图击败你的对手你的目标是击败对手试图将对方将死而对方也在努力战胜你因此有趣的是游戏的规则本身就在引导这种对抗从强化学习的角度来看《黑客帝国》中的尼奥实际上就是智能体他试图学习矩阵即环境的规则。OK让我们回到国际象棋的例子这个例子很好地体现了强化学习中的许多问题所以我们将用它作为我们的典型问题。3. 强化学习的数学基础归根结底强化学习中的一大挑战是设计一种策略Policy即在给定状态s ss的情况下决定采取哪些行动以最大化未来获得奖励的概率这个智能体所能做的全部就是决定一个策略这被称为策略而非控制律control law原因有很多部分是因为环境并非确定性的而是概率性的因此这个策略也将是概率性的。POLICY π ( s , a ) Pr ( a t a ∣ s t s ) \color{red} \text{POLICY} \quad \pi(s,a) \text{Pr}(a_ta \mid s_ts)POLICYπ(s,a)Pr(ata∣sts)OK所以我们的策略π \piπ会告诉我在当前处于状态s ss的情况下采取动作a aa的概率是多少再次强调这是概率性的因为我们可能会决定采用混合策略。一个典型的控制系统比如从车上摆动起一个摆锤规则永远不会改变系统的运动始终遵循F m a FmaFma的规律因此我的控制法则也是确定性的且永远不会改变但在国际象棋游戏中我的对手可能有些随机性或者我可能正在学习如何下棋因此我的策略可能是这样的80% 的情况下我会选择移动我的兵 — 比如朝左侧这个方向移动但 20% 的情况下我会尝试另一种走法以防环境发生变化那时候可能会出现一些不同的情况因此你将采用一种概率性策略来探索并优化从环境中获得的奖励。很好接下来你可以采取行动了没错关键在于一旦你制定了这个策略并且知道在给定状态下采取某个动作的概率你就可以运行这个策略然后观察能获得多少奖励而这一切都是在时间中发生的因此你会在时间步长 1、时间步长 2 等时刻依次采取行动并在时间步长 1、时间步长 2、时间步长 3一直到时间步长t tt时测量状态并且在每个动作和每次测量中都有可能获得相应的奖励大多数情况下这些奖励会是空值或零你可能直到国际象棋游戏的最后才能获得奖励但原则上在过程中的某些时刻你也可能获得奖励。再次强调国际象棋是一个很好的例子说明了这有多难因为你可能会制定一个你认为在国际象棋中击败对手的正确策略但你只能在游戏结束时获得一次奖励。也许我下了一盘精彩绝伦的棋但仅仅因为一个失误就输掉了整场比赛我是否应该完全抛弃那一系列的动作你如何判断哪些动作是好的哪些动作是坏的这是一个极其复杂的优化问题而这正是强化学习的核心所在。OK因此设计一个优秀策略的部分工作在于理解在给定策略π \piπ的情况下处于某个特定状态s ss的价值是什么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∣s0s)因此一旦我选定了一个策略我就可以开始学习系统中每个状态的价值例如国际象棋中每个棋盘位置的价值这是基于如果我从那个状态开始并执行该策略未来预期能获得的奖励。让我再重复一遍这句话有点复杂因此在给定策略π \piπ下状态s ss的价值是我从该状态开始并执行该策略时未来预期能获得的奖励。这里有一个γ t \gamma^tγt它是一个折扣率discount rate这意味着与即时奖励相比我会稍微折现未来的奖励γ \gammaγ是一个介于 0 和 1 之间的常数它基本上告诉你你有多倾向于立即获得奖励而不是在遥远的未来获得奖励。这与经济理论和心理学密切相关一般来说人们更渴望立即获得奖励而不是等待很久之后的延迟奖励明白吧。但基本思想是你可以开始理解这个策略以及哪些策略是好是坏基于哪些棋盘位置是好的哪些价值函数是好的这某种程度上也是人类下棋的方式。因此棋盘的所有可能状态集合在组合上是极其庞大的状态数量多到无法计数你永远无法在脑海中全部记住它们但我们会开始总结一些经验法则来判断哪些棋盘位置是好的。例如如果我吃掉了对手的皇后而我的皇后还在那么我赢得比赛并获得奖励的预期概率可能会更高因此你可以通过计算棋盘上的棋子价值来近似评估某个状态的价值这是一种非常基础的价值函数随着你不断练习并掌握技巧你可能会逐步优化你的价值函数从而更好地理解游戏中哪些因素至关重要没错这也会帮助你优化策略从而更有效地达到那些有利的状态。因此在这个大框架下 — 也就是强化学习框架 —目标是通过优化策略来最大化未来奖励归根结底这是一个关于求解策略π \piπ的优化问题。4. 马尔可夫决策过程通常我们认为环境并非完全确定性的这与经典力学和经典控制系统中的假设不同相反我们认为环境中存在某种随机或概率性的成分因此这些被称为马尔可夫决策过程MDPs这意味着如果我们当前处于状态s ss并采取动作a aa那么在下一个时间步我们有可能转移到多个不同的新状态s ′ ss′且每个状态转移都有一定的概率这有点像掷骰子然后根据结果转移到下一个状态明白了吗这让我们想到了双陆棋我认为这是一个很好的例子因为双陆棋既有规则性包含确定性的元素但每一回合掷骰子又引入了随机性从而形成了这种随机的马尔可夫决策过程。因此从当前状态和动作转移到下一个状态s ′ ss′存在一定的概率这也使得优化策略变得更加困难正因如此策略本身必须是概率性的因为环境本身也是概率性的。5. 信用分配问题我们之前提到的信用分配问题其核心在于由于奖励通常是稀疏且不频繁的因此很难判断究竟是哪些动作序列真正导致了奖励的获取。早在 20 世纪 60 年代Minsky 就认识到了这个问题并且它一直是强化学习领域的核心挑战之一这一挑战已经持续了六十年这个问题至今仍然是研究者们努力攻克的难题 —如何解决信用分配问题。我认为有几个关键词非常重要那就是密集奖励与部分奖励。同样地国际象棋的奖励非常稀疏你只有在将死对方或被对方将死时才知道自己是否获胜而在游戏过程中你并不一定能在中间阶段获得具体的奖励如果奖励更加密集 — 比如如果你在与一位更精通棋艺的大师对弈他们会在每一步棋后告诉你“我不会这么走因为接下来我会这样应对” 或 “不这样不行”这步棋走得非常好因为它构建了这样的局面这是一个非常有利的局面他们会为你提供更密集的奖励反馈从而帮助你更快地学习。但一般来说如果奖励是稀疏的那么从机器学习的术语来看强化学习的样本效率会非常低这意味着如果我只能获得零星的奖励我就需要反复进行无数次尝试在奖励稀疏的情况下我需要大量的示例才能学习到一个良好且最优的策略因此稀疏奖励和信用分配问题使得通过优化学习正确策略变得非常困难而这与样本效率密切相关。因此通常情况下我们在许多系统中采用的方法称为奖励塑形即使你获得的奖励是稀疏的专家也可以通过构建代理奖励让你在达到最终奖励的过程中获得更密集的中间奖励。这样一来专家实际上通过提供更密集的中间奖励来引导学习过程这就是所谓的奖励塑形。6. 强化学习的优化技术OK接下来我们将讨论如何实现最终目标 — 优化这个策略。针对这个优化问题存在许多策略需要记住的是无论是机器学习还是控制理论几乎所有问题都可以归纳为优化问题。确实如此你可以将这些问题表述为复杂的非线性、非凸优化问题在机器学习中我们通过数据来解决它们而在控制领域我们则是在动态约束条件下求解这些问题这并无不同这正处在机器学习与控制理论的交汇点上而强化学习则是这一框架下的一个大型优化问题。因此为了优化策略s ss并根据给定的奖励测量值即这种间歇性反馈存在多种策略可供选择于是就有了微分编程。强化学习与博弈论几乎是同步发展的而微分编程正是其中的一项优化技术。蒙特卡洛方法是一种用于优化这些策略的经典方法基本上就是随机尝试各种可能性。时序差分法就像是微分编程与蒙特卡罗方法之间的最佳平衡点它巧妙地结合了两者的优点这种方法是无模型的因此不需要对系统建立任何模型并且它与贝尔曼优化密切相关。贝尔曼是最优控制理论的先驱之一同时也为当今强化学习奠定了许多基础在强化学习问题中 — 这一点同样适用于大多数机器学习 — 存在一种平衡即探索与利用之间的取舍这一点在控制理论中也是如此。因此这个策略π \piπ通常会被参数化我们会引入一些参数并尝试优化这些参数以赢得游戏或达成目标。那么我们应该在优化策略或利用策略上投入多少精力又该在尝试可能的新方法上投入多少努力呢这些新方法可能不会奏效但也可能带来更高的回报是我从未尝试过的也就是说我们需要在探索优质策略与利用现有策略之间分配多少精力关于这一点这里就不多赘述了我们在其他视频中对此多有讨论。但探索与利用的平衡是机器学习和控制理论中的一个基本挑战同时也是强化学习中的一大难题策略迭代也是如此。你建立了一个动态系统在这个系统中根据所获得的奖励通过迭代更新策略使其随着时间的推移基于新信息和更优的奖励信息变得越来越好这就是策略迭代。而实现这一目标的方法多种多样下面我们将列举一些常见的策略。你可以采用模拟退火、进化优化、梯度下降等方法同时也可以运用神经网络和机器学习领域的所有现代工具 — 如随机梯度下降、Adam 优化器等。7. 强化学习示例在过去的 10 到 15 年间利用深度学习优化这些策略的研究取得了许多引入注目的新进展接下来我们将分享一些有趣的实例上面这个例子是学习如何用杯子接住球这是一个有趣的儿童游戏首先由一位人类专家为机器人演示一次展示如何完成这个动作如果可能的话。接着在模仿学习之后机器人通过反复试验逐渐注意到背景是白色的杯子是蓝色的而球是红色的它利用摄像头捕捉的视觉信息经过几次迭代后已经能够相当接近目标了。这与儿童的学习方式并无太大差异要知道孩子们也不可能在两三次尝试中就学会这个动作可能需要几十次的尝试才能真正接近目标然后学会如何将球接进杯子里最终经过一百次试验这个系统真正掌握了游戏的规则理解了如何利用物理原理将球投入杯中。这是一个非常简单的机器人示例虽然这个视频不算最新但它非常有趣展示了学习真实物理系统的可能性。下面是另一个例子这被称为 Pilco 学习器大家感兴趣的可以去详细了解 Pilco 的相关内容在这个例子中他们学习如何通过摆动和稳定小车上的摆杆同时结合试错法和物理模型以极少的样本高效地掌握这一技能。因此如果不学习模型或不具备基于牛顿定律的物理模型就无法学会如何完成这一任务。整个实验的学习过程非常低效比如随机控制信号只能让你接近直立位置然后才能开始稳定它因此如果没有模型就需要大量的试错。从某种意义上说Pilco 学习器利用了物理规律的存在我们确实了解物理规律也拥有模型 — 这使得学习过程变得更快、更高效所需的样本数量大幅减少在第六次尝试后它确实学会了如何让这个系统直立并保持稳定。8. Q-Learning最后我们要介绍的是Q-Learning在 Q-Learning 中你无需分别学习策略和价值函数而是可以同时学习这两者。这里有一个 Q 函数它不仅仅是状态s ss的函数而是状态和动作的函数即Q ( s , a ) Q(s,a)Q(s,a)它告诉你处于该状态并采取该动作的质量如何因此它某种程度上结合了价值和策略你可以将其视为状态和动作的价值函数假设我在未来会采取最明智和最优的动作。接下来我们将详细讲解这一过程的具体表现更新这个质量函数的方法是你保留原有的质量函数然后在获得奖励时对其进行更新Q u p d a t e ( s t , a t ) Q o l d ( s t , a t ) α ( r t γ max a Q ( s t 1 , a ) − Q o l d ( s t , a t ) ) \color{orange} Q^{update}(s_t, a_t) Q^{old}(s_t, a_t) \alpha \left( r_t \gamma \max_{a} Q(s_{t1}, a) - Q^{old}(s_t, a_t) \right)Qupdate(st,at)Qold(st,at)α(rtγamaxQ(st1,a)−Qold(st,at))其中α \alphaα是学习率γ \gammaγ是折扣率而你所做的操作正是基于这两个参数。这个未来Q QQ的最大值基本上表示我假设自己在未来总是会采取最优的动作如果我在未来采取最优动作那么我当前状态和动作的质量会如何呢让我们再重复一遍这看起来有点像循环逻辑但它确实是一种巧妙的方法将策略和价值结合到一个可以学习的函数中同样地你可以通过深度神经网络来学习这个函数。如今的定义是给定状态s ss和动作a aa并假设我在未来采取最优动作那么处于该状态并执行该动作的质量如何这非常有用因为如果你确实知道质量函数那么一旦我处于状态s ss我只需遍历所有可能的动作a aa并选择质量最高的那个动作即可因此这是一种非常优雅的选择动作的方式。基于这个质量函数当我处于状态s ss时只需选择能带来最高质量的动作并执行它。如果我在未来一直这样做就能最大化我的价值从而得到一种策略所以这非常酷。9. 事后经验回放另一件我认为非常有趣的事情是事后经验和回放机制再次谈到信用分配问题以及由此产生的部分奖励问题时以倒立摆实验为例系统需要花费相当长的时间才能接近直立位置从而开始获得奖励。在事后经验回放中你并不会丢弃那些未能带来奖励的数据而是会思考也许我的系统或这一系列动作对于实现另一种奖励是有价值的。以球进杯的例子来说如果球没有进杯而是飞到了另一个位置我会回顾并回放这一事件然后思考也许有一天我实际上会希望重复刚才的动作因此我最好记住这一点并将其编码保存下来这是一组适用于不同奖励结构的有效动作序列虽然这不是我期望的球进杯的奖励而是将球移动到另一个位置的奖励通过学习如何进入这些不同的状态你会获得更多的强化信号。类似于人工奖励从而更深入地理解系统的物理特性和动力学特性进而提升其价值这种价值带来了深刻的洞察力。回放机制在提高数据效率和学习涉及更复杂状态空间的困难任务方面绝对是一项关键性进展这更接近人类的行为方式比如打网球时如果我击球失误球飞向了意料之外的方向但也许未来这正是我希望实现的效果因此我会将其记录下来以便在需要时能够利用这些信息因此这种方式奖励效率更高样本效率更高。在本次课程中我们讨论了强化学习这是一种通过经验学习如何与环境交互的框架在下一讲中我们将探讨如何结合神经网络实现这一目标并介绍该领域一些令人振奋的最新进展。结语本讲作为强化学习的入门第一课从框架、数学基础到核心挑战与优化技术为我们勾勒出了 RL 的完整轮廓。强化学习本质上是一个在不确定环境中通过试错来最大化累积奖励的优化问题其核心要素包括智能体Agent、环境Environment、策略Policyπ \piπ、价值函数Value FunctionV π V_{\pi}Vπ以及奖励信号Reward。课程中反复强调的几个关键挑战构成了 RL 研究的核心议题信用分配问题Credit Assignment—由于奖励稀疏且延迟如何判断哪些动作真正贡献了最终的奖励探索与利用的权衡Exploration vs. Exploitation—在优化已知策略与尝试未知可能之间如何分配资源以及样本效率Sample Efficiency—在奖励稀疏的环境下如何用更少的试错次数学到有效的策略。在方法论层面我们从马尔可夫决策过程MDP的概率框架出发了解了蒙特卡洛方法、时序差分学习TD Learning、Q-Learning 等经典优化技术也接触了奖励塑形Reward Shaping和事后经验回放HER等提升学习效率的实用技巧。这些方法并非孤立存在而是根植于贝尔曼最优控制理论并站在机器学习与控制理论的交汇点上。回顾开篇的例子—从迷宫中的老鼠到国际象棋对弈从双足机器人行走到用杯子接球—我们可以看到 RL 的强大之处在于其通用性同一个框架可以适用于完全不同的领域和问题。而随着深度神经网络的引入下一讲的主题这一框架的能力边界还将被进一步拓展。最后这门课程不仅传授技术更传递了一种思考方式学习本身就是一个优化问题—就像智能体在环境中通过试错不断改进策略一样我们在学习 RL 的过程中也需要不断实践、反思和迭代才能真正内化这些思想 。下一讲我们将来学习如何利用强化学习算法训练一个神经网络来替代传统控制器敬请期待参考https://www.youtube.com/playlist?listPLMrJAkhIeNNQe1JXNvaFvURxGY4gE9k74