

TwinBrainVLA 论文精读:冻结通用大脑的双流 VLA
精读 TwinBrainVLA:冻结 Left Brain、训练 Right Brain,并用 AsyMoT 将通用视觉语义注入 Flow-Matching 控制器,缓解 VLA 的 catastrophic forgetting。
TwinBrainVLA 冻结一个通用 Left Brain、训练一个控制型 Right Brain,再用 AsyMoT 让后者读取前者的 KV 语义,从结构上缓解 VLA 微调造成的 catastrophic forgetting。
1. 论文概述#
论文名称:《TwinBrainVLA: Unleashing the Potential of Generalist VLMs for Embodied Tasks via Asymmetric Mixture-of-Transformers》
作者:Bin Yu、Shijie Lian、Xiaopeng Lin 等(中关村科学院、哈尔滨工业大学等)
论文链接:arXiv:2601.14133 ↗
代码链接:ZGC-EmbodyAI/TwinBrainVLA ↗
实现链接:Phys-Brain/PhysBrain-VLA ↗
一句话总结#
【Paper】 标准 VLA 把预训练 VLM 直接在机器人数据上微调,控制能力变强的同时却遗忘了开放世界视觉语义。TwinBrainVLA 复制两条同构 VLM 路径:冻结的 Left Brain 作为语义锚点,训练的 Right Brain 负责本体感知与控制;通过单向 Asymmetric Mixture-of-Transformers(AsyMoT),Right Brain 在每层注意力中查询 Left Brain 的 Key-Value,再由 Flow-Matching Action Expert 生成连续动作。
核心贡献#
【Paper】
- 用 POPE、SEED-Bench、ScienceQA 和 MME 追踪 VLA 微调过程,展示只用机器人数据、甚至混入通用视觉问答数据,仍会出现严重的 catastrophic forgetting。
- 提出双流架构:Left Brain 始终冻结并保留通用能力,Right Brain 专门学习 sensorimotor control,并额外接收 proprioceptive state。
- 提出 AsyMoT:Right Brain 的 Query 同时访问自身 KV 与 Left Brain KV;Left Brain 只做自己的 self-attention,因此信息流是单向的。
- 在 SimplerEnv、RoboCasa、LIBERO 和 Franka Research 3 实验中验证 OOD 泛化,并通过 freezing、交互频率和 twin-to-one distillation 做补充分析。
2. 背景与相关工作#
【Paper】 VLA 的吸引力在于把互联网规模 VLM 的语义先验迁移到机器人:模型应该能识别未见过的物体、理解组合指令,并把这些知识用于长时域规划。但机器人数据的目标是精确预测低层动作,和 VLM 预训练的语言/视觉目标并不一致。直接最小化 action loss 会把 backbone 推向窄域 controller,牺牲原本的 generalist brain。
论文对比了三类缓解思路:混入通用 QA 数据的 co-training、加入 Chain-of-Thought 的 VLA,以及通过数据工程避免视觉 shortcut。TwinBrainVLA 的取舍是结构性隔离:不要求每轮微调都重新维护通用数据,而是保留一份永不被 action loss 改写的语义副本。

