超越所有MIM模型的BEiT v2来了!微软使用矢量量化视觉Tokenizers的掩码图像建模!

这篇具有很好参考价值的文章主要介绍了超越所有MIM模型的BEiT v2来了!微软使用矢量量化视觉Tokenizers的掩码图像建模!。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

【写在前面】

蒙面图像建模 (MIM) 通过恢复损坏的图像patch,在自监督表示学习中展示了令人印象深刻的结果。然而,大多数方法仍然对低级图像像素进行操作,这阻碍了对表示模型的高级语义的利用。在这项研究中,作者提出使用语义丰富的视觉标记器作为掩码预测的重建目标,为将 MIM 从像素级提升到语义级提供了一种系统的方法。具体来说,作者引入向量量化知识蒸馏来训练tokenizer,它将连续的语义空间离散化为紧凑的代码。然后,通过预测mask图像块的原始视觉token来预训练视觉Transformer。此外,作者鼓励模型将patch信息显式聚合到全局图像表示中,这有助于linear probing。图像分类和语义分割的实验表明,本文的方法优于所有比较的 MIM 方法。图像分类和语义分割的实验表明,本文的方法优于所有比较的 MIM 方法。在 ImageNet-1K(224 大小)上,基本大小的 BEIT V2 在微调时达到 85.5% 的 top-1 精度,在线性探测(linear probing)时达到 80.1% 的 top-1 精度。大尺寸 BEIT V2 在 ImageNet-1K(224 大小)微调上获得 87.3% 的 top-1 准确率,在 ADE20K 上获得 56.7% 的 mIoU 用于语义分割。

1. 论文和代码地址

超越所有MIM模型的BEiT v2来了!微软使用矢量量化视觉Tokenizers的掩码图像建模!

BEIT V2: Masked Image Modeling with Vector-Quantized Visual Tokenizers

论文地址:https://arxiv.org/pdf/2208.06366.pdf

代码地址:https://github.com/microsoft/unilm

2. 动机

蒙面图像建模 (Masked image modeling) 在学习视觉表示方面显示出令人印象深刻的结果,这极大地缓解了视觉 Transformer 的注释饥饿问题。给定一张图像,这些方法通常首先通过屏蔽一些patch来破坏它。以开创性的工作 BEiT 为例,每张图像在预训练期间都有两个视图,即图像块和视觉token。原始图像首先被标记为离散标记。随机采样的图像块在被馈送到视觉Transformer之前被屏蔽。预训练的目标是根据损坏的图像块恢复原始视觉token。在预训练视觉编码器后,可以通过附加轻量级任务层直接在各种下游任务上微调模型。

在 mask-then-predict 框架下,与以往工作的主要区别在于重建目标,例如视觉token、原始像素和手工制作的 HOG 特征。然而,恢复低级监督往往会浪费建模能力来预训练高频细节和短程依赖关系。例如,当mask戴在男人头上的“帽子”时,我们更喜欢模型在给定整个上下文的情况下学习被掩盖的“帽子”的高级概念,而不是在像素级细节上苦苦挣扎。相比之下,语言建模中的掩码词通常被认为具有比像素更多的语义。这促使通过在预训练期间利用语义感知监督来挖掘 MIM 的潜力。

在这项工作中,作者引入了一种自监督的视觉表示模型 BEIT V2,旨在通过学习语义感知的视觉标记器(tokenizer)来改进 BEIT 预训练。具体来说,作者提出了向量量化知识蒸馏(VQ-KD)算法来离散化语义空间。 VQ-KD 编码器首先根据可学习的码本将输入图像转换为离散token。然后解码器学习重建由教师模型编码的语义特征,以离散token为条件。在训练 VQ-KD 后,其编码器用作 BEIT 预训练的视觉标记器,其中离散代码用作监督信号。

此外,作者提出通过明确鼓励 CLS token聚合所有patch来预训练全局图像表示。该机制解决了mask图像建模仅预训练patch级表示的问题。结果,在聚合全局表示的帮助下,线性探测的性能得到了提高。

超越所有MIM模型的BEiT v2来了!微软使用矢量量化视觉Tokenizers的掩码图像建模!

