RL学习日志:(Reinforcement Learning for Sequential Decision and Optimal Control)Day1


backgrand

RL的历史可以追溯到早期的控制论时期,他的发展主要受到两个领域的影响(1)动态规划(2)试错学习。

动态规划可以简写为(DP),最早由Richard Bellman在十九世纪五十年代提出,DP是最优控制的三个支柱之一,其他俩分别是变分演算和庞特里亚金的最大原理。

DP的基础是将多阶段优化问题划分为一系列单阶段问题。作为人类和动物学习模式的抽象,试错学习从巴甫洛夫条件反射和工具条件反射中获得灵感,这些条件反射植根于心理学和神经科学领域。

强化学习,RL 中的术语来自多个领域的符号的组合,包括最优控制、凸优化和统计学习。

Dynamic Programming

最优控制研究了对于给定的动力学系统,如何找到一个控制律来最小化特定的准则。最优控制有三大支柱理论,包括变分法、朋特加柳金最大值原理和动态规划。这些理论的发展很大程度上归功于20世纪50年代列夫·朋特加柳金和理查德·贝尔曼的工作,以及18世纪欧拉和拉格朗日的工作。

变分法是数学分析的一个分支,它利用变分的方法来寻找函数式的极大值和极小值。1733年,欧拉第一次通过部分几何方法阐述了这一主题。1755年,拉格朗日进一步概述了他的δ算法,导出了著名的欧拉-拉格朗日方程。这是一个二阶偏微分方程,其解是静止函数式的极值。

Pontryagin 的最大原理 (PMP) 是在存在输入约束的情况下欧拉-拉格朗日方程的扩展。它是由1956年Lev Pontryagin制定的。一般来说,这一原理指出,哈密顿量在所有允许动作集合上必须取极值。沿着一条轨迹满足PMP是最优性的必要条件。

正如 Richard Bellman 所述,最优策略具有任何初始状态和初始决策都是属性,其余决策必须构成关于第一个决策产生的状态的最佳策略。该陈述是众所周知的Bellman最优性原理,它允许我们将多阶段优化问题划分为一些初始选择及其以下问题的收益。该原理在最优控制中的应用导致了两个著名的方程:离散时间系统中的Bellman方程和连续时间系统中的Hamilton-JacobiBellman (HJB)方程。一般来说,Bellman方程和HJB方程都是最优性的必要条件和充分条件。

在实践中,直接求解这些方程通常在计算上是站不住脚的,因为 DP 存在连续空间和高维系统中的维度诅咒。1977 年,Paul Werbos 建议参数化连续状态空间并在参数空间重建。这个想法后来演变为当今的近似动态规划 (ADP),已广泛用于基于模型的问题。在构建参数化策略后,优化维度减少到参数空间的维度,因此,ADP 部分避免了过度计算的需求,即使它牺牲了一定程度的策略准确性。大多数ADP算法都属于间接方法家族,其目标是求解Bellman方程或HJB方程来寻找最优策略。这些算法可以进一步分为两类:策略迭代和值迭代,在早期阶段,名称 ADP 与其他名称互换,例如自适应 DP、启发式 DP 和神经 DP。Bertsekas 和 Tsitsiklis 在 1990 年代的研究巩固了 ADP 算法设计和收敛性理论分析,包括值迭代 ADP 和策略迭代 ADP。他们的研究主要集中在确定性状态空间模型的基于模型的最优控制问题上,而不是随机环境下的无模型顺序决策问题。

Trial-and-Error Learning

试错学习 是人类和动物获得智能行为的核心机制之一。通过尝试对相同情况的不同反应,人类和动物可以学习什么样的行为很好,什么样的行为很差,因此它们可以重复良好的行为并避免不良行为。最终,试错机制使人类和动物能够预测未来的奖励并选择最佳动作。在人工智能领域,这个想法启发了许多早期的RL算法的发展,包括蒙特卡洛学习和时间差学习。

试错法是人工智能早期几个重要思想之一。1952 年,Claude Shannon 引入了一种机械鼠,它使用试错来找到它通过迷宫的路径。在 1960 年代初期,Donald Michie 开展了一项颇有影响力的工作,他设计了一个名为 MENACE 的机械玩家来玩 tic-tac-toe。MENACE 以与当今蒙特卡洛 (MC) 学习器非常相似的方式学习。每次 MENACE 赢得游戏时,动作在连续的游戏中使用得更多。每次失去游戏时,动作都会在未来使用得更少。因此,MENACE 更有可能播放导致先前获胜的移动,并且不太可能播放导致先前损失的移动。Widrow等人设计了一种试错学习规则,可以从成功信号和故障信号中学习,而不是标记的训练数据。该算法被称为“评论家学习”,而不是“老师学习”。从那时起,术语“critic”出现在文献中,它类似于评估动作性能的外部专家。

