通道专家混合:静态稀疏支持与输入自适应混合用于逐点投影

arXiv cs.LG 论文

摘要

本文介绍了通道专家混合(MoCE),这是一种结构化稀疏层,用于替代卷积网络中的密集逐点投影,以降低计算成本,同时保持或提高性能。

arXiv:2608.23794v1 公告类型:新 摘要:专家混合(MoE)通过将每个输入路由到一小组独立参数化的专家来扩展语言模型。我们表明,将这种设计复制到卷积网络中会因为结构原因而失败:读取相同输入通道的并行卷积专家学习到几乎相同的过滤器。因此,我们将专家轴从算子复制移动到通道选择。我们引入了通道专家混合(MoCE),这是一种受MoE启发的结构化稀疏通道混合层,用于替代逐点(1x1)通道缩减投影。在MoCE中,专家是一个单输出通道,具有学习到的稀疏支持,包含k << C个输入通道。选定的通道通过softmax组合,其温度根据每个输入预测,因此每个专家可以在均值类和最大值类聚合之间切换。一个残差专家汇总未选择的通道,而负载平衡损失确保通道覆盖完整。MoCE将密集投影(其成本与C成二次关系)替换为一种机制,其相对成本与k/C成比例,并且预测的节省在实测的壁钟时间中成立。在ImageNet-1K和CIFAR-100上的ResNet骨干、迁移学习、EfficientViT以及强大的现代训练方案中,MoCE匹配或超越了密集基线和先前的通道选择方法,同时将MACs减少了16.7%并降低了端到端延迟。
查看原文
查看缓存全文

缓存时间: 2026/08/26 09:23

# 面向逐点投影的输入自适应混合静态稀疏支持
来源: https://arxiv.org/html/2608.23794
## 通道专家混合:面向逐点投影的输入自适应混合静态稀疏支持

###### 摘要

专家混合(MoE)通过为每个输入路由到一小部分独立参数化的专家来扩展语言模型。我们证明,将这种设计复制到卷积网络中由于一个结构原因而失败:读取相同输入通道的并行卷积专家会学习到几乎相同的滤波器。因此,我们将专家轴从*算子复制*转向*通道选择*。受MoE启发,我们引入了*通道专家混合(MoCE)*,这是一种结构化的稀疏通道混合层,用于替代逐点(1×1)的通道缩减投影。在MoCE中,一个*专家*是一个具有学习到的稀疏支持集的单输出通道,该支持集从远小于总通道数C的k个输入通道中选择。被选中的通道通过一个softmax进行组合,其温度根据每个输入进行预测,因此每个专家可以在类均值聚合和类最大值聚合之间切换。一个残差专家汇总了未被选中的通道,并且一个负载平衡损失确保通道覆盖是完整的。MoCE用一个相对成本按k/C比例缩放的机制替代了成本与通道数C成二次方关系的密集投影,并且在实测的墙上时间(wall-clock time)中也证实了预期的节省。在基于ImageNet-1K和CIFAR-100的ResNet骨干网络、迁移学习、EfficientViT以及强大的现代训练配方上,MoCE匹配或超越了密集基线模型和先前的通道选择方法,同时将MACs(乘加操作数)减少了16.7%,并降低了端到端延迟。

以色列阿里尔大学计算机科学学院
[email protected], [email protected]

## 1引言

逐点投影在每个空间位置独立混合通道,广泛应用于现代视觉骨干网络中:作为ResNet瓶颈层的入口和出口阶段,作为倒置瓶颈和ConvNeXt风格块的投影层,并且——由于逐token的线性映射就是一个1×1卷积——作为视觉Transformer的前馈投影层。它们的成本是 $C_{\text{in}}C_{\text{out}}HW$,因此通道宽度直接增加了算术运算量和参数数量。这使得它们成为结构化稀疏化的自然目标,前提是得到的算子在硬件上仍然高效。

直接对专家混合(MoE)进行卷积类比是复制一个算子并将每个输入路由到并行专家的一个子集。在一个受控的ResNet-50/CIFAR-100诊断实验中,八个卷积专家共享相同的输入表示和目标,学习到的内核高度对齐:平均非对角线余弦相似度为0.88,大部分配对值在0.85到0.97之间(图1)。在升级循环的Transformer MoE中也报道了类似的崩溃现象,其中专家保持接近原始的密集权重以及彼此之间(Huang等人,2025)。这些观察共同表明,当专家接收到相同的表示和监督时,算子复制会消耗参数而无法产生有用的专门化。因此,我们将专门化从复制的算子转移到稀疏的通道支持集上。*通道专家混合(MoCE)* 用每个输出通道一个聚合单元(图2)来替代一个密集的逐点投影。每个路由专家从输入通道中选择一个学习到的top-k子集,并在该支持集上形成一个凸混合。该支持集在推理时是静态的,从而支持固定的聚集操作和打包执行。一个轻量级的门控机制为每个专家和每个样本预测一个温度;温度改变了专家学习到的通道偏好的集中程度,但不会改变被选中的支持集或其权重的排序。一个残差输出聚合未被任何路由专家选中的通道。