作者在 ImageNet-1k 上对基本和大型视觉 Transformer 进行自监督学习,并在多个下游任务上进行评估,例如图像分类、线性探测和语义分割。如上图所示,BEIT V2 在 ImageNet 微调上大大优于以前的自监督学习算法,例如,在 ViT-B/16 和ViT-L/16。本文的方法在 ImageNet 线性探测上优于所有比较的 MIM 方法,同时在 ADE20k 上实现语义分割的巨大性能提升。

本研究的贡献总结如下:

  • 作者引入向量量化知识蒸馏,将掩码图像建模从像素级提升到语义级,以进行自监督表示学习。

  • 作者提出了一种补丁聚合策略,该策略在给定补丁级掩码图像建模的情况下强制执行全局表示。

  • 作者对下游任务进行了广泛的实验,例如 ImageNet 微调、线性探测和语义分割。实验结果表明,本文的方法显着提高了模型大小、训练步骤和下游任务的性能。

3. 方法

BEIT V2 继承了 BEIT的蒙版图像建模框架。具体来说,给定输入图像,作者使用视觉tokenizer将图像标记为离散的视觉token。然后mask一部分图像块并将其输入视觉Transformer。预训练任务是根据损坏的图像恢复蒙面的视觉标记。在3.2节中,将介绍向量量化知识蒸馏算法,并用它来训练视觉tokenizer。在第 3.3 节中,使用视觉tokenizer进行 BEIT 预训练。此外,作者提出通过构建架构瓶颈来明确鼓励模型预训练全局图像表示。

3.1 图像表示

作者使用视觉Transformer (ViTs) 作为主干网络来获得图像表示。给定输入图像 x ∈ R H × W × C \boldsymbol{x} \in \mathbb{R}^{H \times W \times C} xRH×W×C,作者将图像 x reshape为 N = H W / P 2 N=H W / P^{2} N=HW/P2个patch { x i p } i = 1 N \left\{\boldsymbol{x}_{i}^{p}\right\}_{i=1}^{N} {xip}i=1N,其中 x p ∈ R N × ( P 2 C ) \boldsymbol{x}^{p} \in \mathbb{R} ^{N \times\left(P^{2} C\right)} xpRN×(P2C)和 $ (P, P ) 是 p a t c h 大小。在实验中,作者将每个 224 × 224 的图像分割成一个 14 × 14 的图像块网格,其中每个块是 16 × 16 。然后图像块 是patch大小。在实验中,作者将每个 224 × 224 的图像分割成一个 14 × 14 的图像块网格,其中每个块是 16 × 16。然后图像块 patch大小。在实验中,作者将每个224×224的图像分割成一个14×14的图像块网格,其中每个块是16×16。然后图像块\left{\boldsymbol{x}{i}{p}\right}_{i=1}{N} 被展平并线性投影到 T r a n s f o r m e r s 的输入嵌入中。对于 N 个图像块,将编码向量表示为 被展平并线性投影到 Transformers 的输入嵌入中。对于 N 个图像块,将编码向量表示为 被展平并线性投影到Transformers的输入嵌入中。对于N个图像块,将编码向量表示为\left{\boldsymbol{h}{i}\right}_{i=1}^{N}$。

3.2 训练Visual Tokenizer

超越所有MIM模型的BEiT v2来了!微软使用矢量量化视觉Tokenizers的掩码图像建模!

视觉tokenizer将图像映射到一系列离散标记。具体来说,图像 x 被标记为 z = [ z 1 , ⋯   , z N ] ∈ V ( H / P ) × ( W / P ) z=\left[z_{1}, \cdots, z_{N}\right] \in \mathcal{V}^{(H / P) \times(W / P)} z=[z1,,zN]V(H/P)×(W/P),其中词汇 V(即视觉码本)包含 |V|个离散码。请注意,token的数量与本文工作中图像块的数量相同。作者提出向量量化知识蒸馏(VQ-KD)来训练视觉标记器。如上图所示,VQ-KD 在训练过程中有两个模块,即视觉标记器解码器

