MoCo|Swin Transformer为主干,清华等提MoBY自监督学习方法代码已开源

作者:Zhenda Xie等
机器之心编译
机器之心编辑部

来自清华大学、西安交大、微软亚研的研究者提出了一种称为 MoBY 的自监督学习方法 , 其中以 Vision Transformer 作为其主干架构 , 将 MoCo v2 和 BYOL 结合 , 并在 ImageNet-1K 线性评估中获得相当高的准确率 , 性能优于 MoCo v3、DINO 等网络 。
近两年来 , 计算机视觉领域经历了两次重大转变 , 第一次是由 MoCo(Momentum Contrast)开创的自监督视觉表征学习 , 其预训练模型经过微调可以迁移到不同的任务上;第二次是基于 Transformer 的主干架构 , 近年来在自然语言处理中取得巨大成功的 Transformer 又在计算机视觉领域得到了探索 , 进而产生了从 CNN 到 Transformer 的建模转变 。
不久前 , 微软亚研的研究者提出了一种通过移动窗口(shifted windows)计算的分层视觉 Swin Transformer , 它可以用作计算机视觉的通用主干网络 。 在各类回归任务、图像分类、目标检测、语义分割等方面具有极强性能 。
而在近日 , 来自清华大学、西安交通大学以及微软亚洲研究院的研究者也在计算机视觉领域发力 , 提出了名为 MoBY 自监督学习方法 , 以 Vision Transformers 作为其主干架构 , 将 MoCo v2 和 BYOL 结合在一起 , 在 ImageNet-1K 线性评估中获得相当高的准确率:通过 300-epoch 训练 , 分别在 DeiT-S 和 Swin-T 获得 72.8% 和 75.0% 的 top-1 准确率 。 与使用 DeiT 作为主干的 MoCo v3 和 DINO 相比 , 性能略好 , 但trick要轻得多 。
更重要的是 , 使用 Swin Transformer 作为主干架构 , 还能够评估下游任务中(目标检测和语义分割等)的学习表征 , 其与最近的 ViT/DeiT 方法相比 , 由于 ViT / DeiT 不适合这些密集的预测任务 , 因此仅在 ImageNet-1K 上报告线性评估结果 。 研究者希望该结果可以促进对 Transformer 架构设计的自监督学习方法进行更全面的评估 。
MoCo|Swin Transformer为主干,清华等提MoBY自监督学习方法代码已开源
文章图片

  • 论文地址:https://arxiv.org/pdf/2105.04553.pdf
  • GitHub 地址:https://github.com/SwinTransformer/Transformer-SSL
方法介绍
自监督学习方法 MoBY 由 MoCo v2 和 BYOL 这两个比较流行的自监督学习方法组成 , MoBY 名字的由来是各取了 MoCo v2 和 BYOL 前两个字母 。 MoBY 继承了 MoCo v2 中的动量设计、键队列、对比损失 , 此外 MoBY 还继承了 BYOL 中非对称编码器、非对称数据扩充、动量调度(momentum scheduler) 。 MoBY 架构图如下图 1 所示:
MoCo|Swin Transformer为主干,清华等提MoBY自监督学习方法代码已开源
文章图片

MoBY 包含两个编码器:在线编码器和目标编码器 。 这两个编码器都包含一个主干和 projector head(2 层 MLP) , 在线编码器引入了额外的预测头(2 层 MLP) , 使得这两个编码器具有非对称性 。 在线编码器采用梯度更新 , 目标编码器则是在线编码器在每次训练迭代中通过动量更新得到的移动平均值 。 对目标编码器采用逐渐增加动量更新策略:训练过程中 , 动量项值默认起始值为 0.99 , 并逐渐增加到 1 。
学习表征采用对比损失 , 具体而言 , 对于一个在线视图(online view)q , 其对比损失计算公式如下所示:
MoCo|Swin Transformer为主干,清华等提MoBY自监督学习方法代码已开源
文章图片

式中 , κ_+ 为同一幅图像的另一个视图(view)的目标特征;κ_i 是键队列( key queue )中的目标特性;τ是 temperature 项;Κ是键队列的大小(默认为 4096) 。
在训练中 , 与大多数基于 Transformer 的方法一样 , 研究者还采用了 AdamW 优化器 。
MoBY 伪代码如下所示:

特别声明:本站内容均来自网友提供或互联网,仅供参考,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。