00概览

alex
0
2026-04-08

一、强化学习概念

强化学习(Reinforcement learning,RL)讨论的问题是一个智能体(agent) 怎么在一个复杂不确定的 环境(environment) 里面去极大化它能获得的奖励。通过感知所处环境的 状态(state)动作(action)反应(reward), 来指导更好的动作,从而获得最大的 收益(return),这被称为在交互中学习,这样的学习方法就被称作强化学习。

在强化学习过程中,智能体跟环境一直在交互。智能体在环境里面获取到状态,智能体会利用这个状态输出一个动作,一个决策。然后这个决策会放到环境之中去,环境会根据智能体采取的决策,输出下一个状态以及当前的这个决策得到的奖励。智能体的目的就是为了尽可能多地从环境中获取奖励。

强化学习是除了监督学习和非监督学习之外的第三种基本的机器学习方法。

  • 监督学习 是从外部监督者提供的带标注训练集中进行学习。 (任务驱动型)

  • 非监督学习 是一个典型的寻找未标注数据中隐含结构的过程。 (数据驱动型)

  • 强化学习 更偏重于智能体与环境的交互, 这带来了一个独有的挑战 ——“试错(exploration)”与“开发(exploitation)”之间的折中权衡,智能体必须开发已有的经验来获取收益,同时也要进行试探,使得未来可以获得更好的动作选择空间。 (从错误中学习)

强化学习主要有以下几个特点:

  • 试错学习:强化学习一般没有直接的指导信息,Agent 要以不断与 Environment 进行交互,通过试错的方式来获得最佳策略(Policy)。

  • 延迟回报:强化学习的指导信息很少,而且往往是在事后(最后一个状态(State))才给出的。比如 围棋中只有到了最后才能知道胜负。

二、强化学习核心术语

  • 环境(Environment) 是一个外部系统,智能体处于这个系统中,能够感知到这个系统并且能够基于感知到的状态做出一定的行动。

  • 智能体(Agent) 是一个嵌入到环境中的系统,能够通过采取行动来改变环境的状态。

  • 状态(State)/观察值(Observation):状态是对世界的完整描述,不会隐藏世界的信息。观测是对状态的部分描述,可能会遗漏一些信息。

  • 动作(Action):不同的环境允许不同种类的动作,在给定的环境中,有效动作的集合经常被称为动作空间(action space),包括离散动作空间(discrete action spaces)和连续动作空间(continuous action spaces),例如,走迷宫机器人如果只有东南西北这 4 种移动方式,则其为离散动作空间;如果机器人向 360◦ 中的任意角度都可以移动,则为连续动作空间。

  • 奖励(Reward):是由环境给的一个标量的反馈信号(scalar feedback signal),这个信号显示了智能体在某一步采 取了某个策略的表现如何。

  • 策略(Policy):策略是智能体用于决定下一步执行什么行动的规则。

  • 1、确定性策略:在给定状态下,智能体总是执行同一个确定的动作。一般表示为:a=π(s)a=π(s)

  • 2、随机策略:在给定状态下,智能体以一定概率分布选择动作。一般表示为:a∼π(⋅∣s)aπ(⋅∣s),其中 $\pi(a \mid s)$ 表示在状态 s下选择动作 a 的概率。

  • 状态转移(State Transition):状态转移描述了环境在智能体执行动作后如何变化的过程。状态转移可以是确定的,也可以是随机的,通常假设为随机过程,其随机性来源于环境的不确定性。状态转移可以用状态转移密度函数来表示:p(s′∣s,a)p(s′∣s,a)上式表示:在当前状态 $s$ 下执行动作 $a$ 后,环境转移到下一个状态 s' 的概率密度。

注意:环境的变化规律通常是未知的,这也是强化学习需要与环境交互学习的原因。

  • 回报(Return):回报又称累积未来奖励(Cumulated Future Reward),一般用 U 表示,定义为:U=Rt+Rt+1+Rt+2+⋯+RTU=Rt+Rt+1+Rt+2+⋯+RT​ 。。 其中 R_t 表示第 t 时刻获得的即时奖励,T 为终止时刻。智能体的目标就是最大化回报 U。

  • 折扣回报(Discounted Return):由于未来的奖励往往不如当前等值的奖励更有价值(即时间偏好),因此通常对未来的奖励赋予更低的权重。引入折扣率 $\gamma \in [0, 1]$,折扣回报定义为:Ut=Rt+γRt+1+γ2Rt+2+⋯=∑k=0∞γkRt+kUt=Rt+γRt+1+γ2Rt+2+⋯=k=0∑∞γkRt+k​,,, 当 $\gamma = 0$ 时:只关心当前奖励(短视)。当 $\gamma = 1$ 时:平等看待所有未来奖励(远视)。

核心公式汇总

| 概念 | 符号 | 公式 | 说明 |

|------|------|------|------|

| 确定性策略 | a = π(s) | 状态到动作的映射 | 在状态 s 下确定执行动作 a |

| 随机策略 | a ∼ π(·\|s) | 动作概率分布 | 在状态 s 下以概率 π(a\|s) 选择动作 a |

