实训营第 3 课开讲:从数据到策略,机器人终于开始“自己学会动手”

Xbot具身知识库 2026-06-29 12:30

点击下方卡片,关注【Xbotics具身智能实验室】公众号


你想要的这里都有~~



前两课我们聊了两件事:第一课,搞懂了VLA是什么——机器人不光要看见、听懂,还得看着画面直接生成动作。第二课,拆开了数据这回事——机器人训练用的不是普通视频,而是一帧帧对齐好的“看到什么,就该做什么”的配对数据。

到了第3课,数据已经备好,该让机器人真正开始学习了。

从这一课开始,机器人不再是被人遥控的提线木偶,它要学着:看到当前画面,自己预测下一步该怎么动。

这节课的主角叫ACT。

全称Action Chunking with Transformers,翻译过来就是“用Transformer一次预测一小段动作”。它不是最大最强的模型,但它特别适合帮你理解一件核心事情:机器人的操作策略,到底是怎么从数据里学出来的。


实训营第 3 课开讲:从数据到策略,机器人终于开始“自己学会动手”图1

一、最直接的想法,为什么行不通?

还记得第2课说的吗?模仿学习的数据,本质上就是一堆“看到什么→该做什么”的配对。

那最直接的想法来了:训练一个模型,输入当前看到的画面,输出当前该做的动作。这叫行为克隆,听起来特别合理。专家在这一帧怎么动的,模型就学着怎么动;专家下一帧又怎么动,模型继续学。数据够多,是不是就能像专家一样完成任务?

很遗憾,机器人没这么简单。


实训营第 3 课开讲:从数据到策略,机器人终于开始“自己学会动手”图2

因为机器人不是在考卷上答题,而是在真实环境里一步步行动。图像分类模型认错一张猫狗图片,不会影响下一张图片长什么样。但机器人动作只要错一步,下一帧世界就真的变了。

举个例子:机械臂本来该向左偏一点去靠近工件,模型却向右多动了一点。这个偏差看着很小,但下一帧相机里,夹爪的位置已经和专家示范的不一样了。模型接下来看到的是一个它从没见过的陌生状态,在这个陌生状态下继续预测动作,更容易出错。新的错误又导致下一帧偏得更厉害。一层层滚下去,小偏差就变成大翻车。

这就是行为克隆的第一个致命问题:误差累积。

很多同学第一次训练机器人模型都会遇到同样的怪事:训练曲线很漂亮,回放看着也像学会了,但一到真机推理,机器人就开始抖、漂、抓偏,最后完全跑偏。这不是模型完全没学会,而是它只学会了在专家轨迹附近行动,一旦自己走偏了,就不知道怎么把自己拉回来。

还有第二个更隐蔽的问题:多模态动作。

什么叫多模态?就是同一个场景下,可能有多种做法都合理。桌上有个工件,专家示范里,有人从左边绕过去抓,有人从右边绕过去抓。两条路都对。

但如果模型用普通的回归方法去学,它会怎么做?它会把所有示范平均一下,取个中间值。左边路线是对的,右边路线也是对的,但左右平均出来的中间路线,可能撞到物体上,夹爪姿态不对,方向完全不合理。

机器人不是选择题考试,把两个正确答案平均一下不等于另一个正确答案。这就是行为克隆的第二个死穴:多种合理做法会被平均成一个错误做法。

ACT就是冲着解决这两个问题来的。

二、ACT第一招:别一步一猜,一次预测一小段

ACT的第一个绝招,叫Action Chunking,动作分块,专门对付误差累积。


实训营第 3 课开讲:从数据到策略,机器人终于开始“自己学会动手”图3


朴素行为克隆是一帧预测一步,下一帧再预测下一步。每一步都要重新判断,每一步都有机会犯错,而且错误越滚越大。

ACT换了个思路:别只预测下一步,一次预测未来一小段动作。

在我们要用的GHRC训练里,会让ACT一次预测50步动作。数据是每秒30帧,50步大概对应1.6秒的动作片段。这意味着模型不是在回答“下一步怎么动”,而是在回答“接下来这一小段该怎么完成”。

就像人开车。你不会每前进一厘米都重新想一遍方向盘该打多少度,而是看前面一小段路,形成个短时计划,然后稳定执行,过一会儿再重新观察、重新修正。机器人也一样。一次预测一段动作,可以减少每一步临时决策带来的抖动,也能降低误差滚雪球的速度。模型从“单步反应”升级成了“短时规划”。

