VLA-常见编码器浅析
主流编码器原理+数学公式(按视觉/文本/时序/多模态MoE/VQ分类,适配VLA/Pi0机器人场景)
一、视觉编码器
1. ViT(Vision Transformer,SigLIP/CLIP基础骨干)
核心原理
图像切分固定大小Patch,线性投影为Patch Token,叠加位置编码,多头自注意力全局建模像素关系。
数学公式
- Patch分块与嵌入
输入图像 I∈RH×W×3I\in\mathbb{R}^{H\times W\times 3}I∈RH×W×3,Patch尺寸 P×PP\times PP×P,Patch数量 N=HWP2N=\frac{HW}{P^2}N=P2HW
xp=Flatten(Ip)We+bex_p = \text{Flatten}(I_p)W_e + b_exp=Flatten(Ip)We+be
We∈R3P2×dW_e\in\mathbb{R}^{3P^2\times d}We∈R3P2×d:嵌入权重,ddd 隐藏维度;xp∈Rdx_p\in\mathbb{R}^dxp∈Rd 单Patch向量 - 位置编码(可学习)
z0=[x1;x2;...;xN]+Epos,Epos∈RN×dz_0 = [x_1;x_2;...;x_N] + E_{pos},\quad E_{pos}\in\mathbb{R}^{N\times d}z0=[x1;x2;...;xN]+Epos,Epos∈RN×d - 多头自注意力 MSA
单头注意力:
Attn(Q,K,V)=softmax(QK⊤dk)V\text{Attn}(Q,K,V)=\text{softmax}\left(\frac{QK^\top}{\sqrt{d_k}}\right)VAttn(Q,K,V)=softmax(dkQK⊤)V
多头拼接:
MSA(z)=Concat(Attn1,...,Attnh)Wo\text{MSA}(z) = \text{Concat}(\text{Attn}_1,...,\text{Attn}_h)W_oMSA(z)=Concat(Attn1,...,Attnh)Wo - Encoder层标准块(LN归一化)
z′=z+MSA(LN(z))zout=z′+MLP(LN(z′))\begin{align} z' &= z + \text{MSA}(\text{LN}(z)) \\ z_{\text{out}} &= z' + \text{MLP}(\text{LN}(z')) \end{align}z′zout=z+MSA(LN(z))=z′+MLP(LN(z′))
2. ConvNeXt(纯卷积编码器,真机低延迟)
原理
完全卷积堆叠,深度卷积+点卷积替代注意力,无多头、无位置编码,平移不变性强。
核心公式
深度卷积(单通道独立卷积):
x~c,:,:=xc,:,:∗Kdepth,c\tilde{x}_{c,:,:} = x_{c,:,:} * K_{\text{depth},c}x~c,:,:=xc,:,:∗Kdepth,c
1×1点卷积通道融合:
xout=x~W1×1+bx_{\text{out}} = \tilde{x}W_{1\times1} + bxout=x~W1×1+b
块结构:深度卷积 → LN → 升维MLP → 降维MLP,残差连接
xnext=x+ConvNeXtBlock(LN(x))x_{\text{next}} = x + \text{ConvNeXtBlock}(\text{LN}(x))xnext=x+ConvNeXtBlock(LN(x))
3. DINOv2(自监督视觉编码器,无标注预训练)
基于ViT,动量教师-学生双塔,对比学习,不用标签。
损失(交叉熵匹配教师/学生token分布):
LDINO=−logexp(s⋅ts⊤tt/τ)∑kexp(s⋅ts⊤tt,k/τ)\mathcal{L}_{\text{DINO}} = -\log\frac{\exp(s\cdot t_s^\top t_t/\tau)}{\sum_{k}\exp(s\cdot t_s^\top t_{t,k}/\tau)}LDINO=−log∑kexp(s⋅ts⊤tt,k/τ)exp(s⋅ts⊤tt/τ)
tst_sts 学生特征,ttt_ttt 动量教师特征,τ\tauτ 温度系数。
二、文本编码器(VLA语言指令编码)
1. CLIP/SigLIP Text Encoder(Pi0默认语言分支)
基于Transformer Encoder,输入文本分词Token。
- Token嵌入
ti=Emb(wi)+Epos,it_i = \text{Emb}(w_i) + E_{pos,i}ti=Emb(wi)+Epos,i - 全局平均池化取文本表征
C=1L∑i=1Lti(L)C = \frac{1}{L}\sum_{i=1}^L t_i^{(L)}C=L1i=1∑Lti(L) - 图文对齐损失(SigLIP对称对比损失)
L=−1B∑blogexp(Cv⊤Ct/τ)∑kexp(Cv⊤Ct,k/τ)−1B∑blogexp(Ct⊤Cv/τ)∑kexp(Ct⊤Cv,k/τ)\mathcal{L} = -\frac{1}{B}\sum_{b}\log\frac{\exp(C_v^\top C_t/\tau)}{\sum_{k}\exp(C_v^\top C_{t,k}/\tau)} -\frac{1}{B}\sum_{b}\log\frac{\exp(C_t^\top C_v/\tau)}{\sum_{k}\exp(C_t^\top C_{v,k}/\tau)}L=−B1b∑log∑kexp(Cv⊤Ct,k/τ)exp(Cv⊤Ct/τ)−B1b∑log∑kexp(Ct⊤Cv,k/τ)exp(Ct⊤Cv/τ)
CvC_vCv 图像表征,CtC_tCt 文本表征,BBB 批次。
2. T5 Encoder(Seq2Seq指令编码)
仅Encoder部分,双向注意力,相对位置偏置。
区别ViT:不用绝对位置编码,注意力加相对位置偏移项:
AttnScorei,j=QiKj⊤dk+ri−j\text{AttnScore}_{i,j} = \frac{Q_iK_j^\top}{\sqrt{d_k}} + r_{i-j}AttnScorei,j=dkQiKj⊤+ri−j
ri−jr_{i-j}ri−j 相对位置偏置参数。
三、时序/机器人状态编码器(关节、IMU、动作序列)
1. Mamba S6 选择性状态空间(最新时序编码器)
核心原理
状态空间模型SSM,输入动态生成A/B/C/D参数,选择性记忆,复杂度 O(N)O(N)O(N) 优于Transformer O(N2)O(N^2)O(N2)。
数学公式
离散状态更新:
ht=Aˉtht−1+Bˉtxtyt=Cˉtht+Dˉtxt\begin{align} h_t &= \bar{A}_t h_{t-1} + \bar{B}_t x_t \\ y_t &= \bar{C}_t h_t + \bar{D}_t x_t \end{align}htyt=Aˉtht−1+Bˉtxt=Cˉtht+Dˉtxt
Aˉt,Bˉt\bar{A}_t,\bar{B}_tAˉt,Bˉt 由输入 xtx_txt 动态生成(选择性门控):
Aˉt=exp(−Δt⋅A),Bˉt=ΔtBxt\bar{A}_t = \exp(-\Delta_t \cdot A),\quad \bar{B}_t = \Delta_t B x_tAˉt=exp(−Δt⋅A),Bˉt=ΔtBxt
Δt\Delta_tΔt 时间步缩放因子,控制记忆衰减;长时序关节轨迹、多步动作首选。
2. LSTM(传统时序编码器)
门控机制解决梯度消失:
ft=σ(Wf[xt,ht−1]+bf)(遗忘门)it=σ(Wi[xt,ht−1]+bi)(输入门)ot=σ(Wo[xt,ht−1]+bo)(输出门)c~t=tanh(Wc[xt,ht−1]+bc)ct=ft⊙ct−1+it⊙c~tht=ot⊙tanh(ct)\begin{align} f_t &= \sigma(W_f[x_t,h_{t-1}]+b_f) \quad (\text{遗忘门}) \\ i_t &= \sigma(W_i[x_t,h_{t-1}]+b_i) \quad (\text{输入门}) \\ o_t &= \sigma(W_o[x_t,h_{t-1}]+b_o) \quad (\text{输出门}) \\ \tilde{c}_t &= \tanh(W_c[x_t,h_{t-1}]+b_c) \\ c_t &= f_t \odot c_{t-1} + i_t \odot \tilde{c}_t \\ h_t &= o_t \odot \tanh(c_t) \end{align}ftitotc~tctht=σ(Wf[xt,ht−1]+bf)(遗忘门)=σ(Wi[xt,ht−1]+bi)(输入门)=σ(Wo[xt,ht−1]+bo)(输出门)=tanh(Wc[xt,ht−1]+bc)=ft⊙ct−1+it⊙c~t=ot⊙tanh(ct)
⊙\odot⊙ 哈达玛逐元素乘;仅短时序,长序列性能弱于Mamba。
3. 1D-CNN(关节/力传感短时序)
一维卷积滑窗提取局部时序特征:
y[t]=∑k=0K−1w[k]⋅x[t−k]y[t] = \sum_{k=0}^{K-1} w[k] \cdot x[t-k]y[t]=k=0∑K−1w[k]⋅x[t−k]
KKK 卷积核尺寸,提取相邻关节时序变化。
四、多模态融合编码器
1. Cross-Attention 跨模态融合(VLA视觉+语言交互)
Query来自文本,Key/Value来自图像Patch特征:
CrossAttn(T,V)=softmax(TWQ(VWK)⊤d)VWV\text{CrossAttn}(T,V) = \text{softmax}\left(\frac{T W_Q (V W_K)^\top}{\sqrt{d}}\right) V W_VCrossAttn(T,V)=softmax(dTWQ(VWK)⊤)VWV
文本指令去关注图像对应抓取/操作区域,是VLA融合核心模块。
2. MoE 混合专家编码器(Pi0 Aeson Action专家头)
原理
输入特征路由分配给N个独立专家FFN,仅激活少量专家,容量更大、动作细分(单臂/双臂分专家)。
公式
- 路由权重
g=softmax(xWg),g∈REg = \text{softmax}(x W_g),\quad g\in\mathbb{R}^{E}g=softmax(xWg),g∈RE
EEE 专家数量,取top-K权重非零。 - 专家输出加权求和
MoE(x)=∑i∈topKgi⋅Experti(x)\text{MoE}(x) = \sum_{i\in\text{topK}} g_i \cdot \text{Expert}_i(x)MoE(x)=i∈topK∑gi⋅Experti(x)
每个Expert是独立两层MLP;双臂任务天然可以划分左右手专家,解决你LoRA微调左右手错乱问题。
五、矢量量化VQ编码器(离散Token编码器,流匹配/扩散动作离散化)
原理
连续特征映射到固定码本离散向量,压缩表征,稳定动作预测。
公式
码本 Z={z1,z2,...,zK}Z=\{z_1,z_2,...,z_K\}Z={z1,z2,...,zK},输入连续特征 xxx
- 距离匹配
q(x)=argminzk∈Z∥x−zk∥22q(x) = \arg\min_{z_k\in Z} \|x - z_k\|_2^2q(x)=argzk∈Zmin∥x−zk∥22 - 直通梯度损失
LVQ=∥sg[x]−zq∥22+β∥x−sg[zq]∥22\mathcal{L}_{\text{VQ}} = \|sg[x] - z_q\|_2^2 + \beta\|x - sg[z_q]\|_2^2LVQ=∥sg[x]−zq∥22+β∥x−sg[zq]∥22
sgsgsg stop-gradient阻断梯度回传码本,β\betaβ 平衡损失权重;机器人连续动作离散token化必备。
六、统一通用组件:层归一化LN(所有编码器标配)
每层输入先归一化,稳定训练梯度:
LN(x)=γ⋅x−μσ2+ϵ+β\text{LN}(x) = \gamma \cdot \frac{x - \mu}{\sqrt{\sigma^2+\epsilon}} + \betaLN(x)=γ⋅σ2+ϵx−μ+β
μ=E[x],σ2=Var(x)\mu=\mathbb{E}[x],\sigma^2=\text{Var}(x)μ=E[x],σ2=Var(x),γ,β\gamma,\betaγ,β 可学习缩放偏移。
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐


所有评论(0)