| 回报 | U_t | U_t = Σ γᵏ R_{t+k} | 从时刻 t 开始的折扣累积奖励 |


价值函数(Value Function)

举例说明:在象棋游戏中,定义赢得游戏得 $+1$ 分,其他动作得 $0$ 分,状态是棋盘上棋子的位置。仅从 $0$ 和 $+1$ 这两个数值并不能知道智能体在游戏过程中到底下得怎么样,而通过价值函数则可以获得更多洞察。

价值函数使用期望对未来的收益进行预测:

  • 一方面,不必等待未来的收益实际发生就可以获知当前状态的好坏;

  • 另一方面,通过期望汇总了未来各种可能的收益情况。

使用价值函数可以很方便地评价不同策略的好坏。

状态价值函数(State-Value Function)

对于策略 $\pi$,状态价值函数 $V^\pi(s)$ 表示从状态 $s$ 开始,按照策略 $\pi$ 行动所获得的期望折扣回报:

Vπ(s)=Eπ[Ut∣St=s]=Eπ[∑k=0∞γkRt+k | St=s](s)=Eπ[UtSt=s]=Eπ[k=0∑∞γkRt+k​​St=s]

动作价值函数(Action-Value Function)

动作价值函数 $Q^\pi(s, a)$ 表示在状态 $s$ 下执行动作 $a$,之后遵循策略 $\pi$ 所获得的期望折扣回报:

Qπ(s,a)=Eπ[Ut∣St=s,At=a]=Eπ[∑k=0∞γkRt+k | St=s,At=a](s,a)=Eπ[UtSt=s,At=a]=Eπ[k=0∑∞γkRt+k​​St=s,At=a]

最优价值函数

  • 最优状态价值函数:$V^*(s) = \max_\pi V^\pi(s)$

  • 最优动作价值函数:$Q^*(s, a) = \max_\pi Q^\pi(s, a)$

三、强化学习算法分类

按照环境是否已知划分:免模型学习(Model-Free) vs 有模型学习(Model-Based)

  • Model-free就是不去学习和理解环境,环境给出什么信息就是什么信息,常见的方法有policy optimization和Q-learning。

  • Model-Based是去学习和理解环境,学会用一个模型来模拟环境,通过模拟的环境来得到反馈。Model-Based相当于比Model-Free多了模拟环境这个环节,通过模拟环境预判接下来会发生的所有情况,然后选择最佳的情况。

一般情况下,环境都是不可知的,所以这里主要研究无模型问题。

按照学习方式划分:在线策略(On-Policy) vs 离线策略(Off-Policy)

  • On-Policy是指agent必须本人在场, 并且一定是本人边玩边学习。典型的算法为Sarsa。

  • Off-Policy是指agent可以选择自己玩, 也可以选择看着别人玩, 通过看别人玩来学习别人的行为准则, 离线学习同样是从过往的经验中学习, 但是这些过往的经历没必要是自己的经历, 任何人的经历都能被学习,也没有必要是边玩边学习,玩和学习的时间可以不同步。典型的方法是Q-learning,以及Deep-Q-Network。

按照学习目标划

  • Policy-Based的方法直接输出下一步动作的概率,根据概率来选取动作。但不一定概率最高就会选择该动作,还是会从整体进行考虑。适用于非连续和连续的动作。常见的方法有Policy gradients。

  • Value-Based的方法输出的是动作的价值,选择价值最高的动作。适用于非连续的动作。常见的方法有Q-learning、Deep Q Network和Sarsa。

  • 更为厉害的方法是二者的结合:Actor-Critic,Actor根据概率做出动作,Critic根据动作给出价值,从而加速学习过程,常见的有A2C,A3C,DDPG等。

经典算法:Q-learning,Sarsa,DQN,Policy Gradient,A3C,DDPG,PPO

学习方法

说明

经典算法

四、强化学习经典算法

下面我们挑选一些有代表性的算法进行讲解:

  • 基于表格、没有神经网络参与的Q-Learning算法

  • 基于价值(Value-Based)的Deep Q Network(DQN)算法

  • 基于策略(Policy-Based)的Policy Gradient(PG)算法

  • 结合了Value-Based和Policy-Based的Actor Critic算法。

五、强化学习应用场景

强化学习核心算法速查表

算法

一句话总结

核心特点

典型应用场景

Q-learning

维护一张“状态-动作”价值表,每次选价值最高的动作

表格型,简单直观,适合小规模离散问题

迷宫寻路、简单棋类、网格世界导航

SARSA

Q-learning 的保守版本,考虑当前策略的不确定性,更安全

同策略,在线学习,对错误更敏感

需要安全边界的任务(如机器人避障)

DQN

用神经网络代替 Q-learning 的价值表,让计算机能“看懂”图像

深度学习+强化学习,处理高维输入

Atari 游戏通关、视频游戏 AI

Double DQN

解决 DQN 高估动作价值的问题,用两个网络互相纠偏

减少过估计,更稳定的价值评估

所有 DQN 应用场景(更稳定版本)

Dueling DQN

把价值拆成“状态价值”和“动作优势”,让学习更高效

网络结构创新,提高样本效率

动作影响相似的任务(如赛车变道)

