【深度学习】强化学习(Reinforcement Learning, RL)主流架构解析
强化学习(Reinforcement Learning, RL)主流架构解析
摘要: 本文将带你深入了解强化学习(Reinforcement Learning, RL)的几种核心架构,包括基于价值(Value-Based)、基于策略(Policy-Based)和演员-评论家(Actor-Critic)方法。我们将探讨它们的基本原理、优缺点以及经典算法,帮助你构建一个清晰的RL知识体系。
文章目录
- 强化学习(Reinforcement Learning, RL)主流架构解析
- 1 强化学习基础
- 2 基于价值(Value-Based)的强化学习
- 3 基于策略(Policy-Based)的强化学习
- 4 演员-评论家(Actor-Critic)架构
- 5 基于模型 (Model-Based) 的强化学习
- 6 如何选择合适的强化学习架构?
1 强化学习基础
在深入探讨不同架构之前,让我们快速回顾一下强化学习(Reinforcement Learning, RL)的基本概念。RL的核心思想是让一个智能体(Agent)在与环境(Environment)的交互中学习,通过接收奖励(Reward)或惩罚(Punishment)来优化其行为策略(Policy),以期获得最大的累积奖励。
强化学习有几种主流的架构,它们解决问题的思路各不相同,可以将它们主要分为三大类:
- 基于价值 (Value-Based) 的方法
- 基于策略 (Policy-Based) 的方法
- 基于模型 (Model-Based) 的方法
而常用的一种“演员-评论家”(Actor-Critic)架构实际上是前两者的结合体。
2 基于价值(Value-Based)的强化学习
基于价值(Value-Based)的强化学习方法的核心思想是:不直接学习该做什么动作(策略),而是学习评估每个状态或"状态-动作"对的"价值"有多高,然后根据计算出的价值来间接得出最佳策略。
核心机制:
- 学习目标: 一个价值函数(Value Function),最常见的是
Q(s, a)
函数,它表示在状态s
下执行动作a
,然后一直按最优策略走下去能获得的未来总回报的期望值。 - 决策方式: 在当前状态
s
下,计算所有可能动作a
的Q值,然后选择能让Q(s, a)
值最大的动作。这个策略是隐式的、贪婪的。
代表算法:
- Q-Learning: 经典的表格型离策略(Off-Policy)算法,适用于离散的状态和动作空间。
- Deep Q-Network (DQN): 将深度学习与Q-Learning结合,使用神经网络来近似Q值函数,成功解决了高维状态空间问题。DQN让智能体学会了玩雅达利(Atari)游戏,是深度强化学习的里程碑。
- Double DQN, Dueling DQN: 对DQN的改进,分别解决了Q值过高估计和区分状态价值与动作优势的问题。
优点:
- 通常具有较好的样本效率,学习过程相对稳定
- 在离散动作空间中表现出色
缺点:
- 很难处理连续动作空间,因为无法穷举所有动作来找到Q值的最大值
- 最终的策略通常是确定性的,不适合需要随机策略的场景
3 基于策略(Policy-Based)的强化学习
与Value-Based方法不同,Policy-Based方法的核心思想是:不通过价值来间接推导,而是直接学习一个策略函数(Policy Function) π(a|s)
,这个函数直接将状态映射到动作,输出在给定状态 s
下采取各个动作 a
的概率。
核心机制:
- 学习目标: 一个策略函数
π(a|s)
,这个策略网络输入是状态s
,输出直接就是动作a
(或动作的概率分布)。 - 决策方式: 将当前状态
s
输入策略网络,直接得到要执行的动作。 - 优化方法: 直接对策略进行参数化,然后通过优化策略的性能指标(如累积奖励)来更新策略参数。
代表算法:
- REINFORCE: 最基础的蒙特卡洛策略梯度方法,通过一个完整的轨迹(Episode)来计算回报,并以此更新策略。
- Proximal Policy Optimization (PPO): 目前最流行、最通用的策略梯度算法之一,它通过限制每次策略更新的幅度来保证学习的稳定性。PPO在连续和离散动作空间中都有很好的表现。
优点:
- 能够很自然地处理连续动作空间,网络可以直接输出一个连续的数值作为动作
- 可以学习随机性策略,这在某些博弈或不确定环境中至关重要
- 在某些问题上收敛性更好
缺点:
- 样本效率通常较低,需要更多的训练数据
- 学习过程可能不稳定,容易收敛到局部最优
- 评估一个策略的好坏通常需要完整的轨迹,导致训练过程方差较大
4 演员-评论家(Actor-Critic)架构
Actor-Critic架构结合了Value-Based和Policy-Based方法的优点,是目前强化学习研究中最活跃的领域之一。它包含两个核心组件:
-
演员(Actor): 一个策略网络,负责根据当前状态选择动作,即Policy-Based部分。
-
评论家(Critic): 一个价值网络,负责评估演员所选择动作的好坏,并为演员提供反馈,即Value-Based部分。
-
核心思想: Actor负责输出动作,Critic负责评价动作,两者相互促进,共同学习。Critic通过学习价值函数来降低策略梯度估计的方差,从而提高学习效率。
-
代表算法:
- Advantage Actor-Critic (A2C): 使用优势函数(Advantage Function)
A(s, a) = Q(s, a) - V(s)
来作为Critic的评估指标,指导Actor的更新。 - Asynchronous Advantage Actor-Critic (A3C): A2C的异步版本,通过并行运行多个智能体来打破数据相关性,加速训练过程。
- Soft Actor-Critic (SAC): 一种最大熵强化学习算法,它在最大化累积奖励的同时,也最大化策略的熵,鼓励智能体进行更多的探索。SAC在连续控制任务中表现非常出色。
- Advantage Actor-Critic (A2C): 使用优势函数(Advantage Function)
-
优点:
- 结合了Policy-Based和Value-Based方法的优点,学习效率和稳定性都很好。
- 是目前处理复杂强化学习任务(尤其是连续控制)的主流方法。
-
缺点:
- 结构相对复杂,包含两个网络的学习过程。
例如,在论文 Reinforcement Learning-based Token Pruning in Vision Transformers: A Markov Game Approach 中使用的 MAPPO 就属于这种演员-评论家架构,因为它既有做出决策的 Actor Network(基于策略),又有评估决策的 Critic Network(基于价值),是目前非常强大和通用的一类方法。
5 基于模型 (Model-Based) 的强化学习
核心思想:与第 2 3 节所述的方法(都属于无模型 Model-Free 方法)完全不同。它试图先学习环境的模型(即环境的“物理规律”),然后再利用这个模型来规划最佳行为。
- 它学习什么:一个环境模型
M
。这个模型能够预测:如果在状态s
执行动作a
,下一个状态会是什么 (s'
),以及会获得多少奖励 (r
)。 - 如何决策:
- 通过与环境的少量交互,学习出环境的模型
M
。 - 在学到的这个“虚拟环境”中,使用规划算法(如树搜索)来找到最优的动作序列,而不需要在真实环境中进行大量的试错。
- 通过与环境的少量交互,学习出环境的模型
- 优点:
- 样本效率极高。因为它能从少量真实交互中学到规律,然后在自己的“想象”中进行大量推演。
- 当环境模型已知或易于学习时,非常强大。
- 缺点:
- 学习一个准确的环境模型本身就非常困难。如果模型有偏差,基于这个错误模型规划出的策略也会很差。
- 整体架构更复杂,包含“学习模型”和“规划”两个部分。
- 著名算法:
- Dyna-Q: 结合了 Q-Learning 和模型学习的经典算法。
- MuZero: DeepMind 的强大算法,它在下棋(国际象棋、围棋)和玩雅达利游戏时,自己学习游戏规则(模型),并结合蒙特卡洛树搜索进行规划,达到了顶尖水平。
6 如何选择合适的强化学习架构?
架构类型 | 学习目标 | 决策方式 | 适用场景 | 优点 | 缺点 | 著名算法 |
---|---|---|---|---|---|---|
基于价值 (Value-Based) | 价值函数 Q(s, a) | 选择价值最高的动作 | 离散动作空间、状态空间不大的问题 | 样本效率高、稳定 | 难处理连续动作、确定性策略 | DQN, Q-Learning |
基于策略 (Policy-Based) | 策略函数 π(a|s) | 直接从策略中采样动作 | 连续动作空间、需要随机性策略的问题 | 可处理连续动作、可学习随机策略 | 样本效率低、方差大、训练不稳定 | PPO, REINFORCE |
演员-评论家 (Actor-Critic) | 价值函数 + 策略函数 | 策略网络做决策,价值网络来评估 | 复杂的连续或离散动作空间问题 | 学习效率和稳定性好、应用广泛 | 结构复杂 | A2C, A3C, SAC |
基于模型 (Model-Based) | 环境模型 M(s'|s, a) | 在学到的模型中进行规划 | 需要高样本效率、环境可建模的问题 | 样本效率极高、可进行规划 | 模型准确性要求高、计算复杂 | MuZero, Dyna-Q |
总结:
强化学习的各种架构各有千秋,适用于不同的任务场景。对于初学者来说,从DQN入手理解Value-Based方法,再学习PPO来掌握Policy-Based的核心思想,最后深入研究A2C/A3C或SAC等Actor-Critic方法,会是一个非常好的学习路径。希望这篇博文能帮助你更好地理解强化学习!