#### 输入依赖性的好处

组织本文的设计问题是:输入信号是应该用于选择专家读取*哪些*通道,还是应该用于选择专家*如何*组合这些通道。动态方案是两者中更具表达力的:路由器在选择之前必须对每个候选通道进行评分,因此它读取完整的池化描述符,并为路由逻辑值添加一个低秩偏移,这既改变了被读取的通道,也改变了它们的权重。相比之下,温度门控仅读取已位于专家支持集上的k个描述符,并输出一个标量。尽管如此,我们证明,例如在CIFAR-100上,动态变体将准确率提高了+0.03点,但同时使路由-聚集路径慢了7.13倍,因为内存访问模式变得依赖于数据。然而,移除温度门控会使准确率下降1.19点。更具表达力的路径在评估运行中没有产生有意义的增益,而移除更受限的路径却导致超过一个点的损失,这正是静态支持集成为更好操作点的原因,也是MoCE保持静态可调度的原因。

MoCE受专家端路由的启发,但它不是一个容量扩展的MoE:专家是一个输出通道,而不是一个独立参数化的网络。其最接近的方法学背景是结构化稀疏投影、通道路由、动态通道选择和通道注意力。其贡献在于结合了学习到的静态支持集、最小化的输入自适应混合、残差覆盖以及一种其节省效果在墙上时间测量中可见的实现方式。在ResNet和EfficientViT骨干网络上,稀疏支持集在MACs减少17-21%的情况下保持或提升了密集模型的精度-效率操作点,在ResNet变体上实现了17-21%的部署参数减少,并且端到端的加速小于MACs的减少,算术强度分析明确解释了这一点。

参考图注图1:共享输入的并行卷积专家(ResNet-50, CIFAR-100):成对的内核余弦相似度。

## 2相关工作

#### 稀疏专家与路由。

稀疏MoE为每个输入激活一部分专家,使得路由平衡和稳定性成为核心关注点(Shazeer等人,2017;Lepikhin等人,2021;Fedus, Zoph, 和 Shazeer, 2022)。专家选择(Expert-Choice)路由反转了token到专家的分配,给予专家明确的容量(Zhou等人,2022);可微分和软替代方案减少了硬分配中的不连续性(Hazimeh等人,2021;Puigcerver等人,2024)。视觉MoE主要将这些想法应用于Transformer中的token路由(Riquelme等人,2021;Liu等人,2024)。MoCE借鉴了专家端的支持集选择和聚合平衡,但将其应用于逐点投影的通道轴:通道扮演了MoE中token的角色,每个专家选择自己的top-k通道。Token特征随每个输入而变化,因此通常进行动态路由;通道成员资格是否同样受益于动态路由是我们的成员实验所检验的问题。

#### 结构化稀疏逐点投影。

结构化稀疏学习在训练过程中移除权重组(Wen等人,2016)。CondenseNet学习组稀疏的1×1连接性并冻结用于推理(Huang等人,2018);基于移动性和基于布线的方法也学习哪些连接在优化后得以保留(Sanh, Wolf, 和 Rush, 2020;Wortsman, Farhadi, 和 Rastegari, 2019)。MoCE共享静态支持集的原则,但约束每个路由输出使用归一化的非负权重,并保留一个标量的输入依赖性来调节其集中程度。因此,应将其视为带有自适应混合规则的稀疏投影,而不是更广泛的结构化剪枝文献的替代品。

#### CNN中的条件计算。

通道门控、动态剪枝和特征抑制根据输入选择或重新加权通道(Hua等人,2019;Gao等人,2019;Bejnordi等人,2020;Gao等人,2024)。动态组连接性和联合空间-通道门控改变了激活的算子结构(Su等人,2020;Li等人,2021)。Pick-or-Mix执行细粒度的逐输入通道采样(Kumar等人,2024),而Squeeze-and-Excitation根据全局描述符重新校准通道(Hu, Shen, 和 Sun, 2018)。CondConv和Dynamic Convolution形成密集内核的输入依赖混合(Yang等人,2019;Chen等人,2020)。MoCE则移除通道连接性,保持数据依赖部分为标量且支持集保持。

## 3通道专家混合

参考图注图2:MoCE层。$E-1$个路由专家作用于学习到的静态支持集,外加一个残差聚合单元。### 3.1设定与范围

设 $X \in \mathbb{R}^{B \times C \times H \times W}$,考虑一个从 $C$ 个输入通道到 $E \leq C$ 个输出的逐点映射。密集层计算

$$
Y_{o}(h,w) = \sum_{c=1}^{C} W_{o,c} X_{c}(h,w) \tag{1}
$$

其MACs(乘加操作)为 $CEHW$。MoCE使用 $E-1$ 个路由专家和一个残差聚合单元输出相同形状的结果。

