极市导读
开集检测既要快又要准?Dynamic-DINO用“专家混合”新思路,把小模型训练出大能耐,通过 MoE-Tuning 与粒度分解设计,在效率与性能之间取得突破性平衡。>>加入极市CV技术交流群,走在计算机视觉的最前沿
01 精简阅读版本
本文主要解决了什么问题
-
探索专家混合(MoE)架构在实时开集目标检测器中的应用潜力,这类检测器虽然利用大规模视觉语言数据集,但模型规模较小。 -
解决传统密集模型在实时开集目标检测中面临的挑战,包括模型学习速度慢、梯度冲突和长尾问题。 -
在有限训练数据条件下,如何高效扩展模型搜索空间,提升模型性能,同时保持推理效率。
本文的核心创新是什么
-
提出了Dynamic-DINO框架,通过MoE-Tuning策略将Grounding DINO 1.5 Edge从密集模型扩展为动态推理框架。 -
设计了粒度分解机制,将基础模型的FFN分解为多个较小的专家网络,在不增加总参数量的情况下扩展了子网络搜索空间。 -
提出了专家预训练权重分配策略和特定的路由器初始化方法,防止微调初期性能下降,确保初始激活专家的输出之和精确匹配预训练FFN的输出。
结果相较于以前的方法有哪些提升
-
仅使用1.56M开源数据进行预训练的Dynamic-DINO,性能优于在私有Grounding20M数据集上预训练的Grounding DINO 1.5 Edge,且推理速度相当。 -
显著提升了罕见类别的检测性能,有效缓解了长尾问题。 -
在COCO、LVIS和ODinW等多个基准数据集上的零样本性能评估中,Dynamic-DINO取得了与官方Grounding DINO 1.5 Edge相当或更好的结果。
局限性总结
-
由于计算资源限制(仅8块NVIDIA 3090 GPU),无法在扩展后的Grounding DINO 1.5 Pro模型上训练和验证Dynamic-DINO。 -
无法利用充足的数据集探索MoE-Tuning的性能边界。 -
当前实现中将token顺序转发到不同专家网络的方式降低了推理效率,多专家前馈过程的并行加速仍需进一步优化。
02 深入阅读版本
导读
专家混合(MoE)架构在大型视觉语言模型(LVLMs)中表现出色,然而其在实时开集目标检测器中的潜力尚未被探索,这类检测器同样利用大规模视觉语言数据集,但模型规模较小。本研究探讨了这一领域,揭示了引人入胜的见解。在浅层,专家倾向于与多样化的同伴合作以扩展搜索空间。而在深层,固定协作结构出现,其中每个专家保持2-3个固定合作伙伴,不同的专家组合专门处理特定模式。
具体而言,作者提出了Dynamic-DINO,通过高效的MoE-Tuning策略将Grounding DINO 1.5 Edge从密集模型扩展为动态推理框架。此外,作者设计了一种粒度分解机制,将基础模型的 FFN (FFN)分解为多个较小的专家网络,扩展了子网络搜索空间。为防止微调初期性能下降,作者进一步提出了专家预训练权重分配策略,并配合特定的路由器初始化。在推理过程中,仅激活与输入相关的专家以形成紧凑的子网络。实验表明,仅使用1.56M开源数据进行预训练的Dynamic-DINO,其性能优于在私有Grounding20M数据集上预训练的Grounding DINO 1.5 Edge。
代码将公开发布在:https://github.com/wengminghe/Dynamic-DINO
1. 引言
近年来,开集目标检测[15, 19, 27, 45, 47, 53]已成为基础视觉任务的关键范式。与仅限于检测预定义固定类别中目标的通用目标检测器[32]不同,此类模型通过融合语言模态灵活定位任意目标。值得注意的是,由于其实际价值显著,已在异常检测、机器人与自动驾驶等多个领域[13, 25]得到广泛应用,实时开集目标检测器[5, 23, 33, 34]正受到越来越多的关注。
当前的实时开集目标检测器[5, 23, 34, 44, 54]主要采用具有固定推理架构的密集模型。相比之下,专家混合模型(MoE)[1, 6, 18, 21]在推理过程中仅激活神经网络的一部分,以同时提升模型容量并确保高效计算,这与该领域高度兼容,但其集成仍待探索。从另一个角度来看,MoE已在大型视觉语言模型(LVLMs)[21, 46]中展现出成功应用。类似地,实时开集目标检测器在规模较小的视觉语言数据集上进行训练。探索MoE在这样紧凑的多模态模型中的潜力同样是一个引人入胜的问题。因此,本研究探讨了该领域。
具体而言,MoE用多个专家网络替换了每个Transformer层中的 FFN (FFN),通过扩大模型容量来提升性能。在推理过程中,它采用路由器仅激活一部分专家,确保计算高效。在之前的目标检测器中,每层需要一个FFN来处理所有token,这些token包含开放场景中的广泛模式,包括视觉模式(例如类别和属性)和上下文模式(例如相对位置和关系)。这不仅减缓了模型学习速度,还导致了梯度冲突和长尾问题。在探索MoE方法时,作者观察到深层发展出稳定的专家协作,针对特定token模式形成专业组合,如图2所示。直观上,更细粒度的专家划分扩展了子网络搜索空间,使MoE能够更精确地划分输入token。这简化了模型学习,使得强大的网络可以用相对有限的数据进行训练。因此,高效扩展搜索空间至关重要。
对于一个包含 个专家的MoE网络,在推理过程中激活前 个专家,其搜索空间大小为 ,其中 表示层数。为了扩展搜索空间,直观上存在两种方法。首先,增加激活的专家数量 。然而,这种方法不可避免地会导致推理过程中的计算成本增加。其次,增加专家数量 。但这种方法会导致内存成本增加和训练速度变慢。此外,当训练数据量有限时,可能会引发过拟合问题。
为应对这一挑战,作者提出了一种名为Dynamic-DINO的新型动态推理框架,用于实时开集目标检测。为提高成本效率,作者采用基于复制的Grounding DINO 1.5 Edge的高效微调范式。在MoE(Mixture of Experts)的启发下,作者将Transformer层中的FFN(Feed-Forward Network)复制N次以扩展模型参数,形成一个超网络,同时使用预训练的FFN参数初始化扩展的FFN。受DeepSeekMoE [6]的启发,作者引入了一种粒度分解策略,将单个FFN分解为多个专家网络。独特之处在于,作者分解FFN的参数并将其分配给初始化专家网络,确保每个token的专家网络输出总和等于FFN输出。这种方法在不增加总参数量的情况下增加了专家数量,有效扩展了搜索空间。在前向推理过程中,使用路由网络选择性地激活一组专家,形成紧凑的超网络,同时严格保持激活参数相当于单个FFN。
为验证Dynamic-DINO的有效性,作者在多个基准数据集上评估了其零样本性能,包括COCO [22]、LVIS [11]和ODinW [19]。仅使用包含Object365 [35]、GoldG [17]和V3Det [41]数据集的1.56M开源数据进行训练,Dynamic-DINO在推理速度相当的情况下,性能优于在私有Grounding20M数据集上预训练的Grounding DINO 1.5 Edge。为促进进一步研究,作者强调可复现性和可访问性。
作者的贡献可以总结为:
-
作者验证了将MoE集成到实时开集目标检测任务中的潜力。 -
作者提出了一种新颖的MoE-Tuning方法,通过FFN的粒度分解,在保持参数数量不变的情况下扩展了搜索空间,从而促进了对广泛模式的建模。 -
Dynamic-DINO仅使用1.56M开源训练数据,便超越了Grounding DINO 1.5 Edge,且推理速度相当。
2. 相关工作
2.1. 开集目标检测
开集目标检测[10, 51]一直吸引着研究界的关注。代表性工作包括GLIP[19]、OpenSeeD[53]、OWL-ViT[26]、OWLST[27]、Grounding DINO[24]、DetCLIP[48-50]、OVDINO[40]、UniDetector[45]等。值得注意的是,实时检测器正受到越来越多的重视。YOLOWorld[5]和YOLO-UniOW[23]继承了YOLO系列[29-31]检测器的计算效率,并将其扩展到开集领域。Grounding DINO 1.5[34]提出了Edge模型,专注于计算效率。Grounding DINO 1.6和DINO-X[33]通过基于Grounding DINO 1.5 Edge扩展预训练数据集进一步提升了性能。此外,OmDet-Turbo[54]和OVLW-DETR[44]也实现了实时检测。与上述方法不同,作者创新性地引入MoE驱动的动态推理,在不牺牲效率的前提下显著提升了准确率。
2.2. 专家混合模型
专家混合(MoE)是条件计算领域的一种突出架构[14, 38, 39, 43],已在模型扩展方面展现出潜力[36]。MoE的核心原理在于使用路由器将token分配给专家。早期研究采用了硬路由模式[2, 20, 37, 42],其中每个专家通常被分配特定角色。相比之下,近期的大语言模型(LLM)和视觉语言模型(LVLM)工作则聚焦于软路由器,实现了在不同专家间的动态token分配,包括Gshard[18]、Lifelong-MoE[4]、MoE-LLaVA[21]、LLaVA-MoLE[3]、MoCLE[9]、DEMIX[12]等。其中,DeepSeekMoE[6]和QwenMoE[1]通过分割 FFN (FFN)中间隐藏维度来划分专家。作者采用这种最新设计,但存在关键差异。不同于他们为全预训练随机初始化专家的方法,作者通过分割预训练FFN参数来生成专家,用于增量微调。作者工作的另一项关键贡献是验证了MoE微调在开集目标检测中的有效性。
3. 方法
3.1. 概述
整体流程如图3所示。Dynamic-DINO基于Grounding DINO 1.5 Edge [34]构建,通过MoE-Tuning将其从密集模型扩展为动态推理框架。由于其闭源状态,作者在公开数据集上复现并训练了基础模型。在MoE-Tuning中,作者将SparseMoE结构应用于解码器,原因如下。首先,在语言引导 Query 选择后,仅保留900个token,显著少于先前模块,这最小化了路由选择引入的计算成本。其次,解码器的最终输出直接影响边界框回归,使其更适合微调。为了在MoE-Tuning期间平衡准确性和训练效率,作者允许特征增强器中的CrossAttention、跨模态MoE解码器中的MoE层以及检测Head参与训练,同时冻结所有其他参数。
3.2. 跨模态MoE解码器
超网络扩展。遵循MoE[8]范式,作者通过将解码器每一层的FFN扩展为 个相同大小的FFN来扩展模型。对于每个FFN,其中间隐藏维度被均匀划分为 个分区,从而构建 个专家。图2展示了 的情况。通过这种方式,模型的容量被扩展形成超网络。同时,专家更细的粒度导致子网络的搜索空间更大。子网络推理。在前向推理过程中,路由器 作为子网络选择的关键组件,是一个单线性层,如图3所示,其中 是输入 Token。其输出通过softmax函数进行归一化,为每个专家获得得分 ,其公式表示为:
接下来,通过门控机制选择得分最高的前 位专家进行激活,确保激活的参数与单个 FFN (FFN)的参数保持一致。门控 的计算公式为:
SparseMoE层 的输出是所选专家 输出的总和,该总和满足 为确保形式上的清晰,该过程表示为:
3.3. MoE-Tuning
专家初始化。每个 FFN(FFN)使用预训练基础模型的参数进行初始化,该基础模型包含两个线性层,表示为 ,其中 。其中 表示输入token的维度, 代表FFN的隐藏层维度。FFN的前馈过程计算如下:
其中 是激活函数。每个细粒度专家的参数根据每个 FFN 进一步细分。具体来说,第一层线性层的参数水平分为 个块,如下所示:
接下来,第二个线性层的参数垂直分为:
第 个专家 在形式上是一个较小的前馈神经网络,其参数为 。这种权重分配策略如图4所示。这种参数分割确保了 个细粒度专家的输出之和与原始前馈神经网络的输出相匹配:
路由初始化。路由被实现为一个单一的线性层,其参数表示为 ,其中 和 。为了在微调期间对基础模型实现增量性能提升,必须确保初始激活专家的输出之和精确匹配预训练 FFN 的输出,即 。
因此,必须对路由初始化施加特定的约束。如图5所示,作者首先随机初始化权重 和 ,然后将 和 中的每个质心向量复制 次以形成路由权重 和 。通过这种初始化,路由在微调开始时保证选择来自相同 FFN 的 个专家。如图6所示,Dynamic-DINO在微调期间实现了增量性能提升
损失函数。总损失 和辅助损失 组成,表示为:
其中 是 和 的平衡系数 包含边界框回归损失和分类损失。遵循 DETR 类工作 [52],边界框回归分支使用 L1 损失和 GIOU 损失。对于分类分支,作者使用 focal loss 作为预测边界框和语言 Token 之间的对比损失。因此, 的计算公式为:
在MoE-Tuning过程中,需要采用负载均衡损失来确保每个专家得到充分利用。遣循MoE- LLaVA[21],作者将负载均衡损失整合到Cross-Modality MoE Decoder中的每个 SparseMoE层中,其公式表述为:
其中 是专家的数量, 表示每个专家 处理的token的比例,而 表示分配给专家 的平均路由概率
4. 实验
4.1. 实验设置
预训练数据。作者的Dynamic-DINO在包含Objects365(V1)[35]、GoldG [17]和V3Det [41]数据集的检测和 grounding 数据集上进行了训练。遵循[19],作者从GoldG中排除了COCO数据集中的图像(GQA [16]和Flickr30k [28])。
基准测试。作者在COCO [22]、LVIS [11]和ODinW [19]数据集上以零样本设置评估了所提出的Dynamic-DINO的性能。遵循先前方法 [19, 24],作者使用标准的平均精度(AP)评估COCO和ODinW的性能,并在LVIS上使用固定AP [7]进行公平比较。
实现细节。Dynamic-DINO基于复制的Grounding DINO 1.5 Edge。作者采用EfficientViT-L1作为图像主干,并使用Hugging Face的BERT-base作为文本主干。作者提取了三个图像特征尺度,从到,并将特征图下采样到作为额外的特征尺度。默认情况下,作者设置 Query 数量为900,并使用6个解码器层。在预训练阶段,作者采用AdamW优化器,所有模型参数(除图像主干和文本主干)的基础学习率为 ,图像主干和文本主干的学习率为 。总批处理大小为128。分配给 和 的权重分别为2.0、5.0和2.0.预训练阶段持续7个epoch。在MoE-Tuning朌段,作者从预训练的基模型初始化参数。MoE-Tuning阶段持续 10 个 epoch。平衡系数 。所有模型均在8块NVIDIA 3090 GPU上进行训练。
4.2. 与当前最优方法的比较
为了全面评估,作者将作者的DynamicDINO与最先进的实时开集检测器进行比较,包括YOLO-World v2 [5]、OmDet-Turbo [54]、OVLW-DETR [44]和Grounding DINO 1.5 Edge [34]。如表1所示,Dynamic-DINO在不同分辨率下均实现了与官方Grounding DINO 1.5 Edge相当的性能。
值得注意的是,Dynamic-DINO显著提升了罕见类别的检测性能,表明MoE-Tuning有效缓解了长尾问题。由于官方Grounding DINO 1.5 Edge未报告ODinW上的性能,作者在表2中仅比较了作者复现的Grounding DINO 1.5 Edge和Dynamic-DINO的性能。此外,速度比较结果如表3所示。由于复现的Grounding DINO 1.5 Edge是闭源版本,其速度略慢于官方版本。经过MoE-Tuning后,推理速度略有下降,因为当前实现将token顺序地转发到不同的专家网络,显著降低了效率。未来工作将优化这一问题以实现加速。
4.3. 统计分析
路由分布。在图9中,作者展示了通过Dynamic-DINO -Top2在COCO-val和LVIS-minival基准测试中推理时专家负载的统计结果,其中每种颜色代表1个专家。专家的动态选择在不同层之间表现出显著差异,表明专家已经学习到某种机制来以特定方式划分任务。
专家协作。图7通过Dynamic-DINO Top进一步揭示了专家之间的协作动态。作者在LVIS-minival基准上量化了所有可能专家对之间的共同选择频率,并对结果进行了归一化处理。在浅层,专家倾向于与多样化的同伴合作以探索更广阔的搜索空间。相比之下,在深层,专家逐渐细化他们的偏好,专注于与2-3个特定伙伴进行一致的协作以处理不同的模式。
Token路由示例。图8展示了最后解码器块中MoE层图像块的路由机制的可视化。结果表明,不同的专家组合专门用于处理特定的模式。例如,专家0和3主要管理与冰箱相关的token,而专家1和7专门处理与服装相关的token。这些发现证实了作者的假设,即具有相似模式的token倾向于选择相同的专家组合。因此,更细粒度的专家划分能够实现更广泛的专家组合,从而减少每个专家组处理的模式数量。这种内在效率解释了作者如何利用相对有限的数据实现了优越的网络性能。
4.4. 消融研究
不同子集参数调优的影响。表4中的结果表明检测Head在MoE-Tuning过程中起着关键作用,在LVIS-val上实现了+1.3 AP的显著提升。此外,联合微调特征增强器中的交叉注意力机制能够进一步提升性能。
搜索空间的影响。图10表明,更大的参数量能够持续提升性能。同时,在参数固定的情况下,将单个 FFN 解耦成两个专家能够进一步提升性能,但过度细分会导致性能下降,如图11所示。作者将此归因于有限的训练数据,其中过大的搜索空间增加了过拟合风险,从而损害了零样本性能。
训练效率的影响。如表5所示,在相同训练数据和GPU条件下,MoETuning相较于预训练方案实现了 的加速。此外,扩展预训练提供了微小的性能提升,而MoE-Tuning则实现了显著的增强,如图6所示。
数据集的影响。虽然Dynamic-DINO在有限数据下能取得优异结果,但表6显示其性能随着训练数据的增加而显著提升。值得注意的是,本研究中使用的所有数据集均为开源,这保证了可复现性和可访问性。
5. 局限性讨论
这项工作以Grounding DINO 1.5 Edge作为基础模型,通过MoE-Tuning将其从密集模型扩展为动态推理模型。在有限开源数据的情况下,Dynamic-DINO在性能上与官方Grounding DINO 1.5 Edge相匹配。然而,由于计算资源限制,仅限于8块NVIDIA 3090 GPU,作者无法在扩展后的Grounding DINO 1.5 Pro模型上训练和验证Dynamic-DINO,也无法利用充足的数据集探索MoE-Tuning的性能边界。多专家前馈过程的并行加速在未来仍需进一步优化。
6. 结论
在本文中,作者提出了Dynamic-DINO,一个探索实时开集目标检测与专家混合(Mixture of Experts, MoE)集成的新型框架。作者证明了多样化的专家组合能够自适应地处理特定模式。因此,Dynamic-DINO在推理过程中根据输入数据模式仅激活相关专家,即使训练数据有限也能取得出色的性能。具体而言,Dynamic-DINO基于作者复现的Grounding DINO 1.5 Edge构建,通过MoE-Tuning将其从密集模型扩展为动态推理框架。此外,作者设计了一种粒度分解机制来分割专家网络,在严格保持激活参数与基础模型中单个 FFN (FFN)等效参数的同时,扩展了子网络搜索空间。为防止微调初期性能下降,作者进一步提出了针对专家的预训练权重分配策略,并结合特定的路由器初始化方法。大量实验验证了作者提出方法的有效性。
参考
[1]. Dynamic-DINO: Fine-Grained Mixture of Experts Tuning for Real-time Open-Vocabulary Object Detection
公众号后台回复“数据集”获取100+深度学习各方向资源整理
极市干货

点击阅读原文进入CV社区
收获更多技术干货

