简体中文|English
更多技术细节请参考 我们的论文:
ERNIE-ViL 2.0: Multi-view Contrastive Learning for Image-Text Pre-training
Bin Shan, Weichong Yin, Yu Sun, Hao Tian, Hua Wu, Haifeng Wang
近年来,基于大规模数据预训练的跨模态模型取得了令人瞩目的成绩。基于对比学习的双塔预训练框架能够利用大规模的噪声图文数据,在跨模态检索等任务上展现出较大的效果提升,同时具备计算效率高等优势,受到了广泛的关注(如CLIP,ALIGN等)。然而,已有的视觉-语言预训练技术基于单视角的对比学习,无法同时学习多种模态间和模态内的关联性。
ERNIE-ViL 2.0提出了一种基于多视角对比学习的预训练框架,通过构建丰富的视觉/文本视角,能够同时学习模态间和模态内的多种关联性,从而学习到更鲁棒的跨模态对齐,在跨模态检索等任务上取得了业界领先水平。
ERNIE-ViL 2.0 的多视角对比学习包括:
- 跨模态对比学习:图-文(描述),图-文(object tags序列)
- 模态内对比学习:图-图,文-文
以下为以中、英文模型在Flickr30K、COCO-CN的zero-shot结果,其他详见论文。
- ERNIE-ViL 2.0 英文 on Flickr30k:
Name | R@1 | R@5 | R@10 |
---|---|---|---|
Text2Image | 85.0 | 97.0 | 98.3 |
Image2Text | 96.1 | 99.9 | 100.0 |
- ERNIE-ViL 2.0 中文 COCO-CN:
Name | R@1 | R@5 | R@10 |
---|---|---|---|
Text2Image | 69.6 | 91.2 | 96.9 |
Image2Text | 69.1 | 92.9 | 97.1 |
- 这里结果均为论文最好结果
这里以ERNIE-ViL 2.0 Base(ViT)(开源),在COCO-CN上进行ZERO-SHOT的图文检索任务为例子:
- 模型下载: ERNIE-ViL 2.0 Base(ViT)
- 数据准备:下载COCO-CN的测试集,然后在配置文件设置输入路径,处理数据格式(默认为UTF-8编码), 为三列,由\t分开,第一列是文本,第二列是coco中的图像ID, 第三列是由base64编码的图片。
- 首先安装环境, 安装 paddle>=2.1.3, 以及requirements.txt 要求的包,
- 然后,对 ./packages/configs/ernie_vil_base.yaml 进行各项配置,具体请参考配置中的各项注释(包括输入/输出路径位置和模型参数路径)。
- 最后,运行以下命令,得到跨模态的图文embeddings
# Usage: bash $0 gpu-card-index config-path
$ bash run_infer.sh 2 ./packages/configs/ernie_vil_base.yaml
通过在./packages/configs/ernie_vil_base.yaml定义的输出结果的位置,使用下面脚本进行评测:
# Usage: python $0 output-embedding-path
$ python eval_retri.py test_out/cross_modal_embeddings.out
以下是ERNIE-ViL 2.0 Base模型在COCO-CN的结果,详细结果见论文
Name | R@1 | R@5 | R@10 | meanRecall |
---|---|---|---|---|
Text2Image | 65.9 | 90.1 | 96.1 | 84.0 |
Image2Text | 66.5 | 91.6 | 96.2 | 84.8 |
MeanRecall | 66.2 | 90.9 | 96.2 | 84.4 |
- ERNIE-ViL 2.0 base模型已经开源,Large模型和最好效果请移步文心官网。