当前位置: 首页 > news >正文

【深度学习】强化学习(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),以期获得最大的累积奖励。

强化学习有几种主流的架构,它们解决问题的思路各不相同,可以将它们主要分为三大类:

  1. 基于价值 (Value-Based) 的方法
  2. 基于策略 (Policy-Based) 的方法
  3. 基于模型 (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在连续控制任务中表现非常出色。
  • 优点:

    • 结合了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)。
  • 如何决策
    1. 通过与环境的少量交互,学习出环境的模型 M
    2. 在学到的这个“虚拟环境”中,使用规划算法(如树搜索)来找到最优的动作序列,而不需要在真实环境中进行大量的试错。
  • 优点
    • 样本效率极高。因为它能从少量真实交互中学到规律,然后在自己的“想象”中进行大量推演。
    • 当环境模型已知或易于学习时,非常强大。
  • 缺点
    • 学习一个准确的环境模型本身就非常困难。如果模型有偏差,基于这个错误模型规划出的策略也会很差。
    • 整体架构更复杂,包含“学习模型”和“规划”两个部分。
  • 著名算法
    • 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方法,会是一个非常好的学习路径。希望这篇博文能帮助你更好地理解强化学习!

http://www.dtcms.com/a/267124.html

相关文章:

  • 2025使用VM虚拟机安装配置Macos苹果系统下Flutter开发环境保姆级教程--下篇
  • React Native 开发环境搭建--mac--android--奔溃的一天
  • App爬虫实战篇-以华为真机手机爬取集换社的app为例
  • Pytest 测试发现机制详解:自动识别测试函数与模块
  • 在 Ubuntu 下配置 oh-my-posh —— 普通用户 + root 各自使用独立主题(共享可执行)
  • Redis Cluster 与 Sentinel 笔记
  • 文本方式和二进制方式打开文件的不同
  • Flutter 使用http库获取网络数据的方法(一)
  • Excel 数据透视表不够用时,如何处理来自多个数据源的数据?
  • MAX3485在MCU芯片AS32S601-485通信外设中的应用
  • 线程的礼让和加入
  • 1004、最大连续1的个数 III
  • SpringBatch使用介绍
  • 任务调度器(Scheduler)实现逻辑
  • Java 创建对象过程 JVM 内存分配并发安全笔记
  • JVM与JMM
  • Mysql底层专题(四)索引优化实战一
  • DeepSeek与诡秘之主
  • 在SoC数据加解密验证中使用 Python 的 gmssl 库
  • 03_性能优化:让软件呼吸更顺畅
  • 计算机网络(网页显示过程,TCP三次握手,HTTP1.0,1.1,2.0,3.0,JWT cookie)
  • 【网络协议安全】任务12:二层物理和单臂路由及三层vlanif配置方法
  • HarmonyOS:创建ArkTS卡片
  • 从零开始开发纯血鸿蒙应用之探析仓颉语言与ArkTS的差异
  • Vuex身份认证
  • 《C++初阶之类和对象》【经典案例:日期类】
  • Java创建型模式---单例模式
  • WSL命令
  • C#每日学习日记
  • 3dmax烘焙插件3dmax法线贴图烘焙教程glb和gltf元宇宙灯光效果图烘焙烘焙光影贴图支持VR渲染器