事实上,试错学习器将响应连接到刺激,而不涉及思考、推理或理解。直到 1970 年代后期,在神经心理学中,试错与动态规划之间的联系没有得到很好的识别。突破性学习方法之一称为时序差分算法 (TD),它利用引导机制根据历史估计更新批评函数。Witten (1977) 引入了第一个称为 TD(0)的TD 学习算法。研究人员意识到时间差异和动态规划之间的内在联系后,出现了一类广泛的基于TD的算法。两个著名的例子是 TD(n) 和 TD-lambda,它是由Richard Sutton和Andrew Barto在 1980 年代开发的。迄今为止,最著名的 TD 算法可能是 Q 学习,这是由 Chris Watkins 在 1989 年提出的。本质上,Q-learning 是一种非策略算法,其中动作价值函数使用来自任意策略的样本进行优化。另一个重要的 TD 算法是 SARSA,它是一种策略上的算法,其动作值函数由来自同一策略的样本估计。

MC 和 TD 方法都侧重于解决有限元马尔可夫任务 并使用表格函数对可数空间进行建模。表格表示阻止了这些方法解决大规模和复杂的任务,例如自动驾驶和玩电脑游戏。在 1990 年代,策略梯度方法开始吸引 RL 社区的特定兴趣。要学习的策略由一个参数化函数近似,该函数的参数沿着长期回报的梯度上升方向搜索。基本思想是将 RL 视为随机优化问题,因此其策略梯度与最优性条件无关。流行的策略梯度有三种,包括似然比梯度、自然策略梯度和确定性策略梯度。策略梯度算法形成了一个新的 RL 家族,称为直接方法。这些方法通常解决具有连续状态和动作空间的高维任务。此外,灵活的策略表示可以在不同的任务中选择,这允许他们通过策略搜索与成熟的优化算法甚至人类领域知识合作。

然而,策略梯度的朴素版本不是对实际 RL 问题的推广。一个主要的挑战是基于样本的梯度估计的巨大差异。为了减少这种方差,通常同时估计参数化值函数,这在收敛性和准确性方面引入了额外的好处。价值函数估计方法可以进一步演变为著名的行动者-评论家 (AC) 架构,已成为最成功的 RL 范式之一。AC 架构学习近似策略和价值函数;这些函数分别称为“actor”和“critic”。Barto等人(1983)可能引入了第一个行动者-批评家算法,该算法将线性函数作为批评家和行动者近似[1-2]。行动者和评论家以相互交织的方式相互影响:行动者采取的行动由评论家评估,行动者根据评论家评估改进政策。经过足够数量的迭代周期后,演员和评论家都可以达到自己的最优值。1992 年,IBM 展示了一种程序,该程序使用 actor-critic 算法来玩 backgammon。该算法熟练度足以与最厉害的人类玩家相媲美。

尽管使用上述算法取得了一些成功,但大多数 RL 算法仍然仅限于低维任务。深度神经网络的引入是 RL 历史的另一个里程碑,它使 RL 能够解决许多以前难以处理的问题,例如直接从图像像素播放视频游戏。今天,深度学习和强化学习的结合是强化学习将人工智能方向旋转的介绍,这通常被认为是一般人工智能的关键步骤。深度强化学习的开始可能是 Atari 视频游戏应用程序,它已经达到了超人类水平的性能。深度强化学习的突出成功是 AlphaGo,它是由 Google DeepMind 为Chinese Go开发的。2015年,AlphaGo成为第一个在全尺寸板上击败人类专业玩家的围棋程序。

Examples of RL Applications

可以发现 RL 和最优控制共享非常相似的问题公式。一般来说,RL 更适合解决大规模、复杂和随机问题,例如电脑游戏、中文围棋和自动驾驶。相比之下,最优控制通常面临简单且确定性的任务,这需要实时计算最优动作。今天,由于深入了解它们在后退水平控制的角度的联系,这两种技术之间的边界逐渐减弱。在这,我们简要展示了三个示例,以证明什么样的问题更适合强化学习。

Tic-Tac-Toe

井字棋是一种两人纸笔游戏。成功在横向、纵向或对角线上放置三个自己的标记的玩家获胜。例如,使用叉"×"行棋的第一个玩家赢得了游戏。
在这里插入图片描述
这个游戏的第一个人工智能玩家MENACE,是使用304个火柴盒和9种不同颜色的一些小珠子设计的。每个火柴盒对应着一个玩家可能面临的独特棋盘布局。火柴盒里装有一些代表着下一步可能走法的有色小珠子。当MENACE轮到行棋时,操作者只需选择对应当前棋盘布局的火柴盒,然后随机挑选一颗珠子落子。每当MENACE赢得一场比赛,就会在曾经走过的每个火柴盒里加入一颗对应获胜走法的珠子。每当MENACE输掉一场比赛,就会从相应的火柴盒里移除一颗对应失败走法的珠子。因此,MENACE越来越有可能走曾经获胜的走法,而越来越不可能走以前失败的走法。
在这里插入图片描述

