3. 视觉编码器:CNN、ViT、CLIP等视觉特征提取方法及其在VLA中的应用
视觉编码器是VLA(Vision-Language-Action)模型的“眼睛”,负责将原始像素转换为可供语言模型和动作策略理解的高维语义特征。在VLA系统中,视觉编码器的质量直接决定了机器人对物体位置、空间关系、状态变化以及任务指令中视觉指代的理解能力。本章将系统梳理从经典CNN到现代ViT,再到多模态预训练模型CLIP的演进脉络,并深入分析它们在VLA架构中的具体接入方式、训练策略与工程约束。
3.1 从CNN到ViT:视觉特征提取的范式转移
核心原理:卷积神经网络(CNN)通过局部感受野和权值共享机制,天然具备平移等变性,能够高效提取图像的纹理、边缘和局部结构特征。在VLA早期工作中,ResNet-50或EfficientNet作为视觉骨干,输出空间特征图(如14×14×2048),再通过全局平均池化或区域池化转换为向量。然而,CNN的局部性限制了其对长距离空间关系的建模能力——例如,机械臂需要同时关注“桌面上杯子”和“杯子右侧3厘米处的抓取点”,这种跨区域的依赖关系需要深层堆叠才能间接建模。
ViT(Vision Transformer)将图像分割为固定大小的Patch(如16×16像素),通过线性投影得到序列,并利用自注意力机制在全局范围内建模像素间关系。ViT在VLA中的优势体现在三个方面:第一,注意力权重可解释性强,能够可视化机器人“关注”的图像区域;第二,对空间变换更加鲁棒,适合处理相机视角变化;第三,天然支持可变长度输入,便于与语言模型的序列直接拼接。
| 对比维度 | CNN(ResNet) | ViT(Base/Large) | CLIP(ViT-B/32) |
|---|---|---|---|
| 输入分辨率 | 224~448 | 224~1024 | 224~336 |
| 输出特征形式 | 空间特征图 | 序列 | 全局向量 + |
| 归纳偏置 | 局部性、平移等变 | 全局注意力 | 图文对比对齐 |
| 参数量(典型) | 25M~60M | 86M~307M | 150M(视觉塔) |
| VLA中接入方式 | 池化后接MLP | 拼接 | 跨模态注意力 |
| 训练数据需求 | 中等(百万级) | 大(千万级) | 极大(4亿图文对) |
3.2 CLIP:连接视觉与语言的语义桥梁
核心原理:CLIP(Contrastive Language-Image Pre-training)采用双塔结构——图像编码器(ViT或ResNet)和文本编码器(Transformer),通过对比学习将图像与对应的文本描述映射到同一语义空间。在VLA中,CLIP的视觉编码器经过微调后,能够输出同时包含视觉细节和语言语义的特征。例如,当指令为“拿起红色的马克杯”时,CLIP编码器会强化图像中红色杯子的特征响应,抑制无关背景。
判断方法:选择CLIP作为VLA视觉编码器时,需要评估三个关键指标:
- 零样本迁移能力:在未见过的物体类别上,CLIP能否通过文本提示正确识别?
- 空间定位精度:CLIP的全局特征是否保留了足够的空间信息用于抓取点回归?
- 领域漂移鲁棒性:在工业场景(暗光、反光、遮挡)下,特征是否仍然稳定?
实际应用中,通常采用“冻结CLIP视觉塔 + 可训练Adapter”的方式。Adapter是一个轻量MLP或Cross-Attention模块,将CLIP的768维特征映射到VLA所需的动作相关特征空间。这种做法既保留了CLIP的语义先验,又避免了全量微调带来的灾难性遗忘。
3.3 VLA中的视觉特征接入架构与训练策略
操作流程:在VLA模型中集成视觉编码器通常遵循以下步骤:
1. 数据准备:采集RGB-D图像 + 语言指令 + 动作标签(位姿/关节角)
2. 视觉特征提取:
- 方案A:单视觉塔(ViT-L)输出196个
- 方案B:双视觉塔(CLIP + ViT)分别提取语义和空间特征
3. 特征投影:通过MLP将视觉维度对齐到LLM的隐藏维度(如4096)
4. 序列拼接:[CLS] + 视觉 + 语言 + [SEP]
5. 训练阶段:
- 阶段1:冻结视觉编码器,训练投影层和LLM
- 阶段2:解冻视觉编码器(LoRA),端到端微调
6. 推理:输入图像+指令 → 视觉特征 → LLM推理 → 动作头输出
案例拆解:以RT-2(Robotic Transformer 2)为例,其视觉编码器采用预训练的ViT-L,在训练时冻结前90%层,仅微调最后10%层和LayerNorm。在Google Robot数据集上,该策略使模型在“拿起香蕉放到红色碗里”任务上的成功率从68%提升至82%。关键参数:视觉长度256,LLM输入序列总长1024,训练batch size为512,学习率1e-5。
| 训练策略 | 视觉编码器状态 | 适用场景 | 计算开销 | 性能表现 |
|---|---|---|---|---|
| 完全冻结 | 权重不变 | 数据量少(<10K) | 低 | 泛化一般 |
| LoRA微调 | 低秩矩阵更新 | 中等数据(10K~100K) | 中 | 平衡性好 |
| 全量微调 | 所有层更新 | 大规模数据(>100K) | 高 | 最优但易过拟合 |
| 渐进解冻 | 从顶层到底层逐步解冻 | 领域迁移明显 | 中高 | 稳定收敛 |
3.4 常见误区与工程复盘
误区一:盲目追求大模型。ViT-Large在ImageNet上表现优异,但在VLA任务中,如果机器人操作场景单一(如固定工位的分拣),ViT-Base配合数据增强往往能达到相近效果,且推理延迟降低40%。
误区二:忽略视觉编码器与LLM的分布对齐。直接拼接CLIP特征和LLM词嵌入会导致分布不匹配。建议在投影层后添加LayerNorm,并采用温度系数为0.07的对比损失进行辅助对齐。
误区三:静态分辨率训练。VLA模型在训练时使用固定分辨率,但实际部署中相机距离变化会导致物体尺度差异。采用多尺度训练(随机采样224~512分辨率)可提升10%~15%的抓取鲁棒性。
复盘案例:某团队在开发“桌面整理”VLA模型时,初始使用CLIP ViT-B/32作为视觉编码器,发现模型对“透明玻璃杯”的识别率仅为45%。分析发现,CLIP在预训练时对透明物体的语义区分不足。解决方案:在视觉编码器后增加一个轻量分割头(U-Net结构),将分割特征与CLIP特征拼接。改进后识别率提升至78%,但推理时间增加12ms。最终通过将分割头蒸馏到视觉编码器的中间层,在保持精度的同时将额外开销降至3ms。
总结:视觉编码器的选择本质上是“语义丰富度”与“空间精度”之间的权衡。CNN适合高精度空间定位,ViT擅长全局关系建模,CLIP提供语言对齐先验。在VLA系统中,推荐采用“CLIP(语义)+ ViT(空间)”的双塔架构,并通过LoRA进行轻量级领域适配。同时,务必关注输入分辨率、特征对齐和训练稳定性这三个工程关键点。