TimeSFormer

论文名称:Is Space-Time Attention All You Need for Video Understanding?
开源地址
发表时间:ICML2021
作者及组织:Gedas Bertasius , Heng Wang , Lorenzo Torresani,来自Facebook。

前言

 因为视频类似NLP,每帧可视为word,而整个视频序列可视为一个句子。因此本文借助VIT用于解决视频分类任务。

1、方法

1.1.输入

在这里插入图片描述

  以上图为例,假设输入 X ∈ R H ∗ W ∗ 3 ∗ F X \in \mathbb{R}^{H*W*3*F} XRHW3F ,首先将每帧patch化:转化成 N = ( H W / P 2 ) N = (HW/P^2) N=(HW/P2) P 2 P^2 P2 大小的 token,每个token表示为 x ( p , t ) ∈ R 3 P 2 x_{(p,t)} \in \mathbb{R}^{3P^2} x(p,t)R3P2 其中 p p p t t t 分别表示“第 t t t 帧中的第 p p p 个token”,最终一个视频序列转化出来 ( N F + 1 ) (NF+1) (NF+1) 个token,其中额外多出的一个token即VIT中的 c l s _ t o k e n cls\_token cls_token
 然后将每个token经过一个嵌入矩阵,并加上一个可学习的位置编码:

z p , t ( 0 ) = E x ( p , t ) + e ( p , t ) p o s \begin{equation} z_{p,t}^{(0)} = Ex_{(p,t)} + e_{(p,t)}^{pos} \end{equation} zp,t(0)=Ex(p,t)+e(p,t)pos

 其中上标0可视为第0个Block。

1.2.Block

 首先将输入 $z_{p,t}^{(l-1)} $ 经过多头自注意力模块,其中 q , k , v q,k,v q,k,v 的计算方式为:

q p , t ( l , a ) = W Q ( l , a ) L N ( z p , t ( l − 1 ) ) ∈ R D h k p , t ( l , a ) = W K ( l , a ) L N ( z p , t ( l − 1 ) ) ∈ R D h v p , t ( l , a ) = W V ( l , a ) L N ( z p , t ( l − 1 ) ) ∈ R D h \begin{equation} q_{p,t}^{(l,a)} = W_Q^{(l,a)} LN(z_{p,t}^{(l-1)}) \in \mathbb{R}^{D_h} \\ k_{p,t}^{(l,a)} = W_K^{(l,a)} LN(z_{p,t}^{(l-1)}) \in \mathbb{R}^{D_h} \\ v_{p,t}^{(l,a)} = W_V^{(l,a)} LN(z_{p,t}^{(l-1)}) \in \mathbb{R}^{D_h} \end{equation} qp,t(l,a)=WQ(l,a)LN(zp,t(l1))RDhkp,t(l,a)=WK(l,a)LN(zp,t(l1))RDhvp,t(l,a)=WV(l,a)LN(zp,t(l1))RDh

 其中, l , a l,a l,a 分别表示第 L L L 个Block和第 a a a 个Head Attn。

 之后自注意力的相似性矩阵:

α p , t ( l , a ) = S M ( q ( p , t ) ( l , a ) T ( D h ) . [ k ( 0 , 0 ) ( l , a ) { k p ′ , t ′ ( l , a ) } p ′ = 1 , . . . , N t ′ = 1 , . . . , F ] ) \begin{equation} \alpha_{p,t}^{(l,a)} = SM\left(\frac{q_{(p,t)}^{(l,a)^T}}{\sqrt{(D_h)}}.\left[k_{(0,0)}^{(l,a)} \{k_{p',t'}^{(l,a)}\}_{p'=1,...,N\\t'=1,...,F} \right]\right ) \tag{1} \end{equation} αp,t(l,a)=SM (Dh) q(p,t)(l,a)T.[k(0,0)(l,a){kp,t(l,a)}p=1,...,Nt=1,...,F] (1)

 其中 p ′ 和 t ′ p'和t' pt 表示空间维度和时间维度的自注意力。

 当然,本文在公式1的基础上拓展出两个自注意力模块:分别是“space sa” 和 “time sa”。具体公式来说比较简单:固定住公式1中右下角下标即可:

α p , t ( l , a ) = S M ( q ( p , t ) ( l , a ) T ( D h ) . [ k ( 0 , 0 ) ( l , a ) { k p ′ , t ′ ( l , a ) } p ′ = 1 , . . . , N ] ) \begin{equation} \alpha_{p,t}^{(l,a)} = SM\left(\frac{q_{(p,t)}^{(l,a)^T}}{\sqrt{(D_h)}}.\left[k_{(0,0)}^{(l,a)} \{k_{p',t'}^{(l,a)}\}_{p'=1,...,N} \right]\right ) \tag{2} \end{equation} αp,t(l,a)=SM (Dh) q(p,t)(l,a)T.[k(0,0)(l,a){kp,t(l,a)}p=1,...,N] (2)

α p , t ( l , a ) = S M ( q ( p , t ) ( l , a ) T ( D h ) . [ k ( 0 , 0 ) ( l , a ) { k p ′ , t ′ ( l , a ) } t ′ = 1 , . . . , F ] ) \begin{equation} \alpha_{p,t}^{(l,a)} = SM\left(\frac{q_{(p,t)}^{(l,a)^T}}{\sqrt{(D_h)}}.\left[k_{(0,0)}^{(l,a)} \{k_{p',t'}^{(l,a)}\}_{t'=1,...,F} \right]\right ) \tag{3} \end{equation} αp,t(l,a)=SM (Dh) q(p,t)(l,a)T.[k(0,0)(l,a){kp,t(l,a)}t=1,...,F] (3)

 之后跟常规的SA模块就一致了,在此就不贴了。

1.3. SA 模块变体

 为了降低运算复杂度,本文在公式1-3的基础上提出了五个SA的变体:

在这里插入图片描述

 其中 S S S 表示Space Attn; T T T 表示Time Attn; L 和 G L和G LG 分别表示局部和全局注意力, T + W + H T+W+H T+W+H 则表示三个轴(水平垂直和时序)方向上的Attn。

 本文可视化上述五种自注意力的热图:

在这里插入图片描述

 其中蓝色patch表示计算SA的块;粉色表示自注意力计算的范围;以及其余对应字母颜色所包含的计算范围。

2、实验

  训练阶段: $ clips = 8×224×224 $ ,帧采样率为 1/32 ; 推理阶段:在视频中间切了个片段,然后3个空间尺度上crop推理三次取平均得分。
在这里插入图片描述

 在K400上取得Sota。

在这里插入图片描述

在这里插入图片描述

 另外,第三种SA模块精度最高,另外,相较于第二种Attn,第三种Attn的复杂度随着分辨率及输入序列长度不太会爆显存。

  • 7
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值