前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >多模态算法综述

多模态算法综述

原创
作者头像
yuyang
发布2022-07-12 16:12:07
2.5K0
发布2022-07-12 16:12:07
举报

现有方法回顾

对传统VL模型和较新的端到端模型做一些回顾。

纵览:视频理解算法经过了手工特征-> CNN -> Two stream ->3D卷积 ->Transformer的一步步演进,不断使模型具有更强的表征能力

发展史
发展史
  • 手工特征 -> CNN(Large-scale Video Classification with Convolutional Neural Networks)

1.手工特征 -> CNN(Large-scale Video Classification with Convolutional Neural Networks)

2014年,来自Google Research的工作,可以说是最早的使用深度学习应用于视频领域的论文之一。本文尝试了各种将图片CNN迁移到视频的融合策略,同时加入多分辨率输入。

融合方式
融合方式
多尺度
多尺度

在当时普遍接受的UCF101数据集达到65.4%的准确率,该文章对于CNN图片粒度->视频粒度的融合方式做了很多尝试,为今后的工作进行了铺垫。

  • two stream双流网络

(1)2015年,two stream(Two-Stream Convolutional Networks for Action Recognition in Videos)首次为视频理解任务引入了时序信息的概念,通过引入光流进入temporal网络使模型可以关注到时序信息,但是由于提光流特征计算量过大,所以也造成该网络速度较慢的缺陷。在UCF101数据集上达到了87%的准确率

RGB光流 two stream
RGB光流 two stream

(2)Beyond Short Snippets: Deep Networks for Video Classification,尝试了多种多帧帧见融合策略如convPooling、latePooling、SlowPooling、LocalPooling等方法以及使用LSTM做时序的特征融合并且在长视频方向进行了探索,在UCF101上达到88.6%

(3)Convolutional Two-Stream Network Fusion for Video Action Recognition探索了如何在RGB和光流两个特征做early fusion的特征融合,包括空间上spatial fusion的融合,时间上tmporal fusion的融合,相比于以前在最后的late fusion有明显提升。同时由于将backbone替换成vgg也有一定的提升,最后在UFC101上达到92.5%的准确率。

(4)TSN(Temporal Segment Networks: Towards Good Practices for Deep Action Recognition),大名鼎鼎的TSN,提出了很多好用的训练技巧,解决很多当时棘手的问题且并被后续论文广为引用,比如使用imageNet的预训练模型简单的修改使其成为一个较好的光流的预训练模型(该思想也被后续的I3D等文章使用,用来得到一个较好的3D卷积预训练模型),提出了partial BN来缓解公开数据集数据太少,BN训练不充分的问题。以及提出了一些数据增强的技巧,如:corner cropping 、scale-jittering通过改变crop的方式,以及输出图像长宽比等技巧,提升模型泛化性。虽然没有很华丽的方法,但是很实用。在UCF101上达到94.2%的准确率。

TSN
TSN
  • 3D卷积网络

(1)由于抽取光流是个太过耗时的过程,因此大家都在探索如何替换掉该分支。C3D:Learning Spatiotemporal Features with 3D Convolutional Networks开创了该领域的先河,尝试使用3D卷积代替光流特征。本文的3D卷积简单的说就是将原来3*3的卷积,扩张成为3*3*3的3D卷积。

C3D
C3D
C3D
C3D

UCF101上达到了90%的准确率,虽然本文在UCF101并没有很亮眼的表现,但是开创了3D卷积的先河。

(2)I3D:Quo Vadis, Action Recognition? A New Model and the Kinetics Dataset,由于C3D并没有亮眼的实验效果,因此该文章作者认为,有个好的3D卷积预训练模型是十分重要的。因此移植了ImageNet上预训练好的InceptionNet,保持其拓扑结构不变的情况下将其膨胀为3D卷积。同时也证明了通过ImageNet预训练2D网络膨胀至3D网络的可行性,为后续文章提供了思路。最终在UCF101上达到了98%的准确率,Kinetics-400数据集达到72.1%的准确率

I3D
I3D

