欢迎光临 x-algo
关注算法在工业界应用
Hi, 这是一个关注大数据算法在工业界应用的网站

BERT衍生的多模态模型(2019)

本文记录2019年多模态和BERT相关的论文,文章介绍顺序并不代表论文发表顺序

UNITER

UNITER: LEARNING UNIVERSAL IMAGE-TEXT REPRESENTATIONS

有作者的直播视频:https://www.bilibili.com/video/av74865157

  • 大力出奇迹,模型形式上没有什么创新,就是更多的数据、更多的任务,没有seq2seq的任务
  • 图片部分尝试了不同的object function

screenshot_2

VideoBERT

VideoBERT: A Joint Model for Video and Language Representation Learning

WeChat Screenshot_20191027103533

  • 贡献:使用一个简单的方式学习high-level的视频特征,捕获其中的语义和长时序信息;将视频通过s3d抽取特征之后,变为离散的token
  • 训练目标:文本和视频分别对应的mask,文本和视频是否对齐
  • 对单张图来说更加注重high-level的特征表达;对视频视频序列来说,覆盖更多的时长(分钟级别,以前任务都是秒级别)
  • 自然语言已经是高度抽象的信息,将这种高度抽象的信息和视觉信息(图片、视频)可以组成“自监督”的训练语料
  • 仅仅通过视频作为输入,我们可以很容易的通过下面三步,构造视频和文本的“自监督”的训练任务:
    1. 语音识别(ASR),得到视频的文本信息
    2. 使用现有的图片分类模型,对视频抽帧,得到特征,然后执行VQ(vector quantize),将视频变为离散id,总数是12^4=20736
    3. 将前两步得到的文本和视频特征送入改造后的BERT模型联合训练
  • 因为视频的描述是通过ASR识别出来的,肯定会引入噪声(虽然教学类视频也有噪声),明显这个噪声还是要比教学类视频严重;所以进行下面的操作:
    1. 随机的和相邻句子合并,组成长句之后让模型去学习那一部分是align的
    2. 是视频输入部分随机的下采样,兼容播放速度+更加鲁棒+更长的时间维度信息获取
  • 数据:没有使用开源的cooking数据集合,因为都太小了;使用YouTube上面的topic为cooking视频作为训练数据,数据的筛选逻辑大概为:
    1. 删除15分钟以上的视频
    2. 主题过滤,只要和cooking相关
    3. 通过YouTube的ASR API得到文本
  • 如何对文本加标点?答:使用别人训练好的LSTM模型
  • 如何对视频进行切句?答:使用ASR结果,ASR里面有对视频的开始和结束时间;如果ASR不能工作怎么办?答:每16个token作为一个segment

 

CBT

LEARNING VIDEO REPRESENTATIONS USING CONTRASTIVE BIDIRECTIONAL TRANSFORMER
  • 论文也是针对视频场景的预训练,和videoBERT类似,也是通过ASR进行识别先
  • 先试用S3D模型进行特征提取,然后送入CBT模型,这里的S3D也是从开源数据上面先预训练的
  • 并未对每一个图像进行token id的分配,而是使用原始的S3D的output送入(也会对S3D fine tune);这样就导致构造loss的时候进行负采样概率计算无法全局统计频率,所以本文采用的是当前batch为负样本

WeChat Screenshot_20191027220608

ViLBERT

论文 ViLBERT: Pretraining Task-Agnostic Visiolinguistic Representations for Vision-and-Language Tasks

WeChat Screenshot_20191026132810

  • 训练目标有两个,分别为:
    1. 预测mask信息,对img来说就是预测对应roi的类别,对text来说就是预测mask掉的词;
    2. 预测img和text是否对齐(图内容和描述文字匹配),这个就是一个二分类,利用两部分的[CLS]输出构造;
  • 使用比较新的数据集进行预训练,数据集为:Conceptual Captions;数据集是通过网络收集的,都是弱监督信号;使用这个数据进行两个proxy任务,第一个是mask word,第二个是mask image region;
  • 提出了 multi-mudal co-atteiton Transformer module,实现模态之间的交互;具体的实现方式也比较简单,就是文本和视觉之间进行attention,具体结构见下图;
  • 在进行信息交互的时候,需要确定在那一层进行交互,因为图片部分输入的是roi信息,已经是非常抽象的信息,所以对文本部分也是需要使用比较抽象的层的信息(high level 信息)
  • image部分都是roil,所以没有order的概念,position embedding由5个数字组成,分别矩形的四个坐标+置信度得分(这里没有类别信息),然后通过一个映射矩阵映射到和特征向量等长;

WeChat Screenshot_20191026210934

VisualBERT

VisualBERT: A Simple and Performant Baseline for Vision and Language

  • loss有两个:
    1. 文本部分进行mask预测,输入没有mask的文本信息和所有的图片信息
    2. 二分类预测,预测当前图和文是否一致;负样本的构造是50%随机抽取现有caption,50%完全随机
  • 预训练数据集:COCO image caption
  • 图片的embedding有三部分组成,但是不包括bounding box和classification 信息;只有当输入提供region和input words的关系的时候,才会将其加到一起作为输入

WeChat Screenshot_20191029224458

VLP

Unified Vision-Language Pre-Training for Image Captioning and VQA
  • pre-training之后,既可以用于文本任务的fine-tune也可以用于视觉任务的fine-tune
  • 下游训练两个NLP任务,一个类似mask任务,一个是seq2seq任务
  • VLP是第一个在多模态上做生成和理解任务取得state-of-the-art效果的模型
  • 三个数据集:COCO captions,Flickr30k Captions,VQA2.0;
  • VideoBERT和CBT都只是针对encoder pretrain模型,对decoder来说“目标不太一致”,本文作者是想打造一个end-to-end的全网络可学习的多模态的生成/理解模型
  • 图输入和文本输入都是一个个的定长的embedding向量,图这一路通过对图片提取roi,然后挤压到定长,将类别信息和bounding box信息挤压到position embedding向量上,最终图片输入组成方式为: 图片输入特征 = Roi + 分类信息 + bounding box信息
  • 去掉了预测next sentence,也没有用上下文预测img和text,作者认为这些事弱信息
  • 将VQA问题,变为多标签的分类问题
WeChat Screenshot_20191020120311

VLP整体图

LXMERT

 

LXMERT: Learning Cross-Modality Encoder Representations

未完待续

 

 

 

 

 

 

 

 

 

 

 

 

未经允许不得转载:大数据算法 » BERT衍生的多模态模型(2019)

评论 抢沙发

*

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

关注大数据算法在工业界应用

本站的GitHub关于本站