物尽其用,卷积和自注意力在Transformer中实现统一:多SOTA、ICLR 2022接收(1)

在线体验各类最新模型,更有模型 免费Token 额度领取!
立即体验
简介: 物尽其用,卷积和自注意力在Transformer中实现统一:多SOTA、ICLR 2022接收

本文介绍的是中科院深圳先进技术研究院、商汤和上海 AI Lab 的研究者合作完成的 UniFormer,包括 ICLR 2022 接收的视频 backbone,以及为下游密集预测任务设计的拓展版本,在各种任务上都能取得相较流行 SOTA 模型更好的性能。代码、模型、日志以及训练脚本都已开源。。




  • 图像分类:在 Token Labeling [1] 的加持下,仅靠 ImageNet-1K 训练,39G 的 UniFormer-L-384 在 ImageNet 上实现 86.3% 的 top-1 精度;
  • 视频分类:仅用 ImageNet-1K 预训练,UniFormer-B 在 Kinetics-400 和 Kinetics-600 上分别取得了 82.9% 84.8% 的 top-1 精度(比使用 JFT-300M 预训练,相近性能的 ViViT [2] 的 GFLOPs 少 16 倍)。在 Something-Something V1 和 V2 上分别取得 60.9% 71.2% 的 top-1 精度,为同期模型的 SOTA;
  • 密集预测:仅用 ImageNet-1K 预训练,COCO 目标检测任务上取得 53.8 的 box AP 与 46.4 的 mask AP;ADE20K 予以分割任务上取得 50.8 的 mIoU;COCO 姿态估计任务上取得 77.4 的 AP。后面会介绍为下游任务设计的,训练和测试时模型适配。


图像分类与视频分类任务性能比较(上方为 ImageNet 上 224x224 与 384x384 分辨率输入)

研究动机

对图像和视频上的表征学习而言,有两大痛点:

  • 局部冗余(local redundancy):视觉数据在局部空间 / 时间 / 时空邻域具有相似性,这种局部性质容易引入大量低效的计算;
  • 全局依赖(global dependency):要实现准确的识别,需要动态地将不同区域中的目标关联,建模长时依赖。


现有的两大主流模型 CNN 和 ViT,往往只关注解决问题之一。卷积只在局部小邻域聚合上下文,天然地避免了冗余的全局计算,但受限的感受野难以建模全局依赖。而自注意力通过比较全局相似度,自然将长距离目标关联,但如下可视化可以发现,ViT 在浅层编码局部特征十分低效。

DeiT 可视化,可以看到即便是经过了三层的自注意力,输出特征仍保留了较多的局部细节。我们任选一个 token 作为查询,可视化注意力矩阵可以发现,被关注的 token 集中在 3x3 邻域中(红色越深关注越多)。

TimeSformer 可视化,同样可以看到即便是经过了三层的自注意力,输出的每一帧特征仍保留了较多的局部细节。我们任选一个 token 作为查询,可视化空间注意力和时序注意力矩阵都可以发现,被关注的 token 都只在局部邻域中(红色越深关注越多)。

无论是空间注意力抑或时序注意力,在 ViT 的浅层,都仅会倾向于关注查询 token 的邻近 token。要知道注意力矩阵是通过全局 token 相似度计算得到的,这无疑带来了大量不必要的计算。相较而言,卷积在提取这些浅层特征时,无论是在效果上还是计算量上都具有显著的优势。那么为何不针对网络不同层特征的差异,设计不同的特征学习算子,将卷积和自注意力有机地结合物尽其用呢?

本文的 UniFormer (Unified transFormer),旨在以 Transformer 的风格,有机地统一卷积和自注意力,发挥二者的优势,同时解决局部冗余和全局依赖两大问题,实现高效的特征学习

方法

模型整体框架,标红维度仅对视频输入作用,对图像输入都可视作 1。

模型整体框架如上所示,借鉴了 CNN 的层次化设计,每层包含多个 Transformer 风格的 UniFormer block。

UniFormer block

每个 UniFormer block 主要由三部分组成,动态位置编码 DPE、多头关系聚合器 MHRA 以及 Transformer 必备的前馈层 FFN,其中最关键的为多头关系聚合器:

MHRA

与多头注意力相似,我们将关系聚合器设计为多头风格,每个头单独处理一组 channel 的信息。每组的 channel 先通过线性变换生成上下文 token ,然后在 token affinity 的作用下,对上下文进行有机聚合。

基于前面的可视化观察,研究者认为在网络的浅层,token affinity 应该仅关注局部邻域上下文,这与卷积的设计不谋而合。因此,他们将局部关系聚合设计为可学的参数矩阵:

local MHRA

其中为 anchor token,为局部邻域 任一 token,为可学参数矩阵, 为二者相对位置,表明 token affinity 的值只与相对位置有关。这样一来,local UniFormer block 实际与 MobileNet block [3] 的风格相似,都是 PWConv-DWConv-PWConv(见原论文解析),不同的是研究者引入额外的位置编码以前前馈层,这种特别的结合形式有效地增强了 token 的特征表达

在网络的深层,研究者需要对整个特征空间建立长时关系,这与自注意力的思想一致,因此通过比较全局上下文相似度建立 token affinity:

global MHRA

