揭开深度强化学习的神秘面纱
2022年1月27日整理发布:深度强化学习是人工智能最有趣的分支之一。它是 AI 社区一些最杰出成就的背后,包括在棋盘和视频游戏、自动驾驶汽车、机器人技术和AI 硬件设计中击败人类冠军。
深度强化学习利用深度神经网络的学习能力来解决对于经典强化学习技术而言过于复杂的问题。深度强化学习比机器学习的其他分支复杂得多。但在这篇文章中,我将尝试在不涉及技术细节的情况下揭开它的神秘面纱。
状态、奖励和行动
每个强化学习问题的核心都是代理和环境。环境提供有关系统状态的信息。代理观察这些状态并通过采取行动与环境交互。动作可以是离散的(例如,拨动开关)或连续的(例如,转动旋钮)。这些操作会导致环境转换到新状态。并且根据新状态是否与系统的目标相关,代理会收到奖励(如果它使代理远离其目标,奖励也可以是零或负数)。
state-action-reward 的每个循环称为step。强化学习系统继续循环迭代,直到达到所需状态或最大步数到期。这一系列步骤称为一个插曲。在每一集开始时,环境设置为初始状态,代理的奖励重置为零。
强化学习的目标是训练代理采取最大化其奖励的行动。代理的行动制定功能称为策略。一个代理通常需要很多情节来学习一个好的策略。对于更简单的问题,几百个情节可能足以让代理学习一个体面的策略。对于更复杂的问题,代理可能需要数百万次的训练。
强化学习系统还有更多微妙的细微差别。例如,RL 环境可以是确定性的或非确定性的。在确定性环境中,多次运行一系列状态-动作对总是产生相同的结果。相比之下,在非确定性 RL 问题中,环境状态可能会因代理行为以外的事物而改变(例如,时间的流逝、天气、环境中的其他代理)。
强化学习应用
为了更好地理解强化学习的组成部分,让我们考虑几个例子。
国际象棋:这里的环境是棋盘,环境的状态是棋子在棋盘上的位置。RL 智能体可以是玩家之一(或者,两个玩家都可以是在同一环境中分别训练的 RL 智能体)。每场国际象棋都是一个情节。剧集从初始状态开始,棋盘边缘排列着黑白棋子。在每一步,代理都会观察棋盘(状态)并移动其中的一个棋子(采取行动),从而将环境转换为新状态。代理因达到将死状态而获得奖励,否则获得零奖励。国际象棋的主要挑战之一是代理在将对手将死之前没有收到任何奖励,这使得学习变得困难。
Atari Breakout: Breakout 是一款玩家控制桨的游戏。有一个球在屏幕上移动。每次击中桨时,它都会弹向屏幕顶部,那里排列着一排排砖块。每次桨击中砖块时,砖块都会被破坏,球会反弹回来。在 Breakout 中,环境就是游戏画面。状态是桨和砖的位置,以及球的位置和速度。代理可以采取的动作是向左移动、向右移动或根本不移动。每当球击中砖块时,代理都会获得正奖励,如果球越过桨板并到达屏幕底部,则代理会获得负奖励。
自动驾驶汽车:在自动驾驶中,代理是汽车,环境是汽车正在航行的世界。RL 代理通过摄像头、激光雷达和其他传感器观察环境状态。代理可以采取导航动作,例如加速、踩刹车、左转或右转,或者什么也不做。RL 智能体因保持在道路上、避免碰撞、遵守驾驶规定和保持正常行驶而获得奖励。
强化学习功能
基本上,强化学习的目标是以最大化奖励的方式将状态映射到动作。但是 RL 代理究竟学到了什么?
RL 系统的学习算法分为三类:
基于策略的算法:这是最通用的优化类型。策略将状态映射到操作。学习策略的 RL 代理可以创建从当前状态到目标的动作轨迹。
例如,考虑一个代理正在优化策略以在迷宫中导航并到达出口。首先,它从随机移动开始,它没有收到任何奖励。在其中一集中,它最终到达出口并获得出口奖励。它回溯其轨迹并根据代理与最终目标的接近程度重新调整每个状态-动作对的奖励。在下一集中,RL 代理更好地了解在给定每个状态时要采取哪些行动。它逐渐调整策略,直到收敛到最优解。
REINFORCE 是一种流行的基于策略的算法。基于策略的函数的优点是它们可以应用于各种强化学习问题。基于策略的算法的权衡是它们样本效率低,并且在收敛到最佳解决方案之前需要大量训练。
基于价值的算法:基于价值的函数学习评估状态和动作的价值。基于值的函数可帮助 RL 代理评估当前状态和操作的未来可能回报。
基于值的函数有两种变体:Q 值和 V 值。Q 函数估计状态-动作对的预期回报。V 函数仅估计状态的值。Q 函数更常见,因为它更容易将状态-动作对转换为 RL 策略。
两种流行的基于值的算法是 SARSA 和 DQN。基于值的算法比基于策略的 RL 的样本效率更高。它们的局限性在于它们仅适用于离散的动作空间(除非您对它们进行一些更改)。
基于模型的算法:基于模型的算法采用不同的方法来强化学习。他们不是评估状态和动作的价值,而是尝试在给定当前状态和动作的情况下预测环境的状态。基于模型的强化学习允许代理在采取任何行动之前模拟不同的轨迹。
基于模型的 RL 见解
基于模型的方法为代理提供了远见,并减少了手动收集数据的需要。这在收集训练数据和经验既昂贵又缓慢的应用(例如机器人和自动驾驶汽车)中可能非常有利。
但是基于模型的强化学习的主要挑战是创建一个真实的环境模型可能非常困难。非确定性环境(例如现实世界)很难建模。在某些情况下,开发人员设法创建近似真实环境的模拟。但即使是这些模拟环境的学习模型也非常困难。
尽管如此,基于模型的算法已经在国际象棋和围棋等确定性问题中变得流行。蒙特卡洛树搜索 (MTCS) 是一种流行的基于模型的方法,可应用于确定性环境。
组合方法:为了克服每一类强化学习算法的缺点,科学家们开发了组合不同类型学习函数元素的算法。例如,Actor-Critic 算法结合了基于策略和基于价值的功能的优势。这些算法使用来自价值函数(批评者)的反馈来引导策略学习者(参与者)朝着正确的方向前进,从而产生更有效的样本系统。