机器学习(ML)(十八) — 强化学习探析

介绍

强化学习(Reinforcement Learning, RL)是一种机器学习的范式,主要关注智能体(agent)如何通过与环境的互动来学习最优策略,以最大化累积奖励。与监督学习无监督学习不同,强化学习并不依赖于标注数据,而是通过试错(trial and error)的方法来优化决策。在强化学习中,主要涉及以下几个核心要素:智能体(Agent),执行动作以影响环境的实体;环境(Environment),智能体所处的外部系统,它对智能体的动作做出反应并提供反馈;状态(State),描述环境在某一时刻的情况,智能体根据当前状态做出决策;动作(Action),智能体在特定状态下可以选择的行为;奖励(Reward),环境对智能体行为的反馈信号,通常是一个标量值,用于评估该行为的好坏;策略(Policy),定义了智能体在特定状态下选择动作的规则,可以是确定性的也可以是随机性的;价值函数(Value Function),用于评估在某一状态下,智能体能够获得的长期回报期望。

强化学习(RL)的工作原理:强化学习(RL)的核心在于通过与环境的互动来学习。智能体在每个时间步选择一个动作,然后环境根据这个动作返回新的状态奖励智能体根据这些反馈调整其策略,以期在未来获得更高的累积奖励。这一过程通常涉及到以下几个步骤:1、观察当前状态;2、选择一个动作,依据当前策略;3、执行该动作,并接收新的状态和奖励;4、更新策略,以优化未来的决策。这种循环过程使得智能体能够逐渐改善其决策能力,从而达到最大化长期收益的目标。

强化学习(RL)已经在多个领域取得了显著成就,包括但不限于:

  • 游戏:如AlphaGo、AlphaStar和OpenAI Five等,这些系统通过强化学习技术在复杂游戏中击败了人类顶级选手。
  • 机器人控制:利用强化学习使机器人能够自主学习复杂任务,如抓取物体、行走等。
  • 推荐系统:通过用户反馈优化推荐算法,提高用户满意度。
  • 金融交易:在股票市场中应用强化学习进行自动化交易策略优化。

强化学习(RL)算法大致可以分为两类:

  • 有模型学习(Model-Based Learning):智能体尝试构建环境模型,并利用该模型进行规划决策
  • 无模型学习(Model-Free Learning):直接从环境交互中学习,不构建环境模型,常见方法包括Q-learning策略梯度方法等。

如果假设脚下有一张五美元的钞票,这时可以弯腰捡起,或穿过街区,步行半小时捡起一张十美元的钞票。你更愿意选择哪一个?十美元比五美元多,但相比于步行半小时拿这张十美元,也许直接捡起五美元更方便。回报(return captures)的概念表明,更快获得奖励比需要花很长时间获得奖励更有价值。来看看它究竟是如何运作的?这里有一个火星探测器的例子。如果从状态4开始向左走,我们看到从状态4开始的第一步获得的奖励为0,从状态3开始的奖励为0,从状态2开始的奖励为0,状态1(最终状态)获得奖励为100回报(return captures)定义为这些奖励的总和,但需要加权一个因子,称为折扣因子折扣因子是一个略小于1的实数。这里选择0.9作为折扣因子。第一步的奖励加权为0,第二步的奖励是,第三步的奖励是,第三步的奖励是。最终奖励的加权和为72.9。假设第一步获得奖励为,在第二步获得奖励为,第三步获得奖励为,那么回报(return captures)为折扣因子()的作用是让强化学习算法能够在做出决策时平衡当前和未来的收益。回报(return captures)将主要取决于第一个奖励,即,少一点的回报(return captures)归于第二步的奖励,即,奖励更少来自于第三步,即,由此越早获得奖励,总回报就越高。在许多强化学习算法中,折扣因子通常设为接近1的实数,例如0.9、0.99、0.999。在使用的示例中,将折扣因子设置为0.5。这会大大降低奖励,每经过一个额外的时间戳,获得的奖励只有前一步奖励的一半。如果,则上述示例中的回报(return captures)将是。在金融应用中,折扣因子还有一个非常自然的解释,即利率或货币的时间价值。如果你今天能得到一美元,那么它的价值可能比你未来只能得到一美元要高一点。因为即使是今天的一美元,你也可以存入银行,赚取一些利息,一年后最终会多一点钱。对于金融应用,折扣因子表示未来1美元与今天的1美元相比少了多少。回报(return captures)取决于采取的动作(Action)。如果机器人从状态4开始,回报(return captures)是12.5,如果它从状态3开始,回报将是25,因为它早一步到达100的奖励。如果从状态2开始,回报将是50。如果从状态1开始,那么它会获得100的奖励,因此没有折扣。如果从状态1开始,回报将是100,如果你从状态6开始,那么回报是6.25。现在,如果采取不同的动作,回报实际上会有所不同。总而言之,强化学习(RL)中的回报(return captures)是系统获得的奖励的总和,由折扣因子加权,其中远期的奖励由折扣因子的更高次方加权。在我们讨论的例子中,所有奖励都是0或正数。但如果奖励是负数,那么折扣因子实际上会激励系统将负奖励尽可能推迟到未来。以金融为例,如果你必须向某人支付10美元,那么这可能是-10的负奖励。但如果你可以将付款推迟几年,那么你实际上会更好,因为几年后的10美元,由于利率,实际上价值低于今天支付的10美元。对于具有负奖励的系统,它会导致算法将奖励尽可能推迟到未来。