标记器由视觉Transformer编码器和量化器组成。标记器首先将输入图像编码为向量。接下来,向量量化器在码本中查找每个patch表示 h i h_{i} hi的最近邻。让 { e 1 , ⋯   , e ∣ ν ∣ } \left\{\boldsymbol{e}_{1}, \cdots, \boldsymbol{e}_{|\mathcal{\nu}|}\right\} {e1,,eν}表示码本嵌入。对于第 i 个图像块,其量化代码由下式获得:

z i = arg ⁡ min ⁡ j ∥ ℓ 2 ( h i ) − ℓ 2 ( e j ) ∥ 2 z_{i}=\underset{j}{\arg \min }\left\|\ell_{2}\left(\boldsymbol{h}_{i}\right)-\ell_{2}\left(\boldsymbol{e}_{j}\right)\right\|_{2} zi=jargmin2(hi)2(ej)2

其中 ℓ 2 \ell_{2} 2归一化用于码本查找。上述距离相当于根据余弦相似度找码。

在将图像量化为视觉标记后,作者将l2-normalized codebook embeddings { ℓ 2 ( e z i ) } i = 1 N \left\{\ell_{2}\left(\boldsymbol{e}_{z_{i}}\right)\right\}_{i=1}^{N} {2(ezi)}i=1N提供给解码器。解码器也是一个多层 Transformer 网络。输出向量 { o i } i = 1 N \left\{\boldsymbol{o}_{i}\right\}_{i=1}^{N} {oi}i=1N旨在重建教师模型的语义特征,例如 DINO和 CLIP。让 t i \boldsymbol{t}_{i} ti表示第 i 个图像块的教师模型的特征向量。作者最大化解码器输出 o i o_{i} oi和教师指导 t i t_{i} ti 之间的余弦相似度。

因为量化过程是不可微分的。如上图所示,为了将梯度反向传播到编码器,梯度直接从解码器输入复制到编码器输出。直观地说,量化器为每个编码器输出查找最近的代码,因此码本嵌入的梯度指示了编码器的有用优化方向。

VQ-KD的训练目标是:

max ⁡ ∑ x ∈ D ∑ i = 1 N cos ⁡ ( o i , t i ) − ∥ sg ⁡ [ ℓ 2 ( h i ) ] − ℓ 2 ( e z i ) ∥ 2 2 − ∥ ℓ 2 ( h i ) − sg ⁡ [ ℓ 2 ( e z i ) ] ∥ 2 2 , \max \sum_{x \in \mathcal{D}} \sum_{i=1}^{N} \cos \left(\boldsymbol{o}_{i}, \boldsymbol{t}_{i}\right)-\left\|\operatorname{sg}\left[\ell_{2}\left(\boldsymbol{h}_{i}\right)\right]-\ell_{2}\left(\boldsymbol{e}_{z_{i}}\right)\right\|_{2}^{2}-\left\|\ell_{2}\left(\boldsymbol{h}_{i}\right)-\operatorname{sg}\left[\ell_{2}\left(\boldsymbol{e}_{z_{i}}\right)\right]\right\|_{2}^{2}, maxxDi=1Ncos(oi,ti)sg[2(hi)]2(ezi)222(hi)sg[2(ezi)]22,

其中 sg[·] 代表停止梯度算子,它在前向传递中是一个身份,而在后向传递期间具有零梯度,D 代表用于标记器训练的图像数据。

3.3 预训练 BEIT V2

作者遵循 BEIT中的掩蔽图像建模 (MIM) 设置来预训练视觉 Transformer 以进行图像表示。给定输入图像 x,作者逐块选择大约 40% 的图像块进行mask。将mask位置称为 M,然后使用共享的可学习嵌入 e [ M ] e_{[M]} e[M]替换原始图像块嵌入 e i p e_{i}^{p} eip如果 i ∈ M i \in \mathcal{M} iM x i M = δ ( i ∈ M ) ⊙ e [ M ] + ( 1 − δ ( i ∈ M ) ) ⊙ x i p \boldsymbol{x}_{i}^{\mathcal{M}}=\delta(i \in\mathcal{M}) \odot \boldsymbol{e}_{[\mathrm{M}]}+(1-\delta(i \in \mathcal{M})) \odot \boldsymbol{x}_{i}^{p} xiM=δ(iM)e[M]+(1δ(iM))xip,其中 δ(·) 是指示函数。随后,作者在输入前添加一个可学习的 CLS token,即 [ e C L S , { x i M } i = 1 N ] \left[e_{\mathrm{CLS}},\left\{\boldsymbol{x}_{i}^{\mathcal{M}}\right\}_{i=1}^{N}\right] [eCLS,{xiM}i=1N],并将它们提供给视觉 Transformer。最终的编码向量表示为 { h i } i = 0 N \left\{\boldsymbol{h}_{i}\right\}_{i=0}^{N} {hi}i=0N,其中 h 0 h_{0} h0表示 CLS token。

