首先,我们梳理逆强化学习(IRL)的核心运行机制:外层通过迭代反推奖励函数,内层运行强化学习(RL)以求解状态分布。其核心思想非常直接——专家执行正确的动作获得高奖励,错误动作则获得低奖励。然而,问题恰恰出现在这一内外双层循环结构上,计算代价高昂得令人难以承受。

PART 01 核心原理
那么,逆强化学习(IRL)的实际工作方式是什么?简单来说,它从专家演示轨迹中反向推导奖励函数,并基于该推导出的奖励函数来训练强化学习智能体。与生成对抗模仿学习(GAIL)相比,IRL 能够提供可解释的奖励函数——清晰描述每个状态‑动作对的价值;而 GAIL 仅学习到一个隐式的判别器信号,虽然可以模仿行为,但其内部逻辑难以解释。
这里涉及一个关键假设(最大熵 IRL):专家轨迹出现的概率与累积奖励的指数成正比。用数学语言表述就是:符合高奖励路径的专家轨迹具有更高的似然度。通过最大化专家轨迹的似然函数,逐步反向推导出每个状态‑动作对 \((s,a)\) 的奖励权重。

PART 02 具体步骤(以 MaxEnt IRL 为例)
接下来,我们以最大熵逆强化学习(MaxEnt IRL)为例,直接查看其算法伪码,以便更直观地理解执行流程:
算法:MaxEnt IRL
输入:专家轨迹 {τ_expert},特征函数 Φ(s,a)
输出:Reward 权重 w,策略 π
1. 初始化:
- w = 0(reward 权重向量)
- r(s,a) = w · Φ(s,a) # 线性 reward 函数
2. while w 未收敛:
# IRL 外循环
# --- 步骤1:求期望特征 ---
# 计算专家轨迹的平均特征
μ_expert = E[Φ(s,a)]_expert
# --- 步骤2:求状态分布(需用 RL)---
# 在当前 reward r 下运行 RL,得到最优策略 π_w
π_w = run_RL(r, env) # 通常用价值迭代或策略梯度
μ_π = E[Φ(s,a)]_π_w # 策略访问状态的平均特征
# --- 步骤3:更新 reward 权重 ---
# 梯度方向:让专家特征高于策略特征
gradient = μ_expert - μ_π
w = w + α * gradient # α 是学习率
3. 用最终 w 构建 reward:r(s,a) = w · Φ(s,a)
在该 reward 上重新训练 RL 策略
4. 返回 w, π
为什么需要内外两层循环
这正是 IRL 计算开销最高的环节。通过下表的对比可以一目了然:
| 循环层级 | 执行内容 | 主要作用 |
|---|---|---|
| 外层(IRL) | 更新奖励权重 w | 拟合专家数据分布 |
| 内层(RL) | 求解当前奖励下的最优策略及状态分布 | 计算梯度更新方向 |
内层每次迭代都需要运行完整的强化学习(例如价值迭代或策略梯度算法),这一步骤无法省略。这正是 MaxEnt IRL 在大规模实际问题中基本不可行的原因——其计算成本高得难以承受。
IRL 内层循环:核心目标
给定当前的奖励函数 \(r(s,a)\),我们需要求解该奖励下最优的策略 \(\pi_w\),以及策略访问状态分布 \(\mu_\pi = E_{\pi_w}[\Phi(s,a)]\)。以下是两种典型的实现路径:
路径一:基于价值的迭代(适合离散、小状态空间)
采用动态规划求解最优 Q 函数,并进一步导出策略。
算法:内层 RL(基于价值迭代)
输入:reward 函数 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. 求状态访问分布 μ_π(关键步骤):
# 方法:求稳态分布 or 访问频率
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·Φ | 策略迭代 | 中等 |
综上所述,除了最大边际法和博弈论方法计算开销稍小之外,绝大多数逆强化学习变体都无法回避内层强化学习这一昂贵步骤。理解了这一瓶颈之后,就不难理解为何后续研究开始转向近似或无模型的逆强化学习方法——因为在实际应用场景中,双层循环的资源消耗实在过于奢侈。