现代强化学习方法已被应用于井字棋游戏。在这些方法中,游戏状态指的是在3x3网格上圈"○"和叉"×"的布置。井字棋总共有19683种状态。由于存在旋转或反射对称等价状态,有些状态甚至是不可达的,因此将这些状态从状态空间中移除,以降低计算复杂度。为每个状态分配一个值,表示从该状态开始的获胜概率。例如,如果智能体使用"○"行棋,那么所有三个"○"在一行的状态,获胜概率为100%。同样地,对于所有三个"×"在一行的状态,获胜概率为零。在任一情况下,该回合将终止,并宣布获胜者。状态值的估计,即每个状态的获胜可能性,是通过一个试错过程学习获得的。智能体创建一个状态树,表示从当前状态开始的所有可能的后续状态,然后一次尝试所有可能的走法,观察获得的奖励(即+1表示赢,- 1表示输,0表示平局)。在图1.10中,智能体有三种可能的走法。智能体会立即输掉第一次和第二次试验中展示的走法,但第三次试验则有可能赢。因此,强化学习智能体将采取第三次试验中的走法。

Chinese Go

中国围棋是一种棋盘游戏,两个玩家在19×19格子的棋盘上争夺控制更多的领地。棋盘最多可以容纳361个交叉点。玩家试图用自己的棋子包围棋盘上的空白交叉点,根据包围的空间数量获得分数。得分较高的一方获胜。与国际象棋程序不同,由于围棋的状态空间巨大,无法通过搜索技术来解决。据说,围棋中可能的行动序列数量约为10的170次方,这比宇宙中所有原子的数量还要多。这个游戏如此复杂,即使是最出色的围棋高手也可能难以判断某些着法是好是坏。这就是为什么要为程序员编写一个好的围棋游戏策略如此困难的原因。
请添加图片描述
最近,使用神经网络逼近的强化学习在中国围棋游戏上取得了突破性的表现。2016年,Silver和他的同事们开发了一种基于深度Q网络的中国围棋程序,称为AlphaGo。在这种方法中,棋盘布局(一个19×19的图像)被送入两个卷积神经网络。一个卷积神经网络被称为价值网络,用于评估一个特定的棋盘布局是好是坏。另一个卷积神经网络被称为策略网络,用于抽样行动。策略网络最初是由人类专家的着法初始化的,然后在强化学习器的指导下,沿着最陡上升方向进行更新。同时,价值网络被训练用于预测赢或输的可能性。这两个网络与蒙特卡罗树搜索相结合,以实现更高效的探索和策略部署。当使用上述方法的AlphaGo以4比1击败了著名的职业中国围棋手李世石时,整个世界都感到震惊。后来,一个新版本AlphaGo Zero取得了更加惊人的表现,以89比11的比例战胜了它的前身版本。

Autonomous Vehicles

自动驾驶是人工智能领域最突出的应用之一。随着深度学习算法和高性能处理器的最新进展,无人驾驶汽车已经从科幻作品中走进现实世界的原型车。自动驾驶系统可以通过监督学习方法进行训练,但这需要大量专家驾驶数据。作为替代方案,使用强化学习来训练自动驾驶策略,可以探索未知的交通场景,而不需要昂贵的专家数据。此外,在线强化学习训练是开发类似于人类驾驶员的自我进化能力的一种有前景的方式。
在这里插入图片描述

在过去十年中,使用虚拟模拟器开发了一些自学自动驾驶能力的实例。例如,Peng等人(2021)在TORCS环境中开发了一种端到端的自动驾驶算法。他们的方法使汽车能够在没有外部教师的情况下学会如何保持在车道内行驶。这种自动驾驶策略包括一个由三个卷积层和三个全连接层组成的深度神经网络。如图所示,输入是从单个前置摄像头捕获的图像。当汽车保持在车道内时,它会持续获得正奖励。当汽车偏离车道时,它会受到很高的负面奖励。训练结果可视化为显著性映射图,如图右侧所示。该图显示,自学策略更多关注于车道线和前方道路地平线。有趣的是,这种自学行为某种程度上与人类驾驶员的驾驶知识相吻合。这个例子证明了强化学习智能体具有一种自我进化的能力,可以自动发展出高层次的驾驶智能。

Key Challenges in Today’s RL

