欢迎光临
我们一直在努力

学徒学习 / 逆强化学习 通俗详解

《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ϵ2k​log(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−γ))22k​logδ2k​条专家演示轨迹,就能保证效果达标,样本效率远高于直接模仿。

  • 六、实验验证:效果碾压直接模仿

    论文做了两组经典实验验证算法效果:

    1. 网格世界实验

    • 场景:128×128 的大网格,只有少数格子有奖励,属于稀疏奖励任务。

    • 对比方法:直接模仿专家动作、按区域统计专家动作频率、论文的两种算法。

    • 结果:只需要个位数的专家轨迹,论文的算法就能达到接近专家最优的水平,而直接模仿的方法需要几十上百倍的轨迹才能达到一般效果。

    2. 自动驾驶仿真实验

    • 场景:高速多车道开车,有其他车辆,速度固定。

    • 设置:让作者演示 5 种完全不同的驾驶风格(稳健型、激进撞车型、贴右车道型等),每种只演示 2 分钟。

    • 结果:算法都精准复现了对应的驾驶风格,换了不同的车流场景也能保持风格,而直接模仿的方法换了车流就频繁出错。

    七、论文的价值与定位

  • 理论奠基:第一次提出了有严格收敛保证的学徒学习框架,把 “从专家演示中学策略” 从启发式方法,变成了有理论支撑的正规方向。

  • 范式开创:开创了 “专家演示→反推奖励→RL 优化” 的技术路线,是后来 GAIL、深度逆强化学习等所有主流模仿学习算法的源头。

  • 落地价值:完美解决了 “已有专家经验 / 启发式策略,怎么和强化学习结合” 的问题,在机器人控制、自动驾驶、游戏 AI 等领域有极强的工程落地意义。

  • 赞(0)
    未经允许不得转载:171主机测评 » 学徒学习 / 逆强化学习 通俗详解
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址