什么是强化学习?

强化学习 (RL) 是一种机器学习,其中“智能体”通过与环境互动来学习最佳行为。该智能体不是依赖显式编程或标注数据集,而是通过不断试错来学习,从而获得对其操作的奖励或惩罚形式的反馈。这一过程与人们在自然学习时通常采用的方式类似,因此强化学习是创建能够解决复杂问题的智能系统的强大方法。

了解强化学习

强化学习就是学习如何做出决策。想象一下,一个智能体(可以是软件程序,也可以是机器人)在环境中导航。这个环境可以是实体空间、虚拟游戏世界,甚至是市场。智能体在此环境中执行操作,这些操作可能会导致某些结果,其中一些结果比其他结果更理想。

智能体的目标是在一段时间内尽可能多地赚取奖励。为此,它会学习政策。政策本质上是一种策略,用于告诉智能体在不同情况下应采取什么行动。该政策通过多次迭代与环境的互动来进行完善。

为了进行说明,请假设有一个下棋 AI。该智能体的操作是指它在棋盘上的走棋。环境是游戏的当前状态,奖励是赢得游戏。通过反复对弈并根据走棋反馈,强化学习智能体可以了解哪些操作更有可能带来胜利。

强化学习的工作原理是什么?

强化学习中的学习过程由一个反馈环驱动,该反馈环包含四个关键要素:

  • 智能体:系统中的学习者和决策者
  • 环境:智能体与之互动的外部世界
  • 操作:智能体在每个步骤中可以做出的选择
  • 奖励:智能体在执行操作后收到的反馈,指出了结果的理想程度

反馈环分为以下几个步骤:

  1. 智能体观察环境的当前状态。
  2. 智能体根据政策选择并执行操作。
  3. 环境会对该操作做出响应,转换为新状态。
  4. 智能体收到奖励信号,反映新状态的值。
  5. 这些奖励信息用于更新智能体的政策,使其更有可能选择过去带来正向奖励的操作。

这种反复尝试、获取反馈和改进规则的过程会一直持续下去,直到系统在一段时间后学会获得最多奖励的最佳方法。

强化学习的类型

强化学习主要分为两种类型:基于模型的强化学习和无模型的强化学习。

基于模型

在基于模型的强化学习中,智能体尝试构建环境的内部模型。该模型使智能体能够在实际采取操作之前预测操作的后果,从而实现更有计划、更具战略性的方法。

想象一下,一个机器人正在学习如何走迷宫。基于模型的强化学习智能体将尝试描绘迷宫的内部布局。然后,它会使用该模型来规划路径,在实际移动之前模拟不同的操作及其预测结果。

无模型

另一方面,无模型强化学习不依赖于构建环境的显式模型。相反,它侧重于根据收到的奖励将操作与值相关联,直接学习最优政策。

回到迷宫示例,无模型智能体不会费心绘制整个迷宫的地图。相反,它仅根据以往的经验和获得的奖励,学习哪些操作(例如,在特定路口左转或右转)更有可能找到出口。

强化学习技术

虽然目标始终是将奖励最大化,但不同的强化学习技术提供了不同的政策来实现这一目标。我们回到迷宫中的机器人:

  • Q-Learning:这是一种热门的无模型方法。想象一下,机器人在探索时创建了一张“备忘单”。对于每个交叉路口(状态),该备忘单列出了每个可能的转向(操作)的“质量得分”(Q 值)。经过多次不断试错,机器人已了解在每个交叉路口每个转向的最佳得分。为了找到出口,它只需遵循备忘单上得分最高的路径即可。
  • SARSA(状态-操作-奖励-状态-操作):这种方法与 Q-Learning 非常相似,但机器人会更加谨慎。它不会总是假设自己会采取尽可能最佳的下一步行动,而是会按照当前的政策,根据实际采取的操作来更新自己的备忘单。这就使其成为了一种“同政策”方法,因为它会根据当前遵循的政策学习。
  • 深度 Q 网络 (DQN):如果迷宫非常庞大,有数百万种可能的状态(就像电子游戏画面一样),该怎么办?备忘单就变得并不实用了。DQN 用深度神经网络取代了备忘单。该网络就像一个智能“函数”,可以研究任何新状态并估算 Q 值,即使它以前从未见过这种情况。这就是 DeepMind 的 AI 学习玩 Atari 游戏的方式。
  • 政策梯度方法:这些方法采用更直接的方式。机器人不学习每个操作的值,而是学习常规政策,即在任何情况下该做什么的一组概率(例如,“在丁字路口,我有 70% 的几率应该左转”)。然后,它会根据整体历程是否成功直接调整这些概率,逐步改进其“本能”,以最大限度地提高最终奖励。

