主流编码器原理+数学公式(按视觉/文本/时序/多模态MoE/VQ分类,适配VLA/Pi0机器人场景)

一、视觉编码器

1. ViT(Vision Transformer,SigLIP/CLIP基础骨干)

核心原理

图像切分固定大小Patch,线性投影为Patch Token,叠加位置编码,多头自注意力全局建模像素关系。

数学公式
  1. Patch分块与嵌入
    输入图像 I∈RH×W×3I\in\mathbb{R}^{H\times W\times 3}IRH×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}WeR3P2×d:嵌入权重,ddd 隐藏维度;xp∈Rdx_p\in\mathbb{R}^dxpRd 单Patch向量
  2. 位置编码(可学习)
    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,EposRN×d
  3. 多头自注意力 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(dk QK)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
  4. 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}zzout=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=−log⁡exp⁡(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=logkexp(ststt,k/τ)exp(ststt/τ)
tst_sts 学生特征,ttt_ttt 动量教师特征,τ\tauτ 温度系数。

二、文本编码器(VLA语言指令编码)

1. CLIP/SigLIP Text Encoder(Pi0默认语言分支)

基于Transformer Encoder,输入文本分词Token。

  1. Token嵌入
    ti=Emb(wi)+Epos,it_i = \text{Emb}(w_i) + E_{pos,i}ti=Emb(wi)+Epos,i
  2. 全局平均池化取文本表征
    C=1L∑i=1Lti(L)C = \frac{1}{L}\sum_{i=1}^L t_i^{(L)}C=L1i=1Lti(L)
  3. 图文对齐损失(SigLIP对称对比损失)
    L=−1B∑blog⁡exp⁡(Cv⊤Ct/τ)∑kexp⁡(Cv⊤Ct,k/τ)−1B∑blog⁡exp⁡(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=B1blogkexp(CvCt,k/τ)exp(CvCt/τ)B1blogkexp(CtCv,k/τ)exp(CtCv/τ)
    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=dk QiKj+rij
ri−jr_{i-j}rij 相对位置偏置参数。

三、时序/机器人状态编码器(关节、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ˉtht1+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(ΔtA),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,ht1]+bf)(遗忘门)=σ(Wi[xt,ht1]+bi)(输入门)=σ(Wo[xt,ht1]+bo)(输出门)=tanh(Wc[xt,ht1]+bc)=ftct1+itc~t=ottanh(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=0K1w[k]x[tk]
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(d TWQ(VWK))VWV
文本指令去关注图像对应抓取/操作区域,是VLA融合核心模块。

2. MoE 混合专家编码器(Pi0 Aeson Action专家头)

原理

输入特征路由分配给N个独立专家FFN,仅激活少量专家,容量更大、动作细分(单臂/双臂分专家)。

公式
  1. 路由权重
    g=softmax(xWg),g∈REg = \text{softmax}(x W_g),\quad g\in\mathbb{R}^{E}g=softmax(xWg),gRE
    EEE 专家数量,取top-K权重非零。
  2. 专家输出加权求和
    MoE(x)=∑i∈topKgi⋅Experti(x)\text{MoE}(x) = \sum_{i\in\text{topK}} g_i \cdot \text{Expert}_i(x)MoE(x)=itopKgiExperti(x)
    每个Expert是独立两层MLP;双臂任务天然可以划分左右手专家,解决你LoRA微调左右手错乱问题。

五、矢量量化VQ编码器(离散Token编码器,流匹配/扩散动作离散化)

原理

连续特征映射到固定码本离散向量,压缩表征,稳定动作预测。

公式

码本 Z={z1,z2,...,zK}Z=\{z_1,z_2,...,z_K\}Z={z1,z2,...,zK},输入连续特征 xxx

  1. 距离匹配
    q(x)=arg⁡min⁡zk∈Z∥x−zk∥22q(x) = \arg\min_{z_k\in Z} \|x - z_k\|_2^2q(x)=argzkZminxzk22
  2. 直通梯度损失
    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]zq22+βxsg[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γ,β 可学习缩放偏移。

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