C51 (分布式DQN)

不预测平均价值,而是预测价值的概率分布,更精确

分布强化学习,考虑风险

需要风险评估的任务(如金融交易)

QR-DQN

用分位数表示价值分布,C51 的数学改进版

更稳定,理论更优雅

高风险决策场景

Rainbow

把7种 DQN 改进方法融合在一起,取各家之长

综合优化,性能最强

追求最佳效果的 DQN 应用

REINFORCE

最简单的策略梯度算法:好动作加概率,坏动作减概率

蒙特卡洛采样,完整回合后更新

回合制游戏、围棋、机器人轨迹规划

TRPO

用数学保证每次策略更新不会变差,但计算复杂

信任区域优化,理论保证

机器人控制(需要稳定性的任务)

PPO

TRPO 的简化版,用“裁剪”代替复杂计算,既稳定又简单

当前最流行的算法,平衡性能与复杂度

机器人控制、游戏 AI、ChatGPT 底层

A2C / A3C

多个智能体同时学习并交流经验,加速训练

并行架构,异步/同步更新

需要快速训练的任务(如 Dota 2)

DDPG

让 DQN 能处理连续动作(如机器人关节角度)

DQN + 策略梯度,适合连续控制

机械臂控制、自动驾驶方向盘

TD3

DDPG 的改进版,解决价值过估计问题,更稳定

双网络 + 延迟更新 + 目标平滑

DDPG 应用场景的更稳定版本

SAC

在最大化奖励的同时,鼓励策略保持随机探索

最大熵框架,连续控制 SOTA

机器人复杂操作、无人驾驶

HER

把“失败”经验改写成“成功”经验来学习,解决奖励稀疏问题

经验重标记,变废为宝

机器人抓取、机械臂组装

World Models

让 AI 先在“想象”中训练,再在现实中执行

学习世界模型,减少真实交互

游戏 AI、自动驾驶模拟

Dreamer

World Models 的升级版,在想象中做长期规划

纯 latent 空间训练,效率更高

机器人学习、复杂控制任务

AlphaZero

自我对弈 + 蒙特卡洛树搜索,不依赖人类知识

自学习宗师,通用棋类 AI

围棋、象棋、将棋、游戏 AI

MuZero

AlphaZero 的升级版,连游戏规则都不用提前知道

隐式学习环境模型

未知规则游戏(如雅达利)

MADDPG

多智能体版 DDPG,每个智能体知道其他人的策略

集中训练、分散执行

多机器人协作、足球 AI、无人机编队

QMIX

让多智能体的价值能“分解”为单个智能体价值之和

值分解,适合合作场景

星际争霸、团队对抗游戏

ICM / RND

用“好奇心”奖励鼓励探索未知状态

内在激励,解决稀疏奖励

探索类游戏(如蒙特祖玛的复仇)

HRL

把复杂任务拆成子任务层次,先学高层目标再学低层动作

分层决策,应对长时程任务

导航、家务机器人、RPG 游戏

DPO

让大语言模型直接从“好/坏”对比中学习,无需奖励模型

简化 RLHF,大模型专用

ChatGPT 对齐、LLM 微调

Agent57

DeepMind 超级智能体,在所有 Atari 游戏上超越人类

结合多种探索机制,通用性强

通用游戏 AI、复杂决策


按应用场景分类(快速选型)

应用领域

推荐算法

理由

游戏 AI(离散动作)

DQN、PPO

DQN 经典,PPO 更稳定

游戏 AI(连续动作)

PPO、SAC

连续控制友好,训练稳定

机器人控制

SAC、TD3、PPO

连续动作 + 样本效率 + 稳定性

自动驾驶

SAC、DDPG、TD3

连续控制 + 安全约束

棋类 AI(围棋/象棋)

AlphaZero、MuZero

自对弈 + MCTS,超越人类

多机器人协作

MADDPG、QMIX

专为多智能体设计

大语言模型对齐

DPO、PPO(RLHF)

DPO 更简单,PPO 更传统

稀疏奖励任务

HER、ICM、PPO+好奇心

变废为宝或内在激励

金融交易

C51、QR-DQN

分布强化学习,考虑风险

推荐系统

DQN、PPO

用户交互建模

工业控制(如能源管理)

SAC、PPO

连续控制 + 稳定性

快速原型/入门学习

Q-learning、DQN、PPO

资料丰富,易于实现

按选择优先级排序(新手建议)

第1步(入门首选)
    ↓
    Q-learning 或 DQN(理解基础概念)
    ↓
第2步(主流通用)
    ↓
    PPO(最推荐,平衡性最好)
    ↓
第3步(连续动作)
    ↓
    SAC 或 TD3(机器人/自动驾驶)
    ↓
第4步(特殊场景)
    ↓
    AlphaZero(棋类)/ MADDPG(多智能体)/ DPO(LLM)

参考文献

知乎:https://zhuanlan.zhihu.com/p/466455380

蘑菇书RL:https://datawhalechina.github.io/easy-rl/#/

菜鸟教程:https://www.runoob.com/ml/ml-basic-framework-of-reinforcement-learning.html

动物装饰