新智元报道
来源:Facebook AI
编辑:LQ
【新智元导读】Facebook AI发布了一篇Yann LeCun和研究科学家Ishan Misra合写的文章:《自监督学习:智能的暗物质》,文章把「常识」描述为人工智能的「暗物质」,还介绍了:自监督学习是最有希望赋予AI类常识的途径。
从婴儿时期的「物体恒存」开始,我们知道跟我们玩躲猫猫的大人其实并没有消失,他们就藏在某个地方,只是被某个东西挡住了。
「你是想告诉我,咱们玩躲猫猫的时候其实你哪也没去?」
我们也知道因为「地心引力」,苹果只会从上往下落而不会从下往上升。
在习得了无数类似的概念后,我们形成了对这个世界的广义预测模型,在随后的成长和阅历中,通过不断尝试并观察这些概念的应用效果,我们不断建立假设,解释我们的行为如何改变这个世界。这就构成了我们的常识。
常识是构成人类和动物智能的主体。
有了常识,人类可以快速学习很多新的东西:几张奶牛的图片就可以让小孩子认识「奶牛」这种动物;有了常识,有的人可以在20个小时内学会开车。
但是,人工智能却做不到,学习了几张奶牛的图片后,把奶牛换个地方,它可能就认不出了;把人类几千个小时的学车数据输到最好的AI系统里,它仍然不能实现完全自主驾驶。
因为它没有常识。
常识是人工智能的暗物质。
LeCun在最新的一篇文章里这样描述。
近年来,人工智能取得了巨大的进步,人工智能系统可以从大量精心标记的数据中学习。
这种「监督学习」在训练专门的模型方面性能极好,在它们训练的任务上往往性能表现极高。
但是,只靠监督学习,人工智能是走不远的。
由目前的监督学习再往前发展遇到了瓶颈,如何在标记数据不充分的情况下学习新技能,还能完成多项任务?
现实世界中,我们又不可能标记所有的东西,而且有些任务标记数据不充分,比如训练资源匮乏的语言翻译系统。
如果人工智能能够在训练数据集之外获得对现实世界更加细致深入的理解,那它将会更接近人类智能水平。
然而,对于人类理所当然的常识,对人工智能来说却一直是一大挑战。
那么如何让人工智能获得「类常识」呢?
LeCun和Ishan Misra在这篇文章中表示,自监督学习(SSL)是最有可能让人工智能获得背景知识和类常识的方法之一。
Facebook研究科学家Ishan Misra
自监督学习
自监督学习使人工智能系统能够从海量数据中学习,这对于识别和理解更微妙、更少见的世界表征模式非常重要。
自监督学习在推进NLP方面一直都很成功,包括 Collobert-Weston 2008模型、 Word2Vec、 GloVE、 fastText,以及最近的BERT、RoBERTa、XLM-R 等。以这种方式预先训练的系统比单独以监督的方式训练的系统性能更高。
Facebook最新的研究项目SEER利用SwAV和其他方法对10亿个随机未标记图像进行大型网络预训练,在多种视觉任务中都获得了最高精度。
这一进展表明,自监督学习可以胜任复杂的CV任务,以及现实世界场景。
研究人员通过Instagram的公开的10亿张图片进行模型训练
这篇文章还将重点介绍在不确定性存在的情况下用于预测的基于能量的模型、联合嵌入方法以及用于人工智能系统中自监督学习和推理的延迟可变架构等一些最前途的新方向。
自监督学习是一种预测学习
自监督学习从数据本身获得监督信号,通常利用数据中的底层结构。自监督学习的一般技术是从任何观察到的或未隐藏的输入部分预测任何未观察到的或隐藏的输入部分(或特性)。
例如,正如在 NLP 中常见的那样,我们可以隐藏句子的一部分,并从剩余的单词中预测隐藏的单词。我们也可以从当前帧(观测数据)中预测视频中过去或未来的帧(隐藏数据)。
由于自监督学习利用数据本身的结构,它可以利用各种监督信号跨越共同发生的模式(如视频和音频)和跨越大型数据集ーー所有这些都不依赖于标签。
在自监督学习中,系统被训练为从可见的输入部分(绿色)预测隐藏的输入部分(灰色)
作为SSL监督信号的结果,「自监督学习」这个术语比以前的术语「无监督学习」更能被人们接受。
无监督学习是一个定义不清且具有误导性的术语,它指的是学习根本不需要任何监督。
事实上,自监督学习并不是无监督的,因为它使用的反馈信号远远多于标准的有监督学习和强化学习的方法。
面向语言与视觉的自监督学习
自监督学习对 NLP 有着特别深远的影响,允许我们在大型的未标记文本数据集上训练BERT、 RoBERTa、 XLM-R等模型,然后将这些模型用于下游任务。
这些模型在自我监督阶段进行预训练,然后针对特定任务进行微调,例如对文本的主题进行分类。在自我监督的预训练阶段,系统显示一个简短的文本(通常是1000个单词) ,其中一些单词被屏蔽或替换。
这个系统被训练来预测被屏蔽或替换的单词。在这样做的过程中,系统学会了表达文本的意思,这样它就可以很好地填写「正确的」或在上下文中有意义的词语。
预测输入中缺少的部分是 SSL 预训练的一个较为标准的任务。要完成「( )在热带草原上追逐( )」这样的句子,系统必须知道狮子或猎豹可以追逐羚羊或角马,但猫在「厨房」追逐老鼠,而不是在「热带草原」。
作为训练的结果,系统学会了表达单词的意义,单词的句法角色,以及整个文本的意义。
然而,这些技术不能轻易地扩展到新的领域,比如 CV. 尽管早期的结果很有希望,SSL在计算机视觉方面还没有带来我们在 NLP 中看到的同样的改进(尽管最终这将会改变)。
其主要原因是,在预测图像时要比预测文字时更难以表示不确定性。当缺失的单词无法被准确预测(是「狮子」还是「猎豹」?)系统可以将词汇表中所有可能的单词与分数或概率联系起来: 「狮子」、「猎豹」和其他一些捕食者的得分最高,而词汇表中其他单词的得分都很低。
这种规模的培训模型还需要一个在运行时间和内存方面都很有效的模型架构,不会在精确性上有所妥协。
幸运的是,FAIR最近在架构设计领域的一项创新带来了一个称为 RegNets 的新模型家族,它完全符合这些需求。
RegNet 模型能够扩展到数十亿甚至数万亿个参数,可以进行优化适应不同的运行时间和内存限制。
但是我们不知道如何有效地表示不确定性,当我们预测视频中丢失的帧或者图像中丢失的补丁时。我们不能列出所有可能的视频帧,并将其中的每一帧关联一个分数,因为它们的数量是无限的。
虽然这个问题限制了 SSL 在视觉方面的性能改进,但是新的 SSL 技术,例如 SwAV,正开始在视觉任务中打破精确记录。
这在 SEER 系统中得到了最好的证明,该系统使用一个经过数十亿例子训练的大型卷积网络。
对预测中的不确定性建模
为了更好地理解这一挑战,我们首先需要理解预测的不确定性,以及与CV相比,它是如何用自然语言处理建模的。在 NLP 中,预测丢失的单词包括计算词汇表中每个可能的单词的预测得分。
虽然词汇量本身很大,预测一个缺失的单词涉及到一些不确定性,但是可以生成一个词汇表中所有可能的单词的列表,以及该单词在该位置出现的概率估计。
典型的机器学习系统可以将预测作为一个分类问题来处理,并使用一个巨大的所谓 softmax 层来计算每个结果的得分,这一层将原始得分转换为一个可能词的概率分布。
使用这种技术,预测的不确定性表现为对所有可能结果的概率分布,前提是可能结果的数量是有限的。
另一方面,在 CV 中,类似的任务是预测视频中的「缺失」帧、图像中的缺失补丁或语音信号中的缺失片段,这涉及到对高维连续物体的预测,而不是离散的结果。有无数可能的视频帧可以合理地跟随给定的视频剪辑。
不可能显式地表示所有可能的视频帧并将预测分数与它们关联起来。事实上,我们可能永远没有技术来表示高维连续空间上合适的概率分布,例如所有可能的视频帧的集合。
这似乎是一个棘手的问题。
自监督方法的统一观点
有一种方法是可以在基于能量的模型(EBM)的统一框架内考虑 SSL。EBM是一个可训练的系统,给定两个输入,x 和 y,告诉我们它们之间是多么不兼容。
例如,x 可以是一个短视频片段,y 可以是另一个视频片段。机器会告诉我们 y 在多大程度上是 x 的好延续,为了表示 x 和 y 之间的不兼容性,机器产生一个单一的数字,称为能量。如果能量低,则认为 x 和 y 是相容的; 如果能量高,则认为它们是不相容的。
基于能量的模型(EBM)测量观测值 x 和预测值 y 之间的相容性。如果 x 和 y 是相容的,那么能量就是一个小数; 如果 x 和 y 是不相容的,那么能量就是一个大数
训练一个能量模型包括两个部分: (1)向它展示兼容的 x 和 y 的例子,并训练它产生较低的能量,(2)找到一种方法,以确保对于一个特定的 x,与 x 不兼容的 y 值产生比与 x 兼容的 y 值更高的能量。第一部分是简单的,难的是第二部分。
对于图像识别,我们的模型采用两幅图像,x 和 y 作为输入。如果 x 和 y 是同一图像的轻微变形版本,则模型被训练为在其输出上产生低能量。
例如,x 可以是一张汽车的照片,y 可以是同一辆汽车的照片,这张照片是在一天中不同的时间从一个稍微不同的位置拍摄的,因此 y 中的汽车是移动的,旋转的,大的,小的,并且显示出与 x 中的汽车稍微不同的颜色和阴影。
联合嵌入,孪生神经网络
一个特别适合这样做的深度学习架构是所谓的孪生神经网络或联合嵌入架构。这个想法可以追溯到20世纪90年代早期和21世纪中期Geoff Hinton实验室和Yann LeCun团队的论文。
在相当长的一段时间里,它都被忽视,但自2019年底以来,它迎来了复兴。联合嵌入体系结构由同一网络的两个相同(或几乎相同)副本组成。一个网络输入 x,另一个网络输入y。
网络产生称为嵌入的输出向量,代表 x 和 y。第三个模块,在头部连接网络,计算一个能量作为两个嵌入向量之间的距离。当模型显示同一图像的变形版本时,网络的参数可以很容易地调整,使得它们的输出更加接近。
这将确保网络将产生几乎相同的表示(或嵌入)的对象,无论该对象的特定视图是什么。
联合嵌入结构。位于顶部的函数 c 产生一个标量能量,用于测量由具有相同参数的两个同卵双生网络产生的表示向量(嵌入)之间的距离(w)。当 x 和 y 是同一图像的不同版本时,系统被训练为产生低能量,这迫使模型为两幅图像产生相似的嵌入向量。困难的部分是训练模型,以便为不同的图像产生高能量(即不同的嵌入)。
难点在于当 x 和 y 是不同的图像时,确保网络产生高能量,即不同的嵌入向量。如果没有特定的方法,这两个网络会忽略它们的输入,且总是产生相同的输出嵌入。
这种现象被称为坍缩。当坍缩发生时,不匹配的 x 和 y 的能量并不比匹配的 x 和 y 的能量高。
有两类技术可以避免坍缩: 对比方法和正则化方法。
基于能量的对比 SSL
对比方法的基本思想是构造不相容的 x 和 y 对,并调整模型的参数使得相应的输出能量较大。
用对比方法训练能量模型,包括同时从训练集中压缩兼容(x,y)对的能量(用蓝点表示) ,同时压缩以绿点表示的精心选择的(x,y)对的能量(用绿点表示)。在这个简单的例子中,x 和 y 都是标量,但在实际情况中,x 和 y 可能是一个具有数百万维度的图像或视频。找出不相容的x-y对,从而以适当的方式塑造能量,从计算上讲是具有挑战且昂贵的。
通过遮盖或替换某些输入词来训练 NLP 系统的方法属于对比法的范畴。但是它们没有采用联合嵌入结构。
相反,它们使用一种预测结构,在这种结构中,模型直接为 y 生成预测。一开始是一段完整的文本 y,然后破坏它,例如通过遮盖一些词来生成观察 x。
破坏的输入会被输入到一个大型神经网络中进行训练,来重现原始文本 y。将一个没有破坏的文本,重建为自身,这时为低重建错误;而将一个破坏的文本重建,这时或得到一个较大的重建错误。
如果将重建错误解释为能量,它将具有所期望的特性: 正常的文本,能量较低;被破坏的文本,能量较高。
训练一个模型,对一个被损坏的输入进行恢复,这项技术被称为去噪自动编码器。
虽然这个想法最早可以追溯到20世纪80年代,但2008年蒙特利尔大学Pascal Vincent等人重新提出这个模型,随后由Collobert 和 Weston把它引入到 NLP 当中,后通过谷歌发表的 BERT 论文流行起来。
掩码语言模型是去噪自动编码器的一个实例,本身就是对比自监督学习的一个实例。变量 y 是一个文本片段; x 是文本中某些单词被屏蔽的版本。网络经过训练可以重构未被破坏的文本
正如我们前面指出的,这种类型的预测架构只能对给定的输入产生单个预测。因为模型必须能够预测多种可能的结果,所以预测不是一组单词,而是一系列词汇表中每个缺失单词位置的得分。
但是我们不能对图像使用这个技巧,因为我们不能列举所有可能的图像。这个问题有解决办法吗?简短的回答是否定的。
在这个方向上有很多有趣的想法,但是他们还没有产生和联合嵌入结构一样好的结果。一个有趣的途径是潜变量预测架构。
一种潜变量预测结构。给定一个观测值 x,该模型必须能够产生一组由图中 s 形带状符号的多重兼容预测。由于潜变量 z 在一个集合中变化,由一个灰色正方形表示,输出随着一组合理的预测而变化
隐变量预测模型包含一个额外的输入变量(z)。它被称为latent,因为它的值从来没有被观察到。
在一个训练好的模型中,当隐变量在给定集合中变化时,输出预测会随着与输入 x 相容的合理预测集合的变化而变化。
但是对比方法有一个主要的问题: 训练它们效率很低。在像图像这样的高维空间中,有许多方式可以使一个图像与另一个图像不同。
找到一组能够涵盖它们与给定图像的所有不同方面的对比图像几乎是不可能的任务。
套用列夫 · 托尔斯泰的《安娜 · 卡列尼娜》的一句名言: 「幸福的家庭都是相似的,不幸的家庭各有各的不幸。」这似乎适用于任何一类高维物体。
如果可以确保不相容对的能量高于相容对的能量,而不明确地增加许多不相容对的能量,那会怎样?
基于能量的非对比 SSL
应用于联合嵌入体系结构的非对比方法可能是目前 SSL 领域最热门的研究课题。这个领域还有很多没有被探索,但是看起来很有前途。
联合嵌入的非对比方法包括 DeeperCluster、 ClusterFit、 MoCo-v2、 SwAV、 SimSiam、 Barlow Twins、 DeepMind 的 BYOL 等。
他们使用了各种技巧,比如为一组相似的图像计算虚拟目标嵌入(DeeperCluster、 SwAV、 simsim) ,或者通过架构或参数向量(BYOL、 MoCo)使两个联合嵌入架构略有不同。Barlow Twins 试图使嵌入向量的各个分量之间的冗余最小化。
从长远来看,或许一个更好的选择是设计出带有隐变量预测模型的非对比方法。主要的障碍是,他们需要一种方法,以尽量减少潜在变量的能力。
隐变量可以改变的集合的体积限制了低能量输出的体积。通过最小化这个体积,人们自动地以正确的方式形成能量。
这种方法的一个成功例子是变分自动编码器(VAE) ,其中隐变量被「模糊」,这限制了它的能力。但是 VAE 还没有被证明能够对下游的视觉任务产生良好的表示。
另一个成功的例子是稀疏建模,但它的应用仅限于简单的体系结构。似乎没有一个完美的方法可以限制隐变量的容量。
未来几年的挑战可能是为基于能量的隐变量模型设计非对比方法,成功地生成图像、视频、语音和其他信号的良好表现,并在下游监控任务中产生最佳表现,而不需要大量的标记数据。
推进视觉自监督学习
最近,我们创建并开源了一个新的十亿参数的自我监督 CV 模型 SEER,已被证明能够有效地处理复杂的高维图像数据。
它基于适用于卷积网络体系结构(ConvNet)的 SwAV 方法,可以从大量的随机图像中训练而不需要任何元数据或注释。ConvNet 足够大,可以从这些庞大而复杂的数据中捕获并学习每一个可视化概念。
在对10亿张随机的、未标记的和未策划的公共 Instagram 图片进行预训练,并监督对ImageNet进行微调之后,SEER 的表现超过了最先进的、最先进的自我监督系统,在ImageNet上最高准确率达到了84.2% .
这些结果表明,我们可以将自监督学习范式迁移到计算机视觉当中。
在 Facebook 上使用自监督学习
在 Facebook,我们不仅通过基础的、开放的科学研究,在许多领域推进自监督学习技术,而且我们还将这项前沿工作应用于生产,以快速提高我们产品中内容理解系统的准确性,保证人们在我们的平台上的安全。
自监督研究,就像我们预训练的语言模型 XLM 一样,正在加速今天 Facebook 上的一些重要应用,包括主动侦测仇恨言论。
我们已经部署了 XLM-R,这个模型利用了我们的 RoBERTa 架构,来改进我们在 Facebook 和 Instagram 上的多语言仇恨言论分类器。这将能够检测仇恨言论,即使在培训数据很少的语言中也是如此。
近年来自监督的进步让我们深受鼓舞,尽管这种方法帮助我们揭开人工智能的暗物质的面纱还有很长的路要走。自监督是通往人类智力水平的道路上的一个步骤,但是在这个步骤背后肯定还有许多步骤。长期的进展将是累积的。
这就是为什么我们致力于与更广泛的人工智能社区合作,以实现我们的目标,有朝一日,建造具有人类智能水平的机器。我们的研究已经公开发表在顶级会议上。我们组织了研讨会,发布了库,以帮助加速这一领域的研究。
参考资料:
https://ai.facebook.com/blog/self-supervised-learning-the-dark-matter-of-intelligence