版权属于:
人工智能炼丹师
作品采用:
《
署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)
》许可协议授权
被广泛使用的CLIP模型,采用英文描述和图片对数据集(WebImageText 400M),进行对比学习训练,限制了其在中文场景下的应用。例如,在文生图应用中,国外开源模型Stable Diffusion需要采用英文作为输入,要支持中文描述生成图片得先翻译为英文。此外利用英文语料库训练的模型,对于【红烧狮子头、佛跳墙、对联和中文的成语、历史典故等】中文语境理解不够
在中文场景下的图文理解,近期也有相应的算法提出,包括智源的AltCLIP、阿里的ChinseCLIP、IDEA研究院的Taiyi、Wenlan、Wukong、R2D2等。这些算法各有优劣,本文将对上述算法和相关的数据集进行总结对比。
数据集 | 说明 | 机构 | 下载链接 |
---|---|---|---|
WuKong 100M | 数据集大小100M | 华为 | https://wukong-dataset.github.io/wukong-dataset/ |
Zero-Corpus | 开源数据集大小23M(共250M) ,通过用户CTR行为数据进行过滤匹配的图文对 | 360 | https://zero.so.com/index.html |
Laion5B-CN | 包含多语言的图文数据,其中中文约143M | LAION | https://laion.ai/blog/laion-5b/ |
M6-Corpus | 60M | 阿里 | 数据未开源 |
TaiSu | 166M | 中科院自动化所 | https://github.com/ksOAn6g5/TaiSu |
多数的中文CLIP均采用固定图像侧模型参数,只训练文本Encoder的方法。为进一步提升性能,ChinseCLIP 采用两阶段训练方案:先只训练文本Encoder,再联合训练图像Encoder+文本Encoder; AltCLIP也采用两阶段训练方案: 利用模型蒸馏,学习不同语种之间的文本语义对齐,再利用图文对对比学习,Finetune文本Encoder。
多数方法虽然提升了模型在中文数据上的指标,但是同时在英文数据上的性能(zero-shot 检索任务)却下降了。截止到目前(2023/04),AltCLIP方法能够在中文和英文数据集上均取得SOTA的结果。
算法 | 开源日期 | 训练集 | 算法概括 |
---|---|---|---|
Wukong-CLIP | 2022-02 | Wukong(100M/500M) | 冻结图像encoder(ResNet50/VIT/Swin), 只训练文本Encoder,对比学习损失参照FILIP的方式学习细粒度的文本和图像块对齐 |
Taiyi-CLIP | 2022-09 | Wukong(100M)+Zero(23M) | 基于OpenCLIP,冻结视觉编码器并且只微调语言编码器 |
ChinseCLIP | 2022-11 | LAION-CN(108M)+Wukong(72M)+翻译数据(20M, Visual Genome/MSCOCO) | 基于OpenCLIP,两阶段训练方案: 1) 先Finetune文本Encoder 2) 再结合ImageEncoder联合训练; 模型的缺点: 在英文任务上的指标大幅下降 |
AltCLIP | 2022-12 | Wudao + LAION | 基于XLM-R文本Encoder+OpenCLIP图像Encoer,两阶段训练方案: 1) 先只是使用平行语料文本(相同含义的中英文数据)来进行蒸馏(平行语料相对于图文对更容易获取且数量更大) 2) 再使用少量的2M中/英图像-文本对来训练文本编码器(图像侧固定) |
博主太厉害了!