Skip to content

逆强化学习

逆强化学习(Inverse Reinforcement Learning, IRL)从专家示范中反推隐含的奖励函数——“专家做得好,但他们到底在优化什么目标?“IRL 的核心假设是:专家并非随意行动,而是在优化某个(可能他自己都无法清楚表述的)目标函数。如果我们能恢复这个目标函数,就能理解专家的意图(intent),而不仅仅是复制其表面行为。本页梳理 IRL 的核心思想、最大熵 IRL、特征匹配 IRL、GAIL 及其与模仿学习的关系,并涵盖 2024–2025 年 IRL 与大模型对齐、偏好学习的前沿融合。前置阅读:强化学习概览、模仿学习、RLHF 与 LLM 训练。

把逆强化学习想象成观察一位顶级厨师做菜反推他的秘方——你不知道他在追求什么风味(奖励函数),但可以通过反复观察他怎么切、怎么炒、怎么调味,反推出他心里暗暗优化的目标:

  • 正向 RL 的输入输出= 给定奖励函数 → 求最优策略。就像给学生考试评分标准,让他自己考高分。
  • 逆强化学习的输入输出= 给定专家示范 → 反推奖励函数。就像只看学霸怎么答题,反推老师心里的评分标准。
  • 为什么需要 IRL= 很多领域人工设计奖励极难:自动驾驶”安全又舒适的驾驶”怎么量化?医生”最优治疗方案”怎么写奖励?专家示范比人工奖励更容易获得。
  • IRL 的病态性= 一个反例:如果专家走 A 路线,那”只奖励走 A 路线”这个奖励函数就完美解释了专家行为——这样的奖励有无数个,IRL 必须引入额外准则(如最大熵)来选”最好”的那个。
  • 最大熵 IRL= 在所有能解释专家行为的奖励中,选让专家轨迹概率最大、同时让非专家轨迹概率最小(最大熵原理)的那个——避免了退化解。
  • GAIL= 用对抗训练的思路:生成器(策略)模仿专家,判别器学区分专家和生成的轨迹——本质上是深度版的 IRL,判别器隐式地学出了奖励。
  • IRL 与模仿学习的区别= 模仿学习(如行为克隆)直接学状态到动作的映射,不关心奖励;IRL 先学奖励再用 RL 求解策略,有更高的泛化和可解释性。

