English | 简体中文
关于算法的详细描述,请参见我们的论文
ERNIE-ViL:Knowledge Enhanced Vision-Language Representations Through Scene Graph
Fei Yu*, Jiji Tang*, Weichong Yin, Yu Sun, Hao Tian, Hua Wu, Haifeng Wang (* : equal contribution)
Preprint June 2020
ERNIE-ViL 是面向视觉-语言任务的知识增强预训练框架,首次在视觉-语言预训练中引入了结构化的知识。ERNIE-ViL利用场景图中的结构化知识,构建了物体预测,属性预测,关系预测三种预训练任务,精细地刻画了视觉-语言模态之间细粒度语义的对齐,从而获得了更好的视觉-语言联合表示。
基于文本中解析出的场景图,ERNIE-ViL提出了三个多模态场景图预测任务:
ERNIE-ViL 场景图预训练任务结构
ERNIE-ViL使用大规模图文对齐数据作为预训练数据,基于Conceptual Captions和SBU Captions两个out-of-domain数据集,训练两种参数规模模型如下:
基于两个out-of-domian数据集(Conceptual Captions,SBU Captions)和两个in-domain数据集(MS-COCO,Visual-Genome)训练了large参数规模的模型:
ERNIE-ViL在五个视觉语言下游任务进行了实验,包括视觉常识推理, 视觉问答, 跨模态图片检索, 跨模态文本检索, 引用表达式理解,与主流模型的效果对比可以参考开源论文。
数据集合
任务预训练: 基于ERNIE-ViL的out-of-domain模型,在视觉推理任务中进行了任务预训练,预训练获得模型如下
效果: ERNIE-ViL在视觉常识推理任务上的效果对比如下:
模型 | Q->A | QA->R | Q->AR |
---|---|---|---|
ERNIE-ViL (task-pretrain) base | 76.37(77.0) | 79.65(80.3) | 61.24(62.1) |
ERNIE-ViL (task-pretrain) large | 78.52(79.2) | 83.37(83.5) | 65.81(66.3) |
注:括号外表示验证集效果,括号内表示测试集效果,测试集效果提交到VCR榜单获得。
数据集合
question_id, question, answer_label, answer_score, image_w, image_h, number_box, image_loc, image_embeddings
效果:ERNIE-ViL的三种预训练模型在视觉问答任务下的效果如下表
模型 | test-dev | test-std |
---|---|---|
ERNIE-ViL base | 73.18 | 73.36 |
ERNIE-ViL large | 73.78 | 73.96 |
ERNIE-ViL-Out&in-domain large | 74.95 | 75.10 |
数据集合
image_w, image_h, number_box, image_loc, image_embeddings
效果
ERNIE-ViL的三种预训练模型在**跨模态图片检索(Flickr30k 数据集)**上的效果如下表
模型 | R@1 | R@5 | R@10 |
---|---|---|---|
ERNIE-ViL base | 74.44 | 92.72 | 95.94 |
ERNIE-ViL large | 75.10 | 93.42 | 96.26 |
ERNIE-ViL-Out&in-domain large | 76.66 | 94.16 | 96.76 |
ERNIE-ViL的三种预训练模型在**跨模态文本检索(Flickr30k 数据集)**任务上的效果如下表
模型 | R@1 | R@5 | R@10 |
---|---|---|---|
ERNIE-ViL base | 86.70 | 97.80 | 99.00 |
ERNIE-ViL large | 88.70 | 97.30 | 99.10 |
ERNIE-ViL-Out&in-domain large | 89.20 | 98.50 | 99.20 |
expressions, image_w, image_h, number_box, number_boxes_gt, image_loc, image_embeddings, box_label, label
ERNIE-ViL的三种预训练模型在引用表达式理解任务上的效果如下表:
模型 | val | testA | testB |
---|---|---|---|
ERNIE-ViL base | 74.02 | 80.33 | 64.74 |
ERNIE-ViL large | 74.24 | 80.97 | 64.70 |
ERNIE-ViL-Out&in-domain large | 75.89 | 82.39 | 66.91 |
ERNIE-ViL代码基于Paddle Fluid 1.8 和 Python 2.7, 依赖的其他模块也列举在 requirements.txt,可以通过下面的指令安装:
pip install -r requirements.txt
在运行 ERNIE-ViL 微调前,需要将 CUDA 、cuDNN 、NCCL2 的动态库路径添加到 LD_LIBRARY_PATH 。 我们把下游任务的参数配置文件放到了 conf/ ,可以简单地通过配置文件运行。 例如,您可以通过下面的指令在各个下游任务上进行微调:
sh run_finetuning.sh $task_name(vqa/flickr/refcoco_plus/vcr) conf/${task_name}/model_conf_${task_name} $vocab_file $ernie_vil_config $pretrain_models_params
前面提供的模型链接中包含了所有需要的文件, 包含词表文件,配置文件和预训练参数。微调相关的模型配置和参数配置可以通过conf/ 目录下的文件找到,这里对论文最优结果(large模型)的一些关键参数进行汇总:
Tasks | Batch Size | Learning Rate | # of Epochs | GPUs | Layer Decay rate | Hidden dropout |
---|---|---|---|---|---|---|
VCR | 16(x4) | 1e-4 | 6 | 4x V100 | 0.9 | 0.1 |
VQA 2.0 | 64(x4) | 1e-4 | 15 | 4x V100 | 0.9 | 0.1 |
RefCOCO+ | 64(x2) | 1e-4 | 30 | 2x V100 | 0.9 | 0.2 |
Flickr | 8(x8) | 2e-5 | 40 | 8x V100 | 0.0 | 0.1 |
所有的下游任务的微调实验是在 32 GB 的英伟达V100 GPU上运行,如果您的GPU显存不够,可以考虑更多张卡运行或者减小配置中的batch_size。
基于已经训练的模型,您可以通过下面的命令测试下游任务的效果(相关的配置文件可以从之前下载的包获得)
Task Q->A: sh run_inference.sh vcr qa $split(val/test) conf/vcr/model_conf_vcr $vocab_file $ernie_vil_config $model_params $res_file
Task Q->AR: sh run_inference.sh vcr qar $split(val/test) conf/vcr/model_conf_vcr $vocab_file $ernie_vil_config $model_params $res_file
VCR的测试可以在一张32GB的英伟达V100 GPU上运行,测试的结果包含Q->A 任务、QA->R任务和Q->AR任务,其中Q->AR任务由前两个任务结果合并所得.
sh run_inference.sh vqa eval $split(val/test_dev/test_std) conf/vqa/model_conf_vqa $vocab_file $ernie_vil_config $model_params $res_file
注:VQA的测试样本没有label信息,需要将结果文件提交到VQA网站查看结果。
sh run_inference.sh refcoco_plus eval $split(val/test_A/test_B) conf/refcoco_plus/model_conf_refcoco_plus $vocab_file $ernie_vil_config $model_params $res_file
sh run_inference.sh flickr eval $split(dev/test) conf/flickr/model_conf_flickr $vocab_file $ernie_vil_config $model_params $res_file
注:Flickr的结果是一个预测结果文件,可以参考 tools/get_recall.py 统计一下最终结果。
可以按下面的格式引用我们的论文:
@article{yu2020ernie,
title={ERNIE-ViL: Knowledge Enhanced Vision-Language Representations Through Scene Graph},
author={Yu, Fei and Tang, Jiji and Yin, Weichong and Sun, Yu and Tian, Hao and Wu, Hua and Wang, Haifeng},
journal={arXiv preprint arXiv:2006.16934},
year={2020}
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。