执行完这一段,再重新观察、重新预测。对于抓取、装配、分拣这类操作任务,这种短时动作块往往比单步动作更平滑,也更接近人的操作节奏。

三、ACT第二招:记住“这次用的是哪种做法”

第二个绝招叫条件变分自编码器,名字听着吓人,其实思路很巧妙,专门解决多模态动作问题。


实训营第 3 课开讲:从数据到策略,机器人终于开始“自己学会动手”图4


刚才说了,同一个场景可能有多种合理做法,模型不能把它们简单平均。它需要知道:这一次示范,到底属于哪种操作风格?是从左边接近,还是右边?是先抬高再下探,还是贴着桌面靠近?

ACT用一个叫“隐变量”的东西来表达这种风格,记作z。你可以把z理解成一段动作背后的“风格标签”或“模式编码”。

训练的时候,模型能看到专家到底是怎么做的。所以ACT左边有一个编码器,会根据真实的动作序列推断出一个z,代表这段示范属于哪种操作模式。然后右边的Transformer主干把当前图像、机器人状态和这个z放在一起,生成未来一段动作。

这样模型学到的就不是单一的平均动作,而是:在当前场景下,如果选择某一种操作模式,应该生成怎样的动作序列。它保留了示范数据里的多样性,而不是把所有示范压扁成一个模糊的中间答案。

四、训练和推理,左右分工不同

ACT的结构可以粗略理解成左右两块。


实训营第 3 课开讲:从数据到策略,机器人终于开始“自己学会动手”图5


训练时,两块一起转。左边编码器看着真实发生的动作,提取出一个风格标签z;右边Transformer读取相机画面、机器人状态和z,预测未来动作。训练目标也很直接:预测动作要尽量接近真实动作,同时z的分布要规整,不能乱。

推理时,只留右边。因为真实任务没有标准答案可以参考,左边编码器没法运行。ACT的做法很干脆:丢掉左边,直接让z等于0。

为什么是0?因为训练时我们一直在把z的分布往标准正态分布(中心是0)上拉。z=0就相当于选择一个最稳定、最主流、最可复现的操作风格。机器人不会每次随机选一种风格,而是固定走一个可靠策略。这对真机部署非常重要——真正上场时,稳定和可复现往往比多样性更重要。

五、ACT怎么吃Walker S2的数据?

讲完原理,咱们落到这次实训营的数据上:GHRC Walker S2仿真数据。


实训营第 3 课开讲:从数据到策略,机器人终于开始“自己学会动手”图6


第2课介绍过,这个数据集包含四个任务,咱们以“工件桌面分拣”为例。每一帧数据包含4路RGB相机:头部左、头部右、左腕、右腕。头部相机看全局,理解桌面、工件和机器人的整体关系;手腕相机看近处细节,接近物体时特别关键。

除了图像,还有48维的本体状态,描述机器人自身关节等信息。动作是20维,包括双臂关节、夹爪控制等。ACT的输入输出刚好对上:4路相机图像进视觉编码器,48维状态作为状态输入,Transformer主干融合一切,解码器一次输出未来50步,每一步都是20维动作。

因为数据格式统一,同一个ACT训练代码就能读不同机器人的数据,不需要每次重写一套。这对教学和工程复现都非常重要。

六、训练命令不是玄学,是可解释的参数

ACT的训练入口是一条命令。初学者一看,哇,参数好多。其实拆开就三类:

第一类,数据从哪来。指定数据集路径、视频解码方式等,回答“读哪份数据”。

第二类,训练什么策略。policy.type=act指定训练ACT,chunk_size=50表示一次预测50步,还有Transformer的隐藏维度、注意力头数等,回答“模型长什么样、动作块多长”。

第三类,训练怎么跑。batch_size多大、训练多少步、多久存一次模型、日志怎么打、结果存哪、开不开混合精度加速,回答“训练过程怎么管理”。

实训营第 3 课开讲:从数据到策略,机器人终于开始“自己学会动手”图7

训练不是一串神秘咒语,而是一份实验配置。chunk_size决定动作块长度,batch_size受显存限制也影响稳定性,模型保存频率决定后续能不能回退分析。这些细节,做项目时往往就是能不能复现实验、定位问题的关键。

七、训练跑起来,看什么?

命令发出后,很多同学第一反应是盯着loss看。这没错,但远远不够。


实训营第 3 课开讲:从数据到策略,机器人终于开始“自己学会动手”图8


首先确认两件事:loss在下降,说明模型确实在学数据里的动作模式,预测动作和真实动作越来越接近;模型定期保存,每个checkpoint都是后续推理、恢复训练、效果分析的依据。没有checkpoint,训练就像看了一场烟花,热闹完什么都没留下。