理解 IRL 需要先回顾其正向对应物。马尔可夫决策过程(Markov Decision Process, MDP——一种用状态 SS、动作 AA、转移概率 P(s′∣s,a)P(s'|s,a)、奖励函数 R(s,a)R(s,a) 来建模序贯决策问题的数学框架)将 RL 问题定义为:给定 (S,A,P,γ,R)(S, A, P, \gamma, R) → 求最优策略 π∗(a∣s)\pi^*(a|s),使得期望累积折扣回报最大:

Gt=r1+γ⋅r2+γ2⋅r3+⋯G_t = r_1 + \gamma \cdot r_2 + \gamma^2 \cdot r_3 + \cdots

其中 γ∈[0,1)\gamma \in [0,1) 为折扣因子。

而 IRL 把这个问题”倒过来”:假设专家策略 πE\pi_E 是某个未知奖励函数 R∗R^* 下的(近似)最优策略,我们有:给定 (S,A,P,γ)(S, A, P, \gamma) + 专家轨迹 D={τ1,τ2,…,τN}D = \{\tau_1, \tau_2, \ldots, \tau_N\},反推奖励函数 R∗R^*,使得 πE\pi_E 在 R∗R^* 下(近似)最优。

这里每条轨迹 τ=(s0,a0,s1,a1,…)\tau = (s_0, a_0, s_1, a_1, \ldots) 是一个状态-动作序列。关键难点在于——奖励函数没有被观测到,我们需要从行为数据中间接推断。

IRL 的根本困难在于解的非唯一性。Ng & Russell (2000) 指出:给定任何最优策略 πE\pi_E,存在无穷多个奖励函数使 πE\pi_E 最优。最极端的例子是 R(s)≡0R(s) \equiv 0(处处零奖励)——每个策略都是”最优”的,因此任何专家行为都满足条件。再如”只在专家恰好选择的动作上给 +1、其他给 -1”这种”作弊”奖励也完美解释示范。

病态性的本质:IRL 是一个欠定问题(underdetermined problem)——约束(专家最优)的数量远少于未知数(每个状态上的奖励值)的自由度。因此必须引入额外的归纳偏置(inductive bias)或正则化来缩小解空间。

主要流派正是用不同方式引入这种偏置:

流派核心正则思想代表方法
最大边际 IRL在满足专家最优的奖励中,选让专家”最大领先”于其他策略的MMCIRL (Ng & Russell 2000)
最大熵 IRL选使专家轨迹在所有可能轨迹中概率最大的(最大似然 + 最大熵)MaxEnt IRL (Ziebart 2008)
对抗式 IRL用判别器隐式定义奖励,通过对抗博弈自动正则GAIL (Ho & Ermon 2016), AIRL (Fu et al. 2018)
偏好式奖励学习从人类偏好对而非完整轨迹中学习奖励RLHF, DPO 衍生方法

特征匹配是最早的 IRL 范式之一,也是理解后续方法的基础。假设奖励是状态的线性特征组合:

Rw(s)=w⊤ϕ(s)R_w(s) = w^\top \phi(s)

其中 ϕ(s)\phi(s) 是人工设计的特征向量(如”到目标的距离""路面平坦度""速度”),ww 是待学习的权重。专家策略的特征期望(feature expectation)定义为:

μE=Eτ∼πE[∑tγtϕ(st)]\mu_E = \mathbb{E}_{\tau \sim \pi_E}\left[ \sum_t \gamma^t \phi(s_t) \right]

即专家轨迹上的折扣特征累计均值。特征匹配要求学到的策略 πw\pi_w(在 RwR_w 下做 RL 得到)满足 μ(πw)≈μE\mu(\pi_w) \approx \mu_E。Abbeel & Ng (2004) 证明:如果两者的特征期望足够接近,那么在任何线性奖励下学到的策略的回报都接近专家。最大边际方法在此基础上选让专家特征期望与其他策略之间差距最大的权重 w。

最大熵 IRL(MaxEnt IRL)是 IRL 最经典的概率化表述,由 Ziebart et al. (2008) 提出。它假设轨迹分布服从玻尔兹曼分布(路径概率正比于路径回报的指数):

Pw(τ)=1Z⋅exp⁡(w⊤⋅∑tϕ(st))P_w(\tau) = \frac{1}{Z} \cdot \exp\left( w^\top \cdot \sum_t \phi(s_t) \right)

其中 ZZ 为配分函数(归一化常数)。在此分布下,专家轨迹的(对数)似然为:

L(w)=∑τ∈Dexpertlog⁡Pw(τ)=∑[w⊤⋅ϕ(τ)]−N⋅log⁡Z(w)L(w) = \sum_{\tau \in D_{\text{expert}}} \log P_w(\tau) = \sum [ w^\top \cdot \phi(\tau) ] - N \cdot \log Z(w)

梯度为 ∇L=μE−μ(w)\nabla L = \mu_E - \mu(w)(专家特征期望 − 模型特征期望),直觉上:如果模型已经和专家一致,梯度为零;否则朝缩小差距的方向调整 ww。最大熵原理在此起到关键的正则化作用——在所有能解释专家数据的奖励中,它选分布最均匀(熵最大)的那个,从而避免退化为只在专家轨迹上给奖励的病态解。它也天然处理了多模态专家行为(专家有时左转、有时右转),因为概率分布可以同时赋予多条轨迹高概率。

GAIL(Ho & Ermon, 2016)把 IRL 表述为生成对抗博弈,彻底摆脱了对线性奖励特征的依赖:

  • 生成器 πθ\pi_\theta:一个策略网络,试图生成与专家难以区分的轨迹。
  • 判别器 DωD_\omega:一个分类网络,学习区分专家轨迹和生成器轨迹。

优化目标类似 GAN:

min⁡θmax⁡ωEτ∼Dexpert[log⁡Dω(τ)]+Eτ∼πθ[log⁡(1−Dω(τ))]\min_\theta \max_\omega \mathbb{E}_{\tau \sim D_{\text{expert}}}[\log D_\omega(\tau)] + \mathbb{E}_{\tau \sim \pi_\theta}[\log(1 - D_\omega(\tau))]

判别器输出被解释为隐式奖励:R(s,a)=−log⁡(1−Dω(s,a))R(s,a) = -\log(1 - D_\omega(s,a))。生成器用 TRPO/PPO 等策略梯度方法在这个奖励上做 RL。GAIL 的深刻洞察在于:IRL 本质上是在做奖励函数的对抗学习,而模仿学习只需学到一个好的策略——GAIL 将两者统一,跳过显式奖励恢复直接学策略,但判别器仍隐式编码了奖励信息。

GAIL 的训练挑战继承自 GAN:模式崩塌(mode collapse,策略只学专家行为的一个子集)、判别器过强导致梯度消失、训练震荡。常用缓解手段包括 WGAN 距离、梯度惩罚(gradient penalty)、以及限制判别器更新步数。

AIRL(Adversarial Inverse RL, Fu et al. 2018)在 GAIL 基础上做了一个关键架构改进:将奖励函数 R(s,a)R(s,a) 和策略 π(a∣s)\pi(a|s) 解耦。判别器显式地参数化为一个奖励函数 fω(s,a)f_\omega(s,a)(通常只用状态,不含动作,以保证迁移性),而生成器在该奖励上做 RL。AIRL 的核心论点是:学到一个与策略和环境无关的、纯粹的目标奖励,才能在新环境(不同动力学、不同状态空间)中迁移。实验表明 AIRL 学到的奖励比 GAIL 在跨环境迁移时表现更稳健。

IRL 是一个内外循环:内循环用当前奖励函数做 RL 求最优策略,外循环比较最优策略和专家策略的差距来调整奖励:

GAIL 把 IRL 重新表述为生成器与判别器的对抗博弈——和 GAN 同构:

行为克隆把模仿当监督学习;IRL 显式建模奖励,再通过 RL 求解策略:

IRL 与大模型对齐:偏好式奖励学习

Section titled “IRL 与大模型对齐:偏好式奖励学习”

IRL 的思想在 2022–2025 年迎来了最重要的应用场景:大语言模型的对齐(alignment)。传统 IRL 从专家轨迹中学习奖励;而在 LLM 对齐中,人类更难给出完整”专家文本”,更容易提供偏好反馈(“回答 A 比回答 B 好”)。这种变体称为偏好式奖励学习(preference-based reward learning),是 RLHF 的核心组件。

OpenAI 的 InstructGPT(2022)和后续 ChatGPT 的训练流程中,奖励模型 rϕ(x,y)r_\phi(x, y) 从人类偏好对 (x,yw,yl)(x, y_w, y_l)(ywy_w 是偏好的回答,yly_l 是不偏好的)中训练:

L(rϕ)=−E[log⁡σ(rϕ(x,yw)−rϕ(x,yl))]L(r_\phi) = -\mathbb{E}\left[ \log \sigma\left( r_\phi(x, y_w) - r_\phi(x, y_l) \right) \right]

其中 σ\sigma 是 sigmoid 函数。这个 Bradley-Terry 偏好模型本质上是 IRL 在”配对比较”数据形式下的特例——用偏好替代了完整的专家轨迹,用奖励差替代了轨迹回报。详见 RLHF 与 LLM 训练。

直接偏好优化(Direct Preference Optimization, DPO, Rafailov et al. 2023)的一个深刻理论贡献是:证明了 LLM 的最优策略和最优奖励函数之间存在闭式解析关系:

r∗(x,y)=β⋅log⁡(π∗(y∣x)πref(y∣x))+β⋅log⁡Z(x)r^*(x, y) = \beta \cdot \log\left( \frac{\pi^*(y|x)}{\pi_{\text{ref}}(y|x)} \right) + \beta \cdot \log Z(x)

这意味着我们不再需要显式训练一个奖励模型——可以直接从偏好数据中优化策略。DPO 把 IRL(学奖励)和 RL(用奖励优化策略)两步合并为一步,极大降低了对齐的计算成本。2024–2025 年涌现了大量 DPO 变体:IPO、KTO、SimPO、ORPO 等,本质都在改变偏好损失的数学形式或引入额外正则。

  • 过程奖励模型(Process Reward Model, PRM):传统 RM 只对最终输出打分;PRM(OpenAI 2023, Lightman et al.)对推理过程的每一步打分,更接近经典 IRL 中对轨迹每个状态赋予奖励的思路。2024–2025 年,PRM 成为数学推理(如 OpenAI o1 系列)训练的关键技术——用”逐步验证”替代”只看最终答案”。
  • 可验证奖励的强化学习(RLVR):对于数学、编程等有客观标准答案的任务,可直接用”答案是否正确”作为奖励(无需人类偏好),2025 年的推理模型(DeepSeek-R1 等)大量采用这一路线。
  • AI 反馈式奖励学习(RLAIF / Constitutional AI):用另一个 LLM 代替人类提供偏好反馈,Anthropic 的宪法 AI(Constitutional AI)让模型按一组原则(“宪法”)自我批评和修正,大幅降低对齐对人工标注的依赖。
  • 扩散式奖励建模(Diffusion-based reward modeling):2024 年有研究将扩散模型的去噪概率流重新解释为奖励函数,为连续控制的 IRL 提供了新的非参数化奖励表示方式。
  • 基于偏好的 GAIL 变体:将人类偏好对引入对抗式 IRL 框架,替代二分类判别器——在机器人操作任务中,偏好标签比完整专家示范更容易获取。

numpy 演示:特征匹配 IRL 的核心思想

Section titled “numpy 演示:特征匹配 IRL 的核心思想”

一个简化的网格世界:专家总是经过某些格子,IRL 从专家轨迹反推”哪些格子奖励高”:

import numpy as np
np.random.seed(1)
grid_size = 5
# 专家轨迹(经过的格子序列,已知)
expert_trajectories = [
[0, 1, 2, 7, 12], # 向右后向下
[0, 5, 10, 11, 12], # 向下后向右
]
# 特征 = 每个格子是否被访问的频率(特征计数)
def feature_counts(trajectories):
feats = np.zeros(grid_size * grid_size)
for traj in trajectories:
for s in traj:
feats[s] += 1
return feats / feats.sum()
expert_feat = feature_counts(expert_trajectories)
# IRL 核心:找奖励权重 w,使得 RL 最优策略的特征计数 ≈ 专家
# 简化演示:直接用网格特征作为奖励候选,优化 w
# 奖励 R(s) = w · phi(s),这里 phi(s) = one-hot 向量
# 目标:最小化 ||expert_feat - learned_feat||
w = np.random.randn(grid_size * grid_size) * 0.01 # 随机初始化奖励权重
lr = 0.1
for iteration in range(100):
# 用当前 w 作为奖励,模拟"RL 求解"(这里用贪心近似)
reward = w.copy()
# 简化策略:从每个状态选奖励最高的相邻格子(伪 RL 求解)
policy_trajectory = []
s = 0
for _ in range(5):
policy_trajectory.append(s)
neighbors = []
row, col = divmod(s, grid_size)
if col + 1 < grid_size: neighbors.append(s + 1)
if row + 1 < grid_size: neighbors.append(s + grid_size)
if not neighbors: break
s = max(neighbors, key=lambda x: reward[x])
learned_feat = feature_counts([policy_trajectory])
# 梯度 = 专家特征 - 学到特征(特征匹配)
grad = expert_feat - learned_feat
w += lr * grad # 调整奖励让策略更接近专家
print("学到的奖励权重(高值格子≈专家常走的格子):")
print(np.round(w.reshape(grid_size, grid_size), 2))
  • IRL 是病态问题,需要正则= 无数奖励函数都能解释专家行为,必须用最大熵、稀疏性、平滑性等先验来选唯一的解。最大熵 IRL 是最常用的正则化方案。
  • 特征设计决定 IRL 效果= 经典 IRL(如最大熵 IRL)依赖人工设计的特征(格子是否有趣、路面是否平坦);深度 IRL(如 GAIL、深度最大熵 IRL)用神经网络自动学特征,但需要更多数据。
  • GAIL 训练不稳定= 继承了 GAN 的所有问题(模式崩塌、判别器过强),需要用 WGAN、梯度惩罚等技术稳定训练;推荐用 Stable-Baselines3 的 GAIL 实现。
  • IRL 比 BC 贵得多= 内层要反复跑 RL,计算量是行为克隆的几十到几百倍;如果只是模仿行为不需要奖励解释,直接用模仿学习更划算。
  • 奖励函数的泛化是 IRL 的价值= 学到的奖励可以用在新环境、新状态——这是 IRL 相比 BC 的核心优势,也是其研究价值所在。
  • IRL + Offline RL= 先从专家示范中学奖励,再用大量非专家离线数据训练——结合了逆强化学习和离线强化学习的优势,是工业落地的实用组合。
  • 多模态专家行为= 当专家有多种合理策略(如左拐和右拐都行)时,确定性 IRL 会把策略”平均”出怪异行为;最大熵 IRL 和 GAIL 天然能处理多模态。
  • 自动驾驶意图学习= 从人类驾驶员示范中反推”他们潜在优化的目标”(安全 + 舒适 + 效率),学到的奖励函数可以迁移到不同道路——Waymo、Wayve 有相关研究。
  • 机器人从演示中学习技能= 人类演示抓取、装配等任务,IRL 反推任务奖励,再用 RL 在新物体/新环境下泛化——比硬编码奖励更灵活。参见模仿学习。
  • 医疗治疗方案恢复= 从资深医生的病历决策中反推”他们在优化什么”(生存率 + 生活质量 - 副作用),获得的奖励函数可以辅助年轻医生决策,也可解释。
  • 行人/司机行为建模= 从监控视频学习行人过马路、司机变道的行为模型,用于自动驾驶系统的行为预测——IRL 提供比启发式规则更准确的意图模型。
  • 动物行为学= 从动物觅食轨迹反推它们的”效用函数”(能量收益 vs 捕食风险),验证行为生态学的最优觅食理论。
  • AlphaGo 的奖励学习= AlphaGo 使用固定的胜负奖励;但后续研究探索从人类棋谱中用 IRL 学更细粒度的形势评估函数。详见里程碑。
类库语言说明
Stable-Baselines3 (GAIL)Python内置 GAIL 实现,基于 PPO/TRPO,开箱即用
imitationPython专注模仿学习与 IRL 的研究库(Farama 基金会),实现 BC、GAIL、MCE IRL 等
AIRL 开源实现Python对抗 IRL 的参考实现(多个 GitHub 仓库),基于 TensorFlow/PyTorch
max-ent-irl 参考实现Python最大熵 IRL 的经典 Python 实现,适合教学
JuliaRobotics / MATLAB IRLJulia/MATLAB机器人学社区中 IRL 的工具链,适合控制导向的研究
术语英文解释
逆强化学习Inverse RL (IRL)从专家示范反推隐含奖励函数的 RL 分支
专家示范Expert Demonstration由人类专家或高水准策略生成的状态-动作轨迹
特征匹配Feature Matching让学到的策略产生的特征计数与专家的特征计数一致的 IRL 准则
最大熵逆强化学习Maximum Entropy IRL用最大熵原理消除 IRL 退化解的经典方法
GAILGAIL (Generative Adversarial Imitation Learning)用对抗训练(GAN 思想)从示范中模仿行为的深度 IRL 算法
AIRLAdversarial Inverse RL在奖励函数和策略分离的对抗式 IRL,强调奖励可迁移性
病态性Ill-PosednessIRL 中”无数奖励能解释同一专家行为”的非唯一性问题
奖励学习Reward Learning从数据(示范、偏好、反馈)中推断奖励函数的总称,IRL 是其重要分支
  • Ng & Russell,「Algorithms for Inverse Reinforcement Learning」(ICML 2000):IRL 的奠基论文,首次系统提出 IRL 问题与求解框架,被引用数千次。
  • Ziebart et al.,「Maximum Entropy Inverse Reinforcement Learning」(AAAI 2008):最大熵 IRL 论文,用最大熵原理解决 IRL 病态性,经典文献。
  • Ho & Ermon,「Generative Adversarial Imitation Learning」(NeurIPS 2016):GAIL 论文,把对抗训练引入模仿学习,开启深度模仿学习时代。
  • Finn et al.,「Guided Cost Learning: Deep Inverse Optimal Control via Policy Optimization」(ICML 2016):深度最大熵 IRL 的代表,把 IRL 与深度策略优化结合。
  • Fu et al.,「Learning Robust Rewards with Adversarial Inverse Reinforcement Learning」(ICLR 2018):AIRL 论文,强调学到的奖励在不同环境间的迁移性。
  • Argall et al.,「A Survey of Robot Learning from Demonstration」(Robotics and Autonomous Systems 2009):从示范学习的综述,涵盖 IRL 和行为克隆。
  • Osa et al.,「An Algorithmic Perspective on Imitation Learning」(Foundations and Trends in Robotics 2018):模仿学习的现代教程,系统梳理 IRL 与 BC 的理论与算法。