其中为不同的线性变换。先前的视频 transformer 往往采用时空分离的注意力机制 [4],以减少视频输入带来的过量点积运算,但这种分离的操作无疑割裂了 token 的时空关联。相反,UniFormer 在网络的浅层采用 local MHRA,节省了冗余计算量,使得网络在深层可以轻松使用联合时空注意力,从而可以得到更具辨别性的视频特征表达。再者,与以往 ViT 中使用绝对位置编码不同,这里采用卷积风格的动态位置编码,使得网络可以克服排列不变形(permutation-invariance)的同时,对不同长度的输入更友好。

流行的 ViT 往往采用绝对或者相对位置编码 [5],但绝对位置编码在面对更大分辨率的输入时,需要进行线性插值以及额外的参数微调,而相对位置编码对自注意力的形式进行了修改。为了适配不同分辨率输入的需要,研究者采用了最近流行的卷积位置编码 [6] 设计动态位置编码:

DPE

其中 DWConv 为零填充的的深度可分离卷积。一方面,卷积对任何输入形式都很友好,也很容易拓展到空间维度统一编码时空位置信息。另一方面,深度可分离卷积十分轻量,额外的零填充可以帮助每个 token 确定自己的绝对位置。

框架

图像分类

模型细节

研究者设计了三种不同规模的模型,每个模型包含 4 层,前两层使用 local MHRA,后两层使用 global MHRA。对于 local MHRA,卷积核大小为 5x5,归一化使用 BN(使用 LN 性能较差)。对于 global MHRA,每个 head 的 channel 数为 64,归一化使用 LN。动态位置编码卷积核大小为 3x3,FFN 的拓展倍数为 4。

对于特征下采样,研究者采用非重叠卷积,其中第一次下采样卷积核大小为 4x4、步长为 4x4,其余三次下采样卷积核大小为 2x2、步长为 2x2。在每次下采样卷积之后,他们额外增加 LN 归一化。网络最后接平均池化层与线性分类层,输出最终预测。当使用 Token Labeling 时,研究者额外加入一个线性分类层以及辅助损失函数。

对于 UniFormer-S,研究者设计了增强版本,每层 block 数量为 [3, 5, 9, 3],下采样使用重叠卷积,FLOPs 控制为 4.2G,保证与其他 SOTA 模型可比。


相关文章
|
数据格式
bootstrap-table 树形结构
bootstrap-table 树形结构
612 0
|
人工智能 Kubernetes jenkins
容器化AI模型的持续集成与持续交付(CI/CD):自动化模型更新与部署
在前几篇文章中,我们探讨了容器化AI模型的部署、监控、弹性伸缩及安全防护。为加速模型迭代以适应新数据和业务需求,需实现容器化AI模型的持续集成与持续交付(CI/CD)。CI/CD通过自动化构建、测试和部署流程,提高模型更新速度和质量,降低部署风险,增强团队协作。使用Jenkins和Kubernetes可构建高效CI/CD流水线,自动化模型开发和部署,确保环境一致性并提升整体效率。
|
机器学习/深度学习 人工智能 编解码
十连冠!阿里云蝉联中国音视频整体市场第一!
阿里云视频云以24.17%市场份额连续十次蝉联IDC音视频市场第一。AI+视频云成为增长核心驱动力,“AI实时互动”与“智能媒体生产”等赛道实现商业化突破。阿里云推出三大解决方案:AI实时互动助力企业快速构建沉浸式体验;智能媒体服务通过大模型提升内容生产效率;超高清与超低延时技术双突破,为客户提供高品质直播及点播服务。未来,阿里云将持续定义音视频新体验,与伙伴共创行业未来。
590 1
|
存储 SQL 关系型数据库
Mysql高可用架构方案
本文阐述了Mysql高可用架构方案,介绍了 主从模式,MHA模式,MMM模式,MGR模式 方案的实现方式,没有哪个方案是完美的,开发人员在选择何种方案应用到项目中也没有标准答案,合适的才是最好的。
1373 3
Mysql高可用架构方案
|
消息中间件 NoSQL 中间件
常用的消息队列和中间件都有哪些
常用的消息队列和中间件都有哪些
650 91
|
存储 传感器
单片机期末复习
单片机期末复习
|
安全 网络安全
NIST
NIST
1244 5
|
机器学习/深度学习 编解码 计算机视觉
【YOLOv10改进-注意力机制】HAT(Hybrid Attention Transformer,)混合注意力机制
YOLOv10专栏介绍了一种名为HAT的新方法,旨在改善Transformer在图像超分辨率中的表现。HAT结合通道和窗口注意力,激活更多像素并增强跨窗口信息交互。亮点包括:1) 更多像素激活,2) 有效跨窗口信息聚合,3) 任务特定的预训练策略。HAT模型包含浅层特征提取、深层特征提取和图像重建阶段。提供的代码片段展示了HAT类的定义,参数包括不同层的深度、注意力头数量、窗口大小等。欲了解更多详情和配置,请参考给定链接。
|
算法 安全 Java
在Java中实现数据加密和解密
在Java中实现数据加密和解密
|
存储 开发工具 数据安全/隐私保护
全网最新详细学习SVN常用功能
全网最新详细学习SVN常用功能
701 0