多阶段对比学习+多专家CLIP实现细粒度多模态表征学习
今天给大家介绍一篇港中文、上海AI Lab等机构联合发表的CLIP优化工作,构建了基于多专家网络的MoE模型,实现更细粒度的视觉表征器训练,提升下游多模态大模型
论文标题:CLIP-MOE: TOWARDS BUILDING MIXTURE OF EXPERTS FOR CLIP WITH DIVERSIFIED MULTIPLET UPCYCLING
下载地址:https://arxiv.org/pdf/2409.19291v2
1.背景
基于CLIP的图文对比学习预训练是构建多模态大模型的一个核心基础模块。通过图片和文本的对比学习过程,训练图片和文本的Encoder,能够对齐图片和文本这两个模态的表征。
然而,很多工作都发现,CLIP训练的Encoder,提取的更多是粗粒度的图像信息,例如CLIP的表征会存在语义不同、内容相似的图像被分到同一个类别中。这种比较弱的视觉Encoder会影响下游任务的效果。
为了解决上述问题,本文构建了一种基于多专家网络的CLIP模型,不同专家从不同维度提取视觉表征,提升视觉编码器能力。并且整个过程只需要基于已有的checkpoint进行finetune,不用从0训练CLIP模型。
2.建模方法
CLIP-MoE的核心建模方法可以分成3个部分:多阶段对比学习、多专家网络、训练方式。
多阶段对比学习是港中文在Avoiding feature suppression in contrastive learning: Learning what has not been learned before中提出的CLIP训练方法。进行多轮的CLIP训练,每轮训练后,根据表征进行聚类,下一轮的对比学习在每个聚类类簇内进行训练。通过多轮训练,得到一系列的CLIP模型。这种建模方法可以理解为,比如最开始对比学习学到了根据颜色进行表征对齐,在聚类后,颜色相同的聚类到了一起,第二阶段就可以学到颜色以外的其他信息进行表征区分。通过这种方式实现不同维度的表征学习。
本文也利用多阶段对比学习的思路,基于一个预训练的CLIP模型,将参数固定,只对Transformer中的FFN层进行finetune。通过多阶段对比学习,生成多组FFN参数。
基于上述不同阶段的FFN参数,可以构建多专家网络。通过门控网络,设定样本通过各个FFN的概率,各个FFN的输出结果进行加权求和。并且在损失函数中引入复杂均衡loss,防止MoE被少数专家主导的情况。
在训练方式上,包含2个阶段。第一阶段,在多阶段对比学习过程中,基于预训练CLIP,模型参数freeze,只对FFN层进行finetune。在第二阶段,冻结所有参数,只对多专家网络中的路由部分进行finetune。
3.实验结果
通过实验结果来看,本文的CLIP预训练方法在零样本学习场景的图文检索、图像分类等任务上取得了显著的效果提升。
文中也通过case分析了这种CLIP-MoE结构对于细粒度图文匹配的有效性。CLIP-MoE能够更加关注图像中的细节信息,做出和文本更准确的匹配。
本文转载自 圆圆的算法笔记,作者: Fareise