强化学习:它是什么以及它是如何工作的

已发表: 2024-07-17

在迷人的人工智能世界中,强化学习作为一种强大的技术脱颖而出,它使机器能够通过反复试验来学习最佳行为,就像人类和动物在现实世界中获得技能一样。

目录

  • 什么是强化学习?
  • 强化学习与监督学习和无监督学习
  • 强化学习如何运作
  • 强化学习的类型
  • 强化学习的应用
  • 强化学习的优点
  • 强化学习的缺点

什么是强化学习(RL)?

强化学习 (RL) 是机器学习 (ML) 的一种,其中代理通过与其环境交互来学习做出决策。 在这种情况下,代理是一个程序,它决定要采取的行动,接收奖励或惩罚形式的反馈,并调整其行为以最大化累积奖励。

机器学习是人工智能 (AI) 的一个子集,它使用数据和统计方法来构建模仿人类推理的程序,而不是依赖于硬编码指令。 强化学习的直接灵感来自于人们如何通过反复试验来优化决策。

使用 Grammarly 更智能地工作
任何有工作要做的人的人工智能写作伙伴

强化与监督和无监督学习

监督学习中,使用标记数据来训练模型,其中为每个输入提供正确的输出。此指南可帮助模型在面对新的、未见过的数据时做出准确的预测。 监督学习对于垃圾邮件检测、图像分类和天气预报等任务非常有用。

另一方面,无监督学习使用未标记的数据来查找模式和分组。 它可以对相似的数据点进行聚类,查找项目之间的关联,并降低数据复杂性以便于处理。 示例包括客户细分、推荐系统和异常检测。

强化学习与两者不同。在强化学习中,智能体通过与其环境交互并接收积极或消极的反馈来学习。 这种反馈循环使代理能够调整其行为以实现最佳结果。 强化学习对于代理需要学习一系列决策的任务特别有用,例如玩游戏、机器人和自动驾驶。

强化学习如何运作

理解强化学习的原理对于掌握智能体如何学习和做出决策至关重要。 下面,我们将详细探讨关键概念和强化学习过程。

强化学习中的关键概念

强化学习有一个独特的词汇表,不适用于其他类型的机器学习。 要理解的主要概念是:

1代理和环境:代理是决策计算机程序,而环境则包含代理与之交互的一切。这包括所有可能的状态和操作,包括代理先前做出的决定。 智能体与环境之间的交互是学习过程的核心。

2状态和动作:状态代表智能体在任何给定时刻的当前情况,动作是智能体针对其状态可以做出的决定。智能体的目标是选择能够导致最有利状态的行动。

3奖励和惩罚:在采取行动后,智能体会收到来自环境的反馈:如果是积极的,则称为奖励,如果是消极的,则称为惩罚。这种反馈可以帮助智能体了解哪些行为是有益的,哪些行为应该避免,从而指导其未来的决策。

4策略:策略是代理决定在每个状态下采取哪些操作的策略。它将状态映射到行动,作为代理根据过去的经验实现最佳结果的指南。

5价值函数:价值函数估计处于某种状态或采取某种行动的长期利益。它可以帮助智能体了解潜在的未来奖励,即使这意味着忍受短期的负奖励以最大化长期收益。 价值函数对于制定随时间优化累积奖励的决策至关重要。

强化学习过程

虽然目的和学习方法与其他类型的机器学习有很大不同,但在准备数据、选择参数、评估和迭代方面的过程是相似的。

以下是 RL 流程的简要概述:

1问题定义和目标设定。明确定义问题并确定代理的目的和目标,包括奖励结构。 这将帮助您决定需要什么数据以及选择什么算法。

2数据收集和初始化。收集初始数据、定义环境并设置 RL 实验所需的参数。

3预处理和特征工程。清理数据:抽查、删除重复项、确保拥有正确的特征标签,并决定如何处理缺失值。 在许多情况下,您需要创建新功能来阐明环境的重要方面,例如从多个传感器输入创建单个定位数据点。