同时,由于UCF101数据集已经达到了很高的准确,因而人们慢慢将注意力转移至了Kinetics数据集

(3)SlowFast Networks for Video Recognition参考人类视觉对频率高低的内容有不同的感官细胞,本文提出了自己的网络结构,分快慢两个网络分支。慢分支用大网络大输入低输入帧数,快分支用小网络小输入高输入帧数。在Kinetics-400可以达到79.8%的准确率

SlowFast
SlowFast
  • nonLocal 自注意力

2019年在3D卷积如火如荼的过程中,self-attention的思路也逐渐出现在人们的视野中。如 Non-local Neural Networks这篇文章,提出了一种即插即用的NonLocal自注意力机制模块,可以很明显的看出,文章中的网络结构图,其实就是Transformer中基础的KQV自注意力机制,在空间和时间上进行了自注意力机制的提升。在给I3D加入NonLocal模块后在Kinetics-400可以达到77.7%的准确率

NoLocal
NoLocal

2. Transformer自注意力

至此视频理解算法演进到了Transformer的自监督网络架构,Transformer有两个优势,(1)更强的网络表征能力,(2)更容易设计自监督的训练任务,从而可以更有效的利用无标注数据,同时也更加注重多模态的内容理解。

1.CV特征提取方式:

  • OD-based Region Features

早期VLP模型一般均使用该特征提取方式,即:检测器如Faster-RCNN提取ROI视觉特征,再将其特征与NLP部分融合。其中融合方式有Co-attention和Merge attention两种

不同自注意力机制
不同自注意力机制

co-attention有:ViLBert和LXMERT,Merged attention有VL-BERT和UNITER,另外OSCAR也是一种变种并取得了较好的收益。但是OD-base有几个致命的缺点:

  1. 检测部分极其耗时
  2. 检测器受检测类别有限,且不能随VLP模型一起训练,降低了模型容量
  3. 检测器特征无法捕捉图片整体及上下文信息,导致CV信息不足
  4. CNN-based Grid Features

为了解决上面的问题,研究员尝试用e2e的方式训练VLP模型,如SOHO:Seeing Out of tHe bOx: EndtoEnd Pretraining for VisionLanguage Representation Learning,直接拿整张图像作为输入。为了更好对齐图像和文本特征,提出了一个会动态更新的visual dictionary来提取视觉特征,同时加入了MVM、MLM、ITM等预训练任务来做模型预训练

CNN-base
CNN-base
  • ViT-based Patch Features

研究员进一步发现,如ViLT、ALBEF等直接将image patch feature作为CV的特征输入,使得CV、NLP信息更近似分布在同一特征空间,同时加入更强的图像文本对齐方式,也可以得到一个很好的e2e模型。

Align before Fuse (ALBEF): Advancing Vision-language Understanding with Contrastive Learning

ViT-base
ViT-base

ALBEF包含一个图像编码器(ViT-B/16),一个文本编码器(BERT的前6层),以及一个多模态编码器。通过共同优化以下三个目标对ALBEF进行预训练。

  1. Image-Text Contrastive Learning,采用CLIP文章中的INfoNCE Loss追求Image和Text之间的交互信息最大化
  2. Image-Text Matching,预测图文是否匹配,进一步加强图像文本的对齐
  3. Masked Language Modeling,利用图像和上下文文本来预测掩码单词

同时引入 Momentum Distillation 的方式,为图文对比学习生成伪标签作为pseudo-target额外监督,降低了图文匹配训练时噪音对模型的干扰

2.特征融合的方式:

  • one-stream

单流网络,比较常规如VILT,适用于分类等相关的任务

VILT
VILT

two-stream

双流网络,往往是图文Image-Text Contrastive Learning训练,如CLIP及BLIP,适用于检索相关任务。

CLIP
CLIP

CLIP(Contrastive Language-Image Pre-Training)可以说是一篇开创性的工作,使用Image-Text Contrastive Learning的方式进行自监督训练,能够为文本和图像特征域进行对齐、跨模态检索、多模态预训练方面提供大量的帮助,也给后来的文章提供了崭新的思路

