当前位置:   article > 正文

无监督学习、自监督学习之间的区别和联系?以及为什么要在Vision Transformer自监督学习?

无监督学习、自监督学习之间的区别和联系?以及为什么要在Vision Transformer自监督学习?

无监督学习

无监督学习不依赖任何标签值,通过对数据内在特征的挖掘,找到样本间的关系,比如聚类相关的任务

自监督学习

自监督:在无标注数据上训练,通过一些方法让模型学习到数据的inner representation,例如加一个mlp作为分类器等,再接下游任务。但接了下游任务之后还是需要在特定的有标签数据上finetune,只是有时候可以选择把前面的层完全固定,只finetune后面接的网络的参数。

换句话说:自监督学习的监督信息不是人工标注的,而是是通过辅助任务(pretext)在大规模无监督数据中自动构造监督信息,通过得到的标签,就可以类似有监督学习一样进行训练。

1. 什么是自监督学习?

实际的场景里通常有海量的无监督数据,而有监督数据却很少。那么能否利用这些海量的无监督数据,用来改进监督学习任务的效果呢?

▲自监督学习(Self-supervised Learning)作为Unsupervised Learning的一个重要分支,给出了很好地解决方案。它的目标是更好地利用无监督数据,提升后续监督学习任务的效果

具体方法是 :

1.首先定义一个Pretext task (辅助任务),即从无监督的数据中,通过巧妙地设计自动构造出有监督(伪标签)数据,学习得到一个预训练模型。构造有监督(伪标签)数据的方法可以是:假装输入中的一部分不存在,然后基于其余的部分用模型预测缺失的这部分。如果学习的预训练模型能准确预测缺失部分的数据,说明它的表示学习能力很强,能够学习到输入中的高级语义信息、泛化能力比较强。而深度学习的精髓正在于强大的表示学习能力。

2.然后可以将预训练模型,通过简单的Finetune,应用到下游的多个应用场景,能比只使用监督数据训练的模型有更好的效果

通常来说有标签数据越少的场景,自监督学习能带来的提升越大。事实上,在一些论文的实验结果里,在大量无标签数据上自监督学习的模型,不需要finetune,能取得比使用标签数据学得的监督模型更好的效果……对于有大量标签数据的场景,自监督学习也能进一步提升模型的泛化能力和效果。

▲在自监督学习中,最重要的问题是:如何定义Pretext task、如何从Pretext task学习预训练模型?

区别

  1. 自监督学习是从数据本身找标签来进行有监督学习(自监督不需要额外提供label,只需要从数据本身进行构造)。无监督学习没有标拟合标签的过程,而是从数据分布的角度来构造损失函数。
  2. 自监督学习的代表是语言模型,无监督的代表是聚类。
  3. 总的来说,在无监督学习中,没有给出标签信息。而在自监督学习中,需要通过先前的服从特定规律的信息,将无标签数据转换成带标签数据以达到提高模型性能的目的。

自监督学习和无监督学习的区别_木禾DING的博客-CSDN博客_自监督和无监督的区别


为什么要在 Vision Transformers 中进行自我监督学习?

虽然 Vision Transformers 可以取得比其他传统架构更好的结果,但它们的成功取决于对数据的相当大的需求。因此,以受监督的方式训练这些模型需要大量的标记工作,这并不总是可行或可持续的。因此,实现 Vision Transformers 的自监督方法可能是使这些模型不仅强大而且更容易应用于更广泛问题的一种可能方法。

SiT: Self-supervised vIsion Transformer

