用于模仿学习的泛化能力---arXiv最新论文

275 阅读6分钟

2025 年 4 月 25 日星期五 17:59:59 UTC 来自王一晓博士发布的AI前沿研究论文。 我将用以大白话+例子的解释来简述这篇论文,希望对你有帮助!原文发在最下方,有需要的朋友可以滑动自取。 image.png

核心问题:

想象一下你教一个机器人(比如一个机械臂)干活,像是从桌子上拿起一个杯子。你亲自操作机器人演示了几次(这就是“示教”或“模仿学习”)。机器人学得挺好,能完美重复你演示的动作。

但是!  问题来了:

  • 如果杯子换了个稍微不同的颜色或形状。
  • 如果桌子上的光线变了。
  • 如果杯子放的位置和你演示时稍微偏了一点点。

这时候,很多机器人就“懵了”,不知道该怎么办,或者动作错得离谱。这就是泛化能力差的问题 —— 机器人只会死板地模仿,不能举一反三,适应新的、没见过但类似的情况。

这篇论文就是在研究:为什么机器人泛化能力差?以及,怎样才能让它变得更“聪明”,更能适应变化?

论文的主要发现(用大白话讲):

论文从两个角度分析:信息处理 和 数据本身。

  1. 发现一:机器人“脑子”里的信息要压缩,但不能丢掉关键信息。

    • 技术词:  条件信息瓶颈 (Conditional Information Bottleneck)
    • 大白话:  机器人看到的东西(比如摄像头拍的图像 X)信息量很大。它在处理这些信息,最终决定要做什么动作 (Y) 时,中间会形成一些“想法”(中间表示 Z)。论文说,如果这个“想法”能过滤掉不重要的细节(比如背景里无关的东西、光线的微小变化),只保留对做动作最关键的信息(比如杯子的位置、形状、把手朝向),那么机器人就更容易在新情况下也做对。
    • 例子:  学开车。你不需要记住路边每棵树叶子的形状(不重要细节),只需要关注路况、信号灯、行人(关键信息)。只记关键信息,你才能在不同的路上都开好车。如果机器人能自动“抓重点”,它的泛化能力就好。
  2. 发现二:机器人学到的“知识”不应该太依赖于你给的那几个演示。

    • 技术词:  模型参数与训练集的互信息
    • 大白话:  如果机器人学到的东西,完全是根据你演示的那几条数据“死记硬背”下来的(模型 сильно 依赖训练集),那稍微遇到点不一样的,它就抓瞎了。如果它学到的“知识”更通用,不那么“绑定”于具体的演示数据,泛化能力就强。
    • 例子:  背课文 vs 学语法。只背诵几篇课文(依赖训练集),你遇到新话题就说不出来。但如果你学了通用的语法规则(不那么依赖具体课文),你就能自己造句子,应对各种情况。论文说,用那些在大规模数据(比如互联网图片)上预先训练好的“大脑”模块(像 CLIP、VLM 模型),然后尽量少改动它(冻结或微调),通常比完全根据机器人演示数据从头训练一个“大脑”要好,因为它保留了通用的“知识”。
  3. 发现三:如果同一个场景下,有好几种“都行”的动作,机器人反而学得更好。

    • 技术词:  条件熵 H(Y|X)
    • 大白话:  H(Y|X) 是说,在给定一个情况 X(比如看到杯子在桌子中间)下,机器人可以做的动作 Y 有多少种可能性/不确定性。如果对于同一种情况,有多种动作都是“正确”或者“可接受”的(比如抓杯子时,稍微偏左一点或偏右一点抓都能成功),那么 H(Y|X) 就高。论文发现,这种情况(高 H(Y|X))会让学习过程更“平滑”,机器人不容易“钻牛角尖”,学到的模型对训练数据的依赖性也更小,从而泛化更好。
    • 例子:  开车时过一个弯道。如果只有唯一一条精确的行驶路线才安全(低 H(Y|X)),那学起来就很难,稍微偏一点就出事。但如果在一个比较宽的范围内调整方向盘都能安全过弯(高 H(Y|X)),那学习就更容易,也更容易适应不同曲率的弯道。
  4. 发现四:同一个场景下动作选择多,能帮机器人“跳出学习的坑”。

    • 技术词:  SGD 逃离尖锐局部最小值的时间 (SGD escape time from sharp local minima)
    • 大白话:  机器人在学习时,可能会卡在一个“还行但不是最好”的状态(局部最优,像一个小坑),很难再进步到“真正好”的状态(全局最优,最低的坑)。如果 H(Y|X) 比较高(同一个情况有多种可选动作),能帮助学习算法更快地“跳出”这些小坑,找到更好的解决方案。
    • 例子:  想象你在一个有很多坑洼的山谷里找最低点,并且蒙着眼睛(学习过程)。尖锐的局部最小值就像一个小而深的坑,掉进去就不容易出来。如果山谷地势比较平缓(高 H(Y|X) 带来的效果),你就更容易四处走动,不容易被小坑困住,更有可能找到真正最低的地方。

给出的实践建议(怎么做能提高泛化能力):

  1. 让机器人学会“抓重点”:  不仅处理图像这种复杂信息要压缩,处理简单的信息(比如机器人自己的关节角度)也要压缩掉不必要的细节,尤其是在演示数据很少的时候。

  2. 巧用“别人的大脑”:  对于处理图像、语言等复杂输入的模块,尽量用那些在大数据上预训练好的模型(比如 VLM),并且在使用时不要大幅度修改它(冻结或轻微调整就好),前提是它在你自己的任务上效果也还不错。这样能保留它的通用知识。

  3. 增加“动作的多样性”,而不仅仅是“场景的多样性”:  不光要给机器人看各种不同的任务、不同的环境(增加 X 的多样性),还要在同样的情况下,演示多种不同但都可行的动作方式(增加给定 X 时 Y 的多样性)。这能提高 H(Y|X)。

    • 例子:  教机器人把积木放到一个区域里。不要每次都精确地放在正中心。演示几次放在区域偏左、偏右、偏前、偏后的位置,只要在允许范围内都算成功。这样机器人就知道“差不多就行”,而不是死认一个点。

总结:

这篇论文告诉我们,想让模仿学习的机器人更“聪明”、更能适应新情况,不能光靠堆积更多的演示数据。关键在于:

  • 让机器人学会提炼关键信息,忽略无关信息。
  • 利用好预训练模型的通用知识,避免过度拟合演示数据。
  • 增加数据中“动作”的多样性,让机器人在同样情况下知道有多种选择,这有助于学习过程更顺畅,找到更鲁棒的解决方案。

原文地址:arxiv.org/abs/2504.18…