文章链接:Revisiting Single-gated Mixtures of Experts
会议:BMVC 2022 (CV领域C类会议)
在计算机视觉(computer vision,CV)领域,神经网络的设计目的是为任何给定图像提取一组固定的细节特征。但不同图像呈现出的内容和层次是相异的,彼此的复杂度也不相同。如果对于简单的图像(比如空白背景)进行复杂图像一样的处理操作,从效率上讲,可能是计算资源的浪费。
这一现象在conditional computing(条件计算)和early-exiting(早退机制) 领域已经有了很详尽的研究。在条件计算中,神经网络会根据图像动态地打开或关闭网络的子部分。在早退机制中,对于简单的图像,网络可以提前完成预测,避免不必要的进一步计算。
近年来,MoE在条件计算方面取得了很大进展,比如在NLP领域,得益于MoE的易拓展性和次线性增加的推理成本,基于MoE的大参数transformer模型正成为新常态。类似的模型也开始出现在CV领域,训练模型使用了非常大的数据集和大量的Routing decisions。
这些大规模MoE条件模型的成功引发了这样一个问题:对于规模更小的数据集和架构(如ImageNet上的ResNet-18),是否也可以得到类似的结果?
文章提出了一种简单的single-gate MoE模型,用于训练大规模模型,在推理时计算成本合理。引入了一个 基网络 分支,它的特征有助于初始专家选择,该 基网络 在与专业专家进行集成时可以作为一个很好的正则化器,搭建了一个简单高效的异步训练管道来避免训练不稳定性,提出了一个简单的阈值规则来动态地适应推理时的计算预算。实验结果表明,该模型实现了与更复杂的MoE模型相当的效率与精度权衡,并且优于非混合基线。
本文设计的MoE模型主要用于图像分类。
MoE模型由K个 e k , k ∈ [ 1 , 2... K ] e_{k,k\in[1,2...K]} ek,k∈[1,2...K]组成,每个专家输出图片在目标类的分布,专家的执行取决于Gate (or router) g g g,最终结果是所有专家的概率分布和。对于图像分类任务,本文的目标是最大化训练数据集 D D D上的模型总似然值:
L ( D ) = E ( x , y ) ∈ D [ ∑ k = 1 K g ( k ∣ x ) ⋅ e k ( y ∣ x ) ] \mathcal{L} (D)=\mathbb{E}_{(x,y)\in D} \left [ \sum_{k=1}^{K} g(k|x)·e_{k}(y|x) \right ] L(D)=E(x,y)∈D[k=1∑Kg(k∣x)⋅ek(y∣x)]
成功的MoE模型依赖于Gate学习跨K个集群的输入空间解构,这样专家就可以专门研究结果子集。这种假设是有依据的,比起在整个数据集上训练单个模型,组合式的方法更具优势。在推理时,对门进行阈值设置,以便只执行一个或几个专家,以控制准确性和效率的平衡。
从上述公式可以看出MoE模型可以被看作是由 Gate 权重的 Experts 组成的集合,而非仅为了提高效率而只使用排名第1位的 Expert 。对 Gate 输出设置阈值,以确定在推理时动态包含哪些专家,这是MoE模型常常用到的一个技巧。
本文提出的架构维护一个全深度的基本模型 Φ \Phi Φ,在训练阶段处于冻结状态。 Φ \Phi Φ主要有三个作用:
1.作为Gate和Experts的输入( Φ \Phi Φ早期层);2.与专家输出集成;3. 作为推断的早退出口。
模型定义一个Gate g g g,它根据输入 x x x 的当前表示选择执行哪个专家。在推断时,选择唯一的最可能执行的专家。 g t e s t ( k ∣ x ) = I ( k = a r g m a x k ′ g ( k ′ ∣ x ) ) g_{test}(k|x)=\mathbb{I}(k=arg max_{k^{'}}g(k^{'}|x)) gtest(k∣x)=I(k=argmaxk′g(k′∣x)),其中 I ( ⋅ ) \mathbb{I}(·) I(⋅)为指示函数。
Experts的输入是 Φ \Phi Φ的中间特征映射。这种设计选择有两个好处:(1)共享和冻结了专家的早期特征,减少了可训练参数的数量,降低了专家过拟合的风险(特别是在小数据集上训练时);(2)这允许模型在推断时重复使用来自 Φ \Phi Φ的计算,从而进一步提高效率。
算法1展示了 Gate 和 Experts 并行独立训练的训练过程。该训练逻辑的设计有三个出发点:
通过早退机制和动态集合进行推理。
本文设计的模型框架集成了一个简单的提前退出选项,在简单的情况下直接输出基本模型的预测,从而进一步提高计算效率。这一成果借鉴了前人[1,2,3]的研究成果,在推理时对基础模型的置信度进行阈值化,来决定是提前退出还是执行门选专家,类似于二分类。我们可以引入下方公式:
α k ( x ) = g ( k ∣ x ) ⋅ ( 1 − m a x y ϕ ( y ∣ x ) ) \alpha _{k}(x)=g(k|x)·(1-max_{y}\phi (y|x)) αk(x)=g(k∣x)⋅(1−maxyϕ(y∣x))
其中, α k ( x ) \alpha _{k}(x) αk(x)可以解释为样本 x x x不早退,且 Gate 将 x x x routing 到第 e k e_{k} ek的联合概率。从直观上看,如果 α k ( x ) \alpha _{k}(x) αk(x)的结果大小对于所有 Experts 来说都低于某一阈值,则意味着基本模型 Φ \Phi Φ具有较高的置信度, Gate 并没有把握地将 x x x routing 到任何 expert,因此该样本应该尽早退出。
给定一个训练有素的Gate g g g和 experts (及其集成电路)e,将早退机制和 experts 集合行为结合起来,可以定义任意时间模型状态 p a t − τ p^{at-\tau } pat−τ, τ ∈ [ 0 , 1 ] \tau\in[0,1] τ∈[0,1]是个超参数,变化 τ \tau τ能够使模型在推断时间快速地实现大范围的计算预算,而不需要任何再训练:
e e ( x ) = 1 ⟺ ∀ k ∈ [ 1 , K ] , α k ( x ) < τ p a t − τ ( y ∣ x ) = e e ( x ) ⋅ ϕ ( y ∣ x ) + ( 1 − e e ( x ) ) ∑ K k = 1 I ( α k ( x ) ≥ τ ) ⋅ g ( k ∣ x ) ⋅ e k ′ ( y ∣ x ) ee(x)=1 \iff \forall k\in[1,K],\alpha_{k}(x)<\tau \\ p^{at-\tau }(y|x)=ee(x)\cdot\phi (y|x)+(1-ee(x))\sum_{K}^{k=1} \mathbb{I}(\alpha_{k}(x)\ge \tau )\cdot g(k|x)\cdot e^{'}_{k}(y|x) ee(x)=1⟺∀k∈[1,K],αk(x)<τpat−τ(y∣x)=ee(x)⋅ϕ(y∣x)+(1−ee(x))K∑k=1I(αk(x)≥τ)⋅g(k∣x)⋅ek′(y∣x)
作者在不同尺度的数据集上进行了实验:CIFAR-100, tiny-ImageNet (imagenet的一个缩小的子集,有200个类和110k张图片),以及ILSVRC2012。
模型使用不同深度的ResNets作为主要骨干架构。对于CIFAR-100和tiny-ImageNet,采用ResNets的一种改进版本 tiny-ResNet(tr),该版本消除了文献中常用的前两种降尺度操作(大步卷积和max-pooling)。
表一报告了不同深度的tiny-ResNets在CIFAR-100和tiny-ImageNet上的结果。所有结果都是由20名专家报告的,结果表明,即使是简单的Single-gated MoE模型也可以显著提高与标准CNNs相比的效率/精度权衡。而且异步训练方案允许跨多个设备独立地训练专家。
在准确性方面,使用更深入的基础模型通常比使用更深入的专家更有益。
表2结果显示:所有的MoE模型都优于总体基线。此外对于专家数量对模型的影响的分析,增加更多的专家会导致更高的专门化,但也有更多潜在的Routing fault。因此,增加专家的数量对模型是否有利并不明显。
表3中报告了ResNet和MobileNet骨干的ImageNet实验结果。之前的观察结果仍然成立:MoE模型模型优于基线和主干,基于基础模型置信度的早退机制有助于进一步减少计算量,从而带来有限的精度下降。
本文重新讨论了 Single-gated MoE 模型。具体来说,文章使用了一个新颖的集成方案和一个利用基于集群的初始化的简单异步和稳定的训练管道来增强MoE模型。模型的推理精度高于分层分类器和1专家集成基线,揭示了每个样本 routing 训练专业专家的好处。此外,将基本模型作为一个独立的分支,这允许系统嵌入一个简单的基于阈值的条件规则。