公司动态
052、RoboCat自改进多任务智能体:自我生成数据的迭代提升机制
052、RoboCat自改进多任务智能体:自我生成数据的迭代提升机制昨晚调模型调到凌晨两点,盯着tensorboard上那条死活不降的loss曲线,突然想起RoboCat论文里那句“self-improvement”的描述——人家模型能自己生成数据自己训练自己,我这边连个机械臂抓取都还在过拟合。说实话,第一次读RoboCat的时候我是不信的,一个模型自己生成数据自己学,这不就是循环套娃吗?直到自己动手复现了简化版,才明白这里面的门道远比想象中深。先说说我踩的第一个坑。当时想当然地认为RoboCat的核心就是“用模型生成的数据训练模型”,于是直接拿一个训练好的策略去 rollout,把采集到的轨迹丢回训练集,然后接着训练。结果跑了三天,策略不仅没提升,反而把之前学到的抓取技能都给忘了。后来仔细读代码才发现,RoboCat的自我改进机制有一个关键前提:生成数据的模型必须足够多样,而且数据筛选要严格。不是所有自生成数据都能用,那些成功率低的轨迹、那些动作序列混乱的样本,喂进去就是毒药。RoboCat的架构拆开来看其实不复杂,但每个部件之间的配合很精巧。它本质上是一个基于Transformer的序列模型,输入是连续的图像帧加上文本指令,输出是离散化的动作token。这里有个细节值得注意:动作不是连续回归出来的,而是像语言模型一样做token预测。我当时不理解为什么要这么做,直到自己实现时发现,离散化动作空间天然适合用交叉熵训练,而且多任务学习时不同任务的动作分布差异可以通过tokenization统一起来。数据生成这块是RoboCat最核心的创新。它用了一个“自举”的流程:先用少量人工演示数据训练一个初始模型,然后用这