强化学习算法如何选择动作呢?在强化学习中,目标是提出一个称为策略(Policy)函数,它的工作原理是将状态作为输入并将其映射到它希望的某个动作。例如,如果处于状态2,那么它会将我们映射到左侧操作。如果处于状态3,策略会向左走。如果处于状态4,策略会向左走,如果你处于状态5,策略会向右走。,代表策略函数在状态下执行什么动作。强化学习的目标是找到一个策略,在每个状态下需要采取什么行动,能够最大化回报(return captures)。强化学习在应用中被称为马尔可夫决策过程(MDP),马尔可夫决策过程(MDP)中马尔可夫指的是未来只取决于当前状态,而不取决于当前状态之前的任何状态。也就是说,在马尔可夫决策过程中,未来只取决于你现在的位置。

状态/动作值函数

强化学习中,状态/动作值函数(State Action Value Function)是一个关键概念,用于评估在特定状态下采取某个动作的期望回报。它通常用符号表示,其中代表当前状态,代表在该状态下采取的动作。状态/动作值函数定义为在状态下采取动作后,按照某一策略(Policy)所能获得的期望累积奖励。具体来说,它可以表示为:,其中,是从时间开始的未来奖励的总和,表示期望值。状态/动作值函数的作用:决策支持,通过评估不同动作在特定状态下的价值,智能体(Agent)可以选择最优动作,以最大化其长期回报;策略改进,在策略迭代中,状态/动作值函数用于更新策略,使得智能体(Agent)能够逐步学习到更优的行为方式。

假设我们有一个简单的K-臂赌博机(k-armed bandit),其中有三个不同的动作,每个动作都有一个未知的奖励分布,智能体(Agent)的目标是通过选择不同的动作来最大化其获得的累积奖励。在这个例子中,状态/动作值函数可以定义为选择动作时所期望的奖励,例如,假设我们在某个状态下选择动作,我们可以表示为:,其中是时间步获得的奖励,实际操作步骤:

  • 初始化:假设我们初始化每个动作的值函数为0
  • 选择动作智能体(Agent)根据当前的状态/动作值函数选择一个动作。例如,可以使用ε-贪婪策略(以概率ε随机选择一个动作,以探索新的可能性)。
  • 观察奖励:执行选定的动作后,智能体(Agent)会收到一个即时奖励。例如,如果选择了,并获得了奖励
  • 更新值函数:使用样本平均法更新该动作的值函数:如果选择了,则更新公式为,其中是已选择该动作的次数。
  • 重复过程智能体(Agent)不断重复选择、执行、观察和更新的过程,逐渐收敛到每个动作的真实期望奖励。

通过这个K-臂赌博机的问题示例,我们可以看到,状态/动作值函数不仅帮助智能体评估不同动作的价值,还能指导其在复杂环境中做出更好的决策。这种方法在许多强化学习算法中都得到了广泛应用,如Q学习和深度Q网络(DQN)等。状态/动作值函数强化学习中的核心组成部分,它帮助智能体(Agent)在复杂环境中做出有效决策。通过理解和应用这一概念,智能体(Agent)能够不断优化其行为,从而实现更高的累积奖励。

贝尔曼方程

贝尔曼方程(Bellman Equation)是强化学习动态规划中的一个核心概念,它描述了在给定状态下,如何通过选择最佳动作来最大化未来的期望回报。贝尔曼方程为决策过程提供了一种递归关系,使得我们能够从当前状态推导出未来状态的价值。在强化学习中,贝尔曼方程通常分为两种类型:状态值函数(State Value Function)和动作值函数(Action Value Function)。

  • 状态值函数(State Value Function):状态值函数表示在状态下,遵循某一策略所能获得的期望回报,其贝尔曼方程可以表示为:,其中表示为在状态下选择动作的概率,表示为在状态下采取动作后转移到状态并获得奖励的概率,为折扣因子,介于0~1之间,用于权衡未来奖励的重要性。
  • 动作值函数(Action Value Function):动作值函数表示在状态下采取动作后,遵循某一策略所能获得的期望回报。为了描述贝尔曼方程,我将使用以下符号。使用来表示当前状态。使用表示当前状态的奖励。在之前的示例中,状态1的奖励、状态2的奖励为、状态6的奖励是。使用表示当前动作,即在状态中采取的动作。执行动作后进入某个新的状态。例如,状态4采取左侧的动作,那么进入状态3。用表示当前状态执行动作后进入的状态。用表示状态中执行的动作。贝尔曼方程可以表示为:,如果使用最优策略,可以写成

