paper:https://arxiv.org/pdf/2211.06679v1
code:https://github.com/FlagAI-Open/FlagAI
参考:https://zhuanlan.zhihu.com/p/589700046
概要
- 预训练图像-文本模型需要大量的图像-文本对和计算资源。有文章提出,对预训练的clip文本编码器进行蒸馏,学习一个多语言文本-图像表示模型(只使用机器翻译的平行数据),未使用文本-图像对数据,导致英语中的zero-shot分类性能明显下降;
- 跨语种的工作主要集中在模型检索方面,但公开的检索数据集过小(如,Flickr-30k),不足以很好地体现模型的泛化能力。
- 本文提出使用two-stage的方法,学习一个强大的双语语言-文本模型,在多个中文图像分类和检索任务中表现sota
方法
-
Teacher Learning Stage
教师编码器: CLIP的文本编码器
学生模型: XLM-R(在多语言数据上预训练过的语言模型)
训练数据: 机器翻译的平行数据+人工翻译的双语数据=3600w条平行文本
使用中-英的平行文本数据进行图像-文本对齐的知识蒸馏补充----特殊的分隔符号:
[MASK] :表示这个词被遮挡。需要带着[],并且mask是大写,对应的编码是103
[SEP]: 表示分隔开两个句子。对应的编码是102
[CLS]:用于分类场景,该位置可表示整句话的语义。对应的编码是101
[UNK]:文本中的元素不在词典中,用该符号表示生僻字。对应编码是100
[PAD]:针对有长度要求的场景,填充文本长度,使得文本长度达到要求。对应编码是0
eot: the hightest number in the each sequence
EOS: 语言模型中的特殊标志,暂未找到 -
Contrastive Learning Stage
基于多语言文本对,使用对比学习的方法,进一步提升图像文本对齐。
遵循LiT的训练原则:冻结图像编码器,仅训练文本编码器
训练数据: 200w条双语图像对 -
Ablation study
1.若缺少EN-EN(英-英)平行文本数据,ImageNet-EN指标剧烈下降(53.8–>15.5)
2.若缺少机器翻译的英-中平行数据,Flick30K-CN(85.8–>53.9), ImageNet-CN(41.7–>12.8)
3.引入人工翻译的英-中数据,在ImageNet-CN测试集上有很大提高,可能与数据分布相关
4.蒸馏学习时,训练数据的多样性可以使语言模型获取更多的知识(实体/概念性的)
-
Cross-modal Retrieval
中英双语图像检索