[论文笔记] UniFormer & UniFormerV2

本文是UniFormer和UniFormerV2的论文笔记。UniFormer集成CNN和ViT优点,通过关系聚合器处理时空冗余,在多个视频基准测试中表现良好。UniFormerV2结合预训练ViTs和UniFormer,设计新的聚合器和融合方式,在8个主流视频基准上获SOTA性能。

UniFormer & UniFormerV2 论文笔记

Author: Sijin Yu

1. Information

  • Uniformer

标题: UniFormer: Unified Transformer for Efficient Spatiotemporal Representation Learning

arXiv URL: https://arxiv.org/abs/2201.04676

code: https://github.com/Sense-X/UniFormer

期刊/会议: ICLR2022

发表时间: 2022 年 01 月

  • UniformerV2

标题: UniFormerV2: Spatiotemporal Learning by Arming Image ViTs with Video UniFormer

arXiv URL: https://arxiv.org/abs/2211.09552

code: https://github.com/OpenGVLab/UniFormerV2

期刊/会议: ICCV2023

发表时间: 2022 年 11 月


2. Abstract (UniFormer)

  • 在高维的视频中学习丰富的时空特征表示具有挑战性, 因为在视频的每帧之间, 存在大量的局部冗余复杂的全局冗余.

  • 关于此, 最近的主流框架有: 3D CNNsViTs.

  • 3D CNNs 可以高效地整合局部内容, 以降低局部冗余, 但是因为其感受野有限, 无法降低全局冗余.

  • ViTs 可以通过自注意力机制降低全局冗余, 但是因为其盲目地比较所有 tokens, 无法降低局部冗余.

  • 我们提出一种新式框架 Unified transFormer (UniFormer), 集成了 CNN 和 ViT 的优点, 并且在计算消耗和正确率之间取得了很好的平衡.

  • 与传统的 transfomers 不同, 通过在浅层和深层分别学习局部和全局 token affinity [⚠️注: token affinity (词单元亲和力) 度量了两个 token 之间的关联性], 我们的 relation aggregator (关系聚合器) 可以同时处理时空冗余和依赖关系.

  • 我们在主要的 video benchmarks 上做了实验. 在只用 ImageNet-1k 预训练的情况下, UniFormer 在 Kinetics-400 上获得了 82.9% 的准确率, 在 Kinetics-600 上获得了 84.8% 的准确率, 同时需要的 GELOPs 比其它 sota 模型少了 10 倍 [⚠️注: GELOP 指每秒十亿次浮点运算]. UniFormer 在 Something-Something V1 上获得了 60.9% 的正确率, 在 Something-Something V2 上获得了 71.2% 的正确率.

3. Methods (UniFormer)

3.1 Overview

请添加图片描述

  • CNN 层 (灰色梯形) 和 transformer 层 (粉色圆角矩形) 组成.

  • 一个 transformer 层 (Stage) 由若干个 UniFormer 块组成.

  • 一个 UniFormer 块包含三个主要模块:

    • DPE: Dynamic Position Embedding, 动态位置嵌入.
    • MHRA: Multi-Head Relation Aggregator, 多头关系聚合器.
    • FFN: Feed Forward Network, 全连接层.

    具体为:
    X = DPE ( X i n ) + X i n (1) \textbf{X}=\text{DPE}(\textbf{X}_{in})+\textbf X_{in} \tag{1} X=DPE(Xin)+Xin(1)

    Y = MHRA ( Norm ( X ) ) + X (2) \textbf Y = \text{MHRA}(\text{Norm}(\textbf X))+\textbf X \tag{2} Y=MHRA(Norm(X))+X(2)

    Z = FFN ( Norm ( Y ) ) + Y (3) \textbf Z = \text{FFN}(\text{Norm}(\textbf Y))+\textbf Y \tag 3 Z=FFN(Norm(Y))+Y(3)

    其中, X i n ∈ R 3 × T × H × W \textbf X_{in}\in \mathbb R^{3\times T\times H\times W} XinR3×T×H×W.

3.2 Dynamic Position Embedding (DPE)

DPE ( X i n ) = DWConv ( X i n ) (4) \text{DPE}(\textbf X_{in})=\text{DWConv}(\textbf X_{in}) \tag 4 DPE(Xin)=DWConv(Xin)(4)

DWConv ( ⋅ ) \text{DWConv}(\cdot) DWConv() 是 0 填充的简单 3D depthwise 卷积.它的输出不改变

3.3 Multi-Head Relation Aggregator (MHRA)

  • 给定一层的输入张量: X ∈ R C × T × H × W \textbf X \in \mathbb R^{C\times T\times H\times W} XRC×T×H×W.

  • 将其 reshape 成一个 tokens 的序列: X ∈ R L × C \textbf X\in\mathbb R^{L\times C} XRL×C. 这里 L = T × H × W L=T\times H\times W L=T×H×W.

  • 一层 MHRA 有 N N N 个 Relation Aggregator (RA). (即 N N N 头). 以 R n ( ⋅ ) R_n(\cdot) Rn() 指代第 n n n 个.

  • 在一个 R n ( ⋅ ) R_n(\cdot) Rn() 里的行为:
    R n ( X ) = A n V n ( X ) ∈ R L × C N (5) R_n(\textbf X)=A_n V_n(\textbf X)\in\mathbb R^{L\times \frac C N} \tag 5 Rn(X)=AnVn(X)RL×NC(5)

    • V n ( ⋅ ) V_n(\cdot) Vn() 是一个全连接层, 输出形状是 R L × C N \mathbb R^{L\times\frac CN} RL×NC.

    • A n ∈ R L × L A_n\in \mathbb R^{L\times L} AnRL×L 表示 token affinity (词单元亲和力). 它在浅层时用于提取局部亲和力, 在深层时用于提取全局亲和力. 即: MHRA 分为 Local MHRAGlobal MHRA.

      对于 Local MHRA:

      • 对于 tokens 序列 X ∈ R L × C \textbf X\in \mathbb R^{L\times C} XRL×C, 写成 X = [ X 1 , ⋯   , X L ] T \textbf X=[\textbf X_1,\cdots,\textbf X_L]^T X=[X1,,XL]T, 其中 X i ∈ R 1 × C \textbf X_i\in\mathbb R^{1\times C} XiR1×C 是一个 token.

      • A n ∈ R L × L A_n\in\mathbb R^{L\times L} AnRL×L 是一个矩阵, 其第 i i i 行、第 j j j 列的元素 (即 index 为 ( i , j ) (i,j) (i,j) 的元素) 是 tokens 序列 X \textbf X X 中的 X i \textbf X_i Xi X j \textbf X_j Xj 之间的时空亲和力. 这里记作: A n l o c a l ( X i , X j ) A_n^{local}(\textbf X_i,\textbf X_j) Anlocal(Xi,Xj).

      • 给定一个 token X i \textbf X_i Xi, 可以确定一个关于它的长方体 Ω i t i × h i × w i \Omega_i^{t_i\times h_i\times w_i} Ωiti×hi×wi. 这个长方体度量了它计算局部亲和力的感受野. 具体地:
        t i = ⌊ i H × W ⌋ (6) t_i=\left\lfloor \frac{i}{H\times W} \right\rfloor \tag 6 ti=H×W

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Sijin_Yu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值