贝尔曼方程(Bellman Equation)的重要性体现在以下几个方面:递归结构,它将一个复杂问题分解为更简单的子问题,使得我们可以通过动态规划的方法来求解;最优性原则贝尔曼方程体现了最优策略的特性,即在每个决策点上选择能最大化未来回报的动作;强化学习算法基础,许多强化学习算法(如Q-learningSARSA等)都是基于贝尔曼方程进行更新和优化的。贝尔曼方程强化学习动态规划中的一个基本工具,它为智能体(Agent)提供了一种系统的方法来评估和优化决策过程。

K-臂赌博机

K-臂赌博机(K-Armed Bandit)问题是多臂赌博机(Multi-Armed Bandit)问题的一种特例,具体指有固定数量的臂。每个臂都有一个未知的概率分布,用于生成随机奖励。K-臂赌博机明确规定了臂的数量为,例如,表示有三个可供选择的臂。问题通常集中在如何在有限次尝试中找到最佳臂,以最大化总回报。K-臂赌博机通常假设每个臂的奖励分布是独立且同分布(IID)的。首先,我们需要了解反馈类型(奖励/惩罚)之间的区别,因为奖励是代理(Agent)的一种反馈类型,如下图所示,代理(Agent)与环境交互,在每一个时间步进行观察(),并基于这些观察执行动作,这里包含了4种动作,分别为,假设最佳动作为,但代理(Agent)选择了

这里指导的反馈动作为,是错误的。而最佳动作为,这种情况在监督学习任务中经常发生,对于反馈的评估取决于采取的动作,这在强化学习任务中很常见。假设你需要反复从多个选项(动作)中进行选择。每次做选择之后,根据平稳性概率分布获得奖励分值(或惩罚分值)。“平稳性”是指奖励转换的概率分布随时间保持不变。为了简化,强化学习(RL)算法依赖于平稳性无模型方法,例如Q-learning。然而,这种假设在实际应用中并不总是成立,因此还有针对非平稳环境的算法。对于个有效动作的每一个都有预期的平均奖励,称作动作的价值分数,假设在时间步选取的动作为,这时获得的奖励分值为,定义为随机动作的价值分数。的意思是代理(Agent)在时间步时采取动作的预期奖励。数学上定义为:

其中表示采取动作的预期奖励,这作为衡量K-臂赌博机动作评估的基础。如果我们知道要采取的最佳动作,那么问题就很简单了,因为我们通常都会选择最佳的动作。如果没有这些信息,那么就必须评估每个动作的价值分数,在时间步应该更加接近。在评估了动作价值分数之后,每个时间步至少有一个动作应该具有最高的评估值,这些动作被称为“贪婪动作”。选择“贪婪动作”会利用当前知识获得即时奖励,而选择“非贪婪动作”则会推动和改进评估值。通过采样平均值来评估动作价值分数,对于稳定K-臂赌博机问题非常有效,实际情况,在非平稳环境中,对于近期奖励赋予更大权重是有意义的。通常使用恒定步长参数,将样本平均方程重写为:

其中,表示第次奖励之后更新动作的奖励分值,表示第次奖励之前的当前动作的奖励分值,表示新信息覆盖旧信息程度的参数,表示在第步采取动作后获得奖励。此更新规则根据收到的奖励与当前评估之间的差异逐步调整动作奖励分值,并由学习率做加权。此迭代过程允许代理(Agent)调整其价值分数来改进决策。为了评估 K-臂赌博机问题中的动作价值分数,需要使用以下方程,该方程将动作价值分数表示为截至到时间步长时从该动作获得的奖励分数的均值。计算评估动作价值分数并根据这些评估做出选择的技术,称为动作价值方法。动作的真实价值对应于选择时的平均奖励,通过平均奖励来计算,如下式所示:

可以用数学公式来表示:

其中,是指示函数(indicator function),指示函数是一种在数学和统计学中广泛使用的函数,用于表示某个条件是否成立。它在概率论、统计推断和机器学习等领域中具有重要作用。指示函数(indicator function)用于计算在时间步之前采取的动作的次数,如:

如果上边公式的分母为0则使用默认值来设置。需要注意的是,当分母趋近于无穷大时,根据大数定律,收敛到。使用样本平均法,根据奖励样本的均值计算动作价值分数。此方法可能不是最有效的,但可以用于估算动作的起点。

