Hana's Blog
TwinBrainVLA 论文精读:冻结通用大脑的双流 VLABlur image
Arxiv ID 2601.14133
幻觉翻译 2601.14133
publication pending

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】

  1. 用 POPE、SEED-Bench、ScienceQA 和 MME 追踪 VLA 微调过程,展示只用机器人数据、甚至混入通用视觉问答数据,仍会出现严重的 catastrophic forgetting。
  2. 提出双流架构:Left Brain 始终冻结并保留通用能力,Right Brain 专门学习 sensorimotor control,并额外接收 proprioceptive state。
  3. 提出 AsyMoT:Right Brain 的 Query 同时访问自身 KV 与 Left Brain KV;Left Brain 只做自己的 self-attention,因此信息流是单向的。
  4. 在 SimplerEnv、RoboCasa、LIBERO 和 Franka Research 3 实验中验证 OOD 泛化,并通过 freezing、交互频率和 twin-to-one distillation 做补充分析。
TwinBrainVLA 双脑架构(官方代码仓库)

2. 背景与相关工作#

【Paper】 VLA 的吸引力在于把互联网规模 VLM 的语义先验迁移到机器人:模型应该能识别未见过的物体、理解组合指令,并把这些知识用于长时域规划。但机器人数据的目标是精确预测低层动作,和 VLM 预训练的语言/视觉目标并不一致。直接最小化 action loss 会把 backbone 推向窄域 controller,牺牲原本的 generalist brain。

论文对比了三类缓解思路:混入通用 QA 数据的 co-training、加入 Chain-of-Thought 的 VLA,以及通过数据工程避免视觉 shortcut。TwinBrainVLA 的取舍是结构性隔离:不要求每轮微调都重新维护通用数据,而是保留一份永不被 action loss 改写的语义副本。

VLA 微调中的 catastrophic forgetting 证据(论文 Figure 2)

3. 问题定义#

【Paper】 给定多视角图像 II、语言指令 TT、机器人本体状态 ss 和示教动作序列 aa,学习一个连续控制策略:

π(at:t+HIt,T,st)\pi(a_{t:t+H}\mid I_{t}, T, s_t)

其中 HH 是 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#

TwinBrainVLA 总体架构:Left Brain、Right Brain、AsyMoT 与 Flow-Matching Action Expert(论文 Figure 3)

【Paper】 两条同构 VLM 接收图像和指令;Left Brain 只接收 (I,T)(I,T) 并冻结,Right Brain 接收 (I,T,s)(I,T,s) 并训练。每个 Transformer 层内,Right Brain 用自己的 Query 拼接两条路径的 KV 做注意力,最后将 Right Brain 表示交给 Action Expert 生成连续动作。训练与推理的具体循环分别见 4.4 和 4.5。

4.2 核心模块#

Left Brain:冻结的 Generalist#

  • 输入:视觉观测 II 与文本指令 TT
  • 输出:语义 hidden states HLH_L,以及每层的 KL,VLK_L,V_L
  • 作用:作为 semantic capability reservoir,保留 VLM 预训练的 open-world knowledge。
  • 为什么需要:如果它参与 action loss 的梯度更新,就会重新落入单流 VLA 的遗忘路径。

【Paper】 Left Brain 从训练开始到结束都保持冻结。【Code】 PhysBrainVLA.pyMoT_Qwen_VL_Interface 载入两份独立 VLM,并在 freeze_left_vlm 为真时调用 freeze_qwen_vl;前向时还对 Left Brain 的 hidden/KV 使用 detach,确保 joint attention 不把梯度传回左路。

Right Brain:带状态的 Specialist#

  • 输入:图像 II、指令 TT、proprioceptive state ss,以及代码实现中的 <|propri|><|action|> 特殊 token。
  • 中间模块:vision encoder、text tokenizer、state encoder ϕ\phi、Right VLM Transformer。
  • 输出:用于 action expert 的条件表示 HRH_R,或 action query token 的 hidden states。
  • 作用:让可训练路径专门吸收机器人动力学、embodiment 差异和动作时序。