接下来,使用mask图像建模头根据损坏的图像 x M x^{\mathcal{M}} xM预测mask位置的视觉token。对于每个掩码位置 { h i : i ∈ M } i = 1 N \left\{\boldsymbol{h}_{i}: i \in \mathcal{M}\right\}_{i=1}^{N} {hi:iM}i=1N,softmax 分类器预测视觉标记 p ( z ′ ∣ x M ) = softmax ⁡ z ′ ( W c h i + b c ) p\left(z^{\prime} \mid x^{\mathcal{M}}\right)=\operatorname{softmax}_{z^{\prime}}\left(\boldsymbol{W}_{c} \boldsymbol{h}_{i}+\boldsymbol{b}_{c}\right) p(zxM)=softmaxz(Wchi+bc),其中 w x w^{x} wx是掩码图像, W c , b c \boldsymbol{W}_{c}, \boldsymbol{b}_{c} Wc,bc是分类器权重。视觉标记由第 3.2 节中训练的tokenizer获得,该标记器为mask图像建模提供监督。最后,MIM 的训练损失可以表示为:

L M I M = − ∑ x ∈ D ∑ i ∈ M log ⁡ p ( z i ∣ x M ) \mathcal{L}_{\mathrm{MIM}}=-\sum_{x \in \mathcal{D}} \sum_{i \in \mathcal{M}} \log p\left(z_{i} \mid x^{\mathcal{M}}\right) LMIM=xDiMlogp(zixM)

其中 z i z_{i} zi表示原始图像的视觉标记, D \mathcal{D} D表示预训练图像。

预训练全局表示

超越所有MIM模型的BEiT v2来了!微软使用矢量量化视觉Tokenizers的掩码图像建模!

作者显式地预训练 CLS token以进行全局表示。本文的目标是减轻patch级预训练和图像级表示聚合之间的差异。如上图所示,作者构建了一个表示瓶颈来指导 CLS token收集信息。对于 L 层 Transformer,令 { h i l } i = 1 N \left\{h_{i}^{l}\right\}_{i=1}^{N} {hil}i=1N表示第 l 层的输出向量,其中 l = 1 , ⋯   , L l=1, \cdots, L l=1,,L。为了预训练最后一层的 CLS token h C L S L h_{\mathrm{CLS}}^{L} hCLSL,作者将其与中间第l层的patch向量 { h i l } i = 1 N \left\{h_{i}^{l}\right\}_{i=1}^{N} {hil}i=1N进行concat,即 S = [ h C L S L , h 1 l , ⋯   , h N l ] \boldsymbol{S}=\left[h_{\mathrm{CLS}}^{L}, h_{1}^{l}, \cdots, h_{N}^{l}\right] S=[hCLSL,h1l,,hNl]。然后将 S 馈送到一个浅层(例如两层)Transformer 解码器并进行mask预测。作者还计算了第 L 层的 MIM 损失。所以最终的训练损失是两项的总和,即第 L 层的原始损失和浅层 Transformer 解码器的 MIM 损失。在本文的实现中,作者还共享两个头部的 MIM softmax 权重。

4.实验

超越所有MIM模型的BEiT v2来了!微软使用矢量量化视觉Tokenizers的掩码图像建模!

