
摘要
探索大规模预训练基础模型在计算机视觉领域的应用具有重要意义,因为这些模型可以快速迁移到许多下游任务中。本文介绍了对比式描述生成器(Contrastive Captioner, CoCa),这是一种极简设计,旨在通过联合使用对比损失和描述生成损失来预训练图像-文本编码器-解码器基础模型,从而整合了像CLIP这样的对比方法和像SimVLM这样的生成方法的能力。与标准的编码器-解码器变压器不同,CoCa 在解码器的前半部分省略了交叉注意力机制,以编码单模态文本表示;而在剩余的解码器层中则引入了交叉注意力机制,以便对图像编码器进行多模态图像-文本表示。我们不仅在单模态图像和文本嵌入之间应用了对比损失,还在多模态解码器输出上应用了描述生成损失,后者自回归地预测文本标记。通过共享相同的计算图,这两种训练目标能够高效地计算,并且几乎没有额外开销。CoCa 从头开始端到端地预训练,既使用网页规模的替代文本数据也使用注释图像数据,并将所有标签简单地视为文本,从而无缝统一自然语言监督下的表征学习。实证结果表明,CoCa 在广泛的下游任务中实现了最先进的性能,无论是零样本迁移还是最小的任务特定适应。具体而言,在ImageNet分类任务中,CoCa 获得了86.3%的零样本最高准确率;当使用冻结的编码器和学习到的分类头时,准确率提升至90.6%;而经过微调后的编码器则达到了新的最高水平——91.0%的最高准确率。此外,在其他多个任务上也表现出色:- 视觉识别(ImageNet、Kinetics-400/600/700、Moments-in-Time)- 跨模态检索(MSCOCO、Flickr30K、MSR-VTT)- 多模态理解(VQA、SNLI-VE、NLVR2)- 图像描述生成(MSCOCO、NoCaps)这些结果进一步证明了 CoCa 的强大泛化能力和灵活性。
代码仓库
基准测试
| 基准 | 方法 | 指标 |
|---|---|---|
| action-classification-on-kinetics-400 | CoCa (frozen) | Acc@1: 88.0 |
| action-classification-on-kinetics-400 | CoCa (finetuned) | Acc@1: 88.9 |
| action-classification-on-kinetics-600 | CoCa (finetuned) | Top-1 Accuracy: 89.4 |
| action-classification-on-kinetics-600 | CoCa (frozen) | Top-1 Accuracy: 88.5 |
| action-classification-on-kinetics-700 | CoCa (frozen) | Top-1 Accuracy: 81.1 |
| action-classification-on-kinetics-700 | CoCa (finetuned) | Top-1 Accuracy: 82.7 |
| action-classification-on-moments-in-time-2 | CoCa (finetuned) | Top 1 Accuracy: 49.0 |
| action-classification-on-moments-in-time-2 | CoCa (frozen) | Top 1 Accuracy: 47.4 |
| image-captioning-on-coco-captions | CoCa | BLEU-4: 40.9 CIDER: 143.6 METEOR: 33.9 SPICE: 24.7 |
| image-classification-on-imagenet | CoCa (finetuned) | Hardware Burden: Number of params: 2100M Operations per network pass: Top 1 Accuracy: 91.0% |
| image-classification-on-imagenet | CoCa (finetuned) | Number of params: 2100M Top 1 Accuracy: 91.0% |
| image-classification-on-objectnet | CoCa | Top-1 Accuracy: 82.7 |
| video-retrieval-on-msr-vtt | CoCa (zero-shot) | text-to-video R@1: 30.0 text-to-video R@10: 61.6 text-to-video R@5: 52.4 video-to-text R@1: 49.9 video-to-text R@10: 81.4 video-to-text R@5: 73.4 |
| visual-entailment-on-snli-ve-test | CoCa | Accuracy: 87.1 |
| visual-entailment-on-snli-ve-val | CoCa | Accuracy: 87.0 |
| visual-question-answering-on-vqa-v2-test-dev-1 | CoCa | Accuracy: 82.3 |
| visual-reasoning-on-nlvr2-dev | CoCa | Accuracy: 86.1 |
| visual-reasoning-on-nlvr2-test | CoCa | Accuracy: 87.0 |
| zero-shot-cross-modal-retrieval-on-coco-2014 | CoCa | Image-to-text R@1: 66.3 Image-to-text R@10: 91.8 Image-to-text R@5: 86.2 Text-to-image R@1: 51.2 Text-to-image R@10: 82.0 Text-to-image R@5: 74.2 |
| zero-shot-cross-modal-retrieval-on-flickr30k | CoCa | Image-to-text R@1: 92.5 Image-to-text R@10: 99.9 Image-to-text R@5: 99.5 Text-to-image R@1: 80.4 Text-to-image R@10: 97.7 Text-to-image R@5: 95.7 |
| zero-shot-transfer-image-classification-on-1 | CoCa | Accuracy (Private): 86.3 |
| zero-shot-transfer-image-classification-on-3 | CoCa | Accuracy (Private): 80.7 |
| zero-shot-transfer-image-classification-on-4 | CoCa | Accuracy: 96.5 |
| zero-shot-transfer-image-classification-on-5 | CoCa | Accuracy (Private): 90.2 |
| zero-shot-transfer-image-classification-on-6 | CoCa | Accuracy (Private): 82.7 |
| zero-shot-transfer-image-classification-on-8 | CoCa | Accuracy (Private): 77.6 |