自监督学习:人工智能中的暗物质,来自Facebook AI Yann LeCun
作者:Yann LeCun,Ishan Misra
编译:ronghuaiyang
Yann LeCun和Ishan Misra对于自监督学习的现状的分析和展望。
近年来,人工智能领域在开发能够从大量精心标记的数据中学习的人工智能系统方面取得了巨大进展。这种监督学习的模式在训练专家模型时有着良好的记录,这些模型在训练任务中表现得非常好。不幸的是,人工智能领域仅靠监督学习的发展是有限的。
监督学习是构建更智能的多面手模型的瓶颈,这种模型可以在不需要大量标记数据的情况下完成多个任务并获得新技能。实际上,不可能给世界上所有的东西都贴上标签。还有一些任务根本没有足够的标记数据,比如为低资源语言训练翻译系统。如果人工智能系统能够收集到比训练数据集更深入、更细致的现实理解,它们将更有用,并最终让人工智能更接近人类的智能水平。
在婴儿时期,我们主要通过观察来了解世界是如何运转的。我们通过学习物体持久性和重力等概念来形成关于世界上物体的广义预测模型。在生活的后期,我们观察世界,采取行动,再观察,并建立假设来解释我们的行为如何通过试错改变我们的环境。
一个可行的假说是,关于世界的广义知识,或常识,构成了人类和动物的大部分生物智能。这种常识能力在人类和动物身上被认为是理所当然的,但自人工智能研究一开始就一直是一个公开的挑战。在某种程度上,常识是人工智能的暗物质。
常识帮助人们学习新技能,而不需要对每一项任务进行大量的教学。例如,如果我们给小孩子看几幅牛的画,他们最终就能认出任何他们看到的牛。相比之下,经过监督学习训练的人工智能系统需要很多牛的图像,而且在不寻常的情况下,比如躺在海滩上,可能仍然不能对牛进行分类。人类是如何在几乎没有监督的情况下,在大约20个小时的练习中学会驾驶汽车的,而完全自动驾驶仍然无法实现我们最好的人工智能系统,这些人工智能系统接受了来自人类驾驶员数千小时的数据训练。简而言之,人类依赖于他们先前获得的关于世界如何运转的背景知识。
我们如何让机器做同样的事情?
我们认为,自监督学习(SSL)是在人工智能系统中构建这种背景知识和近似常识形式的最有前途的方法之一。
自监督学习使人工智能系统能够从更大数量级的数据中学习,这对于识别和理解更微妙、更不常见的世界表示模式很重要。长期以来,自监督学习在推动自然语言处理(NLP)领域取得了巨大成功,包括Collobert-Weston 2008 model, Word2Vec, GloVE, fastText等。系统以这种方式进行预训练产生的性能要比仅以监督方式进行训练时高得多。
我们最新的研究项目SEER利用SwAV和其他方法对10亿张随机无标记图像进行预处理,从而在各种视觉任务中获得最高的精度。这一进展表明自监督学习可以在复杂的CV任务中胜出,在真实生活环境中也是一样。
今天,我们将分享为什么自监督学习可能有助于解开智能的暗物质 —— 以及人工智能的下一个前沿。我们还强调了我们认为在不确定性存在的情况下,基于能量的预测模型、联合嵌入方法和用于人工智能系统中自监督学习和推理的潜在变量架构的一些最有前途的新方向。
自监督学习是一种预测性学习
自监督学习从数据本身获得监督信号,通常利用数据中的底层结构。自监督学习的一般技术是预测任何未观察到的或隐藏的输入部分(或属性)从任何观察到的或未隐藏的输入部分。例如,正如自然语言处理中常见的那样,我们可以隐藏一个句子的一部分,并从剩余的单词中预测隐藏的单词。我们还可以预测视频中过去或未来的帧(隐藏数据)和当前的帧(观察数据)。由于自监督学习使用的是数据本身的结构,所以它可以跨同时发生的模式(例如,视频和音频)和跨大型数据集利用各种监督信号 —— 所有这些都不依赖于标签。
在自监督学习中,系统被训练从可见的输入部分(绿色)中预测出隐藏的输入部分(灰色)。
由于监督信号告知自监督学习,术语“自监督学习”比之前使用的术语“无监督学习”更被接受。无监督学习是一个定义不明确且具有误导性的术语,它表明学习完全不使用监督。事实上,自监督学习并不是没有监督,因为它比标准监督和强化学习方法使用更多的反馈信号。
语言与视觉的自监督学习
自监督学习对自然语言处理产生了特别深远的影响,它允许我们在大型未标记文本数据集上训练BERT、RoBERTa、XLM-R等模型,然后将这些模型用于下游任务。这些模型在自监督阶段进行预训练,然后针对特定任务进行微调,比如对文本的主题进行分类。在自监督的预训练阶段,向系统展示一段简短的文本(通常是1000个单词),其中一些单词被屏蔽或替换了。该系统被训练来预测被屏蔽或替换的单词。在这样做的过程中,系统学会了表示文本的意思,这样它就能很好地填写“正确”的单词,或者那些在上下文中有意义的单词。
预测输入中缺失的部分是SSL预训练中比较标准的任务之一。为了完成像“The (blank) chases the (blank) in the savanna”这样的句子,系统必须知道狮子或猎豹可以追赶羚羊或角马,但是猫可以在厨房里追赶老鼠,而不是稀树大草原。作为训练的结果,系统学习表示单词的意思,单词的句法角色,以及整个文本的意思。
然而,这些技术不能轻易地推广到新领域,比如CV。尽管早期的结果很有希望,但SSL还没有在计算机视觉方面带来我们在NLP中看到的同样的改进(尽管这将会改变)。
主要原因是,在预测图像时,表示图像的不确定性比描述文字要困难得多。当无法准确预测缺失的单词时(是“lion”还是“cheetah”?),系统可以将分数或概率与词汇表中所有可能的单词关联起来:“lion”、“cheetah”和一些其他捕食者得分高,词汇表中所有其他单词得分低。
这种规模的训练模型还需要一个模型架构,该架构在运行时和内存方面都是高效的,而不影响准确性。幸运的是,FAIR最近设计了一种新的模式称为RegNets,完美满足了这些需求。RegNet模型是能够扩展到数十亿甚至数万亿个参数的ConvNets,并且可以进行优化以适应不同的运行时和内存限制。
但是我们不知道如何有效地表示不确定性,当我们预测视频中缺失的帧或图像中缺失的补丁。我们不能列出所有可能的视频帧并将其与每个帧关联起来,因为它们的数量是无限的。虽然这个问题限制了SSL在视觉任务中的性能改进,但诸如SwAV等新技术SSL技术开始在视觉任务中打破精度记录。SEER系统最好地证明了这一点,该系统使用了一个由数十亿个样本训练的大型卷积网络。
预测中的不确定性建模
为了更好地理解这个挑战,我们首先需要理解预测的不确定性,以及它在NLP和CV中建模的方式。在自然语言处理中,预测缺失的单词包括为每个可能的单词计算预测得分。虽然词汇量本身很大,而且预测一个遗漏的单词包含一些不确定性,但我们还是有可能生成一个词汇中所有可能出现的单词的列表,并估算出这些单词在该位置出现的概率。典型的机器学习系统是这样做的:将预测问题视为分类问题,并使用一个巨大的所谓的softmax层计算每个结果的分数,该层将原始分数转换为单词的概率分布。使用这种技术,预测的不确定性用所有可能结果的概率分布来表示,前提是可能的结果的数量是有限的。
另一方面,在CV中,类似的预测视频中“缺失”的帧、图像中缺失的补丁或语音信号中缺失的片段的任务涉及到对高维连续对象的预测,而不是离散结果。有无限个可能的视频帧可以合理地跟随一个给定的视频剪辑。不可能显式地表示所有可能的视频帧并将预测分数与它们关联起来。事实上,我们可能永远不会有技术来表示高维连续空间上合适的概率分布,比如所有可能的视频帧的集合。
这似乎是一个棘手的问题。
对自监督方法的统一看法
有一种方法可以在基于能量的模型(EBM)的统一框架中考虑SSL。EBM是一个可训练的系统,给定两个输入,x和y,告诉我们它们彼此是多么不相同。例如,x可以是一个短视频剪辑,而y可以是另一个视频剪辑。机器会告诉我们y在多大程度上是x的良好延续。为了表示x和y之间的不相容性,机器产生一个单独的数字,称为能量。如果能量低,x和y被认为是相容的;如果是高的,则被认为是不相容的。
基于能量的模型(EBM)测量观测x和预测y之间的兼容性。如果x和y兼容,能量是一个小的数字,如果它们不相容,能量就会更大。
EBM训练包括两部分:(1)展示它的x和y的样本是相容的并训练它产生低能量,(2)找到一个方法来确保特定x, y值不相容,x产生能量高于y值相容的x。第一部分很简单,但是第二部分是困难所在。
对于图像识别,我们的模型将两幅图像x和y作为输入。如果x和y是同一幅图像的轻微扭曲版本,模型将被训练为输出低能量。例如,x可能是一辆车的照片,y是同一辆车从一个稍微不同的位置在一天中的不同时间拍摄的,那么,y相对于x是经过了平移,旋转,变大变小,颜色和阴影稍有不同的汽车。
联合嵌入,孪生网络
一个特别适合的深度学习体系结构是所谓的孪生网络或联合嵌入体系结构。这个想法可以追溯从Geoff Hinton的实验室和Yann LeCun组在1990年代早期的论文。长期以来,它相对被忽视,但自2019年末以来开始复苏。联合嵌入体系结构由同一个网络的两个完全相同(或几乎完全相同)的副本组成。一个网络输入x,另一个输入y。网络产生的输出向量称为嵌入向量,表示x和y。第三个模块在头部连接两个网络,计算两个嵌入向量之间的距离作为能量。当模型显示同一幅图像的扭曲版本时,网络的参数可以很容易地进行调整,使它们的输出更接近。这将确保网络将产生几乎相同的对象表示(或嵌入),而不管该对象的特定视图。
联合嵌入架构。
顶部的C函数产生一个标量能量表示向量之间的距离(嵌入)由两个孪生(w)网络共享同一参数。当x和y是略有不同的版本的相同的图像,系统训练产生一个低能量, 这迫使模型为两幅图像产生相似的嵌入向量。困难的部分是训练模型,使其对不同的图像产生高能量(即不同的嵌入)。
难点在于当x和y是不同的图像时,要保证网络产生高能,即不同的嵌入向量。如果没有特定的方法,这两个网络可以愉快地忽略它们的输入,总是产生相同的输出嵌入。这种现象被称为坍缩。当发生坍缩时,不匹配的x和y的能量并不比匹配的x和y的能量高。
有两类技术避免坍缩:对比方法和正则化方法。
基于能量的对比SSL
对比方法基于构造不兼容的x和y对的简单思想,并调整模型的参数,使相应的输出能量较大。
用对比的方法训练EBM ,包括同时降低训练集中相容(x,y)对的能量,用蓝点表示,提高选择好的不相容(x,y)对的能量,用绿点表示。在这个简单的例子中,x和y都是标量,但在实际情况中,x和y可以是数百万维数的图像或视频。想通过合适的方式构造能量的不相容的对是具有挑战性和昂贵的计算。
通过屏蔽或替换输入词来训练自然语言处理系统的方法属于对比方法的范畴。但他们不使用联合嵌入结构。相反,他们使用了一种预测架构,在这种架构中,模型直接产生对y的预测。一个人从一个完整的文本片段y开始,然后破坏它,例如,通过屏蔽一些单词产生观察x。将损坏输入喂给神经网络训练重现原文y。一个未坍缩的文本将重建本身(低重建误差),而一个损坏的文本将重建一个未坍缩的版本的本身(大的重建错误)。如果将重构错误解释为一种能量,它将具有所需的特性:“干净”文本的能量较低,“损坏”文本的能量较高。
训练模型来恢复输入的损坏版本的一般技术称为去噪自编码器。
一个masked语言模型,它是一个去噪的自动编码器的实例,本身是一个对比的自我监督学习的实例。变量y是一个文本段,X是文本的一个版本,其中一些单词被掩盖了。该网络被训练重建未损坏的文本。
正如我们前面指出的,这种类型的预测体系结构只能为给定的输入产生一个预测。由于该模型必须能够预测多种可能的结果,因此预测不是单一的单词集,而是针对每个缺失单词位置的词汇中的每个单词的一系列分数。
但是我们不能将此技巧用于图像,因为我们不能枚举所有可能的图像。这个问题有解决办法吗?回答是否定的。在这个方向上有一些有趣的想法,但是它们还没有产生像联合嵌入架构那样好的结果。一个有趣的途径是潜在变量预测架构。
潜在变量预测架构。给定一个观测值x,模型必须能够产生一组以图中s形表示的多种相容预测。由于潜在变量z在一组(用灰色方框表示)内变化,输出在一组可信预测中变化。
潜在变量预测模型包含一个额外的输入变量(z)。之所以称其为潜在变量是因为它的值从未被观察到。对于适当训练的模型,当潜在变量在给定集合上变化时,输出预测在与输入x相兼容的可信预测集合上变化。
潜在变量模型可以用对比的方法进行训练。生成对抗网络(GAN)就是一个很好的例子。判别器可以被看作是计算一个能量,该能量指示输入y是否看起来不错。对生成器网络进行训练,以产生对比样本,对这些样本进行训练,使判别器产生到高能量。
但是对比的方法有一个主要问题:训练效率非常低。在像图像这样的高维空间中,一幅图像与另一幅图像有很多不同之处。找到一组对比图像,涵盖它们与给定图像的所有不同之处,几乎是一项不可能完成的任务。套用列夫·托尔斯泰的《安娜·卡列尼娜》:“幸福的家庭都是相似的,不幸的家庭各有各的不幸。”这似乎适用于任何一种高维物体。
如果有可能确保不相容对的能量高于相容对的能量而不明确地推高许多不相容对的能量会怎样?
基于能量的非对比SSL
应用于联合嵌入架构的非对比性方法可能是目前视觉SSL中最热门的话题。这一领域仍大部分未被探索,但似乎很有前途。
非对比性的联合嵌入方法包括:DeeperCluster, ClusterFit, MoCo-v2, SwAV, SimSiam, Barlow Twins, BYOL,来自DeepMind以及其他一些公司。他们使用各种技巧,如计算虚拟目标嵌入相似的图像组(DeeperCluster, SwAV, SimSiam)或通过架构或参数向量(BYOL, MoCo)使两种联合嵌入架构略有不同。Barlow Twins试图最小化嵌入向量的单个组件之间的冗余。
也许从长远来看,一个更好的选择将是设计具有潜在变量预测模型的非对比性方法。主要的障碍是它们需要一种方法来最小化潜在变量的容量。潜在变量可以改变的集合的体积限制了低能量输出的体积。通过将体积最小化,能量就会以正确的方式自动形成。
一个成功的方法是变分Auto-Encoder,使潜变量“模糊化”,限制了潜变量的容量。但VAE尚未显示对下游视觉任务产生良好的表征。另一个成功的例子是稀疏的建模,但它的使用一直局限于简单的架构。似乎没有什么完美的方法可以限制潜在变量的能力。
未来几年的挑战可能是为基于潜在变量能量的模型设计非对比方法,成功地生成图像、视频、语音和其他信号的良好表示,并在不需要大量标记数据的情况下在下游监督任务中获得最佳表现。
英文原文:https://ai.facebook.com/blog/self-supervised-learning-the-dark-matter-of-intelligence/