上表报告了 top-1 的微调精度结果。从上表中可以看出,具有 300 个 epoch 预训练计划的基本尺寸 BEIT V2 达到 85.0% 的 top-1 准确率,将 BEIT、CAE、SplitMask 和 PeCo 分别抑制了 2.1%、1.7%、1.4% 和 0.9%。此外,BEIT V2 比 iBoT 高 1.2%,data2vec 高 0.8%。

超越所有MIM模型的BEiT v2来了!微软使用矢量量化视觉Tokenizers的掩码图像建模!

上表展示了线性探测的 top-1 精度。作者将 BEIT V2 与 MIM 方法 BEIT、MAE、CAE、MVP 和对比方法 MoCo v3 进行比较。所有方法都基于 ViT-B/16 并预训练了 300 个 epoch,但 MAE 为 1600 个 epoch。

超越所有MIM模型的BEiT v2来了!微软使用矢量量化视觉Tokenizers的掩码图像建模!

作者评估了 BEIT V2 在各种 ImageNet 验证集上的鲁棒性,在上表中报告了结果。与 MAE相比,BEIT V2 在数据集上取得了巨大的进步,证明了所提出的方法在泛化方面的优越性。

超越所有MIM模型的BEiT v2来了!微软使用矢量量化视觉Tokenizers的掩码图像建模!

从上表可以看出,VQ-KD 的更深解码器获得了更好的重构,但码本使用率和下游任务性能更低。此外,实验表明减少码本查找的维度可以提高码本的利用率。

超越所有MIM模型的BEiT v2来了!微软使用矢量量化视觉Tokenizers的掩码图像建模!

上表展示了关于 CLS token预训练的消融研究。较浅的头部(1/2 层)比较深的头部(3 层)表现更好,这表明较浅的头部(较低的模型容量)比较深的头部(较高的模型容量)更关注输入 CLS token。

超越所有MIM模型的BEiT v2来了!微软使用矢量量化视觉Tokenizers的掩码图像建模!

上表展示了VQ-KD target的消融研究。

5. 总结

在本文中,作者提出了向量量化知识蒸馏(VQ-KD)来训练视觉Transformer预训练的视觉标记器。 VQ-KD 离散化连续语义空间,为mask图像建模提供监督,而不是依赖图像像素。语义视觉标记器极大地改进了 BEIT 预训练并显着提高了下游任务的传输性能。此外,引入了 CLS token预训练机制,以明确鼓励模型生成全局图像表示,缩小补丁级预训练和图像级表示聚合之间的差距。

【技术交流】

已建立深度学习公众号——FightingCV,关注于最新论文解读、基础知识巩固、学术科研交流,欢迎大家关注!!!

推荐加入FightingCV交流群,每日会发送论文解析、算法和代码的干货分享,进行学术交流,加群请添加小助手wx:FightngCV666,备注:地区-学校(公司)-名称

面向小白的顶会论文核心代码库:https://github.com/xmu-xiaoma666/External-Attention-pytorch

面向科研小白的YOLO目标检测库:https://github.com/iscyy/yoloair

超越所有MIM模型的BEiT v2来了!微软使用矢量量化视觉Tokenizers的掩码图像建模!

【赠书活动】

为感谢各位老粉和新粉的支持,FightingCV公众号将在9月10日包邮送出4本**《深度学习与目标检测:工具、原理与算法》来帮助大家学习,赠书对象为当日阅读榜和分享榜前两名。想要参与赠书活动的朋友,请添加小助手微信FightngCV666**(备注“城市-方向-ID”),方便联系获得邮寄地址。文章来源地址https://www.toymoban.com/news/detail-458763.html

