CoCa:多模态领域的六边形战士
1. 简介 大规模预训练基础模型在计算机视觉领域具有重要意义,因为这些模型能够快速迁移至多种下游任务。本研究提出对比-生成双模态模型(Contrastive Captioner, CoCa),该模型采用极简设计,通过联合优化对比损失与生成损失,实现图像-文本编码器-解码器基础模型的预训练,从而兼具CLIP等对比式模型与SimVLM等生成式模型的能力。 与传统编码器-解码器架构(所有解码层均关注编码器输出)不同,CoCa在前半部分解码层中省略跨模态注意力机制以生成单模态文本表征,后半部分解码层则以级联方式对图像编码器输出进行跨模态注意力计算,最终获得多模态图文表征。该模型在单模态图像-文本嵌入之间施加对比损失,同时在多模态解码器输出端采用自回归文本预测的生成损失。由于共享计算图,两个训练目标能以极低开销高效实现。 CoCa的模型设计其实是ALBEF的延展性工作,只是模型更大,数据集超大,把性能堆的超级好。实验表明,CoCa在零样本迁移或极少量任务适配条件下,于视觉识别(ImageNet、Kinetics400/600/700、Moments-in-Time)、跨模态检索(MSCOCO、Flickr30K、MSR-VTT)、多模态理解(VQA、SNLI-VE、NLVR2)及图像描述生成(MSCOCO、NoCaps)等广泛下游任务中达到最先进性能。特别在ImageNet分类任务中,CoCa取得86.3%的零样本Top-1准确率,冻结编码器微调分类头时达90.6%,完整微调后更以91.0%的Top-1准确率刷新当前最佳记录。 论文中给到了非常直观的一张图。如下所示: 如图4所示,在这个蜘蛛网图中,每个边表征一个数据集(也可以看作一个任务)。黄色阴影是CoCa被提出之前,每个数据集上不同模型能达到的最好的性能(SOTA),紫色则是CoCa能到达的性能,简单说就是吊打图中所有任务的所有SOTA模型。 不过,悄悄的说,我个人感觉这看似恐怖且震撼的性能实际上没有太多贡献,主要是超大训练集支持的… 论文地址:https://arxiv.org/pdf/2205.01917 2. 模型与损失 这张图展示了Contrastive Captioners (CoCa)模型的预训练框架及其应用场景,以及训练所用的损失函数。 CoCA的模型架构与ALBEF不能说一模一样吧,可以说毫无差别,但在损失函数的选择上是有差异的。具体来说CoCA的损失函数由两部分组成,通过加权联合优化: 1.对比损失(Contrastive Loss) $$\mathcal{L}{\text […]