逆强化学习(IRL)原理与步骤新手必读
摘要
首先剖析 IRL 的核心机制:外层循环通过迭代反推奖励函数,内层循环则运行强化学习获取
首先剖析 IRL 的核心机制:外层循环通过迭代反推奖励函数,内层循环则运行强化学习获取状态分布。其基本思想很直接——专家行为对应高奖励,错误行为对应低奖励。但问题在于这种双层嵌套结构导致计算开销极大。

PART 01 核心原理
那么,IRL 究竟在做什么?简单来说,就是从专家轨迹中逆向推导奖励函数,再基于该函数训练强化策略。与 GAIL 相比,IRL 输出一个可解释的奖励函数——能明确每个状态—动作对的价值;而 GAIL 仅提供一个隐式的判别器信号,虽能复现行为,却难以解释。
这里的关键假设(最大熵 IRL)是:专家轨迹出现的概率与累积奖励的指数成正比。数学表达为:专家轨迹越符合高奖励路径,其似然值越高。通过最大化专家轨迹的似然,逐步反推出每个 \((s,a)\) 的奖励权重。

PART 02 具体步骤(以 MaxEnt IRL 为例)
直接查看 MaxEnt IRL 的算法伪码,更直观清晰:
算法:MaxEnt IRL
输入:专家轨迹 {τ_expert},特征函数 Φ(s,a)
输出:奖励权重 w,策略 π
1. 初始化:
- w = 0(奖励权重向量)
- r(s,a) = w · Φ(s,a) # 线性奖励函数
2. while w 未收敛:
# IRL 外循环
# --- 步骤1:求期望特征 ---
# 计算专家轨迹的平均特征
μ_expert = E[Φ(s,a)]_expert
# --- 步骤2:求状态分布(需用 RL)---
# 在当前奖励 r 下运行强化学习,得到最优策略 π_w
π_w = run_RL(r, env) # 通常采用价值迭代或策略梯度
μ_π = E[Φ(s,a)]_π_w # 策略访问状态的平均特征
# --- 步骤3:更新奖励权重 ---
# 梯度方向:让专家特征高于策略特征
gradient = μ_expert - μ_π
w = w + α * gradient # α 为学习率
3. 用最终 w 构建奖励:r(s,a) = w · Φ(s,a)
在该奖励上重新训练强化策略
4. 返回 w, π
为什么需要内外两层循环
这正是 IRL 最昂贵的部分。通过表格对比一目了然:
| 循环 | 内容 | 作用 |
|---|---|---|
| 外层(IRL) | 更新奖励权重 w | 拟合专家分布 |
| 内层(RL) | 求当前奖励下的最优策略和状态分布 | 计算梯度方向 |
内层每次都需要运行强化学习(价值迭代或策略梯度),且这一步骤无法省略。这就是为什么 MaxEnt IRL 在大规模问题上几乎不可行——计算成本高到无法承受。
IRL 内层循环:核心目标
给定当前奖励函数 \(r(s,a)\),需要求出在此奖励下的最优策略 \(\pi_w\),以及策略访问状态分布 \(\mu_\pi = E_{\pi_w}[\Phi(s,a)]\)。
两种典型实现路径:
路径一:基于价值的迭代(适合离散、小状态空间)
用动态规划求解最优 Q 函数,再导出策略。
算法:内层 RL(基于价值迭代)
输入:奖励函数 r(s,a),状态转移 P,环境
输出:最优策略 π,最优状态访问分布 μ_π
1. 初始化:
Q(s,a) = 0,V(s) = 0 for all s,a
μ_π(s,a) = 0 for all s,a # 状态访问计数
2. 迭代求最优 Q 函数(策略评估 + 策略提升):
for iter = 1 to MAX_ITER:
# 策略评估:求 V(s) = max_a Q(s,a)
for each (s,a):
Q(s,a) = r(s,a) + γ * Σ_s' P(s'|s,a) * V(s')
V(s) = max_a Q(s,a)
# 提取贪心策略
π(a|s) = 1 if a = argmax_a Q(s,a) else 0
3. 求状态访问分布 μ_π(关键步骤):
# 方法:求稳态分布或访问频率
d_0(s) = 初始状态分布
for t = 1 to T: # 向前仿真 T 步
for each (s,a):
d_t(s') += d_{t-1}(s) * P(s'|s,a) * π(a|s)
# 累计访问
μ_π(s,a) += d_t(s) * π(a|s)
4. 返回 π, μ_π
路径二:基于策略的采样(适合连续、大状态空间)
采用 PPO/SAC 等策略梯度算法采样轨迹,直接估计 \(\mu_\pi\)。精度上略有损失,但计算成本可控。
两个路径的对比:
| 价值迭代 | 策略梯度 | |
|---|---|---|
| 适用场景 | 离散/小规模状态空间 | 连续/大规模状态空间 |
| 精度 | 精确(动态规划) | 近似(采样估计) |
| 计算成本 | 高(需遍历所有状态) | 中(采样 + 神经网络训练) |
| 是否能在线 | 离线 | 可在线 |
IRL 方法族对比
最后,将经典的 IRL 方法汇总比较:
| 方法 | 奖励形式 | 内层优化 | 复杂度 |
|---|---|---|---|
| MaxEnt IRL(Ziebart 2008) | 线性 w·Φ(s,a) | 需跑完整 RL | O(T²) 量级 |
| IRL with NN(Finn 2016) | 神经网络 r(s,a) | 需跑 RL | 极高 |
| 最大边际 IRL(Ng & Russell 2000) | 线性 w·Φ | 线性规划 | 中等 |
| 博弈论 IRL(Abbeel & Ng 2004) | 线性 w·Φ | 策略迭代 | 中等 |
可以看出,除最大边际和博弈论方法相对轻量外,大多数 IRL 变体都绕不开内层强化学习这一昂贵步骤。理解这一瓶颈后,就不难明白为何后续研究开始探索近似或无模型的逆强化学习方法——毕竟,双层循环在实用场景中过于奢侈。
来源:互联网
本网站新闻资讯均来自公开渠道,力求准确但不保证绝对无误,内容观点仅代表作者本人,与本站无关。若涉及侵权,请联系我们处理。本站保留对声明的修改权,最终解释权归本站所有。