机器学习(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)归于第二步的奖励,即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-learning、SARSA等)都是基于贝尔曼方程进行更新和优化的。贝尔曼方程是强化学习和动态规划中的一个基本工具,它为智能体(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-learnning和SARSA中,目标是确定每种状态最合适的动作。由于动作价值函数考虑了不同动作的预期回报,因此它们在具有随机策略的环境中特别有用。此外,在处理连续动作空间时,动作价值函数可以提供对动作影响的更详细信息,有助于策略实施的微调。
考虑这样一个赌博场景:玩家从10美元开始,并面临有关下注金额的决定。此游戏说明了强化学习中的状态和动作价值函数。
- 状态价值函数(
):状态价值函数 量化给定策略 时,状态 的预期累积未来奖励。假设玩家有5美元:如果连续下注1美元, 表示预期收益为0.5美元;如果持续下注2美元, 表示预期损失1美元。 - 动作价值函数
:动作价值函数 评估在状态 下动作 的预期累积未来奖励。例如: 表示从5美元下注1美元可获得1美元的累计奖励; 表示从5美元下注2美元,损失0.5美元。
这个赌博游戏场景强调了状态和动作价值函数在强化学习中的作用,指导动态环境中的最佳决策。
价值函数对策略创建偏序,允许基于预期累积奖励进行比较和排名。如果对于所有状态
最优策略也具有相同的最优动作价值函数
该方程以即时奖励和折扣未来状态值的形式表达状态-动作对的预期累积回报。最优值函数和策略代表强化学习的理想状态。然而,由于实际情况,在计算要求高的任务中很少能找到真正最优的策略。强化学习的代理(Agent)的目标是接近最佳策略。假设环境模型很完美,动态规划(DP)则有助于确定最佳值。DP和RL的基本思想是使用价值函数来组织对策略的搜索。对于马尔可夫决策过程(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 |