(多模态)VLP

0、图文多模态学习

包含以下:

  • 普通多模态学习,如图文检索、视觉问答、视觉推理、视觉蕴含: CLIP
  • language guided detection
  • language guided segmentation
  • 文本图像生成:Dall.E2, Stable Diffusion
  • 文本视频生成

1、普通多模态学习:图文检索、视觉问答、视觉推理、视觉蕴含

1.1 只用encoder-transformer方法

1.1.1 ViLT

1.1.2 CLIP-OpenAI(->DELL)

大数据(400M/4亿 web image-caption pair)+大模型+对比学习

  • 自然语言监督信号训练图片的好处(CONVIRT和CLIP非常像了,但只在医疗图像上做, 之前的那些方法没有这么大的数据集,没有这么多的算力, 没有这么大的模型,没有这么好的自监督训练的方式, 所以大家的效果都不好(特别是zero-shot))
    1、不需要标注 2、文本和图片一起自监督学习,学习的是多模态特征;像Moco单模态对比自监督学习和MAE单模态的掩码自监督学习,只能学习到视觉特征,无法和自然语言联系,无法进行0-shot学习
  • 大数据
    WIT 自收集400M/4亿 image,text对
  • 预训练方法/大数据怎么解决训练效率
    不选择图片预测文字预测性的方法的原因:1、1个图片有很多文本描述,有很多可能 2、不需要逐字逐句预测文本,效率高
    对比学习:只需要判断图片和文本是否配对
    模型结构:
    视觉分支resnet或者transformer-encoder,文本分支transformer-encoder
  • 数据增强
    因为数据集大,只做了随机裁剪
  • 调参
    数据集大,模型大,不太好调参,所以温度设置为可学习的标量
  • trick
    1、由于模型大,数据量大,所以超参通过最小的模型resnet50训练1个epoch确定的
    2、混合精度,transformer大部分都用
    3、https://lilianweng.github.io/posts/2021-09-25-train-large/
    4、训练好的模型在更大像素输入的数据上做finetune
  • 0-shot推理-prompt
    1、使用模板a photo of a {label}
    不使用单个词计算文本特征的原因: 1、单个词有歧义,比如remote遥控器/遥远 2、训练的时候用的语句,如果使用单词存在特征分布gap
    2、增加描述,使用 a photo of a {label}, a type of pet
    3、 prompt emsembel集成,使用多个模板
  • 不足
    1、效果只是比resnet50好,和sota差很远
    2、不能直接生成类别,而是需要给一个类别,方向对比+生成方法合在一起
    2、模型需要大量数据投喂,,方向减少数据用量,数据增强/自监督/伪标签
    3、数据从网上爬,数据可能存在偏见
    4、有些时候fewshot比0-shot效果差

1.1.3 ALBEF

1.1.4 VLMo

1.1 用encoder-transformer,用decoder-transformer方法

posted @ 2022-12-16 19:20  哈哈哈喽喽喽  阅读(268)  评论(0编辑  收藏  举报