3. 问题定义#
【Paper】 给定多视角图像 、语言指令 、机器人本体状态 和示教动作序列 ,学习一个连续控制策略:
其中 是 action horizon,动作可以包含末端位姿、夹爪或关节控制量。论文实验主要使用 Qwen2.5-VL-3B-Instruct 和 Qwen3-VL-4B-Instruct 两种 backbone;训练数据来自 OXE 的 Bridge-V2、Fractal,以及 RoboCasa 使用的 PhysicalAI-Robotics-GR00T-X-Embodiment-Sim。代码实现还支持多 embodiment 条件和 action query token。
这里的核心约束不是“如何再加一个视觉 encoder”,而是:如何在 Right Brain 专门化时,让控制策略仍能访问没有被机器人数据污染的语义表示?
4. 方法#
4.1 Overall Architecture#
【Paper】 两条同构 VLM 接收图像和指令;Left Brain 只接收 并冻结,Right Brain 接收 并训练。每个 Transformer 层内,Right Brain 用自己的 Query 拼接两条路径的 KV 做注意力,最后将 Right Brain 表示交给 Action Expert 生成连续动作。训练与推理的具体循环分别见 4.4 和 4.5。
4.2 核心模块#
Left Brain:冻结的 Generalist#
- 输入:视觉观测 与文本指令 。
- 输出:语义 hidden states ,以及每层的 。
- 作用:作为 semantic capability reservoir,保留 VLM 预训练的 open-world knowledge。
- 为什么需要:如果它参与 action loss 的梯度更新,就会重新落入单流 VLA 的遗忘路径。
【Paper】 Left Brain 从训练开始到结束都保持冻结。【Code】 PhysBrainVLA.py 的 MoT_Qwen_VL_Interface 载入两份独立 VLM,并在 freeze_left_vlm 为真时调用 freeze_qwen_vl;前向时还对 Left Brain 的 hidden/KV 使用 detach,确保 joint attention 不把梯度传回左路。
Right Brain:带状态的 Specialist#
- 输入:图像 、指令 、proprioceptive state ,以及代码实现中的
<|propri|>、<|action|>特殊 token。 - 中间模块:vision encoder、text tokenizer、state encoder 、Right VLM Transformer。
- 输出:用于 action expert 的条件表示 ,或 action query token 的 hidden states。
- 作用:让可训练路径专门吸收机器人动力学、embodiment 差异和动作时序。
状态编码器把关节角等状态投影到 VLM embedding 空间:
【Code】 公开的 PhysBrain 实现比论文初版更具体:Right Brain 可使用 prior/posterior 两种 action-token 排布,并引入 LLR regularization 防止模型过度依赖 Left Brain KV;这属于集成实现的扩展,不应倒推为 arXiv 论文正文的核心训练目标。
AsyMoT:单向语义桥#
【Paper】 在第 层,Left Brain 只做自身注意力:
Right Brain 则构造:
再用 查询:
它和 Cross-Attention 的差别是:Cross-Attention 的 Query 通常只能看另一路 KV;AsyMoT 让 Right Brain 同时看 Left Brain 和自己的上下文,因此既能读取语义锚点,又不会丢掉本体状态与动作 token 的局部信息。
【Code】 private/PhysBrainVLA.py 在每一层分别投影两路 QKV,并以 torch.cat([f_k, t_k], dim=2)、torch.cat([f_v, t_v], dim=2) 构造联合 KV;mot_attention_mode='unidirectional' 时 frozen stream 只看自身,trainable stream 看联合 KV。代码还实现了 full_joint 作为消融/兼容模式。
Flow-Matching Action Expert#
- 输入:Right Brain 条件 与噪声动作 。
- 输出:长度为 的连续动作轨迹 。
- 模块:条件 Diffusion Transformer(DiT)/
FlowmatchingActionHead。 - 作用:把离散 token 级语义转换为平滑的连续控制。
论文使用向量场回归:
其中 是高斯噪声, 是真实动作, 是两者之间的插值, 是 DiT 预测的速度场。【Analysis】 这一步把“通用语义是否被保留”和“动作轨迹如何去噪”解耦:前者由双脑表示负责,后者由 action expert 负责。
4.3 关键公式#
论文的总目标只对机器人动作优化:
- :Right Brain 可训练参数;
- :Flow-Matching Action Expert 参数;
- :state encoder 参数;
- :机器人示教数据集。
【Paper】 与单流 VLA 的关键差异是,action loss 不需要直接约束 Left Brain;冻结本身就是保持语义能力的结构先验。【Analysis】 这会把优化问题变成“允许右脑遗忘、但禁止整个系统失去语义锚点”,而不是要求一组参数同时满足两个相互冲突的目标。
4.4 Training#
【Paper】 SimplerEnv 使用 OXE Bridge-V2 与 Fractal 子集;RoboCasa 使用 Humanoid Tabletop Manipulation 数据。实验训练基于 starVLA,使用 16 张 NVIDIA H100,并保持两条 VLM 以相同预训练权重初始化。Left Brain 不更新,Right Brain、state encoder 和 action expert 由 flow-matching action loss 更新。
【Code】 官方 TwinBrainVLA 仓库目前主要提供 README 和架构资产,完整可运行的模型逻辑在 PhysBrain-VLA 的 physbrain_vla/PhysBrainVLA.py;代码实际会加载两份 VLM,显存成本近似翻倍,并支持 Qwen2.5-VL、Qwen3-VL(以及集成分支中的 Qwen3.5)。
- Given 用同一预训练 checkpoint 初始化 Left Brain 与 Right Brain
- 冻结 Left Brain 参数,并对其 hidden/KV 建立 stop-gradient 路径
- 为 Left Brain 构造 输入,为 Right Brain 构造 输入
- 逐层计算两路 self-attention;Right Brain 的 Query 查询拼接后的 、
- 取 Right Brain 条件表示,采样噪声动作和时间 ,计算 flow-matching vector-field loss
- 只更新 Right Brain、state encoder 与 Action Expert;重复直到收敛
- return 得到可用于连续控制的 TwinBrainVLA policy
4.5 Inference#
【Paper】 推理时不需要 CVAE 或额外语义数据:机器人读取图像、指令和状态,Left Brain 产生冻结的语义 KV,Right Brain 通过 AsyMoT 查询它们,Action Expert 从噪声动作开始沿 learned vector field 去噪,输出一个连续动作 chunk,再交给底层控制器执行。
【Code】 PhysBrain 实现会定位 <|action|> query token 的 hidden states 作为 action head 条件,并支持按 embodiment id 注入机器人类型;这说明公开实现已经把论文中的“状态条件”落实为具体 token/embedding 接口。
- Left Brain 编码 ,缓存每层冻结的
- Right Brain 编码 ,在每层用 AsyMoT 查询联合 KV
- 提取 Right Brain 的 action-query hidden states 作为条件
- 从高斯噪声初始化动作,运行 flow-matching/DiT 去噪过程
- 执行动作 chunk,并在下一观测到来后重新计算闭环策略
4.6 代码实现对照#
| 论文概念 | 官方实现位置 | 实际行为 |
|---|---|---|
| 双 VLM | physbrain_vla/PhysBrainVLA.py:MoT_Qwen_VL_Interface | 载入 frozen_vlm 与 trainable_vlm 两份模型 |
| 冻结 Left Brain | physbrainvla_conf/utils.py、freeze_left_vlm | 冻结参数,前向结果 detach;可切换为不冻结做消融 |
| AsyMoT | private/PhysBrainVLA.py 的逐层 attention loop | Right Q 查询 [frozen KV; trainable KV],默认单向 |
| 状态输入 | build_qwenvl_inputs、embodiment_conditioned_mlp.py | `< |
| Action Expert | starVLA/.../GR00T_ActionHeader.py | FlowmatchingActionHead / DiT 负责连续动作 |
| 训练与部署 | deployment/、README.md | 仓库 README 称 TwinBrainVLA 已集成到 PhysBrain 1.0;原始论文仓库本身没有独立训练脚本 |
5. 实验#
5.1 Experimental Setup#
【Paper】 主要指标是独立试验的平均成功率:SimplerEnv 每个任务 Avg@480,RoboCasa 每个任务 50 次,真实 Franka 任务每个设置 30 次。SimplerEnv 包含 WidowX 的四个 OOD 操作;RoboCasa GR1 Tabletop 包含 24 个带铰接物体的操作任务;真实实验使用 Franka Research 3,训练 300 条遥操作轨迹。


5.2 Main Results#
【Paper】 SimplerEnv 的平均成功率如下:
| 方法 | Qwen2.5-VL-3B | Qwen3-VL-4B |
|---|---|---|
| Vanilla VLA | 52.5 | 55.2 |
| Isaac-GR00T-N1.6-Bridge | 57.1 | 57.1 |
| TwinBrainVLA | 58.4 | 64.5 |
Qwen3-VL-4B 版本相对最强基线提升 个百分点。RoboCasa 24 任务平均成功率为 Qwen2.5-VL-3B 53.5%、Qwen3-VL-4B 54.6%,高于 Isaac-GR00T-N1.6 的 47.6%、QwenGR00T 的 47.8% 和 QwenPI 的 43.9%。LIBERO 四个 suite 合并训练时,TwinBrainVLA 达到 97.6% 平均成功率。
真实 Franka 结果也体现 OOD 差异:
| 方法 | In-Domain | OOD | Pick-All |
|---|---|---|---|
| OpenVLA | 7/30 | 0/30 | 0/30 |
| π0.5 | 28/30 | 13/30 | 2/30 |
| Vanilla VLA | 22/30 | 9/30 | 0/30 |
| TwinBrainVLA | 28/30 | 15/30 | 3/30 |
【Analysis】 绝对收益在 In-Domain 上并不夸张,主要差异出现在改变颜色的 OOD 和 Pick-All 长时域任务;这和论文“保留通用语义”的动机是相符的,但仍不能据此断言它已经解决了开放世界泛化。
5.3 Ablation Study#
【Paper】 去掉冻结策略(让 Left Brain 也训练)后,Qwen3-VL-4B 在 SimplerEnv 的平均成功率从 64.5% 降至 58.8%,约下降 5.7 个百分点;论文正文将其概括为约 7% 的下降。去掉 Left Brain 和跨脑连接后退化为 Vanilla VLA,平均性能约下降 7 个百分点。
AsyMoT 交互频率的消融显示,过度稀疏的跨脑连接会损害性能:Qwen3-VL-4B 在间隔 层时为 61.9%,而完整连接为 64.5%;不过 Qwen2.5-VL-3B 在 、Qwen3-VL-4B 在 有轻微波动优势,说明“每层交互”不是普适最优的唯一选择。

5.4 Generalization#
【Paper】 论文的泛化证据来自三个层次:SimplerEnv 的 OOD 场景、LIBERO 跨 suite 合并训练、以及真实 Franka 中改变颜色并要求 Pick-All。另一个补充实验是 twin-to-one distillation:用 TwinBrainVLA 作为 teacher,把语义增强的 Right Brain 表示蒸馏给单流 student,平均成功率从 Vanilla VLA 的 55.2% 提升到 58.4%,但仍低于 teacher 的 64.5%。
6. 方法分析#
6.1 为什么有效?#
【Analysis】 TwinBrainVLA 的收益来自三个互补约束:
- 表示锚定:Left Brain 的参数和 KV 不被 action loss 改写,语义空间不会随窄域机器人数据漂移。
- 可训练专化:Right Brain 可以大胆学习状态、接触和 embodiment,而不必保护同一组参数的聊天能力。
- 逐层读取:AsyMoT 不是只在末端拼接一个视觉特征,而是在每个 Transformer block 让控制流按 Query 选择需要的语义 token。
6.2 核心创新#
【Paper】 真正的创新不是简单复制 VLM,而是把“语义保持”从正则项变成网络拓扑:单向联合 KV、stop-gradient 和独立参数共同形成不对称的信息流。Flow Matching 则沿用当前 VLA 常见的连续动作生成范式。
6.3 与已有方法的本质区别#
| 路线 | 防遗忘方式 | 代价 |
|---|---|---|
| Co-training | 混入通用 QA 数据 | 数据配比、标注和任务冲突难以控制 |
| CoT-VLA | 让模型学习显式推理链 | 需要昂贵的 embodied CoT 标注 |
| TwinBrainVLA | 结构性冻结语义副本,并让控制流查询它 | 多一份 VLM 的显存与推理计算 |
【Analysis】 这是一种“用算力换数据工程”的设计:它把防遗忘的维护成本从数据侧转移到了模型侧。
6.4 关键假设#
- 两条 VLM 以相同 checkpoint 初始化后,Left/Right hidden space 足够对齐,联合 KV 才有意义。
- 预训练 VLM 已经包含与机器人任务相关的物体、空间和指令语义;瓶颈主要在控制适配而非知识缺失。
- Right Brain 的 Query 能学会选择 Left Brain 中有用的 token,而不是把跨脑连接当作捷径。
- 双倍 backbone 的计算开销在训练和部署预算内可接受。
7. 局限性#
7.1 作者明确提出的局限#
【Paper】 第一,双 VLM 导致训练和部署成本显著高于单流 VLA;论文承认这是效率上的主要限制。第二,AsyMoT 虽然让 Right Brain 读取通用能力,但“如何把高层语义无缝融合进低层策略”仍未完全解决,作者将更深层的 semantic fusion 列为未来工作。
7.2 自己分析得到的局限#
【Analysis】
- 论文中 catastrophic forgetting 的诊断主要是 VLM benchmark 曲线,尚未建立“某个语义能力被保留”到“某个机器人 OOD 成功”的逐样本因果对应。
- SimplerEnv、RoboCasa 和 Franka 的提升来自不同数据与 embodiment,跨设置的统一 scaling law 仍未知;两条 VLM 还可能共享同一视觉偏差。
- 公开 TwinBrainVLA 仓库主要是说明与架构资产,完整训练实现转移到 PhysBrain-VLA,论文版本和集成版本之间存在 LLR、action token、embodiment conditioning 等扩展,复现实验需要仔细对齐 commit 与配置。
- 两份模型都执行视觉编码和 Transformer 计算,部署时延、显存和能耗可能抵消部分泛化收益;twin-to-one 只展示了初步蒸馏结果。
8. 启发与研究思考#
【Analysis】 TwinBrainVLA 提供了一个值得继续追问的抽象:VLA 是否应该把“知识保持”和“控制专化”设计成两个不同的生命周期?从这个视角出发,可以探索:
- 用低秩 adapter 或 KV cache 压缩 Left Brain,降低双流部署成本;
- 让跨脑连接按任务、层或 token 动态稀疏,而不是固定每层连接;
- 用语义一致性、空间问答和动作成功率的联合评估,测量哪些 general capabilities 真正转化成 control gains;
- 将 twin-to-one distillation 变成持续蒸馏,让单流 student 在新 embodiment 上继承冻结语义锚点;
- 把 Left Brain 扩展为可检索的多专家 memory,而不是一份固定 VLM 副本。