其中表示为在时间步时选取的动作,即动作价值分数最高的贪婪利用当前的知识来最大化即时奖励。但是可能存在问题,因为它需要搜索所有动作才能知道它们的奖励。一个简单而有效的替代方法是大多数时候贪婪,但以很小的概率从所有动作中随机选择ϵ,这种方法称为ϵ-贪婪方法,它在搜索与利用之间取得平衡。这个方法确保所有动作都经过充分采样,以准确计算其真实价值,随着时间的推移,最终确定最佳的策略。这只是理论上的长期收益,并没有直接表明实际有效性。通过抽样均值来评估动作价值分数,对于大量的样本()来说是低效的。更有效的方法是推导出,现在,使用以下公式对样本均值的动作价值分数定义如下:

这里可以递归地表达动作价值分数:

这个递归方程只需要对进行内存分配,对计算每个奖励的计算量极小。动作价值分数的一般形式为:NewEstimate ← OldEstimate + StepSize[Target − OldEstimate],尽管存在噪音干扰,但目标仍会给出一个调整的首选方向。在这个示例中,目标是第个奖励。样本均值适用于平稳的赌博机问题。在非平稳环境中,即时奖励更为相关。使用恒定步长参数,该方程可以重写为:

动作价值分数的初始值在学习过程中起着至关重要的作用。这些初始值会影响代理(Agent)做出的早期决策。虽然样本均值方法可以在每个动作被选择至少一次后减少这种初始偏差,但使用恒定步长学习率参数的方法往往会随着时间的推移逐渐减少这种偏差。设置乐观的初始值可能会有利。通过分配更高的初始值,可以鼓励代理(Agent)尽早探索更多的动作。这是因为最初的乐观情绪使未尝试的动作看起来更有吸引力,从而促进探索,即使代理(Agent)使用的贪婪策略也是如此。这种方法有助于确保代理(Agent)在收敛到最终策略(Policy)之前调整完动作空间。然而,这种策略(Policy)需要仔细确定初始值,在标准做法中,初始值通常设置为0。初始值的选择应该反映出对潜在回报的合理猜测,如果管理不当,过于乐观的值可能会阻碍了代理(Agent)有效收敛。总体而言,乐观的初始值可以成为平衡强化学习中的搜索和利用的方法,鼓励更广泛的探索,并带来更优的长期策略(Policy)。由于与动作价值分数计算相关的不确定性,搜索是必不可少的。在ϵ-greedy方法中,非贪婪动作被无差别地探索。最好根据非贪婪动作的潜在最优性不确定性有选择地探索非贪婪动作。基于上置信界(UCB)算法,上置信界算法是一种用于解决多臂赌博机问题的强化学习算法,旨在平衡探索与利用之间的权衡。UCB算法通过利用不确定性来选择动作,从而优化长期回报。动作的选择基于以下标准:

这里是时间步的自然对数,控制探索,且是在时间步骤之前采取动作的次数。如果,则被视为价值分数最大化的动作。作为其价值评估的一部分,UCB不确定性纳入其对动作价值分数上限的计算中。置信度由常数来控制。通过选择动作,与相关的不确定性会随着的增加而减少,而通过选择其他动作,与相关的不确定性会随着的增加而增加。使用自然对数,随着不确定性调整随时间而减少,最终会探索所有动作。频繁选取的动作的频率会随着时间的推移而在减少。

有限马尔可夫决策过程

马尔可夫决策过程(MDP)提供了一个顺序决策框架,其中的动作会影响即时奖励以及未来结果。在马尔可夫决策过程(MDP)中,即时奖励于延迟奖励保持平衡,它的目标是是确定每个动作价值分数与赌博机问题不同,马尔可夫决策过程(MDP)的目标是计算在状态下采取动作的价值分数,换句话说就是采取最佳动作的情况下处于状态的价值分数。正确评估策略的长期效果需要计算这些特定状态的值,有限马尔可夫决策过程(MDP)由状态、动作和奖励组成()。根据先前的状态和动作,将离散概率分布分配给随机变量。使用随机变量的概率,导出这些变量的方程,当一个动作的结果独立于过去的动作和状态,则被认为是马尔可夫马尔可夫特性要求状态能够包括影响未来结果的整个过去互动的重要细节,此定义是马尔可夫决策过程(MDP)在强化学习中使用的基础。为了描述马尔可夫决策过程(MDP)的动态,我们使用状态转换概率函数 ,其定义如下:

其中函数被定义为马尔可夫决策过程(MDP)动态。可以从4个参数的动态函数中得出以下状态转换概率状态动作和状态-动作-下一状态的预期奖励的三元组,如下:

