公司动态

第308篇 逆强化学习——从行为中推断目标

📅 2026/8/31 7:00:54
第308篇 逆强化学习——从行为中推断目标
上篇聊了模仿学习核心是从专家示范中直接学习策略。但模仿学习有个根本问题它只学了怎么做没学为什么这么做。如果任务环境变了学到的策略可能完全失效因为它不理解任务的目标。逆强化学习Inverse Reinforcement Learning, IRL换了一个思路不从示范中学策略而是从示范中学奖励函数。学会了为什么再用标准RL去优化策略。这样即使环境变了只要目标没变学到的奖励函数仍然有效。逆强化学习的直觉想象你在观察一个老司机开车。你看到他在城市道路上平稳行驶遇到红灯停车变道时打转向灯。模仿学习的做法是直接学他的操作——看到红灯就踩刹车看到前车就打方向。逆强化学习的做法不同先推断他想要什么——安全到达目的地、遵守交通规则、乘坐舒适。学会了这些目标后即使道路条件变了比如下雨天你仍然知道该怎么开车因为你的目标没变。这就是逆强化学习的核心从观察到的行为中反推奖励函数。数学上这是一个逆最优控制问题——正向问题是给定奖励函数求最优策略逆向问题是给定最优策略求奖励函数。最大边际逆强化学习最大边际逆强化学习Maximum Margin IRL是2008年Ratliiff提出的。它的思路是找到一个奖励函数使得专家示范的累积回报严格高于任何其他策略的累积回报。这里有个前提假设奖励函数是特征的线性组合R(s,a) w·φ(s,a)。w是权重向量φ是特征函数。学习奖励函数就变成了学习权重w。特征函数φ的设计非常关键。它把每个状态-动作对映射到一组特征值。比如在导航任务中特征可以是到目标的距离、离障碍物的距离、当前速度、道路类型等。特征越丰富奖励函数的表达能力越强但学习难度也越大。# 最大边际IRL的核心思想 # 找到权重w使得: # w · φ(expert_demo) w · φ(any_other_policy) # 其中φ是特征映射把状态-动作对映射到特征空间 # 优化目标: max_w min_policy w·(φ_expert - φ_policy) # 约束: ||w|| 1 # 这是一个类似SVM的max-min优化问题这个方法的问题在于计算量大。每次迭代都需要解一个正向RL问题计算当前奖励函数下的最优策略而正向RL本身就很耗时。对于高维状态空间这个方法基本不可行。而且特征函数的设计严重依赖领域知识——如果你不知道哪些特征对任务重要就很难设计出好的φ。后来出现了基于最大熵的IRLMaximum Entropy IRL, Ziebart 2008它假设专家的行为不是完全最优的而是按照Boltzmann分布来选择动作——好的动作概率高但差的也有一定概率。这个假设更符合实际情况人类专家也会犯错而且优化问题更容易求解。最大熵IRL后来成为了很多现代IRL方法的基础。GAIL和AIRL对抗式逆强化学习上篇提到的GAIL其实就是一种逆强化学习——它的判别器学到的就是一个奖励函数。AIRLAdversarial Inverse Reinforcement Learning是GAIL的改进版专门设计了一个可迁移的奖励函数结构。AIRL把奖励函数分解为两部分f(s, a, s) Φ(s) - γΦ(s) c·ψ(s, a)。第一项Φ是状态势能的差保证了奖励函数的物理意义类似势能场。第二项ψ是状态-动作的即时奖励。这种分解让学到的奖励函数具有更好的可迁移性——即使环境动态变了比如机器人负载变了奖励函数仍然有效。为什么势能差的分解这么重要假设原始奖励函数是R(s,a)对应的最优价值函数是V*(s)。可以证明R(s,a) Q*(s,a) - γV*(s) V*(s)其中Q是最优动作价值函数。AIRL的分解正好对应了这个关系Φ ≈ Vψ ≈ Q* - V*。用神经网络来学习Φ和ψ就能恢复出原始奖励函数的结构。训练过程跟GAIL类似判别器区分专家数据和策略数据策略试图骗过判别器。但AIRL的判别器输出的是奖励值而不是概率用这个奖励值训练策略通过RL算法如PPO。每轮迭代中策略用当前奖励函数训练一段时间然后判别器更新。交替进行直到收敛。AIRL在跨任务迁移上表现很好。比如在一个导航任务中学到的奖励函数靠近目标可以迁移到目标位置不同的新场景中不需要重新学习。实验表明AIRL学到的奖励函数在迁移后的表现比直接用GAIL好很多因为GAIL的奖励函数没有这种结构化的分解。在机器人中的应用逆强化学习在机器人中有几个典型的应用场景。人机协作是一个重要方向。在人机协作中机器人需要理解人的意图。通过观察人的操作IRL可以推断出人想要达到什么目标比如把人送到某个位置、帮人拿某个东西然后据此调整自己的行为。技能迁移也很有价值。一个在仿真中学到的奖励函数可以迁移到真实机器人上。因为奖励函数描述的是目标而不是动作它对环境的微小变化更鲁棒。自动驾驶中IRL被用来学习人类驾驶员的驾驶风格。不同的司机有不同的偏好——有人喜欢激进有人喜欢保守。通过IRL可以从不同司机的数据中学到不同的奖励函数然后让自动驾驶系统模拟特定的驾驶风格。比如从激进司机的数据中学到的奖励函数可能更重视到达速度从保守司机学到的则更重视安全和舒适。医疗机器人也是一个有前景的应用方向。手术机器人的操作数据来自经验丰富的外科医生通过IRL可以推断出手术操作的目标函数——哪些组织要避免接触、什么样的力度是安全的、缝合的间距应该多大。这些学到的奖励函数可以用来训练新的机器人或者辅助新手医生的培训。IRL面临的挑战也不小。第一个是奖励函数的模糊性ambiguity——同一个行为可能对应多个不同的奖励函数。比如一个人每天去健身房可能是为了健康也可能是为了社交。仅从行为数据很难区分。第二个是维度问题——高维状态空间下奖励函数的参数化非常困难。用神经网络来参数化奖励函数是一个方向但训练不稳定。第三个是评估困难——怎么评价学到的奖励函数好不好通常的做法是用学到的奖励函数重新训练策略看策略的表现是否接近专家。面试要点逆强化学习和模仿学习的区别。模仿学习直接学策略π(a|s)逆强化学习先学奖励函数R(s,a)再用RL学策略。逆强化学习的优势是可迁移性和可解释性——你知道机器人追求什么目标而不只是知道它做什么动作。可迁移性的含义。学到的奖励函数在环境变化后仍然有效。比如机器人学会了保持平衡的奖励函数即使它的负载变了比如抓了一个重物奖励函数仍然指导它保持平衡。但如果用模仿学习直接学策略负载变了策略可能就失效了。计算复杂度的挑战。IRL的核心困难在于它是一个双层优化问题——外层优化奖励函数内层解正向RL。每次奖励函数更新都要重新解RL计算量非常大。GAIL和AIRL用对抗训练把这个双层问题简化成了单层但训练仍然不稳定。实际项目中IRL的计算成本通常是模仿学习的10到100倍这也是为什么很多团队直接用BC或者GAIL而不是更复杂的IRL方法。IRL和BC的选择逻辑。如果你的任务环境可能变化比如不同的目标位置、不同的障碍物布局用IRL学到的奖励函数更鲁棒。如果环境固定不变直接用BC更简单高效。在面试中能根据具体场景分析选择哪种方法会展示你的工程判断力。最近的研究趋势是用大语言模型LLM来辅助奖励设计。LLM对自然语言描述的奖励函数有很好的理解能力可以自动把安全、高效、舒适地驾驶这样的语言描述转化为可优化的奖励函数。这种方式结合了人类直觉和机器优化的优势是IRL领域的一个新方向。给你的建议逆强化学习的理论性比较强建议先理解最大边际IRL的数学框架再去看GAIL和AIRL。Sutton的教材和Pieter Abbeel的论文是很好的参考。实践方面可以试一下用GAIL在一个简单的机器人任务上做逆强化学习。Stable-Baselines3配合imitation库可以快速搭建实验。重点观察学到的奖励函数是否合理以及策略在环境变化后的表现。对比BC和GAIL在环境变化后的表现差异你会对IRL的可迁移性优势有直观的感受。面试时聊IRL核心要展示的是你对为什么从行为中学奖励函数比直接学策略更好这个核心问题的理解。能讲清楚IRL的优势可迁移性、可解释性和劣势计算复杂度、奖励模糊性面试官会认为你对这个领域有全面的认识。上一篇第307篇 模仿学习——从示范中学习下一篇预告第309篇 VLA模型——视觉-语言-动作的统一