什么是机器学习中的自监督学习?

人工智能 机器学习 比较 监督学习 自监督学习 表征学习
2021-11-03 19:14:58

什么是机器学习中的自监督学习?它与监督学习有何不同?

3个回答

介绍

自监督学习(SSL)一词已在不同的上下文和领域中使用(有时有所不同),例如表示学习 [ 1 ]、神经网络、机器人技术 [ 2 ]、自然语言处理和强化学习。在所有情况下,基本思想是自动生成某种监督信号来解决某些任务(通常是学习数据的表示或自动标记数据集)。

我将在三种情况下更具体地描述 SSL 的含义:表示学习、神经网络和机器人技术。

表征学习

术语自我监督学习已被广​​泛用于指代不使用人工注释数据集来学习数据的(视觉)表示的技术(即表示学习)。

例子

在[ 1 ]中,从未标记的图像中随机选择和裁剪两个补丁,目标是预测两个补丁的相对位置。当然,一旦您选择了两个补丁,我们就有了它们的相对位置(即我们可以跟踪它们的中心),因此,在这种情况下,这是自动生成的监控信号。这个想法是,为了解决这个任务(在文献 [3、4、5、6] 中称为借口或辅助任务神经网络需要学习图像特征然后可以使用这些学习到的表示来解决所谓的下游任务,即您感兴趣的任务(例如对象检测或语义分割)。

因此,您首先学习数据的表示(通过 SSL 预训练),然后您可以转移这些学习的表示来解决您真正想要解决的任务,您可以通过微调包含在标记(但较小的数据集)上学习表示,即您可以使用 SSL 进行迁移学习。

此示例类似于此其他答案中给出的示例。

神经网络

一些神经网络,例如,自动编码器(AE) [ 7] 有时被称为自我监督学习工具。事实上,您可以在没有人工手动标记的图像的情况下训练 AE。更具体地说,考虑一个去噪 AE,其目标是在给定噪声版本时重建原始图像。在训练期间,您实际上拥有原始图像,假设您有一个未损坏图像的数据集,并且您只是用一些噪声破坏了这些图像,因此您可以计算原始图像与噪声图像之间的某种距离,其中原始图像是监控信号。从这个意义上说,AEs 是自监督学习工具,但更常见的说法是 AEs 是无监督学习工具,因此 SSL 也被用来指代无监督学习技术。

机器人技术

在 [ 2 ] 中,通过查找和利用来自不同传感器模式的输入之间的关系或相关性(作者将这种技术称为 SSL),训练数据被自动但近似地标记。因此,与表示学习或自动编码器相反,在这种情况下,实际标记的数据集是自动生成的。

例子

考虑一个配备接近传感器(一种能够检测机器人前方短距离物体的短距离传感器)和一个摄像(它是远程传感器,但不提供直接方式的机器人)的机器人检测对象)。您还可以假设该机器人能够执行里程计。这种机器人的一个例子是Mighty Thymio

现在考虑在比接近传感器允许的范围更远的范围内检测机器人前方物体的任务。一般来说,我们可以训练一个 CNN 来实现这一点。然而,为了训练这样的 CNN,在监督学习中,我们首先需要一个标记数据集,其中包含标记的图像(或视频),其中的标签可以是“图像中的对象”或“图像中的没有对象”。在监督学习中,这个数据集需要由人工手动标记,这显然需要大量工作。

为了克服这个问题,我们可以使用自我监督学习方法。在这个例子中,基本思想是在一个时间步关联接近传感器的输出>相机在时间步的输出(比).

更具体地说,假设机器人最初位于坐标(X,)(在飞机上),在时间步长. 此时,我们仍然没有足够的信息来标记相机的输出(同时步)。现在假设,在时间, 机器人在位置(X,). 在时间步,接近传感器的输出将例如是“机器人前面的物体”或“机器人前面没有物体”。不失一般性,假设接近传感器的输出为>是“机器人前面没有物体”,然后是与相机输出相关的标签(一个图像帧)在时间将是“机器人面前没有物体”。

自监督学习是指将样本的某些部分用作需要高度理解才能解决的任务的标签。在举例之前,我将强调这两个关键点:

  • 标签是从样本中提取的,因此可以通过一些非常简单的算法(可能只是随机选择)自动生成。

  • 任务需要理解这意味着,为了预测输出,模型必须从数据中提取一些好的模式,在过程中生成一个好的表示。

半监督学习的一个非常常见的案例发生在自然语言处理中,当您需要解决一项任务但标记数据很少时。在这种情况下,您需要学习良好的表示或语言模型,因此您可以使用句子并为您的网络提供如下自我监督任务:

  • 让网络预测一个句子中的下一个单词(你知道是因为你把它拿走了)。

  • 屏蔽一个单词并让网络预测哪个单词会出现(你知道是因为你必须屏蔽它)。

  • 将单词更改为随机单词(这可能没有意义)并询问网络哪个单词是错误的。

正如您所看到的,这些任务的制定相当简单,并且标签是同一样本的一部分,但它们需要对要解决的上下文有一定的了解。

它总是这样:以某种方式改变你的数据,在这个过程中生成标签,然后向模型询问与该转换相关的事情。如果该任务需要对数据有足够的了解,那么您将获得成功。

自监督视觉识别通常应用于表示学习。在这里,我们首先学习未标记数据的特征(表示学习),然后学习从标记数据中提取的特征的真实模型。当我们有很多未标记的数据和很少的标记数据时,这尤其有意义。

这些特征可以通过解决所谓的借口任务来学习。借口任务的示例是预测抖动图像的旋转,识别同一图像的抖动实例,或预测图像块的空间关系。

在最近的这篇论文可以找到一个很好的概述和有趣的结果。