ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

051、Gato多模态多任务通才:一个模型处理多域任务的架构设计

051、Gato多模态多任务通才:一个模型处理多域任务的架构设计 051、Gato多模态多任务通才:一个模型处理多域任务的架构设计调试机器人策略的时候,我经常被一个问题卡住——视觉编码器、语言编码器、动作头各自为政,参数规模翻了三倍,性能却像被什么东西拽住了腿。后来翻到DeepMind那篇Gato论文,突然意识到自己一直在用“拼接思维”做多模态,而人家用的是“统一序列”思维。这篇笔记就聊聊Gato的架构设计,以及我在复现过程中踩过的那些坑。从一次失败的“多模态缝合”说起去年做桌面抓取任务,我尝试把CLIP的视觉特征和BERT的文本特征拼在一起,再接一个MLP输出关节角度。训练时loss降得挺漂亮,一到真实机器人上就露馅——换个背景光照,抓取成功率直接腰斩。问题出在哪?两个预训练编码器的特征空间压根不对齐,拼接层学到的只是表面关联,不是真正的跨模态理解。Gato给我的第一个冲击是:它把所有输入都token化,扔进同一个Transformer序列。图像不是走独立CNN分支,而是切成patch变成token;文本就是BPE token;机器人关节状态和动作也变成离散token。整个模型只有一个主干网络,没有所谓的“多模态融合层”——融合发生在自注意力机制内部,发生在每个token与其他所有token的交互过程中。序列统一:把世界变成一行行token具体怎么做?图像输入先过一个小型ViT(patch size 16×16),每个patch映射成一个512维向量,加上位置编码。文本用SentencePiece分词,同样映射到512维。机器人本体感受(关节角度、夹爪状态)和动作指令,则通过一个线性层投影到同一维度
返回列表