Unit 1 深度强化学习简介

发布于:2025-06-10 ⋅ 阅读:(21) ⋅ 点赞:(0)

Deep RL Course ——Unit 1 Introduction

  1. 从理论和实践层面深入学习深度强化学习。
  2. 学会使用知名的深度强化学习库,例如 Stable Baselines3、RL Baselines3 Zoo、Sample Factory 和 CleanRL。
  3. 在独特的环境中训练智能体,比如 SnowballFight、Huggy the Doggo、VizDoom等,还有经典环境,如 Space Invaders、PyBullet 等。

强化学习框架

RL过程
Action
Reward
Rt/Rt+1
State
St/St+1
Agent
Environment
奖励假设(The reward hypothesis)

为什么智能体的目标是最大化预期回报?因为强化学习基于奖励假设,即所有目标都可以描述为最大化预期回报(预期累积奖励)。这就是为什么在强化学习中,为了获得最佳行为表现,我们的目标是学习采取能够最大化预期累积奖励的动作。

马尔可夫性质(Markov Property)

强化学习过程被称作马尔可夫决策过程(Markov Decision Process,简称 MDP)。马尔可夫性质,也称为无记忆性或无后效性,是概率论和随机过程理论中的一个重要概念。它描述了一个随机过程在给定现在状态及所有过去状态的情况下,其未来状态的条件概率分布仅依赖于当前状态,而与过去状态无关。换句话说,系统的下一个状态只取决于当前状态,而与之前的状态序列无关。

观测空间/状态空间(Observations/States Space)

观测(Observations)和状态(States)是智能体从环境中获取的信息。在视频游戏的情境下,观测可能是一帧画面(即屏幕截图)。而在交易智能体的情境下,观测可能是某只股票的价格等。

然而,我们需要对观测和状态进行区分:

  • 状态(State, s):状态是对世界当前状况的完整描述,不存在任何隐藏信息。

  • 观测(Observation):观测是智能体从环境中获取的部分信息,它可能并不包含关于世界当前状况的完整描述。

动作空间(Action Space)

动作空间是指在一个环境中,智能体可以采取的所有可能动作的集合。动作空间的设计对于强化学习算法的性能和效率至关重要,因为它直接决定了智能体在决策时需要考虑的选项数量。动作空间可以分为离散空间和连续空间两种类型:

  • 离散动作空间(Discrete Action Space)在离散动作空间中,智能体可以采取的动作数量是有限的。每个动作都可以被明确地定义和区分。

  • 连续动作空间(Continuous Action Space)在连续动作空间中,智能体可以采取的动作数量是无限的,或者至少是在一个连续的范围内变化。动作通常由实数或向量表示,可以取任意值(在允许的范围内)。

奖励与折扣(Rewards and the discounting)

奖励在强化学习(RL)中至关重要,因为它是智能体获得的唯一反馈。借助奖励,智能体能够判断所采取的行动是好是坏。每个时间步 t 的累积奖励可以表示为:

R ( τ ) = r t + 1 + r t + 2 + r t + 3 + . . . R(\tau) = r_{t+1} + r_{t+2} + r_{t+3} + ... R(τ)=rt+1+rt+2+rt+3+...

在强化学习中,对奖励进行折扣(discounting)是一个核心概念,主要基于以下几个关键原因:

  1. 避免短视:没有折扣,智能体可能过于追求即时高奖励,而忽视长远利益。折扣机制鼓励智能体考虑长远规划,避免陷入局部最优解。
  2. 数学和计算上的便利性:折扣使得累积奖励的期望值有界,从而保证了强化学习算法(如值迭代、策略迭代)的收敛性。这对于算法的稳定性和可靠性至关重要。
  3. 模型不确定性和风险规避:
    - 不确定性处理:在现实世界中,环境往往是不确定的,未来状态和奖励难以准确预测。折扣机制可以看作是对未来不确定性的一种处理方式,通过降低未来奖励的权重,减少了对未来不确定性的过度依赖。
    - 风险规避:折扣还体现了对风险的规避。由于未来奖励的不确定性增加,智能体可能更倾向于选择当前确定的高奖励,而非冒险追求未来可能的高奖励。
定义折扣率(Gamma)

R ( τ ) = ∑ k = 0 ∞ γ k r t + k + 1 R(\tau) = \sum_{k=0}^{\infty} \gamma^k r_{t+k+1} R(τ)=k=0γkrt+k+1

gamma参数,取值范围必须在 0 到 1 之间。在大多数情况下,gamma 的取值介于 0.95 和 0.99 之间。

  • Gamma 值越大,折扣越小。这意味着智能体更加关注长期奖励。
  • 相反,Gamma 值越小,折扣越大。这表明智能体更倾向于关注短期奖励。

强化学习任务类型

在强化学习中,任务是强化学习问题的一个具体实例。根据任务的结构和特性,我们可以将强化学习任务分为两大类:

片段式任务(Episodic Task)
  • 定义:在片段式任务中,存在一个明确的起始点和终止点(也称为终端状态)。一个完整的任务执行过程被称为一个“片段”(episode),它由一系列状态(States)、动作(Actions)、奖励(Rewards)以及新的状态组成。
  • 示例
    • 以经典游戏《超级马里奥兄弟》为例,一个片段开始于马里奥进入一个新的关卡,结束于马里奥被击败或到达关卡的终点。在这个片段中,马里奥需要不断采取动作来避开障碍物、收集金币,并最终到达终点。
