《Apprenticeship Learning via Inverse Reinforcement Learning》是学徒学习 / 逆强化学习领域的奠基性经典论文,发表于 2004 年国际机器学习顶会 ICML,作者为 Pieter Abbeel 与 Andrew Ng(吴恩达)。它完美回应了 “在已有专家策略基础上做强化学习” 的核心需求:不用人工设计奖励函数,仅靠专家的演示轨迹,就能让智能体学到和专家水平相当的策略,且泛化能力远强于直接照搬动作的行为克隆。
一、论文要解决的核心痛点
1. 传统强化学习的致命门槛
传统强化学习的前提是必须先有明确的奖励函数,但现实中绝大多数复杂任务,我们根本写不出精准的奖励公式。
-
比如学开车:要平衡安全车距、车道偏好、车速、变道频率等十几个因素,每个因素占多少权重,没人能精准说出来。哪怕是老司机,也只会开、不会写 “开车的奖励公式”。
-
工业界的常规操作是人工反复调奖励参数(奖励塑形),试错成本极高,很多任务根本调不出满意的结果。
2. 直接模仿的先天缺陷
有人会说:“让智能体直接抄专家的动作不就行了?” 这就是行为克隆,但它有致命问题:
-
只能死记硬背专家在特定状态下的动作,环境稍微变化(比如车流不一样、障碍物位置变了)就会失效,完全不会变通。
-
本质是学 “动作”,不是学 “做事的逻辑”,泛化能力极差。
3. 论文的核心思路
既然专家能把事情做好,说明专家心里有一套隐含的 “好坏评判标准”(也就是奖励函数)。我们不用让专家写出来,而是从专家的演示轨迹里,反向推导出这套评判标准,再用这个标准去训练强化学习策略。
- 好处:学到的是专家做事的底层逻辑,不是照搬动作,换个环境也能正常工作。
二、核心理论基础
1. 底层假设:奖励是特征的线性组合
论文做了一个非常实用的假设:奖励函数可以拆成 “特征 × 权重” 的线性形式,公式为:
R
(
s
)
=
w
∗
⋅
ϕ
(
s
)
R(s) = w^* \\cdot \\phi(s)
R(s)=w∗⋅ϕ(s)
-
ϕ
(
s
)
\\phi(s)
ϕ(s) 是状态
s
s
s的特征向量:就是任务里我们能观测到的各项指标,比如开车场景里,特征就是「是否撞车、是否在右车道、跟前车的距离」这些可量化的项。
-
w
∗
w^*
w∗ 是奖励权重向量:代表每个特征的重要程度,也就是专家心里的 “评分标准”。这个权重是未知的,正是我们要推导的目标。
通俗来说:专家做决策时,心里会给各项指标打分,再加权算出总分(奖励),然后选总分最高的动作。我们看不到权重,但能看到专家的操作轨迹。
2. 关键概念:特征期望
论文定义了一个核心概念 ——特征期望
μ
(
π
)
\\mu(\\pi)
μ(π),公式为:
μ
(
π
)
=
E
[
∑
t
=
0
∞
γ
t
ϕ
(
s
t
)
∣
π
]
\\mu(\\pi) = E\\left[\\sum_{t=0}^{\\infty} \\gamma^t \\phi(s_t) \\mid \\pi\\right]
μ(π)=E[∑t=0∞γtϕ(st)∣π] 其中
γ
∈
[
0
,
1
)
\\gamma \\in [0,1)
γ∈[0,1)为折扣因子,用于衰减远期特征的权重,保证求和结果有界。通俗解释:用策略
π
\\pi
π跑完整的任务,各项特征的长期折扣累计平均值,也就是这个策略在各项指标上的“长期平均表现”。 由于奖励是特征的线性组合,因此策略的期望总回报可直接表示为权重与特征期望的内积,特征期望完全决定了策略的性能优劣,是后续所有算法推导的核心桥梁。
- 比如 “稳健开车策略” 的特征期望就是:撞车次数接近 0、80% 时间在右车道、平均跟车距离 50 米。
3. 核心定理:对齐特征期望 = 对齐专家水平
论文最关键的理论推导结论:
只要我们的策略的特征期望,和专家策略的特征期望足够接近,那么无论真实的奖励权重是什么,我们的策略的最终表现,都和专家相差不超过
ϵ
\\epsilon
ϵ。
换句话说:我们根本不需要猜对专家的真实奖励函数,只要把各项长期指标做到和专家一样,效果就和专家一样好。 这一步非常重要,它把 “求解未知奖励函数” 这个无解的难题,转化成了 “对齐特征期望” 这个可迭代求解的问题。
三、核心算法流程:最大间隔法(Max-Margin)
这是论文的主算法,是一个迭代优化的过程,非常像 “猜评分标准→刷题→对比差距→修正猜测” 的学习循环,全程不需要知道专家的真实奖励。
初始化
先随便选一个初始策略
π
(
0
)
\\pi^{(0)}
π(0)(比如随机策略);
用这个策略跑若干轮任务,统计出它的特征期望
μ
(
0
)
\\mu^{(0)}
μ(0);
同时从专家的演示轨迹里,统计出专家的特征期望
μ
E
\\mu_E
μE;
开始迭代,记当前轮数为
i
i
i。
每一轮迭代的 6 步流程
第 1 步:找最能区分差距的评分标准
解一个二次规划问题(也可以用 SVM 求解器),找到一组权重
w
(
i
)
w^{(i)}
w(i),使得:
-
在这组权重下,专家的表现比我们之前所有轮次的策略都要好,而且差距(间隔)最大。
-
通俗说:找到一个 “评判角度”,在这个角度下,我们和专家的差距最明显,相当于找到当前最薄弱的环节。
第 2 步:判断是否达标
如果上面算出的最大差距
t
(
i
)
t^{(i)}
t(i)小于我们预设的精度
ϵ
\\epsilon
ϵ,说明我们的策略已经和专家足够接近,算法直接终止。
第 3 步:按新标准训练最优策略
把第 1 步找到的权重
w
(
i
)
w^{(i)}
w(i)当作临时奖励函数,也就是
R
=
w
(
i
)
T
ϕ
R = w^{(i)T}\\phi
R=w(i)Tϕ,用传统强化学习算法(比如值迭代)算出这个奖励下的最优策略
π
(
i
)
\\pi^{(i)}
π(i)。
- 通俗说:按照我们当前猜的 “评分标准”,练出一个能拿最高分的做题策略。
第 4 步:统计新策略的特征期望
用新策略
π
(
i
)
\\pi^{(i)}
π(i)跑任务,统计出它的特征期望
μ
(
i
)
\\mu^{(i)}
μ(i),加入我们的策略库。
第 5 步:进入下一轮
轮数
i
i
i加 1,回到第 1 步,继续找新的权重、训练新策略,反复迭代优化。
终止后输出最终策略
算法终止后,我们会得到一堆迭代出来的策略,有两种方式选最终策略:
人工挑选:让人从里面选一个效果最满意的;
自动混合:把所有策略按权重混合,得到一个特征期望最接近专家的混合策略。
四、简化版算法:投影法(Projection)
最大间隔法需要调用二次规划求解器,工程实现有门槛。论文又提出了一个更简单的投影法,完全不需要优化求解器,只用向量计算就能完成,实现成本极低。
核心逻辑
每一轮把专家的特征期望,正交投影到 “上一轮策略点和当前策略点” 的连线上,得到一个更接近专家的中间点,直接用 “专家点 – 中间点” 的方向作为新的奖励权重。
- 效果:实验中收敛速度和最大间隔法几乎一致,但代码量少很多,工程落地更友好。
五、理论保证:算法一定能收敛
论文给出了两个严格的数学定理,从理论上证明了算法的可靠性,不是 “玄学调参”:
迭代次数有上限:最多
O
(
k
(
1
−
γ
)
2
ϵ
2
l
o
g
k
(
1
−
γ
)
ϵ
)
O\\left(\\frac{k}{(1-\\gamma)^2\\epsilon^2} log \\frac{k}{(1-\\gamma)\\epsilon}\\right)
O((1−γ)2ϵ2klog(1−γ)ϵk)轮就一定会收敛。特征维度越少、精度要求越低、折扣因子越小,收敛越快。
专家样本用量少:只需要
m
≥
2
k
(
ϵ
(
1
−
γ
)
)
2
l
o
g
2
k
δ
m \\geq \\frac{2k}{(\\epsilon(1-\\gamma))^2} log \\frac{2k}{\\delta}
m≥(ϵ(1−γ))22klogδ2k条专家演示轨迹,就能保证效果达标,样本效率远高于直接模仿。
六、实验验证:效果碾压直接模仿
论文做了两组经典实验验证算法效果:
1. 网格世界实验
-
场景:128×128 的大网格,只有少数格子有奖励,属于稀疏奖励任务。
-
对比方法:直接模仿专家动作、按区域统计专家动作频率、论文的两种算法。
-
结果:只需要个位数的专家轨迹,论文的算法就能达到接近专家最优的水平,而直接模仿的方法需要几十上百倍的轨迹才能达到一般效果。
2. 自动驾驶仿真实验
-
场景:高速多车道开车,有其他车辆,速度固定。
-
设置:让作者演示 5 种完全不同的驾驶风格(稳健型、激进撞车型、贴右车道型等),每种只演示 2 分钟。
-
结果:算法都精准复现了对应的驾驶风格,换了不同的车流场景也能保持风格,而直接模仿的方法换了车流就频繁出错。
七、论文的价值与定位
理论奠基:第一次提出了有严格收敛保证的学徒学习框架,把 “从专家演示中学策略” 从启发式方法,变成了有理论支撑的正规方向。
范式开创:开创了 “专家演示→反推奖励→RL 优化” 的技术路线,是后来 GAIL、深度逆强化学习等所有主流模仿学习算法的源头。
落地价值:完美解决了 “已有专家经验 / 启发式策略,怎么和强化学习结合” 的问题,在机器人控制、自动驾驶、游戏 AI 等领域有极强的工程落地意义。