4算法选择。根据问题和环境,选择适当的 RL 算法并配置核心设置(称为超参数)。 例如,您需要建立探索(尝试新路径)与利用(遵循已知路径)的平衡。

5培训。通过允许代理与环境交互、采取行动、接收奖励并更新其策略来训练代理。 调整超参数并重复该过程。 继续监控和调整探索与利用的权衡,以确保智能体有效学习。

6评估。使用指标评估代理的性能,并观察其在适用场景中的性能,以确保其满足定义的目的和目标。

7模型调整和优化。调整超参数、细化算法并重新训练代理以进一步提高性能。

8部署和监控。一旦您对代理的性能感到满意,就可以在现实环境中部署经过训练的代理。 持续监控其绩效并实施反馈循环以进行持续学习和改进。

9维护和更新。虽然持续学习非常有用,但有时您可能需要从初始条件进行重新训练才能充分利用新数据和技术。 定期更新代理的知识库,使用新数据对其进行重新训练,并确保其适应环境或目标的变化。

强化学习的类型

强化学习大致可以分为三种类型:无模型、基于模型和混合。 每种类型都有其特定的用例和方法。

无模型强化学习

通过无模型强化学习,智能体可以直接从与环境的交互中学习。 它不会尝试理解或预测环境,而只是尝试在所呈现的情况下最大化其性能。 无模型强化学习的一个例子是 Roomba 机器人真空吸尘器:随着它的移动,它会了解障碍物在哪里,并逐渐减少撞到障碍物的次数,同时清洁更多的东西。

例子:

  • 基于价值的方法。最常见的是 Q 学习,其中 Q 值表示在给定状态下采取给定操作的预期未来奖励。 此方法最适合具有离散选择的情况,也就是说,选项有限且已定义,例如在十字路口转向哪个方向。 您可以手动分配 Q 值,使用零或低值来避免偏差,随机化值以鼓励探索,或使用统一的高值来确保彻底的初始探索。 每次迭代时,代理都会更新这些 Q 值以反映更好的策略。 基于价值的学习很受欢迎,因为它实施起来很简单,并且在离散的行动空间中效果很好,尽管它可能会遇到太多的变量。
  • 策略梯度方法:与试图估计每个状态下动作的价值的 Q 学习不同,策略梯度方法直接专注于改进代理用于选择动作的策略(或政策)。这些方法不是估计价值,而是调整策略以最大化预期奖励。 策略梯度方法在操作可以是任何值的情况下非常有用(按照上面的类比,这可能是在田野中向任何方向行走)或者很难确定不同操作的值的情况。 他们可以处理更复杂的决策和连续的选择,但通常需要更多的计算能力才能有效工作。

基于模型的强化学习

基于模型的强化学习涉及创建环境模型来规划行动和预测未来状态。 这些模型通过预测动作影响环境状态的可能性以及由此产生的奖励或惩罚来捕获动作和状态变化之间的相互作用。 这种方法可以更有效,因为代理可以在行动之前在内部模拟不同的策略。 自动驾驶汽车使用这种方法来了解如何响应交通特征和各种物体。 Roomba 的无模型技术不足以完成如此​​复杂的任务。

例子:

  • Dyna-Q: Dyna-Q 是一种混合强化学习算法,将 Q 学习与规划相结合。代理根据与环境的真实交互以及模型生成的模拟体验来更新其 Q 值。 当现实世界的交互成本高昂或耗时时,Dyna-Q 特别有用。
  • 蒙特卡罗树搜索(MCTS): MCTS 模拟许多可能的未来动作和状态来构建搜索树来表示每个选择之后的决策。代理使用这棵​​树通过估计不同路径的潜在奖励来决定最佳行动。 MCTS擅长结构清晰的决策场景,例如国际象棋等桌游,可以处理复杂的战略规划。

当可以对环境进行准确建模并且模拟可以提供有价值的见解时,基于模型的方法是合适的。 与无模型方法相比,它们需要更少的样本,但这些样本必须准确,这意味着它们可能需要更多的计算工作来开发。

混合强化学习