自我监督的视觉Transformer(https://arxiv.org/abs/2104.03602)

鉴于以自监督方式训练模型的无可置疑的优势,提出的一种可能方法是自监督视觉Transformer (SiT)。这种方法的基本假设是,通过基于整个视野的上下文从未损坏的部分恢复图像的损坏部分,网络将隐含地学习视觉完整性的概念。

在这种方法中,

1. 输入图像会根据可用的策略之一进行破坏:随机丢弃、随机替换、颜色失真等。

2. 然后将图像分成 patch 并通过经典的 Vision Transformer 机制以及两个额外的标记,用于旋转预测的旋转标记和用于对比学习的对比标记。 ​​​​​

Fig. 1: Self-supervised vIsion Transformer (SiT)

  3. 然后将来自Transformer encoder的结果表示转换回补丁并重新组合以获得重建的图像。该模型应尝试减少重建图像和原始图像之间的差异。使用这种方法训练的网络的权重可以用作另一个任务的起点,例如图像分类、对象检测、分割等。

DINO:Emerging Properties in Self-Supervised Vision Transformers

Emerging Properties in Self-Supervised Vision Transformers | Papers With Code

取得最惊人结果的方法之一当然是 DINO [2],它通过一系列数据增强和使用知识蒸馏技术,已经能够以惊人的方式进行图像分割!

原始视频(左)、监督模型获得的分割(中)与 DINO 生成的分割(右)之间的比较。图片来自 Facebook AI(https://ai.facebook.com/blog/dino-paws-computer-vision-with-self-supervised-transformers-and-10x-more-efficient-training/)。

这是目前最有前途的方法之一,能够突出视觉Transformer和自我监督的结合所提供的可能性。

EsViT:Efficient Self-supervised Vision Transformers for Representation Learning

Efficient Self-supervised Vision Transformers for Representation Learning | Papers With Code

DINO 最近被用作一种新的、更先进的视觉Transformer的基础,称为高效自监督视觉Transformer (EsViT) [8]。EsViT 还利用固定教师网络和不断更新的学生网络来利用知识蒸馏,以尽量减少损失函数。在这种情况下,一个有趣的特点是它采用了多级Transformer而不是单片Transformer,并利用稀疏Attention来减少计算。整个模型的损失函数由两个不同的损失(区域损失和视图损失)的组合给出。

 

EsViT 全局和本地令牌可视化。作者基于 Efficient Self-supervised Vision Transformers for Representation Learning 提供的图片(https://arxiv.org/abs/2106.09785)给定输入图像,确实使用不同的数据增强技术生成了一组不同的视图。这些结果视图被配对以获得一组对。然后每一对都被转换成令牌并用于组成损失的第一个组成部分,即视图损失。

作者强调:“在 DINO 中,损失函数仅在粗略级别鼓励“局部到全局”对应:大裁剪和小裁剪在视图级别匹配,未指定区域到区域的对应关系”[8 ]。当移动到区域级别时,可以看到 EsViT 解决这个问题的一个重要特性。事实上,所考虑的图像对的两个图像都被分成块,然后由一种特殊的密集自监督学习方法加以利用,该方法直接在局部特征的级别上工作,同时考虑到它们的对应关系。

从Attention图可以看出 DINO 倾向于自动学习特定于类的Attention图导致前景对象分割,无论其查询位于前景还是背景,而 EsViT 的各个负责人学习的Attention图更加多样化。

来自 DINO(左)和 EsViT(右)的不同头部的Attention图。作者基于 Efficient Self-supervised Vision Transformers for Representation Learning 提供的图片(https://arxiv.org/abs/2106.09785)

这种不同的方法使 EsViT 在 ImageNet 上取得了非常好的结果,并使用了更轻、更高效的模型!

结论

人类产生的数据量是惊人的,而且是前所未有的。试想,仅在过去的两年里,世界上 90% 的数据都是生成的!

这些数据实际上是机器学习的黄金,是任何模型的燃料,它的丰富性可以为我们今天甚至无法想象的无数应用打开大门。然而,相信这些模型可以以受监督的方式进行训练是不可想象的,因为这需要费力且不可持续的手动标记。

因此,无监督,尤其是自监督的方法将在该领域变得越来越重要和重要,并且与 Vision Transformers 等新架构相结合,它们将成为机器学习未来的主要参与者。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/喵喵爱编程/article/detail/1009385
推荐阅读
相关标签
  

闽ICP备14008679号