论文地址:https://arxiv.org/abs/2102.00719

1 VTN的作用

1.1 提出问题

  • 在视频任务下,传统卷积方法中为了更好的提取时序特征,一般采用3D的卷积方式,其中的计算量不管怎么改进也避免不了计算量大的问题。

  • Transformers一开始用于具有连续性的语言模型上,在视频任务中由于视频帧也具有连续性,所以也同样可以使用。但有个问题是,基于transformer的模型自注意操作每层复杂度为O(n2)O(n^{2})O(n2)(n为序列长度),因此在处理长视频序列时受到限制。

1.2 解决方法

  • 抛弃3D网络。使用最先进的2D架构来学习空间特征表示,并在随后的数据流中添加时间信息,在结果特征之上使用注意机制。
    并且输入只有RGB视频帧

  • VTN的时间处理组件是基于Longformer,可以处理长视频序列。

    Longformer通过引入复杂度为O(n)O(n)O(n) 的注意机制实现了冗长的序列处理。这种注意机制结合了局部上下文的自我注意(通过滑动窗口执行)和特定于任务的全局注意。

2 VTN的结构

上图为VTN结构。连接三个模块:

  • 二维空间特征提取模型(空间backbone)
  • 基于时间注意力的编码器(该工作中使用Longformer),它使用特征向量ϕi\phi_{i}ϕi​ 和位置编码的结合。
  • 分类器 MLP head,它通过[CLS][CLS][CLS] 指令处理得到最后的类别预测。
    head是获取网络输出内容的网络,利用之前提取的特征,head利用这些特征,做出预测。

2.1 空间backbone

  • 特点:可以是任何用于2D图像的网络,不论深浅、是否为预训练、基于卷积还是transformer、权重固定还是在训练中学习
  • 论文中使用的backbone
    • ViT-B-VTN: 在ImageNet-21K上预训练, 12层,12个head
    • DeiT-B/BD/Ti-VTN:在ImageNet上预训练,12层,12个head
    • R50/101-VTN:在ImageNet上预训练,标准的2D ResNet-50 和 ResNet-101 网络

2.2 基于时间注意力的编码器

本文作者使用Longformer模块在推理过程中一次性处理整个视频。

  • Longformer操作使用滑动窗口注意,使计算的复杂度为线性

  • 在通过Longformer层传播序列之后,使用与[CLS][CLS ][CLS]分类标记相关的特征的最终状态作为视频的最终表示,并将其应用于给定的分类任务头。

2.3 分类器 MLP head

MLP head包含两个线性层与者之间存在的一个GELU激活函数和Dropout。输入标记表示首先使用层归一化进行处理。

3 实验结果分析

3.1 不同backbone变体

  • ViT-B-VTN是性能最好的模型,top-1准确率为78.6%,top-5准确率为93.7%。
  • 预训练数据集很重要。使用相同的ViT backbone,只是在DeiT(在ImageNet上预训练)和ViT(在ImageNet-21K上预训练)在结果上得到了改善。

3.2 不同Longformer深度

1、3、6、12层Longformer的表现相差不大,可能是Kinetics-400数据集的视频只有10s,相对较短。

3.3 不同Longformer位置嵌入的方式

  • 没有任何位置嵌入的版本比固定和学习版本的效果稍好。并且打乱输入帧后效果更好。
  • 这也可能与Kinetics-400数据集相对较短有关,作者认为这可能意味着该数据集主要是一个静态框架,基于外观的分类问题而不是一个运动问题。

3.4 不同帧数和每帧的占用时间

top-1和top-5精度相似,说明VTN不受这些超参数的影响。

3.5 微调2D backbone

微调2D backbone 使Kinetics-400数据集中top1的准确率提升了7%

