【笔记】Patch-level Routing:针对局部图像区域分配专家,提高样本效率
- 现代神经网络模型(CNNs):在处理大规模数据集时表现出色,但训练这些模型所需的数据和计算资源非常庞大。
- MOE混合专家模型:通过将输入数据动态分配给一组专家(子模型)中的一个或多个,能够提高计算效率。
- 解决思路:将输入图像分割成若干个patch,每个patch独立地分配给不同的专家。针对图像数据的局部特征进行专家分配,以提高样本效率。
- 突出问题:pMoE证明了为减少所需数量的训练样本,多批次能够提升效果与效率,但其理论来源与实验支撑还不够充分。
- 论文贡献:理论证明分析了pMOE的优势,实际进行实验验证,详细量化其计算复杂度、内存使用与训练时间等方面的优点。
模型架构:

pMOE示例:卷积神经网络的专家模型
模型架构
专家网络:pMOE 包含多个专家,每个专家是一个两层的卷积神经网络 (CNN)。每个专家负责处理输入样本的部分图像块。
门控单元:每个专家对应一个可训练的路由门控,决定哪些图像块由哪个专家进行处理。
工作原理
- 图像分块:先将输入图像(例如狐狸的图片)划分成若干个不重叠的图像块。
- 路由选择:路由器根据图像块的特征值,生成一个评分分布,表示每个专家对每个图像块的适合程度。确保专家仅处理与其相关的图像块,过滤掉与分类无关的图像块。
- 特征聚合:各个专家网络处理完图像块后,会生成相应的特征图。这些特征图会在模型的上层进行聚合,形成最终的特征表示。聚合后的特征用于最终的分类任务,图中展示了最终的分类结果为“狐狸 (Fox)”。
训练模式
- 分离训练:首先训练路由器,然后固定路由器参数,训练专家网络。
- 联合训练:同时训练路由器和专家网络,优化整体性能。
理论优势
- 样本复杂度:pMOE 在达到相同泛化误差的情况下,所需的训练样本数量显著减少。本篇论文通过理论证明 pMOE 的样本复杂度和模型复杂度均较传统 CNN 模型降低。
- 计算效率:在视觉任务中,pMOE 的训练和推理计算量分别比单一专家模型减少约 20% 和 50%,但仍保持相同的测试精度。
论文贡献:三项主要研究成果
理论验证了只要路由门控向专家发送的补丁数
l
大于某个特定的阈值,pMOE便可降低模型复杂度与计算复杂度。能够有效提升模型的抗干扰能力,与将图像整体输入的MOE模型相比能够更好地丢弃类无关部分,处理分类任务。由于干扰减少,专家能够更高效地学习,直接导致样本复杂性和模型复杂性的降低。
通过实验验证了理论证明。
pMOE模型原理:

- pMOE架构:
- pMOE模型包括 𝑘 个专家和相应的 𝑘 个路由器。
- 每个路由器为每个专家选择 𝑙 中的 𝑛 个patches(𝑙<𝑛l<n)。
- 路由门控:
- 每个专家的路由器都包含一个可训练的门控向量 $w_{s}$ ∈ 𝑅𝑑。
- 给定一个样本 𝑥,路由器为每个patch 𝑗 计算一个路由值。
- 专家模型:
- 每个专家是一个具有相同架构的两层卷积神经网络(CNN)。
- 设 𝑚 表示所有专家中的神经元总数。每个专家包含 𝑚/𝑘 神经元。
- 模型定义:

训练方法:
- 三种模型训练方法:

思路拓展:
- 文本片段分割分配专家:类似于图像的patch分割,可以将文本先分割成多个片段,如句子、段落或固定长度的n-grams。将这些文本片段分批独立地送入不同的门控单元,再分配给不同的专家,利用专家的多样性来处理不同类型的文本片段,是否能够提升计算效率和学习速度?
- 层级结构专家分配:文本数据多数具有层级结构,如章节、段落、句子等。是否可以参照Patch-level Routing的方法,设计一种层级结构的专家分配策略,将标题、首段、尾段等分割出来再在不同层级上使用不同的专家?例如,顶层专家处理整体段落或章节,底层专家处理句子或词。