NeurIPS 2023 | 中科院&旷视提出DropPos:全新的自监督视觉预训练代理任务

点击下方卡片,关注“CVer”公众号

AI/CV重磅干货,第一时间送达

点击进入—>【计算机视觉和Transformer】交流群

作者:王淏辰(源:知乎,已授权)| 编辑:CVer公众号

https://zhuanlan.zhihu.com/p/658262098

在CVer微信公众号后台回复:DropPos,可以下载本论文pdf和代码,学起来!

0. 基本信息

1a588c73d4d93f4fe73395186f8cdfd5.png

DropPos: Pre-Training Vision Transformers by Reconstructing Dropped Positions. In NeurIPS 2023.

论文:arxiv.org/pdf/2309.03576

代码:github.com/Haochen-Wang409/DropPos

今天介绍我们在自监督视觉预训练领域的一篇原创工作 DropPos: Pre-Training Vision Transformers by Reconstructing Dropped Positions.

目前 DropPos 已被 NeurIPS 2023 接收,相关代码已开源,有任何问题欢迎在 GitHub 提出。

1. TL;DR

我们提出了一种全新的自监督代理任务 DropPos,首先在 ViT 前向过程中屏蔽掉大量的 position embeddings (PE),然后利用简单的 cross-entropy loss 训练模型,让模型重建那些无 PE token 的位置信息。这个及其简单的代理任务就能在多种下游任务上取得有竞争力的性能。

2. Motivation

在 MoCo v3 的论文中有一个很有趣的现象:ViT 带与不带 position embedding,在 ImageNet 上的分类精度相差无几。

b974557dbdab1dd012cb63ae8e05ba2d.jpeg

表 1. MoCo v3 中的实验现象 (原文第 6 页)

这一实验结果背后,隐含着「ViT 的建模主要关注于不同 patch 的 visual appearence,对于 position 的 awareness 较差」这一信息。即,如果把图片切 patch 然后再随机打乱之后,ViT 能够在乱序的情况下准确识别该图片的类别。这一点和人类直觉有很大出入。同时,有可能是因为 ViT 过拟合到了 ImageNet 这个特定数据集导致的。

基于此,我们首先做了一些 tiny experiments,探究 position awareness 与模型的识别准确率到底是否有正相关的关系。具体来说,我们冻结了 MoCo v3 和 MAE 的 pre-train/fine-tune 权重,在其后接一个全连接层,并用 position classification 这个任务做 linear probing。即,在 forward 过程中随机丢弃 75% 的 PE,并把 ViT 的 feature 映射到 196 维 (一张图有 14x14 个 patch),期望让最终的线性层正确分类该 patch 的位置。

7e7d56d6c0932b1c8c76fcb91bba3c09.jpeg

表 2. Position awareness 对于下游任务的影响

表中结果表明,fine-tune 后的模型权重,更适合预测位置这一任务。说明「强大的对位置的建模能力,对于图像分类任务是有益的」。基于此,我们想探究一种能够提升 ViT 对于位置建模能力的全新自监督代理任务。

一种可行的方案是「简单地把 ViT 的 PE 随机丢弃一部分,然后让模型预测这些不带 PE 的 token 的精确位置」,即 reconstruct Dropped Positions (DropPos).

a54e358a18b68081c165eba27c856d5b.jpeg

图 1. DropPos 与 CL 和 MIM 的对比

DropPos 有如下的优势:

  • 对比 CL,DropPos 不需要精心设计的数据增强 (例如 multi-crop)。

  • 对比 MIM,DropPos 不需要精心设计的掩码策略和重建目标。

下面我们介绍 DropPos 的具体运行流程

3. Method

efddda128251df1b957aab4138020a11.jpeg

图 2. DropPos 的流程图

即使 DropPos 的想法很直观也很简单,但这类方法一直没有成为预训练的主流,主要是由于在设计上有以下三个难点:

  1. 如果简单地把所有 PE 丢弃,让模型直接重建每个 patch 的位置,会导致上下游的 discrepency。因为下游任务需要 PE,而上游预训练的模型又完全没见过 PE。

  2. ViT 对于 long-range 的建模能力很强,这个简单的位置重建任务可能没办法让模型学到非常 high-level 的语义特征。

  3. 看上去相似的不同 patch (例如纯色的背景) 的位置无需被精准重建,因此决定哪些 patch 的位置需要被重建非常关键。

针对上述难点,我们提出了三个解决手段:

  1. 针对问题一,我们采用了一个简单的随机丢弃策略。每次训练过程中丢弃 75% 的 PE,保留 25% 的 PE。

  2. 针对问题二,我们采取了高比例的 patch mask,既能提高代理任务的难度,又能加快训练的速度。

  3. 针对问题三,我们提出了 position smoothing 和 attentive reconstruction 的策略。

3.1 DropPos 前向过程