状态编码器把关节角等状态投影到 VLM embedding 空间:

HR0=[V(I);T(T);ϕ(s)]H_R^0=[V(I);T(T);\phi(s)]

【Code】 公开的 PhysBrain 实现比论文初版更具体:Right Brain 可使用 prior/posterior 两种 action-token 排布,并引入 LLR regularization 防止模型过度依赖 Left Brain KV;这属于集成实现的扩展,不应倒推为 arXiv 论文正文的核心训练目标。

AsyMoT:单向语义桥#

【Paper】 在第 ll 层,Left Brain 只做自身注意力:

HLl+1=Attn(QLl,KLl,VLl)+FFN(HLl)H_L^{l+1}=\operatorname{Attn}(Q_L^l,K_L^l,V_L^l)+\operatorname{FFN}(H_L^l)

Right Brain 则构造:

Kjointl=[sg(KLl);KRl],Vjointl=[sg(VLl);VRl]K_{joint}^l=[\operatorname{sg}(K_L^l);K_R^l],\quad V_{joint}^l=[\operatorname{sg}(V_L^l);V_R^l]

再用 QRlQ_R^l 查询:

HRl+1=Softmax ⁣(QRlKjointldk)Vjointl+FFN(HRl)H_R^{l+1}=\operatorname{Softmax}\!\left(\frac{Q_R^lK_{joint}^{l\top}}{\sqrt{d_k}}\right)V_{joint}^l+\operatorname{FFN}(H_R^l)

它和 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 条件 HRH_R 与噪声动作 a0a_0
  • 输出:长度为 HH 的连续动作轨迹 a1a_1
  • 模块:条件 Diffusion Transformer(DiT)/ FlowmatchingActionHead
  • 作用:把离散 token 级语义转换为平滑的连续控制。

论文使用向量场回归:

Laction=Et,a0,a1[vψ(at,t,HR)(a1a0)22]\mathcal L_{action}=\mathbb E_{t,a_0,a_1}\left[\left\|v_\psi(a_t,t,H_R)-(a_1-a_0)\right\|_2^2\right]

其中 a0a_0 是高斯噪声,a1a_1 是真实动作,ata_t 是两者之间的插值,vψv_\psi 是 DiT 预测的速度场。【Analysis】 这一步把“通用语义是否被保留”和“动作轨迹如何去噪”解耦:前者由双脑表示负责,后者由 action expert 负责。

4.3 关键公式#

论文的总目标只对机器人动作优化:

Ltotal=Laction(θR,ψ,ϕ;Drobot)\mathcal L_{total}=\mathcal L_{action}(\theta_R,\psi,\phi;D_{robot})
  • θR\theta_R:Right Brain 可训练参数;
  • ψ\psi:Flow-Matching Action Expert 参数;
  • ϕ\phi:state encoder 参数;
  • DrobotD_{robot}:机器人示教数据集。

【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)。

Algorithm 1 TwinBrainVLA Training
输入:
机器人示教批次 (I,T,s,a)(I,T,s,a)、冻结的 Left Brain、可训练 Right Brain 和 Action Expert
输出:
训练后的 Right Brain、state encoder 与 flow-matching action expert
  1. Given 用同一预训练 checkpoint 初始化 Left Brain 与 Right Brain
  2. 冻结 Left Brain 参数,并对其 hidden/KV 建立 stop-gradient 路径
  3. 为 Left Brain 构造 (I,T)(I,T) 输入,为 Right Brain 构造 (I,T,s)(I,T,s) 输入
  4. 逐层计算两路 self-attention;Right Brain 的 Query 查询拼接后的 [KL;KR][K_L;K_R][VL;VR][V_L;V_R]
  5. 取 Right Brain 条件表示,采样噪声动作和时间 tt,计算 flow-matching vector-field loss
  6. 只更新 Right Brain、state encoder 与 Action Expert;重复直到收敛
  7. 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 接口。

