# 2550 次盲测、提升 10 到 34 个百分点：Mulligan 把「从哪里开始采集数据」变成了决策变量

> 加演示的收益会递减，那么固定预算下该怎么采集？斯坦福这份工作的答案不是多采，是把每一轮的初始状态选在「已经失败过的地方」。

### TLDR

- **问题定义得很实在**：在固定预算的监督式部署轮次里，如何最大化高精度操纵任务上的提升。监督式部署指操作员摆放物体、在策略失败时介入。
- **观察到的现象**：失败集中在很小一部分初始状态上，因此**均匀采集**把操作员大量时间花在策略本来就会的状态上。
- **核心改动是一个变量**：Mulligan 把**初始状态分布**变成决策对象——每一轮的 episode 从「观察到的失败」和「没试过的状态」开始。
- **失败数据被真正用上了**：在交互式模仿学习之外，额外训练一个价值函数，数据包含**模仿学习会丢弃的失败样本**。
- **评测规模是硬的**：三个真机任务，在 **2550 个留出、盲测的 episode** 上评估，另有两个仿真任务。
- **提升是一个区间不是个点**：在同等采集预算下优于均匀初始状态采样；结合基于价值的动作选择（HiL-IDQL+Mulligan），最终真机成功率提升 **10 至 34 个百分点**。有操作员介入时，人机团队完成 **98%** 的采集 episode。

### SRC

素材时间窗为**前一日 18:00 → 当日 09:00**（北京时间，2026-10-06 18:00 至 2026-10-07 09:00）。本条主源为 arXiv 论文 **2610.05882**，提交时间 **2026-10-05 06:56 UTC**（北京时间 10-05 14:56），严格说落在窗口外；按本号扩窗规则第 2 条（近 3 日内的行业进展、做补充解读角度）收录，与既有解读的差异见下。需明确切开的边界：① 论文为<strong>预印本</strong>，未经同行评审，作者团队为斯坦福大学（Lars Ankile、Perry Dong、Rohan Bhowmik、Aneesh Muppidi、David D. Yuan、Shuran Song、Chelsea Finn）；② 「提升 10—34 个百分点」为<strong>区间</strong>，摘要未给出三个真机任务各自的单独数值，本号不做单任务归因；③ <strong>98% 是人机团队完成的采集 episode 比例，不是机器人单独的成功率</strong>——这一限定词极关键，误读会把「有人的系统可用」读成「机器人可用」；④ 2550 个留出盲测 episode 是评测规模，论文未在摘要中给出基线绝对成功率，因此无法从本文推出「从多少涨到多少」；⑤ 摘要未披露具体硬件平台、单轮采集时长与操作员人数，成本侧无法换算。本号既往的 `prowam-progressive-visual-subgoal-world-action-model`（ProWAM，世界模型的表示方式）与 `stagecraft-vla-distractor-minimal-intervention`（不改模型只改环境）均切<strong>模型侧或环境侧</strong>，本文切<strong>数据采集侧的采样分布</strong>，三者的干预对象不同，不构成重复。判断均为作者分析，已用「判断：」标注。

### BODY

<div class="sec"><div class="eyebrow"><span class="num">1</span>为什么「再加一百条演示」没用了</div>
<h2>收益递减之后，路在哪</h2>

<p>模仿学习能可靠地教会机器人新任务，但有一个几乎人人都踩过的经验：<strong>每增加一条演示带来的提升会越来越小</strong>。策略已经会的地方，再给十条数据也不会更好；它还不会的地方，均匀采集又很少碰到。</p>

<p>Mulligan 换了一个问题框架。它不再问「还要采集多少」，而是问：<strong>给固定预算的监督式部署轮次，怎么让提升最大。</strong>所谓监督式部署，是让操作员去摆放物体、并在策略失败时介入——这也是真实部署现场最常见的形态。</p>

<div class="jx-cols">
<div style="flex:50">
<h3>均匀采集</h3>
<p>初始状态随机采样。<strong>大部分时间落在策略已掌握的区域</strong>，操作员的介入变成重复劳动，预算被稀释。</p>
</div>
<div style="flex:50">
<h3>Mulligan 的采集</h3>
<p>初始状态本身是决策变量。每一轮从<strong>观测到的失败状态</strong>与<strong>尚未尝试过的状态</strong>开始，把预算压在信息量最高的地方。</p>
</div>
</div>

<div class="keypoint">判断：这个改动的代价极低——它不需要新模型、不需要新硬件，只是改了「每一轮从哪儿开始」。但也正因为代价低，它容易被忽略：多数团队的采集脚本里，初始状态是随机种子写死的。把这一行改成可调，是本号认为本文最可直接抄走的部分。</div>

</div>
<div class="sec"><div class="eyebrow"><span class="num">2</span>失败数据的第二次利用</div>
<h2>模仿学习丢掉的，价值函数捡起来</h2>

<p>第二个改动同样朴素：在交互式模仿学习之上，<strong>额外训练一个价值函数，而训练数据包含模仿学习通常会丢弃的失败样本</strong>。</p>

<div class="jx-tl">
<div class="jx-tl-row"><div class="jx-tl-t">第 1 步</div><div class="jx-tl-b">观测失败集中在哪些初始状态，形成下一轮的起点分布。</div></div>
<div class="jx-tl-row"><div class="jx-tl-t">第 2 步</div><div class="jx-tl-b">把所有数据（含失败）喂给价值函数，让它学会判断「这个状态下这个动作值不值」。</div></div>
<div class="jx-tl-row"><div class="jx-tl-t">第 3 步</div><div class="jx-tl-b">用价值函数做动作选择，与交互式模仿学习方法结合（文中记为 HiL-IDQL+Mulligan）。</div></div>
<div class="jx-tl-row"><div class="jx-tl-t">评测</div><div class="jx-tl-b">三个真机任务、<strong>2550 个留出且盲测的 episode</strong>，另加两个仿真任务。</div></div>
</div>