3.6 与其他方法的比较

  • 与目前最先进的SlowFast模型相比,单层的ViT-B-VTN模型就几乎实现了相同的结果,但完成一个周期更快,所需的时间更少。**端到端训练累计快了16倍。**由于采用了完整的视频推理方法,验证墙运行时间也缩短了5倍。
  • 本文的方法达到79.8%的top-1精度,与未进行此类增强的训练的相同模型相比,提高了1.2%。
  • 增强训练需要10个以上的周期,但不会影响训练墙的运行时间。

4【补充知识】Longformer

论文地址:https://arxiv.org/abs/2004.05150

4.1 Longformer解决的问题

  • 问题

    传统Tranformer-based模型在处理长文本时有着天然的劣势。因为传统模型采用的是“全连接”型的attention机制,即每一个token都要与其他所有token进行交互。其attention复杂度高达O(n2)O(n^{2})O(n2)

    此前的解决办法是将长文切分为若干个较短的文本序列,然后逐个处理。这就导致不同的文本序列之间无法进行交互,因而必然存在大量信息损失。

    当然,我们也可以通过添加一些其他机制来加强这种文本序列之间的交互。但这种新增机制实现起来通常比较复杂,而且往往是特定任务的,通用性不强。

  • 解决方法

    Longformer改进了Transformer的传统attention机制:对于每一个token,只对固定窗口大小的附近token计算local attention,并结合具体任务,计算少量的global attention。该方法的优点包括:

    • 复杂度低,将attention机制的复杂度降至O(n)O(n)O(n)

    • 通用性强,可用于各类文档级任务

    • 部署容易。

4.2 模型

作者共提出了三种新的attention pattern,来降低传统self-attention的复杂度,分别是滑窗机制膨胀滑窗机制融合全局信息的滑窗机制。下图展示了传统attention与这三种attention pattern的示意图。

  1. 滑窗机制(Sliding window): 对于每一个token,只对其附近的w个token计算attention计算复杂度与文本序列长度nnn成线性关系,为O(w∗n)O(w*n)O(w∗n)。作者认为,根据应用任务的不同可以对Transformer每一层施以不同的窗口大小www,对模型表示能力可能有潜在帮助。
  2. 膨胀滑窗机制(Dilated sliding window): 在对每一个进行token编码时,普通滑窗机制只能考虑到长度为www的上下文。作者进一步提出膨胀滑窗机制,在不增加计算负荷的前提下,拓宽模型“视场”。其做法借鉴了空洞卷积的思想。如下图所示,在滑动窗口中,被attend到的两个相邻token之间会存在大小为ddd的间隙。当transformer的层数为lll时,则视场范围可达到l∗d∗wl*d*wl∗d∗w。实验表明,由于考虑了更加全面的上下文信息,膨胀滑窗机制比普通的滑窗机制表现更佳。
  3. 融合全局信息的滑窗机制(Global+sliding window): 在Longformer中,作者希望能够根据具体任务的不同,在local attention的基础上添加少量的global attention。比如,在分类任务上就会在[CLS][CLS][CLS] 处添加一个global attention,而在QA任务上会对question中的所有token添加global attention。如上图所示,对于添加了global attention的token,我们对其编码时要对整个序列做attention。并且,编码其他所有token时,也都要attend到它。

