一、ACT模型概述:从模仿到自主的决策之路

大家好,我是你们这门课的主讲。今天咱们聊聊ACT模型。

说实话,我第一次接触ACT模型是在一个机器人抓取项目里。当时团队试了好几种方法,效果都不太理想。后来我翻到一篇论文,看到这个叫「Action Chunking with Transformers」的东西,心里想:这名字挺长,但思路倒是很直接。

嗯,咱们就从这里开始。

什么是ACT模型?

ACT,全称是 Action Chunking with Transformers。翻译过来就是「用Transformer做动作分块」。

你可能会问:什么叫动作分块?

举个例子。你拿起一杯水,这个动作看起来是一气呵成的。但如果你让机器人来做,传统方法是一帧一帧地规划——先抬手5厘米,再前移10厘米,再张开手指……每一步都要重新计算。这样做的后果是什么?动作僵硬、反应慢、还容易出错。

ACT模型的做法不一样。它一次性预测未来一段时间的动作序列,比如接下来0.5秒内的所有关节角度。这就是「动作分块」的核心思想——把连续动作打包成一个块,一次性输出

核心定义:ACT模型是一种基于Transformer架构的模仿学习模型。它通过观测当前状态,直接输出未来一段时间的动作序列,而不是逐帧预测。

ACT模型的核心思想

说白了,ACT模型就三个关键词:

  1. 动作分块(Action Chunking):一次性预测多个时间步的动作,而不是逐帧预测。这能大幅减少推理次数,提升响应速度。
  2. Transformer编码器-解码器结构:用Transformer处理观测序列,用解码器生成动作序列。这个结构擅长捕捉长距离依赖关系。
  3. 条件变分自编码器(CVAE):引入随机隐变量,让模型能生成多样化的动作。同一个场景,可以有多种合理的执行方式。

我记得第一次在机器人上跑通ACT模型时,最让我惊讶的是它的平滑性。传统方法输出的动作经常抖得像帕金森,但ACT输出的轨迹非常自然。为什么?因为它一次性看了未来好几步,相当于有了「全局视野」。

个人经验:我在项目中遇到过一个问题——动作块大小怎么选?块太小,失去了分块的意义;块太大,模型预测不准。我建议从50ms到200ms之间尝试,具体取决于你的控制频率和任务复杂度。

ACT模型的应用场景

ACT模型不是万能的,但在某些场景下确实很能打。

应用领域 典型任务 为什么用ACT
机器人操作 抓取、组装、插拔 动作平滑、抗干扰、可学习复杂轨迹
自动驾驶 路径规划、换道决策 一次性输出未来轨迹,减少延迟
人机协作 手势识别、动作预测 能预测人类意图,提前响应
游戏AI 角色控制、策略生成 生成连续动作序列,更像人类操作

你想想看,自动驾驶里如果每帧都重新规划路径,那延迟得多高?ACT模型一次性输出未来几秒的轨迹,控制器直接跟踪就行。这就是它的优势。

避坑指南:我曾经在一个高精度装配任务里用ACT模型,结果发现它对传感器噪声特别敏感。后来加了数据增强和滤波,才稳定下来。所以,如果你的传感器质量一般,记得在训练时加入噪声模拟。

课程整体路线图

这门课一共30章,咱们会一步步从理论走到实战。下面是整体路线:

课程整体路线图 阶段一:基础理论 第1-5章 阶段二:模型训练 第6-12章 阶段三:嵌入式部署 第13-22章 实战 第23-30章 包含内容 ACT模型原理 Transformer基础 模仿学习入门 包含内容 数据采集与处理 模型训练与调优 CVAE训练技巧 包含内容 模型量化与剪枝 ONNX/TensorRT 嵌入式平台适配 完整 项目 实战 从理论到部署,完整覆盖ACT模型全流程 第1周 第3周 第6周 第8周

整个课程分四个阶段:

  • 阶段一(第1-5章):打好理论基础。我们会深入ACT模型的数学原理、Transformer结构、CVAE的工作机制。嗯,这部分可能有点枯燥,但这是地基,地基不牢,后面全白搭。
  • 阶段二(第6-12章):动手训练模型。从数据采集、预处理,到训练配置、调参技巧,再到模型评估。我会分享一些我在实际项目中踩过的坑,比如数据不平衡怎么处理、学习率怎么调。
  • 阶段三(第13-22章):嵌入式部署。这是这门课的特色。我们会把训练好的模型压缩、量化,然后部署到Jetson、树莓派、甚至MCU上。说实话,这部分内容市面上很少见,是我多年嵌入式经验的总结。
  • 阶段四(第23-30章):实战项目。我们会做两个完整的项目:一个机械臂抓取系统,一个自动驾驶仿真。从数据采集到部署运行,全流程走一遍。

学习建议:我建议你每章都动手写代码,不要只看不练。ACT模型这东西,光看论文是学不会的。你亲手训练一个模型,再把它部署到板子上跑起来,那种成就感,嗯,比看十篇论文都强。

好了,第一章就到这里。咱们下一章见。


公众号:蓝海资料掘金营,微信deep3321