连续性任务(Continuing Task)
  • 定义:与片段式任务不同,连续性任务没有明确的终止点。智能体在一个持续的环境中不断采取动作,并接收奖励。
  • 示例
    • 考虑一个机器人控制任务,机器人需要在工厂中持续执行任务,如搬运物品、装配零件等。这个任务没有明确的终止点,机器人需要不断学习并优化其控制策略,以提高任务执行的效率和准确性。

探索与利用的权衡

最后,在探讨解决强化学习问题的不同方法之前,我们必须再讨论一个非常重要的主题:探索与利用的权衡。探索(Exploration)是指通过尝试随机动作来探索环境,以获取更多关于环境的信息。利用(Exploitation)则是指利用已知的信息来最大化奖励。

解决探索/利用的权衡问题

在强化学习中,探索(Exploration)与利用(Exploitation)的权衡是一个核心挑战。智能体需要在尝试新动作以获取更多信息(探索)和利用已知信息以最大化当前奖励(利用)之间找到平衡。以下是一些解决这一权衡问题的主要方法:

  1. ε-贪心策略(ε-Greedy)以概率 ϵ 随机选择一个动作(探索),以概率 1−ϵ 选择当前估计的最优动作(利用)。
  2. 软最大策略(Softmax/Boltzmann Exploration)根据动作的估计价值,通过 softmax 函数计算每个动作的选择概率。价值越高的动作被选择的概率越大,但所有动作都有非零概率被选择。
  3. 上置信界算法(UCB)在选择动作时,不仅考虑动作的估计价值,还考虑动作的不确定性(即探索的必要性)。通常选择价值高且不确定性大的动作。
  4. 贝叶斯方法 使用贝叶斯框架来建模动作价值的分布,通过后验分布来量化不确定性。智能体根据后验分布选择动作,通常选择期望价值高且不确定性大的动作。
  5. 汤普森采样(Thompson Sampling)根据动作价值的后验分布,随机采样一个价值,然后选择采样价值最高的动作。
  6. 深度强化学习中的探索方法
    • 噪声网络(Noisy Networks)
      在神经网络的权重中添加噪声,使得智能体的策略具有一定的随机性,从而实现探索。
    • 计数法(Count-Based Exploration)
      对状态或状态-动作对的访问次数进行计数,根据访问次数调整探索的强度。通常用于离散状态空间。
    • 内在奖励(Intrinsic Motivation)
      除了环境提供的外部奖励外,智能体还获得一个内在奖励,鼓励其探索新奇或不确定的状态。
    • 好奇心驱动(Curiosity-Driven Exploration)
      智能体通过预测模型来评估状态的“新奇性”,并根据新奇性获得奖励,从而鼓励探索。

解决强化学习(RL)问题的两种主要方法

换句话说,我们如何构建一个强化学习智能体,使其能够选择能够最大化其预期累积奖励的动作?

策略 π

策略 π 是智能体的“大脑”,它是一个函数,能够根据智能体当前所处的状态告诉我们应该采取什么动作。因此,策略 π 定义了智能体在给定状态下的行为。这一策略(Policy)正是我们希望学习的函数,我们的目标是找到最优策略 π,即当智能体依据该策略行动时,能够最大化其预期回报的策略。我们通过训练来找到这个最优策略 π。找到这个最优策略 π ,存在两种方法

  1. 直接方法,即教导智能体学习在当前状态下应采取何种动作:这被称为基于策略的方法(Policy-Based Methods)。
  2. 间接方法,即教导智能体学习哪个状态更具价值,然后采取能够导向更具价值状态的动作:这被称为基于价值的方法(Value-Based Methods)。
基于策略的方法(Policy-Based Methods)

这个策略函数的作用是定义从每个状态到最佳对应动作的映射关系。具体而言,它可以为每个状态指定一个具体的最佳动作;或者,它也可以为某个状态下所有可能的动作定义一个概率分布,表示智能体选择每个动作的可能性。

  • Deterministic : a = π ( s ) a = \pi(s) a=π(s)
  • Stochastic : π ( a ∣ s ) = P [ A , s ] \pi(a|s) = P[A,s] π(as)=P[A,s]
基于价值的方法(Value-based methods)

在基于价值的方法中,我们并不直接学习策略函数,而是学习一个价值函数(value function),该函数将状态映射到处于该状态时的预期价值。一个状态的价值是指,如果智能体从该状态出发,并按照我们的策略行动,它所能获得的预期折扣回报(expected discounted return)。“按照我们的策略行动”仅仅意味着我们的策略是“前往价值最高的状态”。

v π ( s ) = E π [ R t + 1 + γ R t + 2 + γ 2 R t + 3 + . . . ∣ S t = s ] v_{\pi}(s) = \text{E}_{\pi}[R_{t+1} + \gamma R_{t+2} + \gamma^2 R_{t+3} + ...|S_t = s] vπ(s)=Eπ[Rt+1+γRt+2+γ2Rt+3+...∣St=s]

强化学习中的“深度”

但“深度”(Deep)这一概念是如何融入强化学习其中的呢?深度强化学习(Deep Reinforcement Learning)引入了深度神经网络来解决强化学习问题——这也是“深度”一词的由来。例如,两种基于价值(value-based)的算法:Q-Learning(经典的强化学习算法)和深度Q-Learning(Deep Q-Learning)。两者的区别在于:在第一种方法(Q-Learning)中,我们使用传统算法来创建一个Q表,该表帮助我们确定在每个状态下应采取何种动作。而在第二种方法(深度Q-Learning)中,我们将使用神经网络来近似Q值。

Deep Q Learning
Q value action 1
State
Deep Q
Neural Network
Q value action 2
Q value action 3
Q Learning
Q Value
State
Q Table
Action

补充阅读材料

Deep Reinforcement Learning

Gym