【论文笔记】Video Transformer Network相关推荐

  1. 论文笔记-Vanilla Transformer:Character-Level Language Modeling with Deeper Self-Attention

    论文笔记-Vanilla Transformer:Character-Level Language Modeling with Deeper Self-Attention 1. 介绍 2. Chara ...

  2. 论文笔记:Triplet Network

    原论文:DEEP METRIC LEARNING USING TRIPLET NETWORK Triplet Network 1.四个问题 要解决什么问题? 实质上,Triplet Network是S ...

  3. 论文笔记_Network in Network

    文章目录 摘要 1.介绍 2.卷积神经网络 3.Network in Network 3.1 MLP 卷积层 3.2 全局平均池化 3.3 NIN网络架构 4.实验 4.1 实验概述 4.2 CIFA ...

  4. 论文笔记:《Network Dissection: Quantifying Interpretability of Deep Visual Representations》

    CVPR 2017 的 MIT 论文<Network Dissection: Quantifying Interpretability of Deep Visual Representation ...

  5. 论文笔记 Bipartite Flat-Graph Network for Nested Named Entity Recognition | ACL2020

    论文作者: 论文链接:https://arxiv.org/pdf/2005.00436.pdf 代码实现:https://github.com/cslydia/BiFlaG Abstract 作者为嵌 ...

  6. 论文笔记——N2N Learning: Network to Network Compression via Policy Gradient Reinforcement Learning...

    论文地址:https://arxiv.org/abs/1709.06030 1. 论文思想 利用强化学习,对网络进行裁剪,从Layer Removal和Layer Shrinkage两个维度进行裁剪. ...

  7. Deep Learning 论文笔记 (2): Neural network regularization via robust weight factorization

    under review as a conference paper at ICLR 2015. Motivation: 本文提出来一种regularization的方法,叫做FaMe (Factor ...

  8. [论文阅读](Transformer系列)

    文章目录 一.Video Transformer Network 摘要 引言 相关工作:Applying Transformers on long sequences Video Transforme ...

  9. 论文阅读笔记:Neural Speech Synthesis with Transformer Network

    提示:阅读论文时进行相关思想.结构.优缺点,内容进行提炼和记录,论文和相关引用会标明出处. 文章目录 前言 介绍 相关知识 模型结构 实验结果 总结 前言 标题:Neural Speech Synth ...

  10. [论文笔记]SwinSUNet: Pure Transformer Network for Remote Sensing Image Change Detection

    1 论文标题 标题: SwinSUNet: Pure Transformer Network for Remote Sensing Image Change Detection 作者: Cui Zha ...

最新文章

  1. pycharm中run pytest解决
  2. 利用SIFt特征点和RANSAC方法进行物体识别(利用openCV和vs2010实现)
  3. Database之SQL:SQL之over partition by开窗函数的简介、使用方法(求各班级内各自排名/求各班级内第一名/求各班级内分数递增和等案例解析)之详细攻略
  4. visual studio无法更新_微软发布 VS Code Python 四月更新
  5. 为啥有的程序员不爱说话,却表达能力爆表?(附教程)
  6. node.js模块和包
  7. promise 为什么出现
  8. Java写一个app控制电机_java控制步进电机
  9. spring的beanDefinition是什么
  10. JLNews新闻点评系统--君兰IT
  11. 常用公差配合表图_车间里常用的机械测量工具竟然这么多?
  12. SAP ABAP STANDARD TABLE,SORTED TABLE和HASHED TABLE简介
  13. 软件验证码显示服务器连接错误,验证码总是提示错误,验证码错误的解决办法 专家详解...
  14. 【论文笔记】ASNet:基于生成对抗网络(GAN)的无监督单模和多模配准网络(范敬凡老师)
  15. Android 代码设置来电铃声
  16. 不会产生ICMP差错报文的情况
  17. 项目管理之项目整体管理
  18. 零基础CSS入门教程(22)–溢出
  19. 滑动窗口大杀器,牛逼
  20. quartus编译报错:Error (176310): Can‘t place multiple pins assigned to pin location Pin_F16 (IOPAD_X34_Y1

热门文章

  1. cad相对坐标快捷键_cad 怎么用相对坐标
  2. 网络计算机怎么使用,如何让电脑使用ipv6地址?一文了解清楚
  3. xsmax进入dfu模式_苹果xsmax怎么进入dfu
  4. EasyUI——基本布局
  5. Excel-散点图(相关性及数据分布)分析
  6. 看懂财务报表一资产负债表
  7. 主流编程语言的特点分析
  8. SSRF(目录穿越)
  9. Chrome浏览器语音自动播放功能
  10. 系统架构师(十七)系统可靠性分析与设计