动作(action)的概念涵盖与学习有关的任何决定,而状态(state)的概念涵盖可用于通知这些决定的任何信息。任何学习问题都可以归结为代理(Agent)与环境之间的三个信号:动作状态奖励。回报表示为,是从时间步开始获得的奖励累积总和。在时间步之后获得的奖励序列,它定义如下:

其中是奖励序列的一个特殊函数。在处终止序列有何目的?顾名思义,情景问题是指代理环境之间的交互自然地按顺序发生的问题,称为情景,而任务称为情景任务。正在进行的任务通常涉及在整个任务期间持续存在的交互,例如过程控制或机器人程序。由于持续任务中没有终止状态() ,因此持续任务的回报应以不同的方式定义。如果代理(Agent)持续获得奖励,则回报可能是无限的。对于持续任务,对于没有终止状态的持续任务,回报定义为未来奖励的折扣总和:

其中折扣因子()。折扣因子会影响未来奖励的当前价值。当时,无限和收敛到有限值。当时,代理(Agent)最大化即时奖励。当接近 1时,未来的奖励会变得更有分量。将回报递归定义为:

如果奖励非零且为常数,则回报是有限的,并且折扣因子。对偶发任务持续任务使用一个公式:

如果,则此公式适用于情景任务持续任务

策略和价值函数

价值函数用于评估代理在特定状态(或在特定状态下采取的动作)的预期回报。根据所选取动作的不同,结果也会有所不同。价值函数策略之间存在联系,而价值函数又与基于状态的动作相关。价值函数可分为以下两大类:

  • 状态值函数是指策略指导下状态价值函数,它是从状态开始并执行完策略之后的预期回报
  • 动作值函数:在策略指导下, 表示在状态采取动作的价值分数,它是从状态开始,采取动作,然后遵循策略预期回报

对于马尔可夫决策过程(MDP)来说,定义为如下:状态值函数表示从状态开始并遵循策略的预期回报。它在数学上定义如下:

动作价值函数表示从状态开始,采取动作,然后遵循策略的预期回报。其定义如下:

需要注意之间的区别,即取决于每个状态下采取的动态。10个状态,每个状态有8个动作,因此需要80个函数,而只需要10个函数。遵循策略,如果代理(Agent)对每个状态的回报求均值,则均值收敛到。对每个动作的回报,则均值收敛到。在蒙特卡罗方法中,许多随机收益样本被均值化。这种方法不提供样本效率,需要为每个状态分别计算均值。通过使用参数较少的参数化函数可以改进计算。应以递归方式,编写如下:

其中贝尔曼方程贝尔曼方程将状态的值与其潜在后继状态的值联系起来。初始状态的值等于预期的下一个状态的折扣值加上预期的奖励。

状态值函数动作值函数强化学习中发挥着不同的作用。在评估确定性策略或需要理解处于特定状态的价值时,使用状态值函数。在策略评估策略迭代方法中,策略被明确定义,并且需要评估在策略下处于特定状态的性能,这时状态值函数非常有用。当存在许多动作时,使用状态值函数是有效的,因为它们只需要评估状态值即可降低复杂性。动作价值函数用于评估和比较在同一状态下发生不同动作的可能性。它们对于动作的选取很重要,例如在Q-learnningSARSA中,目标是确定每种状态最合适的动作。由于动作价值函数考虑了不同动作的预期回报,因此它们在具有随机策略的环境中特别有用。此外,在处理连续动作空间时,动作价值函数可以提供对动作影响的更详细信息,有助于策略实施的微调。

考虑这样一个赌博场景:玩家从10美元开始,并面临有关下注金额的决定。此游戏说明了强化学习中的状态动作价值函数

  • 状态价值函数():状态价值函数量化给定策略时,状态的预期累积未来奖励。假设玩家有5美元:如果连续下注1美元,表示预期收益为0.5美元;如果持续下注2美元,表示预期损失1美元。
  • 动作价值函数动作价值函数评估在状态下动作的预期累积未来奖励。例如:表示从5美元下注1美元可获得1美元的累计奖励;表示从5美元下注2美元,损失0.5美元。

这个赌博游戏场景强调了状态动作价值函数强化学习中的作用,指导动态环境中的最佳决策。

价值函数对策略创建偏序,允许基于预期累积奖励进行比较和排名。如果对于所有状态下的,则策略优于或等于最优策略优于或等于所有其他策略,用表示,共享相同的最优状态值函数 最优状态值函数定义为所有策略的最大值函数

最优策略也具有相同的最优动作价值函数最优动作值函数定义为所有策略的最大动作值函数