混合强化学习结合了各种方法来发挥各自的优势。 该技术可以帮助平衡样本效率和计算复杂性之间的权衡。

例子:

  • 引导策略搜索(GPS): GPS 是一种在监督学习和强化学习之间交替的混合技术。它使用监督学习根据基于模型的控制器生成的数据来训练策略。 然后使用强化学习来完善策略,以处理模型不太准确的状态空间部分。 这种方法有助于将知识从基于模型的规划转移到直接政策学习。
  • 集成架构:一些架构将各种基于模型和无模型的组件集成在一个框架中,适应复杂环境的不同方面,而不是在所有事情上都采用一种方法。例如,代理可能会使用基于模型的方法进行长期规划,并使用无模型的方法进行短期决策。
  • 世界模型:世界模型是一种代理构建环境的紧凑和抽象表示的方法,用于模拟未来状态。代理使用无模型方法来学习内部模拟环境中的策略。 这项技术减少了对现实世界交互的需求。

强化学习的应用

强化学习在各个领域都有广泛的应用:

  • 玩游戏:强化学习算法在国际象棋和视频游戏等情况下已经实现了超人的性能。一个著名的例子是 AlphaGo,它通过混合使用深度神经网络和蒙特卡洛树搜索来玩棋盘游戏围棋。 这些成功证明了强化学习开发复杂策略和适应动态环境的能力。
  • 机器人技术:在机器人技术中,强化学习有助于训练机器人执行抓取物体和穿越障碍物等任务。试错学习过程使机器人能够适应现实世界的不确定性,并随着时间的推移提高其性能,超越不灵活的基于规则的方法。
  • 医疗保健:通过响应患者特定数据,RL 可以优化治疗计划、管理临床试验和个性化医疗。强化学习还可以通过不断地从患者数据中学习来提出干预措施,从而最大限度地提高患者的治疗效果。
  • 金融:基于模型的强化学习非常适合金融领域各个部分的明确参数和复杂动态,尤其是那些与高度动态市场互动的部分。它在这里的用途包括投资组合管理、风险评估和适应新市场条件的交易策略。
  • 自动驾驶汽车:自动驾驶汽车使用强化学习训练的模型来响应障碍物、道路状况和动态交通模式。他们立即应用这些模型来适应当前的驾驶条件,同时还将数据反馈到集中的持续训练过程中。 来自环境的持续反馈有助于这些车辆随着时间的推移提高其安全性和效率。

强化学习的优点

  • 自适应学习:强化学习智能体不断学习并适应与环境的交互。 动态学习使强化学习特别适合动态和不可预测的环境。
  • 多功能性:强化学习适用于解决一系列涉及一系列决策的问题,其中一个决策会影响下一个决策的环境,从游戏到机器人再到医疗保健。
  • 最优决策:强化学习专注于最大化长期奖励,确保强化学习代理制定针对随着时间的推移获得最佳结果而优化的策略,而不仅仅是下一个决策。
  • 复杂任务的自动化:强化学习可以自动执行难以硬编码的任务,例如动态资源分配、电网管理等复杂控制系统以及精确的个性化建议。

强化学习的缺点

  • 数据和计算要求:强化学习通常需要大量数据和处理能力,而这两者都可能非常昂贵。
  • 训练时间长:当训练过程涉及与现实世界交互而不仅仅是与模型交互时,训练 RL 代理可能需要数周甚至数月的时间。
  • 复杂性:设计和调整强化学习系统需要仔细考虑奖励结构、策略表示和探索-利用平衡。这些决定必须经过深思熟虑,以避免花费太多时间或资源。
  • 安全性和可靠性:对于医疗保健和自动驾驶等关键应用,意外行为和次优决策可能会产生严重后果。
  • 可解释性低:在某些强化学习过程中,尤其是在复杂的环境中,很难或不可能准确地知道智能体是如何做出决策的。
  • 样本效率低下:许多强化学习算法需要与环境进行大量交互才能学习有效的策略。这可能会限制它们在现实世界交互成本高昂或有限的场景中的有用性。