)
1️⃣ 直接回归Behavior Cloning, BC / MLP Baseline核心思想最朴素的模仿学习把示教当成监督学习(观测, 动作)配对让网络学会π(a|o)。技术直觉输入图像/状态 → 神经网络 → 输出一个动作向量 损失MSE(预测动作, 示教动作)本质上就是个回归问题。网络看到某个画面输出最可能的动作。关键局限模式平均Mode Averaging这是BC最致命的问题。假设同一画面下有两条合理示教轨迹示教A向左上方45°抓取 示教B向右上方45°抓取BC学到的不是选A或选B而是输出一条中间动作正上方。在机器人里这意味着夹爪对着桌面正中戳下去末端执行器犹豫抖动任务成功率断崖式下跌优点实现极其简单几十行代码就能跑训练快、推理快一次前向作为baseline不可或缺缺点多峰分布被抹平复合误差累积compounding error一步错步步错对噪声示教敏感和你们项目的关系适合做sanity check不适合真实部署。你们的UMI管线从一开始就排除了这条路。2️⃣ ACTAction Chunking with Transformers核心思想一次预测一整段动作chunk而不是逐帧自回归。用Transformer编码观测解码出K步动作序列只执行前几步然后重新规划。技术直觉传统方式obs₁→a₁→obs₂→a₂→obs₃→a₃...每一步都重新推理 ACTobs₁→[a₁,a₂,a₃,a₄,a₅]一次出5步执行a₁a₂然后重新看obs₃再预测这带来两个好处时间一致性连续几帧动作来自同一次推理不会出现抖动高频执行推理频率可以低于控制频率比如10Hz推理100Hz执行关键设计CVAE 隐变量ACT不是确定性地输出一个chunk而是用CVAE在chunk层面引入随机性z ~ q(z|chunk) // 后验 a_chunk ~ p(a|o, z) // 条件生成训练时用示教chunk学z的分布推理时用先验分布采样z。这让ACT能处理有限的多模态而不至于退化为平均值。优点动作平滑稳定真实机器人上表现很好推理速度比扩散快不需要迭代去噪对相机视角变化鲁棒缺点CVAE的隐空间表达能力有限多峰太多时还是会坍缩chunk长度固定太短没意义太长灵活性下降实现比BC复杂不少和你们项目的关系你们旧UI/旁路提过ACT是有道理的。ACT在桌面操作、精细操作上验证很多如果你们未来想降低推理延迟ACT是一个现实的备选。但缺点是和UMI现有的zarrDP管线不原生兼容换过去要改数据加载和训练逻辑。3️⃣ Diffusion PolicyDP你们的主路径核心思想把动作生成建模为逆扩散过程从一个随机噪声动作序列开始通过多步去噪逐步还原出合理的动作分布。技术直觉高斯噪声 a_T ~ N(0, I) ↓ 去噪一步 a_{T-1} ↓ ... ↓ a_0 最终动作符合示教分布每一步去噪都由网络ε_θ(a_t, t, o)完成网络接收当前噪声动作、时间步t、观测o预测噪声分量。为什么DP擅长多峰扩散模型学的是整个分布的得分函数score function而不是像VAE那样试图用一个低维隐变量压缩所有模态。直观地说VAE试图把左抓和右抓塞进同一个z空间 → 容易混在一起 DP在动作空间中直接建模两个分离的吸引盆 → 每个模态都能被独立还原和UMI的深度绑定UMIUniversal Manipulation Interface的设计选择DP不是偶然UMI特性为什么DP天然契合示教数据是手持设备采集的连续视频流DP本身就是在连续时间域上定义的过程动作以zarr格式存为chunked数组DP的训练循环天然按chunk采样需要实时推理50HzUMI用DDIM加速把50步去噪压到5-10步多视角输入DP的条件注入机制cross-attention或concat能同时吃多路观测优点多模态建模能力强复杂任务上SOTA生成质量高动作自然生态成熟UMI、Diffusion Policy原论文、robomimic都有现成实现缺点推理慢哪怕DDIM加速也比ACT慢一个数量级训练不稳定学习率、噪声调度、EMA都需要仔细调对超参敏感和你们项目的关系这就是现状。你们选DP的核心原因总结起来就两条① UMI生态已经帮你们踩完大部分坑② 你们的任务动作空间确实有多峰比如从不同角度接近物体DP比ACT更不容易平均掉。4️⃣ Flow Matching / Consistency Models核心思想扩散模型的加速变体。核心洞察是我们不需要一步步去噪可以直接学从噪声到数据的传输路径flow或者一次性预测干净动作。Flow Matching流匹配不再学噪声的梯度而是学速度场 v(x, t)描述数据点在概率流ODE中如何随时间演化dx/dt v(x, t)推理时只需要解一个ODE步数远少于扩散通常4-8步 vs 50-100步。Consistency Models一致性模型核心约束同一条轨迹上任意时刻的状态经过一次网络前向都应该映射到同一个端点干净数据f(x_t, t) ≈ f(x_0, 0) // 无论t是多少输出一致这让你可以一步生成推理速度接近ACT甚至更快同时保留接近扩散的生成质量。优点推理速度大幅提升1-8步 vs 50步生成质量接近扩散数学形式更简洁缺点机器人领域的验证还不多2024年才开始有人往这方向推训练比扩散更tricky容易出现模式坍塌没有成熟的UMI式开源生态和你们项目的关系值得关注但不是近期选项。如果未来你们遇到推理延迟瓶颈比如在算力受限的边缘设备上部署Flow Matching是最有希望的升级路径。现在换过去等于从零踩坑ROI不高。5️⃣ VLAVision-Language-Action大模型核心思想把视觉、语言、动作统一到一个大模型里预训练阶段用互联网规模的视觉-语言数据下游用少量示教微调得到能理解自然语言指令的操作策略。代表工作模型机构特点OpenVLAStanford/Google7B参数基于LlamaViT开源π₀ / π₀.5Physical Intelligence24B参数流匹配扩散混合工业级RT-2Google DeepMindPaLI-X backbone端到端VLARDT清华扩散Transformer中文场景优化技术直觉[图像编码器] [语言tokenizer] → 大Transformer → [动作tokens] ↓ 离散化或连续化输出关键点在于动作也被tokenize了或者作为连续值头接在LLM后面让大模型用语言的方式思考动作。优点泛化能力极强zero-shot到未见过的物体/指令语义理解深能理解把红色的那个放到左边数据效率高预训练知识迁移显著缺点巨大7B起步推理需要A100/H100级别硬件示教数据需求依然不低虽然比从头训少实时性差即使量化后也很难50Hz对你们现有UMI管线来说几乎是完全不同的技术栈和你们项目的关系你们UI提过π系但不作为主路径判断是对的。VLA是下一代方向不是当前性价比之选。除非你们的场景需要开放词汇指令理解比如随便找个东西收拾一下否则用VLA属于杀鸡用牛刀。而且VLA和你们的zarrUMI管线几乎没有兼容性换过去等于重做整个工程栈。 五类算法横向对比总表维度BC/MLPACTDiffusion PolicyFlow/ConsistencyVLA多峰建模❌⚠️有限✅✅✅✅✅✅✅✅推理速度⚡⚡⚡⚡⚡⚡⚡⚡⚡训练稳定性✅✅✅✅✅⚠️⚠️⚠️❌生态成熟度✅✅✅✅✅✅✅✅⚠️⚠️和UMI兼容✅但没必要⚠️需改造✅✅✅❌❌适合场景baseline低延迟实时控制复杂多模态任务未来加速方案开放词汇泛化 对项目的实操建议现阶段稳住DP。UMIDP这套组合在真实机器人上已经被验证过无数次你们的数据格式、训练脚本、推理pipeline都已经跑通了没必要为了换个新方法去承担工程风险。中期关注Flow Matching。如果你们后续要做实时性更强的应用比如高速装配、动态避障Flow Matching是DP的自然升级路径数学形式和扩散最接近迁移成本最低。长期布局VLA。等你们的场景扩展到需要语言交互或多任务泛化时再考虑。现在不用急着碰。什么时候换ACT只有当你们发现DP的推理延迟真的成了瓶颈比如要在Jetson上跑实时控制并且任务复杂度不需要强多峰建模时ACT才值得认真评估。所以从技术优势上看Flow MatchingDPACTBC?不完全是更准确的说法是它们在不同维度上各有所长不存在全局的 关系。拆开来看维度真正的排序多峰建模能力Flow ≈ DP VLA ACT BC推理速度BC ≈ Flow(1-step) ACT DP VLA训练稳定性BC ACT DP Flow VLA工程成熟度BC ≈ ACT ≈ DP VLA Flow数据效率ACT ≈ DP Flow ≈ VLA BC你看把维度拆开后没有一个方法在所有列都排第一。最容易被这个箭头误导的地方DP 并不全面优于 ACT。ACT 的核心优势恰恰是 DP 的短板ACT 推理只要1次前向DP 哪怕 DDIM 也要5-10步ACT 训练比 DP 稳得多对学习率没那么敏感ACT 在桌面操作、精细插拔这类任务上成功率经常和 DP 打平甚至略优DP 赢的只有一个点多峰复杂场景下不容易坍缩。如果你的任务里同一观测下合理动作只有少数几种ACT 完全够用而且跑得更快更稳。Flow Matching 也不是全面碾压 DP。Flow 的理论优雅、推理快但机器人领域验证少调不好容易模式坍塌DP 的噪声调度、guidance、classifier-free 这些 trick 积累了几年的经验Flow 还没有你们现有 UMI 管线直接支持 DP换 Flow 等于重造轮子所以正确的思维框架是选算法 先看任务属性再看约束条件 任务属性 ├── 动作空间多峰严重吗是 → DP/Flow否 → ACT ├── 需要开放词汇理解吗是 → VLA否 → 不用碰 └── 示教数据多吗少 → ACT/DP极少 → VLA预训练 约束条件 ├── 推理算力紧张吗是 → ACT/Flow否 → DP够用 ├── 工程周期紧吗是 → ACT/DP否 → 可以试Flow └── 团队熟悉哪条栈别低估这个一句话修正你的直觉DP 是能力上限最高但代价也最大的选择ACT 是够用且省心的选择Flow 是理论上更好的DP但尚未成熟的选择BC 是不该拿来部署但必须用来验 pipeline 通不通的选择。你们选 DP 不是因为它最强是因为你们的任务确实需要它的多峰建模能力而且 UMI 已经把 DP 的工程坑填得差不多了。这两个条件缺一个ACT 可能才是更理性的选择。ACT大部分情况下比DP好实际情况是各有各的地盘不存在大部分情况ACT赢的场景其实挺窄的只是恰好工程友好让它显得实用。ACT真正占优的场景动作空间本身就不怎么多峰的任务桌面拾取、插拔USB、拧瓶盖、按键操作这些任务里正确动作基本就一条轨迹多峰不是主要矛盾ACT一次前向出chunk又快又稳DP在这上面费劲去噪纯属浪费推理算力受限的部署环境Jetson Orin、边缘设备ACT 1次前向 vs DP 5-10步差距是实打实的毫秒级示教数据质量高但量不大ACT的CVAE对干净数据的利用率很高DP在数据少的时候容易过拟合到噪声上DP真正不可替代的场景同一观测下存在明显多个合理动作从不同方向绕过去抓物体UMI原始论文里的咖啡杯任务就是这个避障路径不唯一左右都能绕这类任务ACT会硬把两条路径平均成一个往中间走的动作直接失败长程任务、动作chunk内有复杂结构DP的迭代去噪过程本质上在做逐步精细化的规划ACT的chunk是一次解码出来的对chunk内部的结构化依赖建模不如DP细腻示教本身噪声大、多模态混杂人手示教天然就有多种操作习惯混在一起DP的分布建模能力能把这几个模态都学到ACT的隐空间容易坍缩为什么说大部分情况这个结论不成立因为现实中大部分机器人操作任务的动作空间并没有强烈的多峰性。你去看RoboMimic、MetaWorld这些benchmarkACT在80%的单任务上跟DP打平甚至略好就是因为那些任务本身就没那么多歧义。但问题是——你做真实机器人不是跑benchmark。真实场景里一旦碰到多峰caseACT直接跪DP能扛住。而且你用的是UMI手持示教人手操作的天然多模态比仿真强得多。所以更准确的说法是ACT在简单/中等复杂度任务上性价比更高DP在复杂/多模态任务上是唯一能工作的选择。大部分实验室论文里ACT看起来好是因为他们挑的任务本来就不难。你用UMI做真实操作DP不是overkill是刚好够用。回到你们项目你们选DP我猜不只是因为UMI生态大概率是因为实际测试中发现ACT搞不定你们的多峰case。如果是这样的话那DP就不是可选的最优解而是必须。除非你确认了下面两个条件都成立否则别动你们所有任务里给定观测后合理动作基本唯一推理延迟已经成了实际瓶颈而不是觉得慢两个条件缺一个DP都该留着。