该方程以即时奖励折扣未来状态值的形式表达状态-动作对的预期累积回报。最优值函数策略代表强化学习的理想状态。然而,由于实际情况,在计算要求高的任务中很少能找到真正最优的策略。强化学习代理(Agent)的目标是接近最佳策略。假设环境模型很完美,动态规划(DP)则有助于确定最佳值。DPRL的基本思想是使用价值函数来组织对策略的搜索。对于马尔可夫决策过程(MDP),环境的动态由概率给出。动态规划在特殊情况下会找到精确解,例如查找最短路径。最优状态值函数最优动作值函数贝尔曼最优方程如下:

动态规划(DP)算法是通过将贝尔曼方程转化为更新规则从而推导出来的。

策略评估(也称预测)涉及计算给定策略状态值函数。此过程的评估在每个状态下遵循策略时的预期回报。状态值函数定义为从状态开始并遵循策略的预期回报:

这可以递归地表示为:

在这个方程中,表示在策略下,在状态下采取动作的概率。如果 或所有状态最终在终止,则能保证的存在性和唯一性。动态规划(DP)算法更新被称为“预期更新”,因为它们依赖于对所有未来状态的期望,而不仅仅是样本。计算策略的价值函数的目的是为了提升策略。假设确定性策略。对于状态 ,我们是否应该改变策略以选取动作?我们知道从状态开始遵守现有策略的有效性,但过渡到新策略是否会产生更好的结果?我们可以通过在状态中选取动作然后遵循策略来阐述这个问题:为了确定策略是否可以改进,我们将在状态下采取不同行动与当前策略的价值进行比较。这是使用动作价值函数完成的:

如果,则始终选择状态中的动作比遵循更有利,从而改进策略 。策略改进方法指出,如果对于所有状态,则新策略至少与原始策略一样好。让成为确定性策略,使得对于所有状态

如果从所有状态()预期回报都大于等于策略获得的,则:

通过选择最大化动作价值函数的动作,可以得到新的策略

这是贝尔曼最优方程,并且都是最优策略。除非初始策略已经是最优的,否则策略改进会产生更优的策略。在使用增强策略以得出改进的策略之后,计算并进一步细化以获得更优策略。此过程生成一系列改进策略和相应的价值函数:策略迭代的过程包括策略评估策略改进的交替进行,以获得一系列改进的策略和价值函数

此序列中的每个策略都比其前一个策略有显著的改进,除非前一个策略已经是最佳的。给定一个有限马尔可夫决策过程(MDP),这个迭代过程会在有限次数的迭代中收敛到最优策略价值函数。这种方法称为策略迭代

值迭代

策略迭代的一个限制是每次迭代都需要进行策略评估,通常需要多次遍历整个状态集。为了解决这个问题,可以在不失去收敛保证的情况下缩短策略评估。这种方法称为值迭代,在一次扫描后终止策略评估。它将策略改进与截断形式的策略评估相结合。值迭代将每次迭代中的一次策略评估与策略改进合并,确保收敛到折扣有限马尔可夫决策过程(MDP)的最优策略值迭代的更新规则如下:

值迭代在每次迭代中结合了策略评估策略改进。它收敛到折扣有限马尔可夫决策过程(MDP)的最优策略策略迭代涉及两个过程:策略评估使价值函数与当前策略保持一致,策略改进根据价值函数使策略变得更加贪婪。这些过程不断迭代,相互强化,直到获得最佳策略。在值迭代中,关键优势在于其效率,因为它通过将策略评估和改进合并为单个更新步骤来减轻计算负担。该方法对于大型状态空间特别有用,因为在策略迭代的每个步骤中进行完整的策略评估在计算上是困难的。另外,可以使用同步更新方法实现值迭代,其中所有状态值同时更新,所有状态值同时更新,或者采用异步更新方法,即一次更新一个状态值,在实践中可能实现更快的收敛。值迭代的另一个值得注意的方面是它对初始条件的鲁棒性。从任意值函数开始,值迭代不断细化值计算,直至收敛,使其成为一种可靠的方法,即使初始策略远非最优,也能找到最优策略。此外,值迭代为更高级的算法的基石。例如Q-learning和其他强化学习技术,通过说明引导原理,其中状态的值根据后继状态的预测值进行更新。这一原则是许多现代强化学习算法的核心,这些算法寻求在动态不确定的环境中探索和利用。

总结

了解强化学习(RL)中的各种方法和概念对于有效设计和实施强化学习(RL)算法至关重要,强化学习(RL)中的方法可分为离线策略(Off-Policy)方法、在线策略(On-Policy)方法,无模型(Model-Free)、有模型(Model-Based)方法。

无模型方法