MoCE适用于任何 $E \leq C$ 的逐点投影;比率 $s = C/E$ 是层的属性,而非方法的属性。在ResNet中,我们替换瓶颈入口投影,其中 $s$ 在大多数层为4,在阶段边界为1或2。在EfficientViT中,我们替换每个ConvMlp块的第二个前馈投影,其中 $s=2$。该方法不替换空间卷积。

### 3.2学习静态支持

路由逻辑值 $L \in \mathbb{R}^{(E-1) \times C}$ 为每个路由专家分配一个偏好向量。其支持集为

$$
\mathcal{S}_e = \operatorname{TopK}(L_e, k). \tag{2}
$$

前向传播使用此硬支持集。任务损失通过混合器使用的所选逻辑值进行微分,而第3.4节中的全支持覆盖损失通过每个逻辑值进行微分。没有梯度通过离散索引本身传递;支持集在训练期间当连续逻辑值重新排序时发生变化。在推理时,每个 $\mathcal{S}_e$ 是预计算并固定的,因此该层既不需要top-k搜索,也不需要数据依赖的分支,并且其内存访问模式可以提前调度。

### 3.3输入自适应混合

全局平均池化得到 $z = \operatorname{GAP}(X) \in \mathbb{R}^{B \times C}$。一个由层内专家共享的两层门控 $g: \mathbb{R}^{k} \rightarrow \mathbb{R}$,接收专家自身支持集上的 $k$ 个描述符,并预测

$$
\tau_e(X) = \tau_{\min} + (\tau_{\max} - \tau_{\min}) \, \sigma\!\left(g(z_{\mathcal{S}_e})\right). \tag{3}
$$

由于 $g$ 不是置换不变的,其输入的顺序是规范的一部分:这 $k$ 个描述符按路由逻辑值降序提供,因此门控输入的第 $i$ 个位置始终对应于专家第 $i$ 个最偏好的通道。这种共享的位置含义使得单个门控在不同专家之间是合理的,相同的规则也应用于第4.5节中的样本依赖支持集。所选逻辑值定义了混合系数

$$
a_{e,i}(X) = \frac{\exp\!\big(L_{e,i}/\tau_e(X)\big)}{\sum_{j \in \mathcal{S}_e} \exp\!\big(L_{e,j}/\tau_e(X)\big)}, \quad i \in \mathcal{S}_e, \tag{4}
$$

路由输出为

$$
Y_e(h,w) = \sum_{i \in \mathcal{S}_e} a_{e,i}(X) X_i(h,w). \tag{5}
$$

权重在空间位置上共享,并且仅通过 $\tau_e(X)$ 随样本变化。小的温度将质量集中在具有最大路由逻辑值的被选通道上;大的温度则接近支持集上的均匀平均。因此,温度改变的是固定路由偏好的熵,而不是最大激活值。对于固定的 $L_e$,可达到的权重向量在 $(k-1)$-单纯形上描绘出一条一维曲线,权重的排序在该曲线上是不变的:对于每个专家和每个样本,该层的自适应能力恰好是一个标量,这就是为什么其计算成本几乎可以忽略不计。

对于任何正常数 $\tau$,$\operatorname{softmax}(L_e/\tau)$ 可以表示为 $\operatorname{softmax}(L'_e)$,其中 $L'_e = L_e/\tau$,且正数重新缩放保持 top-k 不变。因此,$\tau \equiv 1$ 的消融实验与任何具有学习到的输入无关温度的模型具有相同的静态表示类。优化和与覆盖项的交互仍然可能不同,因此我们使用这个等价性来定义一个函数类匹配的静态对照,而不是声称因果证明。然而,测量到的差距提供了直接的证据,表明样本依赖的集中度在静态稀疏混合之外是有用的。两个进一步的性质使得温度在完整模型中并非冗余:它通过 $z_{\mathcal{S}_e}$ 依赖于输入,这是任何静态 $L$ 的重参数化都无法表达的;并且它在等式4中除以 $L$,但在覆盖目标中没有,因此它解耦了专家混合的尖锐程度与正则化器感知其混合的尖锐程度。

等式5遵循注意力的softmax混合原则,其中权重源自学习到的路由偏好而非查询-键交互,并且在稀疏静态支持集上计算。它也是一个凸混合,因此在表达能力上严格弱于同一支持集上不受约束的带符号投影;我们将其视为一种具有执行优势的结构化正则化器,第4.5节报告了密集投影的实际功能有多少是必需的。路由行为如图3所示。图4显示了所有MoCE专家学习到的温度的分布。

### 3.4残差覆盖与正则化

设 $\mathcal{U} = \{1,\ldots,C\} \setminus \bigcup_{e} \mathcal{S}_e$。残差输出为

$$
Y_{\mathrm{res}}(h,w) =
\begin{cases}
\|\mathcal{U}\|^{-1} \sum_{i \in \mathcal{U}} X_i(h,w), & \|\mathcal{U}\| > 0, \\
0, & \|\mathcal{U}\| = 0.
\end{cases}
$$

相似文章