但这里必须敲黑板:loss在降,不代表任务成功。

这是机器人训练最重要的认知之一。模型预测动作更接近数据集里的动作,不等于机器人真机执行就能完成任务。夹爪早闭了一点点,抓取可能就失败;末端位姿偏了一点点,装配可能就卡住;轨迹看着像,但关键时刻慢了半拍,分拣就错过了目标。

所以第3课的目标不是宣布“模型成功了”,而是把训练链路跑通:数据能读、模型能训、loss能降、checkpoint能保存、参数能解释、训练记录能留下。真正判断策略好不好,要到第4课。

八、训练前最容易被忽略的一步

很多同学觉得训练就是把命令跑起来。但机器人训练里,最影响结果又最容易忽略的,是训练前的数据检查。


实训营第 3 课开讲:从数据到策略,机器人终于开始“自己学会动手”图9


即使数据集质量不错,开训前也该做几件事:确认格式完整,数据、视频、元信息三件套齐全;随机抽查几个任务片段,看相机画面是否正常,有没有黑屏、卡顿,状态和动作数据是否连续;剔除明显失败的、动作异常的片段——机器人模型非常诚实,脏数据喂进去,它就把错误也学进去。

最后,记录一切。用了哪个数据集、哪些超参、batch_size多大、chunk_size多长、训练了多少步、模型存在哪里。因为第4课做效果分析时你会发现:没有实验记录,就没有复盘能力。很多时候模型变好或变坏,不是玄学,而是某个数据版本、某个参数、某个checkpoint不一样。

工程能力,就是把这些变化记录清楚、对比清楚、解释清楚。

九、下一课预告:loss很低,为什么机器人还是失败?

第3课,我们把训练这台机器转起来了。ACT用动作分块压住误差累积,用隐变量表达多种合理做法,在Walker S2数据上跑起了训练。我们能看loss下降,能看到模型保存,也知道每个参数在控制什么。

但真正的难题往往在下一步:loss已经很低,为什么任务还是做不成?推理时机器人为什么会抖?夹爪为什么闭早了?目标位姿为什么偏了?动作看起来像专家,为什么就是抓不到?

是模型问题还是数据问题?是训练不够还是数据覆盖不够?是相机视角不够还是动作标签本身有问题?


实训营第 3 课开讲:从数据到策略,机器人终于开始“自己学会动手”图10


第4课将进入训练效果分析与迁移。我们会从成功和失败的视频里读问题,理解如何从loss走向成功率,从checkpoint走向真实任务表现。这也是机器人算法工程师最核心的能力之一:不是把模型训完,而是看懂它为什么失败,并一步步把成功率做上去。

真正的机器人训练,从来不是跑通命令那么简单。它是一场围绕数据、模型、动作、环境和失败案例的持续迭代。

第3课,我们让模型开始学习。第4课,我们开始学会判断它到底学得怎么样。




-END-

Ask Me Anything|提问箱

对文章有疑惑,或想聊更深?欢迎把你的问题丢给我们:技术方案、实操踩坑、课程与资料、项目合作、职业发展,都可以问。

怎么问:在评论区留言,或私信公众号

我们会做什么:每周集中整理高质量问题并公开回复,重点问题邀请作者或嘉宾深度解答;典型问题会加入知识库并持续更新。

提问小提示:尽量说明「你的目标—当前做法—期望产出」,附上必要信息(硬件/软件版本、数据规模等),能更快获得有用答案。

一起把问题变成知识,推动社区进步 🚀

声明:内容取材于网络,仅代表作者观点,如有内容违规问题,请联系处理。 
机器人
more
广汽集团计划打造万台级人形机器人产线;贾跃亭进军工业级机器人,首发三款机型可现货交付 | 市场观察
特斯拉中国车机将接入豆包/OpenAI首款芯片发布,AI参与设计/宇树R1机器人降价
法拉第未来推出“全美首款工业级轮臂机器人”Faber
具身数据采集产业链调查:被机器人采集的人|甲子光年
累计亏损10亿港元!达闼持股的机器人发布业绩报告
这家公司用游戏训练机器人,估值 23 亿美元
“成都造”手术机器人重大突破|在成都创未来
【展商推荐】博歌科技:专业机器人综合解决方案供应商
湖南工业具身智能机器人研发商,完成亿元级融资!
在家上班,我的老板是机器人
Copyright © 2025 成都区角科技有限公司
蜀ICP备2025143415号-1
  
川公网安备51015602001305号