何时使用强化学习

强化学习是一种最适合某些特定场景的强大工具。以下是一些强化学习表现出色的示例:

复杂环境具有多种状态和操作

强化学习可以应对传统编程或基于规则的系统显得过于笨拙的情况。

通过互动生成数据的情形

当智能体能够通过主动与环境互动并接收反馈来学习时,强化学习就会蓬勃发展。

目标涉及长期优化

对于需要随着时间的推移最大限度地提高累积奖励的任务,强化学习可能非常适合。

强化学习的优势和挑战

强化学习是解决难题的好方法,但必须考虑它的优缺点。了解这些可能的优势和挑战有助于确定强化学习是否适合不同的作业以及如何使用它。

强化学习的优势

  • 能够解决复杂问题:强化学习在传统编程方法难以应对的场景中表现出色,能够为复杂问题提供解决方案
  • 适应能力强:强化学习智能体可以适应不断变化的环境并学习新策略,因此适合动态环境
  • 寻找最优解决方案:通过不断探索和学习,强化学习旨在发现实现目标的最有效策略

强化学习的挑战

  • 可能需要大量数据:强化学习通常需要大量交互数据才能有效学习,而收集这些数据可能非常耗时且耗费资源
  • 奖励设计至关重要:强化学习的成功在很大程度上取决于奖励函数的设计,该函数必须准确反映所需的行为,但在某些任务中,这可能具有挑战性
  • 实际应用中的安全问题:在机器人等实际场景中,必须确保智能体在学习过程中的操作是安全的,这一点至关重要

强化学习与监督学习和无监督学习

强化学习、监督学习和无监督学习都是机器学习的子领域,但它们的基本方法有所不同:

  • 监督学习:在监督学习中,算法会学习标注的数据集,并根据提供的示例将输入映射到输出;这就像在老师提供正确答案的情况下进行学习
  • 无监督学习无监督学习算法探索未标注的数据,以识别模式、关系或结构;这就像在没有老师的情况下学习,尝试独立理解数据
  • 强化学习:正如我们所探讨的,强化学习 (RL) 侧重于通过与环境互动并接收奖励或惩罚形式的反馈来学习;这就像通过不断试错来学习,根据操作的结果不断调整行为

强化学习的应用

强化学习能够通过交互学习复杂的行为,因此适合广泛的应用场景,包括:

推荐系统

强化学习可以通过学习用户互动来帮助实现个性化推荐。通过将点击、购买或观看时长视为信号,强化学习算法可以优化商品推荐引擎,最大限度地提高用户互动度和满意度。例如,音乐在线媒体服务可以使用强化学习来推荐符合用户不断变化的偏好的歌曲或音乐人。

游戏开发

游戏行业已经接受了强化学习,并使用它来开发高技能的游戏智能体。这些通过强化学习训练的 AI 智能体在复杂游戏中表现出了惊人的熟练度,展现了高层次的战略思维和决策能力。其中,DeepMind 创建的 AlphaGo 和 AlphaZero 就是著名的例子,它们在国际象棋等游戏中达到了顶尖水平,展现了强化学习的强大力量。

机器人控制

强化学习可帮助机器人学习复杂的运动技能,并穿越充满挑战的环境。通过奖励机器人做出理想行为(例如抓取物体或高效移动),强化学习可以帮助自动执行需要灵活性和适应性的任务。这项技术可应用于制造业、物流业,甚至医疗保健行业,例如机器人可协助进行手术或护理患者。

在 Google Cloud 上构建和扩缩强化学习解决方案

开发强化学习系统需要一个强大的平台来训练智能体,以及一个可伸缩的环境来部署智能体。Google Cloud 提供了完成以下操作所需的组件:

  • 构建和训练模型Vertex AI 是一个统一的机器学习平台,可简化整个机器学习工作流;您可以使用它在一个位置构建、训练和管理强化学习模型、实验和数据
  • 可伸缩部署:强化学习智能体通常需要在复杂、动态的环境中部署;Google Kubernetes Engine (GKE) 提供了一项可伸缩的托管式服务,用于运行容器化智能体,使智能体能够与环境互动并根据需要进行伸缩

更进一步

获享 $300 赠金以及 20 多种提供“始终免费”用量的产品,开始在 Google Cloud 上构建项目。