722138d349b77a0a5c524119f0d255b0.jpeg

算法 1. DropPos 的前向过程

DropPos 的前向过程包括两段 mask,分别是第一步 patch mask (类似 MAE),和第二步的 position mask (用可学习的 position mask 代替 dropped positions)。具体可以参见上方的伪代码。

3.2 Objective

我们使用了一个最简单的 cross-entropy loss 作为预训练的目标函数:

08311fe464a42004f54ba0013b264881.png

其中,o 是模型的输出,即第 i 个 patch 的预测位置是 j 的 logit,y 是真实的位置信息。

gamma 是第一步的 patch mask ratio,N 为总 patch 数量。

Mpose是 0-1 的 position mask,1 表示该 patch 带有 PE,不应当被重建,而 0 表示该 patch 不带 PE,需要被重建。

我们接下来引入 position smoothing 和 attentive reconstruction 技术来松弛这个问题,以解决相似但不同 patch 的位置重建问题。

3.2.1 Position Smoothing

我们采用一个高斯核来平滑原本的 position targets

b4a0ab1ee2958f1a01f2a6ec9348ff15.jpeg b6916617e146ed1a1f8f0e57b4e6f9f5.png

此处,w(i, j) 表示当真实位置为 i,而预测位置为 j 时,平滑后的 position target。

此外,我们还让 sigma 自大变小,让模型一开始不要过分关注精确的位置重建,而训练后期则越来越关注于精准的位置重建。

3.2.2 Attentive Reconstruction

我们采用 [CLS] token 和其他 patch 的相似度作为亲和力矩阵,作为目标函数的额外权重。

5d95ffba8d31d89f236f1b80d73c0fc4.png 8bc24dc22ce579ca17d4fef4720024be.jpeg

其中 f 为不同 token 的特征,tau 为超参数,控制了 affinity 的平滑程度。

4. Experiments

4.1 与其他方法的对比

7ae4a422a79063f19abcab1992e1990d.jpeg 721931dd63dc36dfefe375cb2bbc5c40.jpeg

4.2 消融实验

本文主要有四个超参:patch mask ratio (gamma),position mask ratio (gamma_pos),sigma,和 tau。

b816fe9c91f9d479981c9d2273f782cf.jpeg 5fb38d7f5cf874f351f287e1e5e6ba6b.jpeg

由表,我们可以得出一些比较有趣的结论:

  1. 一般来说,更高的 position 重建精度会带来更高的下游任务性能。

  2. 上述结论存在例外:当 sigma = 0 时,即不做位置平滑时,位置预测精度高,而下游任务表现反而低;当 tau = inf 时,即不做 attentive reconstruction 时,位置预测精度高,而下游表现反而低。

  3. 因此,过分关注于预测每一个 patch 的精确的位置,会导致局部最优,对于下游任务不利。

325714ceb67e415de40a7bbba64724c5.jpeg

上图是 DropPos 位置重建的可视化结果,黑色 patch 代表的是前向过程中被 mask 掉的 patch;白色 patch 的位置被错误重建,而剩余 patch 的位置被精准重建。

DropPos 在极端情况 (例如 gamma=0.75) 时,依然可以做到大部分 patch 的精准重建。

在CVer微信公众号后台回复:DropPos,可以下载本论文pdf和代码,学起来!

点击进入—>【计算机视觉和Transformer】交流群

ICCV / CVPR 2023论文和代码下载

 
 

后台回复:CVPR2023,即可下载CVPR 2023论文和代码开源的论文合集

后台回复:ICCV2023,即可下载ICCV 2023论文和代码开源的论文合集
计算机视觉和Transformer交流群成立
扫描下方二维码,或者添加微信:CVer333,即可添加CVer小助手微信,便可申请加入CVer-计算机视觉或者Transformer 微信交流群。另外其他垂直方向已涵盖:目标检测、图像分割、目标跟踪、人脸检测&识别、OCR、姿态估计、超分辨率、SLAM、医疗影像、Re-ID、GAN、NAS、深度估计、自动驾驶、强化学习、车道线检测、模型剪枝&压缩、去噪、去雾、去雨、风格迁移、遥感图像、行为识别、视频理解、图像融合、图像检索、论文投稿&交流、PyTorch、TensorFlow和Transformer、NeRF等。
一定要备注:研究方向+地点+学校/公司+昵称(如计算机视觉或者Transformer+上海+上交+卡卡),根据格式备注,可更快被通过且邀请进群

 
 
▲扫码或加微信号: CVer444,进交流群
CVer计算机视觉(知识星球)来了!想要了解最新最快最好的CV/DL/AI论文速递、优质实战项目、AI行业前沿、从入门到精通学习教程等资料,欢迎扫描下方二维码,加入CVer计算机视觉,已汇集数千人!

▲扫码进星球
▲点击上方卡片,关注CVer公众号
整理不易,请点赞和在看
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值