无模型(Model-Free)方法无需构建环境模型,而是直接决定最优策略价值函数。它们不需要知道转换概率奖励,因为它们完全是从观察到的状态、动作和奖励中学习的。与有模型(Model-Based)的方法相比,无模型(Model-Free)方法更容易实现,依赖于经验式学习。主要有两种类型:基于价值的方法,专注于学习动作价值函数以得出最佳策略。例如,Q-learning是一种离线策略(Off-Policy)算法,通过在更新规则中使用最大化操作,独立于智能体(Agent)的动作来学习最优策略的价值。另一种,SARSA是一种在线策略(On-Policy)算法,它根据策略实际采取的行动来更新其Q值。这两种方法都是根据贝尔曼方程更新其动作值估计,直到收敛。相比之下,基于策略的方法(如REINFORCE)通过直接学习策略来工作,而无需学习价值函数。这些方法通过遵循预期奖励梯度直接调整策略参数。这种方法在高维动作空间的环境中特别有用,因为基于价值的方法可能无效。基于策略的方法还能够处理随机策略,为处理选取动作的不确定性提供合理的框架。除了这些主要类型之外,还有结合基于价值和策略的混合方法,例如 Actor-Critic算法。这些方法由两部分组成:一个按照评论家建议的方向更新策略参数的参与者,以及一个评估动作价值函数的评论家。结合这两种学习方式旨在提供更稳定、更高效的学习。理解混合方法的最好方式是想象一个吸尘器机器人在客厅中穿行并高效地进行清洁。机器人必须确定最佳动作方案,以覆盖整个区域,同时避开障碍物并最大限度地延长电池寿命。作为价值组件的一部分,机器人根据价值的方法估算位于客厅中每个位置的价值。机器人学习一个状态值函数,该函数表示如果机器人从特定位置开始并遵循特定策略,应该清除多少污垢。通过这个组件,机器人可以了解处于不同位置的长期好处。同时,机器人使用策略来确定采取的正确动作(例如,前进、左转、右转)。根据该策略,机器人会调整参数以提高其决策过程。例如,如果向前移动通常会导致清除更多的污垢,那么机器人将来遇到类似情况时就更有可能选择这种动作。当这两个组件结合在一起时,机器人能够更有效地导航和清洁客厅。基于价值的方法可以更全面了解哪些地区最值得关注,而基于策略的方法则侧重于根据当前情况做出当前最佳决策。混合方法确保机器人不仅可以有效地规划其长期策略,而且还能对当前情况做出适当的反应,从而实现更高效的清洁过程。无模型方法的另一个重大进步是深度强化学习(DRL)的发展。通过将深度神经网络与传统强化学习算法相结合,深度Q网络(DQN)和近端策略优化(PPO)等方法在复杂、高维环境(包括游戏和机器人控制任务)中取得了显著的成功。这些技术的进步为强化学习(RL)应用于现实问题开辟了新的可能性,使其能够在以前难以解决的领域展现出强大的性能。

有模型方法

可以使用有模型(Model-Based)方法预测动作的结果,从而促进战略规划和决策。尽管开发和完善精确模型的过程十分复杂,但使用这些方法可以提供虚拟实验的机会,从而提高学习效率。自动驾驶系统有模型(Model-Based)方法在现实世界中应用的一个例子。当自动驾驶汽车在动态环境中行驶时,必须实时避障和优化路线。自动驾驶汽车会创建其周围环境的详细模型。这些模型包括道路和建筑物等静态元素,以及其他车辆和行人等动态元素。该模型使用传感器数据(包括摄像头、激光雷达和雷达)构建。通过使用环境模型,车辆能够预测各种动作的结果。例如,当车辆考虑变道时,它会使用模型预测周围车辆的行为,以确定最安全、最有效的变道方式。该模型可帮助车辆规划路线并做出战略决策。为了最大限度地缩短行程时间、避免拥堵并提高安全性,它会评估不同的路线和动作。通过模拟各种场景,模拟可以让车辆在现实世界中实施之前选择最佳的动作方案。例如,车辆可以使用该模型来模拟在繁忙路口时采取的不同行动,如等待交通间隙或采取替代路线。通过考虑到每个动作可能产生的结果,车辆可以做出明智的决定,在效率和安全性之间取得平衡。除了提高自动驾驶汽车在现实条件下安全高效行驶的能力之外,这种有模型(Model-Based)方法还能使它们以高精度做出复杂的决策。通过基于新数据不断完善模型,车辆能够随着时间的推移增强其决策能力,从而提高性能并增强行驶的安全性。

在线策略方法

在线策略方法评估和改进用于决策的策略,将探索和学习交织在一起。这些方法根据遵循当前策略时采取的动作和获得的奖励来更新策略。这确保了正在优化的策略是实际用于与环境交互的策略,从而实现探索和策略改进自然融合的连贯学习过程。例如,假设有一个客户服务聊天机器人,它可以学习如何更好地响应用户查询。聊天机器人遵循特定的策略来决定给出哪些响应。在在线策略学习中,聊天机器人根据其使用的实际响应和从用户收到的反馈(例如,用户满意度评级)来更新其策略。这确保了所学习的策略与实际交互中采取的行动直接相关,从而实现稳定、持续的改进。

