文章起源 | 恒源云社区
原文地址 | 用于视频的可变形Transformer
原文作者 | 咚咚
hi,大家好啊!窗外的树 绿了,楼下的桃花 开了,春天,就这么滴的过来了……
小编曾经居家办公(不能下楼)3个礼拜啦!敬请期待疯掉的小编~
我的春游彻底没心愿了!!!
说那么多有啥用呢?还不是得乖乖搬运社区文章!毕竟社区搭档们发帖是那么的勤快!Respect!
注释开始
摘要
- 引入主题:在视频分类畛域,视频Transformer最近作为一种无效的卷积网络替代品呈现。
- 现存问题:大多数以前的视频Transformer采纳全局时空留神或利用手动定义的策略来比拟帧内和帧间的patch。这些固定注意力计划不仅计算成本高,而且通过比拟预约地位的patch,疏忽了视频中的静止动力学。
- 解决方案:该论文介绍了可变形视频Transformer(DVT),它依据静止信息动静预测每个查问地位的一小部分视频Patch,从而容许模型依据帧间的对应关系来决定在视频中查看的地位。要害的是,这些基于静止的对应关系是从以压缩格局存储的视频信息中以零老本取得的。
- 试验后果:在四个大型视频基准(Kinetics-400、Something-Something-V2、EPIC-KITCHENS和Diving-48)上的试验表明,该论文模型在雷同或更低的计算成本下实现了更高的精度,并在这四个数据集上取得了最优后果。
算法
视频TRANSFORMER
视频数据的输出大小个别能够示意为\( X\in R^{H×W×3×T} \) ,T示意帧数,3示意每一帧是RGB图像
因为应用的是Transformer架构,所以首先须要将输出数据转换为一个\( S \cdot T \) tokens,S示意每一帧中的patch个数,每个token能够示意为\( x_s^t \in R^D \) 。整个过程能够示意如下:
- 将每一帧图像进行非重叠宰割,生成S个patch。
- 将每个patch投影到D个通道维度上。
- 增加空间地位编码\( e_s \)和工夫编码\( e^t \)
最终失去\( z_s^t = x_s^t + e_s + e^t \)
而后通过多头自注意力,layer norm(LN)和MLP计算,能够示意如下:
其中具体的自注意力能够示意如下(应用单头进行简化阐明)
依据以往的视频Transformer算法,自注意力机制能够分为Global space-time attention和Divided space-time attention
Global space-time attention
简略来说就是将时空联结起来进行注意力计算,公式如下:
其中注意力权重计算公式如下:
整个计算过程的计算复杂度为\( (S^2T^2) \),最大的问题就是计算量很大。
Divided space-time attention
顾名思义,就是将工夫和空间的注意力进行离开计算,用来缩小计算量
空间注意力计算公式如下:
计算复杂度为\( O(S^2T) \)对应的工夫注意力计算公式如下:
计算复杂度为\( O(ST^2) \)
须要留神的是,工夫注意力只对不同工夫帧上的同一个空间地位进行注意力计算!这就是其最大的问题,因为其没有思考到不同帧之间指标的静止。
可变形视频TRANSFORMER
次要分为以下三个局部(翻新点)
Deformable Space-time Attention(D-ST-A)
这个注意力机制和上文Divided space-time attention中的工夫注意力机制很类似,然而有两个次要不同点:
- 对于每个查问\( q_s^t \) ,应用不同帧上的N个空间地位\( s(n)|n=1,… \)进行类似度计算,而不是一个固定地位,这尽管带来绝对较大的计算量,但会获取更大空间上的特色信息,性能会进步很多。文中应用N=8。
- 这N个地位是数据驱动的,而不是人为定义的,这在前面进行细说。
该注意力机制的数学表达式如下:
其中每一帧上的N个空间地位是如何计算的呢?
——是依据查问点特色和静止嵌入特色通过投影生成的绝对偏置计算的,公式如下:
其中静止嵌入\( m_s^{t, t^\prime} \)是依据存储在压缩视频中的静止位移和RGB residuals确定的,具体步骤能够查看论文。
其中的类似度矩阵\( {\boldsymbol{\alpha}}_{s}^{t, t^{\prime}} \in R^N \)与之前的计算形式不同,而是依据查问点特色和静止嵌入特色计算而来的,公式如下:
Deformable Multi-Scale Attention (D-MS-A)
上述D-ST-A是一个工夫上的注意力机制,而D-MS-A是一个空间上的注意力机制,用于编码同一帧上的注意力。
但对于每一帧图像,这里引入了多尺度注意力——计算F个不同分辨率下的空间信息,不同分辨率图像中采样\( N^\prime \)个patch进行注意力计算,多分辨率能够通过不同步长的3D卷积层来实现,数学表达式如下:
其中不同分辨率图像中的patch采样也是通过依据其中对应查问点特色计算偏置失去的,计算公式如下:
Attention Fusion
能够仅应用可变形时空留神(D-ST-A)、仅应用可变形多尺度留神(D-MS-A)以及两者的组合(D-ST+MS-A)。
在最初一种状况下,将由这两种留神策略独立计算出的两个token \( z_s^{ST^t} \)和\( z_s^{MS^t} \)馈送到一个注意力交融层u()进行信息交融,\( \mathbf{Z}_{s}^{t}=u\left(\mathbf{Z}_s^{S T^{t}}, \mathbf{Z}_s^{M S^{t}}\right) \)。
论文给出了两种模式的注意力交融形式,一种基于简略的线性投影,另一种基于MLP-Mixer模型。
试验
在四个规范视频分类基准上评估DVT:Kinetics-400(K400)、Something-Something-V2(SSv2)、EPIC-KITCHENS-100(EK100)和Diving-48(D48)
融化试验
Choice of motion cues