BLIP(Bootstrapping Language-Image Pre-training for Unified Vision-Language Understanding and Generation)可以看成是CLIP的思路拓展,

  1. CLIP通过Contrastive learning的方式图文特征对齐,是单纯的编码器任务,而BLIP尝试了编码器-解码器的模型结构。
  2. BLIP采用了判断-生成任务的MED,可以作为单模态编码器,基于图像的文本编码器解码器
  3. 采用了CapFilt的训练方法,降低噪声图文pair对训练造成的影响
BLIP
BLIP
  • Mult-stream

Mult-stream的网络有如:VLMO(Unifified Vision-Language Pre-Training with Mixture-of-Modality-Experts)本文提出了跨模态注意的融合编码器,MOME使用了一群模态专家来取代标准Transformer中的前馈网络,即视觉专家(V-FFN)、语言专家(L-FFN)和视觉语言专家(VL-FFN)代替了Transformer中原来的FFN模块,分别对齐进行预训练,使图像-文本信息得到了极好的对齐效果

VLMO
VLMO

3.预训练方式

现在VLP模型常见预训练方式有:

  • MLM: Masked Language Modeling

起源于bert,常规预训练方法

  • MIM:Masked Image Modeling

起源于BEiT,提出了 Masked Image Modeling 自监督训练任务的概念,以此来对 ViT 进行训练。 对图像块进行随机掩码,并将掩码后的图片输入到编码器当中,基于未掩码图像块来恢复掩码图像块。

相似思路的预训练方式还有:MAE、SimMIM、MaskFeat等

  • PrefixLM:Prefix Language Model

前缀语言建模Prefix Language Model,主要用于NLP部分,使模型具有实体生成能力,使得文本诱导的zero-shot具有无需fine-tuning的泛化性

  • Contrastive Learning

通过一张图片,经过不同的数据增强,被神经网络所提取的特征,仍应具有高度的一致性,如:MoCoV1系列、SimCLR、BYOL等

通过寻找图文信息的关联系进行自监督训练的,如:CLIP、CLIP4CLIP、BLIP等

  • WRA:Word-Region Alignment

将文本Token与图像RoI进行匹配,如UNITER中提到的WRA

  • ITC:Image-Text Contrastive Learning

图像文本对比学习,用于将图像文本特征对齐,如ALBFE,CLIP等

  • ITM:Image-Text Matching
Image-Text Matching预测了一对图像文本对是否匹配

参考文献

  1. Large-scale Video Classification with Convolutional Neural Networks
  2. Two-Stream Convolutional Networks for Action Recognition in Videos
  3. Beyond Short Snippets: Deep Networks for Video Classification
  4. Convolutional Two-Stream Network Fusion for Video Action Recognition
  5. Temporal Segment Networks: Towards Good Practices for Deep Action Recognition
  6. Learning Spatiotemporal Features with 3D Convolutional Networks
  7. Quo Vadis, Action Recognition? A New Model and the Kinetics Dataset
  8. SlowFast Networks for Video Recognition
  9. Non-local Neural Networks
  10. Pretraining Task-Agnostic Visiolinguistic Representations for Vision-and-Language Tasks
  11. Learning Cross-Modality Encoder Representations from Transformers
  12. Pre-training of Generic Visual-Linguistic Representations
  13. Object-Semantics Aligned Pre-training for Vision-Language Tasks
  14. EndtoEnd Pretraining for VisionLanguage Representation Learning
  15. Vision-and-Language Transformer Without Convolution or Region Supervision
  16. Vision and Language Representation Learning with Momentum Distillation
  17. Contrastive Language-Image Pre-Training
  18. Bootstrapping Language-Image Pre-training for Unified Vision-Language Understanding and Generation
  19. Unifified Vision-Language Pre-Training with Mixture-of-Modality-Experts

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 现有方法回顾
    • 1.手工特征 -> CNN(Large-scale Video Classification with Convolutional Neural Networks)
      • 2. Transformer自注意力
        • 1.CV特征提取方式:
        • 2.特征融合的方式:
        • 3.预训练方式
    • 参考文献
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档