【学习】Patch-level Routing in MOE:针对局部图像区域分配专家,提高样本效率


【笔记】Patch-level Routing:针对局部图像区域分配专家,提高样本效率

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

模型架构:

pMOE示例:卷积神经网络的专家模型

  1. 模型架构

    • 专家网络:pMOE 包含多个专家,每个专家是一个两层的卷积神经网络 (CNN)。每个专家负责处理输入样本的部分图像块。

    • 门控单元:每个专家对应一个可训练的路由门控,决定哪些图像块由哪个专家进行处理。

  2. 工作原理

    • 图像分块:先将输入图像(例如狐狸的图片)划分成若干个不重叠的图像块。
    • 路由选择:路由器根据图像块的特征值,生成一个评分分布,表示每个专家对每个图像块的适合程度。确保专家仅处理与其相关的图像块,过滤掉与分类无关的图像块。
    • 特征聚合:各个专家网络处理完图像块后,会生成相应的特征图。这些特征图会在模型的上层进行聚合,形成最终的特征表示。聚合后的特征用于最终的分类任务,图中展示了最终的分类结果为“狐狸 (Fox)”。
  3. 训练模式

    • 分离训练:首先训练路由器,然后固定路由器参数,训练专家网络。
    • 联合训练:同时训练路由器和专家网络,优化整体性能。
  4. 理论优势

    • 样本复杂度:pMOE 在达到相同泛化误差的情况下,所需的训练样本数量显著减少。本篇论文通过理论证明 pMOE 的样本复杂度和模型复杂度均较传统 CNN 模型降低。
    • 计算效率:在视觉任务中,pMOE 的训练和推理计算量分别比单一专家模型减少约 20% 和 50%,但仍保持相同的测试精度。

论文贡献:三项主要研究成果

  1. 理论验证了只要路由门控向专家发送的补丁数 l 大于某个特定的阈值,pMOE便可降低模型复杂度与计算复杂度。

  2. 能够有效提升模型的抗干扰能力,与将图像整体输入的MOE模型相比能够更好地丢弃类无关部分,处理分类任务。由于干扰减少,专家能够更高效地学习,直接导致样本复杂性和模型复杂性的降低。

  3. 通过实验验证了理论证明。

pMOE模型原理:

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

训练方法:

  • 三种模型训练方法:

理论方法:


实验效果:


思路拓展:

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

文章作者: Cyan.
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Cyan. !
 本篇
【学习】Patch-level Routing in MOE:针对局部图像区域分配专家,提高样本效率 【学习】Patch-level Routing in MOE:针对局部图像区域分配专家,提高样本效率
论文提出了一种基于图像局部区域(patch)的专家分配策略,而不是对整个图像进行分配;这种方法利用CNNs的结构特点,将输入图像分割成若干个patch,每个patch独立地分配给不同的专家,从而提高效率。
2024-05-28
下一篇 
【学习】LoftQ:大语言模型的LoRA微调感知量化 【学习】LoftQ:大语言模型的LoRA微调感知量化
在量化预训练模型的同时,为LoRA微调找到恰当的低秩初始化,同时在量化的过程里引入微调。
2024-05-21
  目录