到了这里,关于超越所有MIM模型的BEiT v2来了!微软使用矢量量化视觉Tokenizers的掩码图像建模!的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 微软宣布 AI 聊天机器人必应聊天已向所有人开放,使用方法说明

    点击了解详细信息,网页会跳转到微软新必应的介绍页面,如下所示: 到这里大家就应该知道怎么操作了,点击“在Microsoft Edge中打开”按钮,就会跳转到打开的页面: 点击打开edge浏览器,就会跳转到本地安装的edge浏览器(当然,如果没有安装,就自行安装一下),跳转后

    2024年02月11日
    浏览(68)
  • 超越所有Anchor-free方法!PP-YOLOE-R:一种高效的目标检测网络

    点击下方 卡片 ,关注“ 自动驾驶之心 ”公众号 ADAS巨卷干货,即可获取 点击进入→ 自动驾驶之心【目标检测】技术交流群 后台回复 【PPYOLO】 获取论文、代码等更多资料! 超越所有Anchor-free方法!PP-YOLOE-R:一种高效的目标检测网络 PP-YOLOE-R是基于PP-YOLOE的高效anchor-free旋转

    2024年02月08日
    浏览(41)
  • 微软电脑管家V2.1公测版正式发布

    微软电脑管家2.1公测版于7月18日发布,从四个核心产品理念“贴近原生、简洁流畅、高效安全、纯净无打扰”出发,通过贴近原生,为用户带来更友好的界面设计,更贴近Windows 11的操作体验;主张简洁流畅,让用户使用一键体检,方便便捷,无惧卡顿;坚守高效安全,整合系

    2024年02月04日
    浏览(59)
  • 【大数据 AI】视觉ChatGPT来了,微软发布,代码已开源

      GitHub - microsoft/visual-chatgpt: VisualChatGPT Visual ChatGPT 将 ChatGPT 和一系列可视化基础模型连接起来,以支持在聊天过程中发送和接收图像。 近年来,大型语言模型(LLM)取得了令人难以置信的进展,尤其是去年 11 月 30 日,OpenAI 重磅推出的聊天对话模型 ChatGPT,短短三个月席卷社

    2024年02月03日
    浏览(53)
  • 微软正式宣布 Win10 死刑,Win11 LTSC要来了

    微软在 2015 年带来了 Windows 10,PC 操作系统也由此进入到一个新的篇章。 如此前每代新系统一样,Windows 10 发布之初,稳定性不足,BUG 众多。 全新的界面设计、交互逻辑以及操作习惯上的强行改变让其很长一段时间都不那么受 待见 。 直到经历大小版本优化完善,加之微软放

    2024年02月16日
    浏览(59)
  • 微软提出AIGC新“玩法”,图灵奖得主Yoshua Bengio也来了!

    在AIGC取得举世瞩目成就的背后,基于大模型、多模态的研究范式也在不断地推陈出新。微软研究院作为这一研究领域的佼佼者,与图灵奖得主、深度学习三巨头之一的Yoshua Bengio一起提出了AIGC新范式——Regeneration Learning。这一新范式究竟会带来哪些创新变革?本文作者将带来

    2023年04月09日
    浏览(38)
  • GPT4来了!微软云能否反超亚马逊夺冠,就靠它了

      文|光锥智能,作者|刘雨琦 “Azure(微软云)能否反超AWS(亚马逊云)夺冠,就靠ChatGPT了。” 今天凌晨,GPT4横空出世,支持图像输入和混合输入,多模态大模型的出现,将对算力产生更高的需求。 一场由ChatGPT引发的算力革命,即将给云计算排位赛带来新变局。 一方面

    2024年02月04日
    浏览(57)
  • 下一代Windows命名为Win 11?微软的下一步要来了

    这包括一个新的开始菜单,新的系统图标,文件资源管理器的改进,以及结束Windows 95时代的图标,圆角和对内置Windows应用程序的更新也在计划之中。 除了用户界面之外,Windows的重大变化似乎也在稳步进行中。微软似乎准备解决很多挥之不去的问题,计划对多个显示器上的应

    2024年04月12日
    浏览(52)
  • 微软开测“Moment4”启动包:Win11 23H2要来了

    近日, 有用户在Win11最新的7月累积更新中发现,更新文件中已经开始出现了对“Moment4”的引用。 具体来说,在7月累积更新中,微软加入了“Microsoft-Windows-UpdateTargeting-ClientOS-SV2Moment4-EKB”“Microsoft-Windows-23H2Enablement-Package”的启用包。 类似的情况曾经在Windows 10 Build 19045出现过

    2024年02月14日
    浏览(47)
  • 微软所有业务线梳理

    目录 一、Windows 二、Office 三、Surface 四、Xbox 五、Azure 六、Dynamics 七、LinkedIn

    2024年02月16日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包