离线策略方法

离线策略方法涉及独立于智能体(Agent)动作的最优策略的价值学习。在这些方法中,我们区分两种类型的策略:动作策略目标策略动作策略探索环境,而目标策略旨在根据收集到的经验提高性能。这允许在学习最佳目标策略的同时制定更具探索性的动作策略离线策略方法的一个显著优势是,它们可以从任何策略生成的数据中学习,而不仅仅是当前正在遵循的策略,这使得它们具有高度的灵活性和样本效率。例如,考虑针对 Netflix等在线流媒体服务的推荐系统。该系统中的动作策略可以是向用户推荐各种内容的策略,确保系统探索不同类型、新版本和不太受欢迎的标题。这种探索有助于收集有关用户偏好和内容表现的各种数据。同时,目标策略旨在优化推荐,以最大限度地提高用户参与度和满意度。它从动作策略生成的数据中学习,识别模式和偏好,并且推荐给用户最可能喜欢的内容。通过将动作策略目标策略分离,Netflix可以尝试不同的推荐策略,而不会影响最终推荐的质量。这种方法使得推荐系统既可以在收集新数据方面具有探索性,又可以在向用户提供最佳内容方面具有利用性。动作和目标策略的分离使得离线策略方法能够更有效地重用经验。例如,使用全局探索环境的动作策略收集的经验可用于改进目标策略,旨在最大化奖励。这一特性使得离线策略方法在需要进行广泛探索的动态复杂环境中特别有效。

更新策略动作策略之间的关系决定了是否是在线策略还是离线策略。相同的策略表示在线策略,而不同的策略表示离线策略。实施细节和目标也会影响分类。为了更好地区分这些方法,我们必须首先了解这些策略的不同之处。动作策略智能体(Agent)用来确定在每个时间步采取哪些动作的策略。例如,在推荐系统示例中包括推荐各种电影以探索用户偏好。更新策略控制智能体(Agent)如何根据观察到的结果更新其价值估计。根据从推荐电影收到的反馈,推荐系统的更新策略可能会更新估计的用户偏好。彻底了解这些策略之间的相互作用对于实施有效的学习系统至关重要。智能体(Agent)的动作策略决定了它如何探索环境,平衡探索与利用以收集有用的信息。或者,更新策略决定了智能体(Agent)如何从这些经验中学习以改善其价值估计。当使用在线策略方法时,动作策略更新策略是相同的,这意味着与环境交互所采取的动作也用于更新价值估计。结果是稳定学习,但效率可能较低,因为策略可能无法充分探索状态空间。在离线策略方法中,动作策略更新策略是有区别的。与动作策略相反,更新策略侧重于通过采取最合适的行动来优化价值估计。尽管这种分离可以提高学习效率,但如果动作策略最优策略偏离太远,也可能导致不稳定性。此外,Actor-Critic算法将动作策略(actor)和更新策略(critic)分开。Actors根据当前策略做出决策,而Critics则评估这些决策并提供反馈以改进策略,从而将在线策略方法的稳定性与离策略方法的效率结合起来。

算法概述
算法 描述 类型 策略 参考
TD Learning 根据预测奖励和实际奖励之间的差异进行更新的方法。 无模型 在线策略 Learning from delayed rewards
Q-Learning 一种离线策略算法,可以独立于智能体(Agent)的动作学习最佳策略的价值。 无模型 离线策略 On-line Q-learning using connectionist systems
SARSA 根据当前策略采取的动作更新策略的一种在线策略算法 无模型 在线策略 A Theoretical and Empirical Analysis of Expected Sarsa
REINFORCE 使用蒙特卡洛方法更新策略的在线策略算法 无模型 在线策略 Simple statistical gradient-following algorithms for connectionist reinforcement learning
Actor-Critic 结合价值函数(critic)和策略(actor)更新。 无模型 在线策略/离线策略 Actor-Critic Algorithms
Dyna-Q 通过整合规划、动作和学习,将无模型方法有模型方法结合起来。 有模型 离线策略 Integrated architectures for learning, planning, and reacting based on approximating dynamic programming
DQN Q-learning与深度神经网络相结合来处理高维状态空间。 无模型 离线策略 Playing Atari with Deep Reinforcement Learning
TRPO 通过强制执行信任区域来确保大规模更新不会破坏所学习的策略。 无模型 在线策略 Trust region policy optimization
PPO 通过简化算法同时保留其性能来改进TRPO 无模型 在线策略 Proximal policy optimization algorithms
SAC 一种离线策略actor-critic算法,可最大化预期奖励 无模型 在线策略 Soft actor-critic: Off-policy maximum entropy deep reinforcement learning with a stochastic actor