腾讯Lab:用Transformer振兴CNN骨干网络(附论文源代码下载)

0a09af6c58703d8e71f3666b1535dc6b.gif

 

计算机视觉研究院专栏

作者:Edison_G

来自港大、腾讯 AI Lab、牛津大学的研究者用Transformer振兴CNN注意力。

关注我们

转自机器之心

d39ba0e4f390ae14019b076a16b37a76.png

d24c788aabaf51e33ebe44e25a484e08.png

fb37b4eedfa4b2a9a6d5642b67c5712f.png

e51f0c0046c99fae1beea167671be2b0.png

  • 论文地址:https://arxiv.org/pdf/2110.05340.pdf

  • Github 地址:https://github.com/ChongjianGE/CARE

背景和启示:自监督表征学习与样本对比

121ad1d745e838c76739d94e647b404b.png

3eeaefe6200bd29310a4d2b7c0880d99.png

SimCLR

上图为 Hinton 团队的 SimCLR[b]算法框架,其采用 large batch 的设计,摆脱队列存储的依赖,直接对正负样本进行对比构造损失来更新网络。

7fd37672600cd016ba5b75f42efdcb7e.png

BYOL

上图为 DeepMind 团队的 BYOL[c]算法框架,其单纯利用当前样本进行自身的多种数据增广进行对比。同时引入 projector 来摆脱上下游任务对于网络的影响。在更新网络时也采用了动量更新的方式防止模型的坍塌。

7c55938f643826ca778a35690c657b62.png

MoCo V3

上图为 Kaiming He 团队的 MoCo V3[d],其将 transformer 做为学习编码器(encoder backbone),利用现有的自监督学习框架进行样本对比学习。同时也是将 vision transformer (ViT[e])作为编码器引入自监督学习中的工作之一。

86509e6cf2341f0aef080f702ec54fac.png

本文方法

3a0610ba359c674ab1657fa6615140c9.png

本文的方法:CARE (CNN Attention REvitalization)

3189b1b104aa51cb8d287912a1e4f603.png

Proposed pipeline

cecfe29a602eed1c563f9c5a2877c87c.png

260caf988752eb1c0f68da519db73b2c.png

83592610657128aa7fc1f630e409646f.png

Transformer 结构示意图

该 Transformer 以 CNN 编码器输出为输入,并输出f_1(x)、f_2(x)、f_3(x)、f_4(x)更具空间专注度性质的特征。本算法所设计的 Transformer 主要包括 4 个串行的模块,其中单个模块如上图所示。单个模块主要包含由一个 1x1 的卷积层,一个多头自注意力层(Multi-head Self-attention, MHSA)[g]以及额外一个 1x1 卷积层组成。其中 MHSA 层可以很好地学习到具有空间专注度性质的特征。此外,映射器 projector 和预测器 predictor 的主要结构为多层感知器(Multi-layer perceptron)。两者皆包含两个全线性连接层(fully connected layers),一个激活层以及一个标准化层(batch normalization)。

本文设计的损失函数基于流程框架中的四个输出f_1(x)、f_2(x)、f_3(x)、f_4(x)。其中本文用58b6a9769869507dfd4a1e2136a1ee07.png表示 C-stream 的损失项,用e46e881336e98c221e9d3b17554c157f.png表示 T-stream 的损失项。其具体形式如下:

5d3bd2c4795e237261349041a3434eb9.png

此外,本文用 T-stream 的输出来监督 C-stream 的输出。这个约束用93508fb9228ef691bba5a4f6214130ee.png表示,具体形式如下:

9f9c2286f9e0f80c5908ca91fa3e1d72.png

该约束表明在自监督学习中,C-stream 的输出会与 T-stream 的输出尽量相似。所以最终整体的损失函数可以由如下表示:

de57738c1999a8345316a2412e43ceba.png

在计算整体损失后,本算法只后向传播梯度更新 C-stream 和 T-stream 的上支。其下路分支主要通过动量更新的方式来更新参数。所谓动量更新指的主要是利用当前 C-Stream 和 T-Stream 的上路分支的参数,以及其之前时刻的参数信息,来动量更新其下路分支的网络参数。在网络训练结束后,只保留 CNN encoder1 作为目标编码器。该编码器随后会用做下游识别任务的 backbone 网络。

可视化分析:CNN 编码器的注意力展示

在自监督训练结束后,本文对 CNN 编码器进行特征响应的可视化展示,从而观察编码器在训练后对视觉内容关注程度的变化。本文对同样的编码器进行两种自监督策略,一种是只使用 C-stream 的结构进行训练,一种是使用全部结构进行训练。本文对这两种训练策略下的同样的编码器进行可视化展示,如下图所示:

ac65b6052ca81c130295b576ea332f95.png

CNN 编码器的注意力可视化展示

从图中可以看到,第一行为输入图像,第二行为单纯利用 C-stream 结构进行训练的编码器的注意力,第三行为利用本文提出 CARE 结构进行训练的编码器的注意力。通过观察注意力在图像上面的分布和强度可以看出,本文提出的 CARE 算法训练的编码器对图像中的物体更敏感,注意力更强烈。

实验结果

在实验过程中,本文从多个方面验证提出算法的有效性。包括上游训练好的模型在线性分类问题中的性能、在半监督数据中的效果,以及在下游物体检测和分割任务中的性能。在骨干网络模型选择方面,本文选取了 CNN 通用的 ResNet 系列模型进行训练。对比模型为 ResNet 系列和 Transformer 结构。验证的方式为利用不同的自监督学习算法在多种模型上进行各类任务不同训练阶段中的性能验证。在本文算法的训练过程中,使用 8 卡 V100 算力即可进行模型训练的收敛。在当前海量算力的视觉自监督表征学习任务下相对算力友好。

上游任务线性分类的比较。在固定 ResNet-50 为骨干网络情况下,针对不同的自监督学习算法进行训练,展示在不同训练阶段的线性分类效果。如下图所示,本文提出的 CARE(CNN attention revitalization)方法取得的优异的表现。

b9c51ab8ff92e29fb16580a7ebc39823.png

此外,本文也与 BYOL 方法在 ResNet 不同骨干网络、不同训练阶段的性能进行对比,如下图所示。本文的 CARE 方法在不同骨干网络下性能更佳。

ed0c9744eb690333cdc541dd62344655.png

以上为相同骨干网络、不同学习算法的对比。本文同时也对比了 Transformer 的骨干网络以及现有的学习算法。效果如下图所示,跟 Transformer 结构相比,本文利用 ResNet 网络,在参数量相近的情况下,取得了更好的结果。

a8dbef0feacef5340fd1dbcbff3f3199.png

更多的实验对比,以及 CARE 算法的 Ablation Study 详见文章中的实验章节。

总结

综上,本文提出了一个利用 Transformer 结构来辅助 CNN 网络训练的视觉自监督表征学习框架。其核心贡献在于利用一种网络结构的特性(即 Transformer 的注意力提升特性),在训练中监督目标网络(即 CNN 骨干网络),从而使得网络特性能够得到迁移并提升目标网络性能的效果。在视觉识别的各类任务中也得到了充分验证。本文的框架对自监督表征学习具有很强的启示意义,现有网络结构设计繁多,功能各异。如何利用这些网络独有的特点,进而集成在一个网络中达到浑然一体的目标,也是后续自监督表征学习可探索的重要方向。

参考文献:

[a]. Momentum contrast for unsupervised visual representation learning. Kaiming He, Haoqi Fan, Yuxin Wu, Saining Xie, and Ross Girshick. CVPR 2020.

[b]. A Simple Framework for Contrastive Learning of Visual Representations. Ting Chen, Simon Kornblith, Mohammad Norouzi, and Geoffrey Hinton. ICML 2020.

[c]. Bootstrap Your Own Latent: A New Approach to Self-Supervised Learning. Grill et al. NIPS 2020.

[d]. An Empirical Study of Training Self-Supervised Vision Transformers. Xinlei Chen, Saining Xie, and Kaiming He. ICCV 2021.

[e]. An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale. Dosovitskiy et al. ICLR 2021.

[f]. Barlow Twins: Self-Supervised Learning via Redundancy Reduction. Jure Zbontar, Li Jing, Ishan Misra, Yann LeCun, and Stéphane Deny. ICML 2021.

[g]. Bottleneck Transformers for Visual Recognition. Aravind Srinivas, Tsung-Yi Lin, Niki Parmar, Jonathon Shlens, Pieter Abbeel, Ashish Vaswani. CVPR 2021.

© THE END 

转载请联系本公众号获得授权

3059c3cb24c7ac69e2bad2b4d0284af9.gif

计算机视觉研究院学习群等你加入!

计算机视觉研究院主要涉及深度学习领域,主要致力于人脸检测、人脸识别,多目标检测、目标跟踪、图像分割等研究方向。研究院接下来会不断分享最新的论文算法新框架,我们这次改革不同点就是,我们要着重”研究“。之后我们会针对相应领域分享实践过程,让大家真正体会摆脱理论的真实场景,培养爱动手编程爱动脑思考的习惯!

公众号ID|ComputerVisionGzq

学习群|扫码在主页获取加入方式

 往期推荐 

🔗

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

计算机视觉研究院

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

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

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

打赏作者

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

抵扣说明:

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

余额充值