EBET易博Self-Supervised Learning 超详细解读 (七):大规模预训练 Image BERT 模型:iBOT

  新闻资讯     |      2023-10-01 22:19

  本系列已授权极市平台,未经允许不得二次转载,如有需要请私信作者,文章持续更新。

  前段时间,何恺明等人的一篇论文成为了计算机视觉圈的焦点。这篇论文仅用简单的 idea(即掩蔽自编码器,MAE)就达到了非常理想的性能,让人们看到了 Transformer 扩展到 CV 大模型的光明前景,给该领域的研究者带来了很大的鼓舞:

  在字节提出的一篇最新的论文 iBOT 中,他们EBET易博app提出了适用于视觉任务的大规模预训练方法,通过对图像使用在线 tokenizer 进行 BERT 式预训练让 CV 模型获得通用广泛的特征表达能力。该方法在十几类任务和数据集上刷新了 SOTA 结果,在一些指标上甚至超过了 MAE。

  在预训练阶段我们使用无标签的数据集 (unlabeled data),因为有标签的数据集很贵,打标签得要多少人工劳力去标注,那成本是相当高的,太贵。相反,无标签的数据集网上随便到处爬,它便宜。在训练模型参数的时候,我们不追求把这个参数用带标签数据从初始化的一张白纸给一步训练到位,原因就是数据集太贵。于是Self-Supervised Learning就想先把参数从一张白纸训练到初步成型,再从初步成型训练到完全成型。注意这是2个阶段。这个训练到初步成型的东西,我们把它叫做Visual Representation。预训练模型的时候,就是模型参数从一张白纸到初步成型的这个过程,还是用无标签数据集。等我把模型参数训练个八九不离十,这时候再根据你下游任务 (Downstream Tasks)的不同去用带标签的数据集把参数训练到完全成型,那这时用的数据集量就不用太多了,因为参数经过了第1阶段就已经训练得差不多了。

  第一个阶段不涉及任何下游任务,就是拿着一堆无标签的数据去预训练,没有特定的任务,这个话用官方语言表达叫做:in a task-agnostic way。第二个阶段涉及下游任务,就是拿着一堆带标签的数据去在下游任务上 Fine-tune,这个话用官方语言表达叫做:in a task-specific way。

  以上这些话就是 Self-Supervised Learning 的核心思想,如下图1所示,后面还会再次提到它。

  其中的主流就是基于 Generative 的方法和基于 Contrative 的方法。如下图 3 所示这里简单介绍下。基于 Generative 的方法主要关注的重建误差,比如对于 NLP 任务而言,一个句子中间盖住一个 token,让模型去预测,令得到的预测结果与真实的 token 之间的误差作为损失。基于 Contrastive 的方法不要求模型能够重建原始输入,而是希望模型能够在特征空间上对不同的输入进行分辨。

  在 NLP 的大规模模型训练中,MLM (Masked Language Modeling)是非常核心的训练目标,其思想是遮住文本的一部分并通过模型去预测这些遮住部分的语义信息,通过这一过程可以使模型学到泛化的特征。NLP 中的经典方法 BERT 就是采用了 MLM 的预训练范式,通过 MLM 训练的模型已经被证明在大模型和大数据上具备极好的泛化能力,成为 NLP 任务的标配。

  但是,图片不像是文本,文本中自然蕴含有语言的语义信息,NLP 中 tokenization 通过离线的词频分析即可将语料编码为含高语义的分词。但是图片不一样,图片的信息比较连续,图像 patch 是连续分布的且存在大量冗余的底层细节信息,而图像 patch token 的语义信息丰富。所以图像 patch 的 visual semantic 信息不那么容易被提取。这个属性直观地带来了一个多阶段的训练策略,即:在训练目标模型之前,我们需要首先训练一个 off-the-shelf 的 tokenizer,它能够把 image 转换成语义丰富的 tokens。BEiT 中使用的是一个 Pre-trained discrete VAE 作为 tokenizer。虽然提供了一定程度的抽象,但discrete VAE 仍然只能在局部细节中捕获低级语义。

  教师和学生网络的架构一致,但参数不同。学生网络参数\theta是教师网络参数\theta^\prime的 Model EMA。

  在 iBOT 中,作者认为一个能够提取图像 patch 中高层语义的 tokenizer 可帮助模型避免学习到冗余的这些细节信息。作者认为视觉的 tokenizer 应该具备两个属性:(a)具备完整表征连续图像内容的能力;(b) 像 NLP 中的 tokenizer 一样具备高层语义。作者首先将经过 mask 过的图片序列输入 Transformer 之后进行预测的过程建模为知识蒸馏的过程,从 tokenizer 中获得知识。

  3. 希望 mask 版本经过学生网络之后可以得到重建,即最小化下式3:

  作者发现,通过使用在线 tokenizer 监督 MIM 过程,即 tokenizer 和目标网络同步学习,能够较好地保证语义的同时并将图像内容转化为连续的特征分布。具体地,tokenizer 和目标网络共享网络结构,在线即指 tokenizer 其参数从目标网络的历史参数中滑动平均得出。

  我们看到图5中一共有4个损失,为了帮助读者更好地理解图5的过程,我们把 iBOT 和 MAE 做个简单对比,如下图6所示:

  1,2:是 patch 标签上的自蒸馏。就是让目标网络的2个输出 tokens 和教师网络的2个输出 tokens 分别越接近越好。

  3,4:是在 [CLS] 标签上的自蒸馏保证了在线 tokenizer 学习到高语义特征。注意是不同的增强版本交叉进行。

  同时作者也进一步探究了 MIM 训练目标所带来的特性,以帮助分析 iBOT 在全局图像任务及密集图像任务出色表现的原因。为了帮助理解 MIM 想要学习的模式,我们将几种模式布局可视化。作者根据 ImageNet 验证集中所有图片 patch 的概率分布,可视化了部分类别中心所代表的模式。作者在大量的可视化结果中发现 iBOT 针对局部语义有非常好的可视化结果,如下图11所示是 Patch 的 tokens 学习到的模式的可视化。上面2张图展示的模式是汽车的灯和狗的耳朵,展现了不同局部类别语义;下面2张图展示的模式是条纹和曲面展现了不同局部纹理语义。