深度强化学习课程文档

强化学习框架

Hugging Face's logo
加入 Hugging Face 社区

并获得增强型文档体验

开始使用

强化学习框架

强化学习过程

The RL process
强化学习过程:状态、动作、奖励和下一状态的循环
来源:强化学习导论,理查德·萨顿和安德鲁·巴托

为了理解强化学习过程,让我们想象一个学习玩平台游戏的智能体

The RL process
  • 我们的智能体从**环境**接收**状态 S0S_0** — 我们接收游戏的第一帧(环境)。
  • 基于该**状态 S0S_0**,智能体采取**动作 A0A_0** — 我们的智能体会向右移动。
  • 环境进入**新的**状态 S1S_1** — 新的帧。
  • 环境向智能体提供一些**奖励 R1R_1** — 我们没有死亡 (正向奖励 +1)

这个强化学习循环输出**状态、动作、奖励和下一状态**的序列。

State, Action, Reward, Next State

智能体的目标是最大化其累积奖励,**称为预期回报。**

奖励假设:强化学习的核心思想

⇒ 为什么智能体的目标是最大化预期回报?

因为强化学习基于**奖励假设**,该假设认为所有目标都可以描述为**预期回报**(预期累积奖励)的最大化。

这就是为什么在强化学习中,**为了获得最佳行为**,我们的目标是学习采取能够**最大化预期累积奖励**的动作。

马尔可夫性质

在论文中,你会看到强化学习过程被称为**马尔可夫决策过程**(MDP)。

我们将在后续单元中再次讨论马尔可夫性质。但如果你今天需要记住关于它的某些内容,那就是:马尔可夫性质意味着我们的智能体**只需要当前状态来决定**采取什么行动,**而不需要之前所有状态和行动的历史记录**。

观测/状态空间

观测/状态是**智能体从环境中获得的信息**。在电子游戏的情况下,它可以是帧(屏幕截图)。在交易智能体的情况下,它可以是某个股票的价值等等。

但是,需要区分观测状态

  • 状态s:是**对世界状态的完整描述**(没有隐藏信息)。在完全可观测的环境中。
Chess
在国际象棋游戏中,我们从环境中接收状态,因为我们可以访问整个棋盘信息。

在国际象棋游戏中,我们可以访问整个棋盘信息,因此我们从环境中接收状态。换句话说,环境是完全可观测的。

  • 观测o:是对状态的**部分描述**。在部分可观测的环境中。
Mario
在超级马里奥游戏中,我们只能看到靠近玩家的那一部分关卡,因此我们接收的是观测。

在超级马里奥游戏中,我们只能看到靠近玩家的那一部分关卡,因此我们接收的是观测。

在超级马里奥游戏中,我们处于部分可观测的环境中。我们接收观测,**因为我们只能看到一部分关卡**。

在本课程中,我们使用术语“状态”来表示状态和观测,但我们将在实现中进行区分。

回顾一下

Obs space recap

动作空间

动作空间是**环境中所有可能动作的集合**。

动作可以来自离散连续空间

  • 离散空间:可能动作的数量是**有限的**。
Mario
在超级马里奥游戏中,我们只有4个可能的动作:左、右、上(跳跃)和下(蹲下)。

同样,在超级马里奥游戏中,我们有一组有限的动作,因为我们只有4个方向。

  • 连续空间:可能动作的数量是**无限的**。
Self Driving Car
自动驾驶汽车智能体有无限数量的可能动作,因为它可以向左转20°、21.1°、21.2°,鸣笛,向右转20°……

回顾一下

Action space recap

考虑到这些信息至关重要,因为**它将在未来选择强化学习算法时发挥重要作用**。

奖励和折扣

奖励在强化学习中是基础,因为它对智能体来说是**唯一的反馈**。借助它,我们的智能体知道**采取的动作是好是坏**。

每个时间步长t的累积奖励可以写成

Rewards
累积奖励等于序列中所有奖励的总和。

等价于

Rewards
累积奖励 = rt+1 (rt+k+1 = rt+0+1 = rt+1)+ rt+2 (rt+k+1 = rt+1+1 = rt+2) + ...

然而,在现实中,**我们不能像那样简单地将它们加起来**。较早出现的奖励(在游戏开始时)**更有可能发生**,因为它们比长期的未来奖励更易预测。

假设你的智能体是一只可以每次时间步长移动一个方格的小老鼠,而你的对手是猫(猫也可以移动)。老鼠的目标是**在被猫吃掉之前吃掉尽可能多的奶酪**。

Rewards

正如我们在图中看到的,**吃掉我们附近的奶酪比吃掉靠近猫的奶酪更有可能**(我们离猫越近,就越危险)。

因此,**靠近猫的奖励,即使它更大(更多的奶酪),也会被更多地折扣**,因为我们不确定我们是否能够吃到它。

为了对奖励进行折扣,我们按照以下步骤进行

  1. 我们定义了一个称为gamma的折扣率。**它必须在0到1之间**。大多数情况下在**0.95到0.99之间**。
  • gamma越大,折扣越小。这意味着我们的智能体**更关心长期奖励**。
  • 另一方面,gamma越小,折扣越大。这意味着我们的**智能体更关心短期奖励(最近的奶酪)**。

2. 然后,每个奖励都将按gamma乘以时间步长的指数进行折扣。随着时间步长的增加,猫越来越靠近我们,**因此未来奖励发生的可能性越来越小**。

我们折扣后的预期累积奖励是

Rewards < > 在GitHub上更新