从狭义上讲,强化学习是机器学习的一个子领域。它旨在采取适当的行动来最大化特定情况下的回报。一般来说,当今的机器学习方法可分为三种类型:(1)监督学习,(2)无监督学习,(3)强化学习。监督学习是一种从由知识渊博的外部教师标注的训练数据集中学习的方法,而无监督学习主要涉及在一组未标注的数据中发现隐藏模式。不同于监督学习和无监督学习,传统强化学习的特点是通过与环境的试错交互。
在这里插入图片描述
从广义上讲,强化学习与最优控制有着紧密联系。这两种方法都旨在优化(最大化或最小化)某种性能指标,同时受到一定环境动态的约束。这两种方法的区别在于,最优控制通常需要一个精确的模型,并对形式主义和确定性做出一些假设。相比之下,强化学习通常是无模型的,需要从未知环境中收集经验。尽管取得了一些成功,但强化学习在实际应用中仍然面临许多挑战。例如,探索与利用的权衡、不确定性和部分可观测性、时延奖励、安全约束的不可行性、非静态环境和缺乏泛化能力等,都是在实践中使用强化学习方法时可能遇到的常见问题。

Exploration-Exploitation Dilemma

几乎所有强化学习方法都面临一个基本挑战,即如何权衡探索与利用之间的平衡。智能体需要尝试各种行动与环境交互,并必须利用之前的经验尽快确定一个策略。与此同时,智能体也需要探索其他行动以寻求更好的决策。过度依赖之前的经验可能会牺牲探索新行动的能力,而过多的新探索又会给策略搜索带来更多随机性。策略随机性可以增强探索能力,但在某种程度上会对策略的最优性产生负面影响。在一些极端情况下,甚至可能禁止对环境进行探索,只能访问预先收集的历史数据集。在这种条件下的强化学习算法被称为离线强化学习,其中只能利用先前的经验进行策略学习。

Uncertainty and Partial Observability

经典的强化学习要求环境完全可观测,并且很难扩展到部分可观测的任务中。在实践中,智能体可能无法观测到所有状态;例如,在交通环境中,由于车辆相互遮挡或传感器距离限制,自动驾驶汽车无法检测到周围所有的车辆。部分可观测的马尔可夫决策过程在计算上更加棘手,需要估计隐藏状态作为输入信息来做出决策。此外,任何对环境动态的描述都不可避免地存在一定的模型误差。较大的模型误差会给部分可观测问题带来额外的挑战,需要一个稳健的最优策略来应对。

Temporally Delayed Reward

在许多情节任务中,稀疏的奖励信号(如游戏的获胜或失败)通常很晚甚至在游戏结束时才能获得。这种时间上延迟的奖励会随着时间的推移而逐渐衰减,对于距离较远的先前状态带来的信息量很小。因此,这种情节任务通常会出现收敛速度极慢和策略精度较差的情况。在这种情况下,必须进行大量昂贵的环境交互,才能将延迟的强化反馈传播到先前的状态。一种解决方案是添加一些中间信号来减少奖励的稀疏性,但这需要适当的奖励重塑技术。

Infeasibility from Safety Constraint

满足状态约束的挑战来自于其导致的不可行性问题。受约束强化学习中的不可行行为是很复杂的,因为涉及两个相互关联的任务,即寻找最优策略和确定其可行区域。很明显,如果一个策略不是在可行区域内定义的,那它就没有意义。一个区域的可行性也取决于如何选择其策略。这两个任务是强耦合的,这就是受约束强化学习难以处理的原因。如果要求安全性,这个不可行性问题会变得更加严重。安全保证意味着学习到的策略应当严格满足硬状态约束。为了保证完全的安全,必须从可行区域内外探索环境信息,并且在智能体与环境交互过程中不能引入任何危险的约束违规情况。

Non-stationary Environment

几乎所有的学习器在训练模型时都使用静态数据,并假设数据是独立同分布(iid)的。类似地,强化学习也需要一个静态环境来学习策略。然而,一些任务可能涉及随时间变化的结构或参数。如果环境变化太快,由于缺乏iid数据,强化学习可能会失败。这一挑战在真实环境中很难缓解。更糟糕的是,如果一些内在不稳定性的原因没有被正确消除,强化学习算法即使在静态环境中也可能失败。一个典型的不稳定例子来自于致命三联症问题,即bootstrapping、off-policy和函数逼近同时存在。

Lack of Generalizability

适应未见过的情况是人类智能的一种特征。然而,现有的强化学习方法往往缺乏泛化能力。尽管当今的强化学习方法能够学会解决复杂任务,但它们往往专注于训练领域,一旦部署到不同的场景就可能出现故障。这给将强化学习应用于实际应用带来了巨大挑战。在许多任务中,强化学习策略首先在模拟环境中进行训练,然后部署应用于真实世界。当模拟器的真实度较低时,将出现严重的从模拟到真实的泛化问题。需要使用域适应等技术来计算可转移的策略以获得更好的泛化能力。

  • 10
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值