Algorithm 2 TwinBrainVLA Inference
输入:
当前图像 ItI_t、任务指令 TT、本体状态 sts_t
输出:
连续动作 chunk at:t+Ha_{t:t+H}
  1. Left Brain 编码 (It,T)(I_t,T),缓存每层冻结的 KL,VLK_L,V_L
  2. Right Brain 编码 (It,T,st)(I_t,T,s_t),在每层用 AsyMoT 查询联合 KV
  3. 提取 Right Brain 的 action-query hidden states 作为条件 HRH_R
  4. 从高斯噪声初始化动作,运行 flow-matching/DiT 去噪过程
  5. 执行动作 chunk,并在下一观测到来后重新计算闭环策略

4.6 代码实现对照#

论文概念官方实现位置实际行为
双 VLMphysbrain_vla/PhysBrainVLA.py:MoT_Qwen_VL_Interface载入 frozen_vlmtrainable_vlm 两份模型
冻结 Left Brainphysbrainvla_conf/utils.pyfreeze_left_vlm冻结参数,前向结果 detach;可切换为不冻结做消融
AsyMoTprivate/PhysBrainVLA.py 的逐层 attention loopRight Q 查询 [frozen KV; trainable KV],默认单向
状态输入build_qwenvl_inputsembodiment_conditioned_mlp.py`<
Action ExpertstarVLA/.../GR00T_ActionHeader.pyFlowmatchingActionHead / 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 条遥操作轨迹。

RoboCasa GR1 Tabletop 的任务可视化(论文 Appendix Figure 9)

Franka Research 3 真实机器人设置(论文 Figure 4)

5.2 Main Results#

【Paper】 SimplerEnv 的平均成功率如下:

方法Qwen2.5-VL-3BQwen3-VL-4B
Vanilla VLA52.555.2
Isaac-GR00T-N1.6-Bridge57.157.1
TwinBrainVLA58.464.5

Qwen3-VL-4B 版本相对最强基线提升 +7.4+7.4 个百分点。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-DomainOODPick-All
OpenVLA7/300/300/30
π0.528/3013/302/30
Vanilla VLA22/309/300/30
TwinBrainVLA28/3015/303/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 在间隔 k=8k=8 层时为 61.9%,而完整连接为 64.5%;不过 Qwen2.5-VL-3B 在 k=1k=1、Qwen3-VL-4B 在 k=2k=2 有轻微波动优势,说明“每层交互”不是普适最优的唯一选择。

Right Brain 查询 Left Brain 语义 token 的运行时注意力图(论文 Figure 5)

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 的收益来自三个互补约束:

  1. 表示锚定:Left Brain 的参数和 KV 不被 action loss 改写,语义空间不会随窄域机器人数据漂移。
  2. 可训练专化:Right Brain 可以大胆学习状态、接触和 embodiment,而不必保护同一组参数的聊天能力。
  3. 逐层读取: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】

  1. 论文中 catastrophic forgetting 的诊断主要是 VLM benchmark 曲线,尚未建立“某个语义能力被保留”到“某个机器人 OOD 成功”的逐样本因果对应。
  2. SimplerEnv、RoboCasa 和 Franka 的提升来自不同数据与 embodiment,跨设置的统一 scaling law 仍未知;两条 VLM 还可能共享同一视觉偏差。
  3. 公开 TwinBrainVLA 仓库主要是说明与架构资产,完整训练实现转移到 PhysBrain-VLA,论文版本和集成版本之间存在 LLR、action token、embodiment conditioning 等扩展,复现实验需要仔细对齐 commit 与配置。
  4. 两份模型都执行视觉编码和 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 副本。
TwinBrainVLA 论文精读:冻结通用大脑的双流 VLA
https://agusexp25.top/en/blog/paper-deep-dive-twinbrainvla
Author 菊花花
Published at August 26, 2026