<p>「失败样本」在标准模仿学习里的处境一直很尴尬——演示数据范式下，失败的轨迹不进入行为克隆的目标集，往往直接被丢掉。<strong>而它们恰恰编码了「哪些状态是难的」这个信息。</strong>用它们训练价值函数，等于把这部分信息回收了。</p>

<div class="keypoint">判断：这里有一个可以推广到工程实践的原则——<strong>凡是策略失败产生的日志，先问它能不能训练一个「评估器」</strong>，而不是只用于报错。评估器不需要能生成好动作，只要能分辨好坏，就能反过来指导采样与动作选择。对长期值守型部署来说，这套回收机制是把运维成本转成训练收益的关键。</div>

</div>
<div class="sec"><div class="eyebrow"><span class="num">3</span>三个数字，三种读法</div>
<h2>2550、10—34、98%</h2>

<div class="jx-bars">
<div class="jx-bar-row"><div class="jx-bar-lab">留出盲测 episode</div><div class="jx-bar-track"><div class="jx-bar-fill" style="width:88%;background:#0a749a"></div></div><div class="jx-bar-val">2550</div></div>
<div class="jx-bar-row"><div class="jx-bar-lab">真机成功率提升（区间下限）</div><div class="jx-bar-track"><div class="jx-bar-fill" style="width:29%;background:#00a6d6"></div></div><div class="jx-bar-val">+10 pp</div></div>
<div class="jx-bar-row"><div class="jx-bar-lab">真机成功率提升（区间上限）</div><div class="jx-bar-track"><div class="jx-bar-fill" style="width:100%;background:#0d8a5f"></div></div><div class="jx-bar-val">+34 pp</div></div>
<div class="jx-bar-row"><div class="jx-bar-lab">人机团队完成的采集 episode</div><div class="jx-bar-track"><div class="jx-bar-fill" style="width:98%;background:#b85c0a"></div></div><div class="jx-bar-val">98%</div></div>
<div class="jx-legend"><div class="jx-lg">长度为相对量级示意；10—34 pp 为区间，非单值</div></div>
</div>

<p><strong>2550 个留出、盲测 episode</strong>是这组数字里最硬的一个。「留出」意味着不参与训练，「盲测」意味着评估设置里排除了调参泄漏。在真机机器人论文里，这个量级的留出评测并不常见——多数真机工作的评估规模在几十到几百次量级。<strong>评测规模本身就是这篇论文可信度的主要来源。</strong></p>

<p><strong>10 至 34 个百分点</strong>是区间。摘要没有给出三个任务各自的数值，所以无法判断是「三个任务都在 10 附近、一个冲到 34」还是「 uniformly 分布」。<strong>本号按区间处理，不做单任务归因。</strong>同时，摘要未给出基线的绝对成功率，因此也推不出「从 40% 涨到 74%」这类说法——只能说提升幅度落在这个区间内。</p>

<p><strong>98%</strong> 最容易被误读。原文的表述是：有操作员介入时，<strong>人机团队</strong>完成 98% 的采集 episode，在策略学习期间保持产能。这是「系统可用」，不是「机器人可用」。</p>

<div class="keypoint">判断：读任何带「人」的机器人指标，先做一次主语替换——把「系统完成 X%」改成「人加机器完成 X%」，再看这句话还剩下多少信息。98% 这个数字的真实含义是：这套采集流程不会因为在采集而让现场停产。对工业客户来说，这一条可能比成功率更重要。</div>

</div>
<div class="sec"><div class="eyebrow"><span class="num">4</span>对做部署的人意味着什么</div>
<h2>四条可抄的做法与三个仍缺的数</h2>

<div class="tbl-wrap">
<table>
<thead><tr><th>可抄的做法</th><th>要改什么</th><th>成本</th></tr></thead>
<tbody>
<tr><td>把初始状态分布当决策变量</td><td>采集脚本的起始采样逻辑</td><td>极低（改采样策略）</td></tr>
<tr><td>优先补「没试过的状态」</td><td>维护一个已覆盖状态的记录</td><td>低</td></tr>
<tr><td>用失败样本训练评估器</td><td>失败日志的留存与标注</td><td>低到中（需留存体系）</td></tr>
<tr><td>把「保持产能」作为指标</td><td>采集期现场不停产的度量</td><td>低</td></tr>
</tbody>
</table>
</div>
<div class="cap">表：按论文方法归纳的可迁移做法。「成本」一列为本号判断，非论文表述。</div>

<p>同时也要把还没给的数列出来，这比复述结论更有用：<strong>① 单轮采集需要多长时间</strong>（决定预算怎么算）；<strong>② 需要几名操作员</strong>（决定人力成本）；<strong>③ 基线绝对成功率是多少</strong>（决定 10—34 个百分点的实际含义）。这三项摘要均未披露。</p>

<div class="keypoint">判断：这篇工作的真正贡献不在算法复杂度，而在把「采集策略」这个通常被当成实验设置的环节，提到了方法层面。对国内做真机部署的团队来说，意义是直接的——在算力与本体都趋同的情况下，<strong>谁能用同样的现场小时数榨出更多有效数据，谁的单位成本就更低</strong>。而这部分几乎不需要额外投资。</div>

<div class="srcline">来源：arXiv:2610.05882（2026-10-05 06:56 UTC 提交，预印本，未经同行评审）；项目页 mulligan.page，附视频、代码与数据。抓取时间 2026-10-07 上午。</div>

</div>

---

*来源：神机百见-具身解读 · https://www.shenjibailian.com/jiedu/article/mulligan-performance-guided-data-collection-budget/*
