作者 | 彩娴、青暮、宝尚
编辑 | 大鑫
2016年,图灵奖得主Yann LeCun 表示,未来几年的挑战是让机器学会从原始的、没有标签的数据中学习知识,即无监督学习。Yann LeCun提出,无监督学习是人工智能的下一站。
2020年,图灵奖得主Geoffrey E. Hinton指出,人类无法完全依赖有监督学习的方法完成所有神经元训练,而需要更多来自于无监督学习的帮助。
目前无监督学习技术备受关注,无监督表达学习技术在自然语言处理领域进展神速,OpenAI 近期发布的包含1700亿参数的GPT-3预训练模型吸引了全世界的目光;无监督图嵌入表达技术在图学习领域取得了不俗的成果;自监督学习技术在视觉领域近期也有较大的突破,Geoffrey E. Hinton 等谷歌研究者的最新研究一次就把无监督学习的指标提升了 7-10%,甚至可以媲美有监督学习的效果。
但我们同时也看到,对GPT-3的质疑声一直不断,无监督学习技术在更多的领域尚待突破。
2020年8月22日,中国计算机学会青年计算机科技论坛深圳分论坛主办大湾区IT创新论坛“无监督学习,如何成为人工智能的下一站?”。
本次论坛吸引了超过1千人通过线下会场、腾讯会议及B站全程参与,包括涉及表达学习、自然语言处理、计算机视觉分析、数据挖掘、金融大数据处理等众多相关领域的青年学者、相关行业从业者及在读学生,共同思辨无监督学习技术如何真的能成为人工智能的下一站。
在论坛的思辨环节,大家充分交流了自己对无监督学习当前发展及未来趋势的看法,并围绕三个议题展开了精彩的讨论。这三个议题分别对应于无监督的益处、多模态场景和鲁棒性。
以下是邀请嘉宾及参与者的相关论点,AI科技评论进行了不改变原意的整理。
除了图像与视频的识别、检测与分割,其实视觉领域还有许多子任务,比方说:底层任务有图像的修复,中层任务有检测图像深度的估计,更上一层的任务包括图像里物体之间的关系预测,以及从图像到语句的生成或者视觉问答等等。
各种各样的视觉任务都非常依赖于视觉特征的表达。自深度学习崛起后,由于在下游的任务中不可能搜集关于该任务的各种特定的数据进行训练,所以视觉特征的表达越来越依赖于预训练的模型。
预训练模型指的是一个已训练好的、保存下来的网络,该网络通常已在一些大型数据集上进行了训练。目前一些比较著名的预训练模型包括:计算机视觉领域的VGG16、Mask R-CNN和自然语言处理领域的BERT、GPT-3等等。
在视觉的预训练模型上,2009年出现了一个大规模数据集——ImageNet,所以大家普遍使用在ImageNet上的预训练模型,然后再在其他子任务上进行训练。
但是,通过ImageNet进行预训练的模型存在一些缺陷:1)预训练依赖ImageNet,但ImageNet的数据量毕竟是有限的;2)ImageNet的标签是人工设计的,因此可能存在着一些数据的偏差;3)关于下游任务(即前面提到的各种各样的视觉任务),不同的下游任务有不同的特性,那么在ImageNet上预训练的模型在处理不同的下游任务时,可能会表现出不同的能力与特征;4)ImageNet数据集由人工来打标签,需要耗费巨大的人力物力,数据的扩展非常困难,而且预训练模型的训练与人的学习机制是相违悖的,人的学习不依赖于大量的标签数据来实现泛化能力。
因此,近几年,研究人员逐渐转向利用无监督或自监督的方法去学习更好的预训练模型。在视觉领域,自监督模型的核心思想是设计各种各样的前置任务(pre-tasks)。这种前置任务可以是基于生成式的,也可以是基于判别式的。
基于生成式的前置任务是说:抹掉图的部分内容,然后去预测所抹掉的部分;或是把图转成灰色图,去预测图的彩色模样;或是观察视频的前几帧,去预测这段视频的下一帧。例如,Image GPT是像语句一样把图像看作一个像素的序列,通过基于前面的像素去预测后面的像素。
另一种是基于判别式的,即设计一个分类任务,把一张图打散成块状,然后去预测序列的分类。或者是,对图像做一些更改,然后判别图像经过了哪几种不同的变化。根据现在的研究,在分类任务上,基于判别式的预训练模型所取得的结果比基于生成式的预训练模型更好。近几年,关于对比学习的方法(基于三元组分类的方式)受到了广泛关注,它比生成式的方法取得了更好的性能。
根据最新的NeurIPS投稿,在图像分类方面,基于自监督的预训练模型的准确率与基于全监督ImageNet的预训练模型的准确率差距(gap)缩小到了大约2%以内。在视频方面,自监督预训练一般是用视频的前几帧去预测视频的下一帧,这时,自监督模型与全监督模型之间的的gap比图像分类任务要大一些。
进一步的研究发现,如果把视频的预训练数据扩展到多模态数据,例如视频加上声音或各种语言,然后再去设定前置任务,这时候预训练的模型在执行视频的下游任务时,性能可能会更好一点,gap大概可以缩小到5%以内。
总的来说,这种基于自监督的预训练模型是当前视觉领域的研究热点之一,预计在未来也会慢慢替代基于监督的预训练模型。
1 无监督学习的益处
议题一:哪些领域更可能从无监督预训练模型中受益?无监督预训练模型的学习偏见如何解决?
使用无监督预训练模型的最主要领域是CV和NLP,在CV和NLP领域里面,哪些细分领域更可能从无监督预训练模型中受益呢?以及无监督预训练模型的学习偏见如何解决?
从CV角度来看,刚刚提到,自监督的预训练模型在执行图像分类时最好的研究结果是,与监督预训练模型之间的Gap只有2%。但最近Facebook提出了一个最新的模型叫MoCo(动量对比学习)。研究人员发现,虽然自监督预训练模型比基于全监督的模型相差2%的gap,但在执行CV的下游任务(包括图像的分割、检测与小样本学习)时,自监督预训练模型比基于全监督的预训练模型表现更好。也就是说,虽然自监督在ImageNet的分类任务上没有表现地特别好,但它比监督模型更适合执行下游任务,普适性和鲁棒性更佳。
从NLP角度来看,更好的泛化性也存在。现在的大趋势是:如果不使用大规模的无监督学习方法,基本上研究就无法继续。在NLP领域,所有的问题都得从大规模无监督模型开始,然后基于无监督模型进行后续的任务,否则性能肯定上不去。所以结论是:NLP领域的所有研究问题基本上都会受益于无监督预训练模型,但无监督模型在实际应用系统上的表现则带有不确定性,因为涉及到许多其他方面。
从深度聚类角度来看,影响聚类性能的要素在于特征表示。但有一个问题是:在聚类的过程中,因为没有标签,所以没有办法继续对损失进行定义。在这个过程中,我们一般是先基于一个模型对输入进行初始化,然后基于性能好的autoencoder来学习聚类中心。
如果聚类中心和特征同时学习,模型可能会漂移,而且不知道会漂到什么地方。所以,在预训练过程中,要先只学习一个聚类中心,然后保持中心不变,再去学特征。就相当于,在一开始,通过预训练得到一个中心,然后把这个聚类中心固定,再通过预训练来学习特征表达,最后用特征表达做聚类。
此外,无监督预训练的偏见问题产生,涉及到很多因素,比如样本没有选好。最近有研究发现,在无监督预训练中,数据并不是越多越好。要根据任务细心选择数据,使训练样本和目标样本的匹配度更高。否则的话,就算数据量达到了要求,但进行预训练之后,它的效果反而会下降。
对于模型偏见,可以通过引入一个重构误差,然后用重构误差和聚类损失的折中来限制特征学习。就是说,不要为了减少损失而跑偏,最后导致聚类结果反而不好。我们可以用新知识,比如重构误差,来限制模型的学习,防止在训练过程中跑偏。
2 多模态场景
议题二:无监督学习技术如何促进多模态场景下不同领域之间知识的交互以提升性能?
真实的数据不只涉及文本,还有语音、视频等等,在这种多模态场景下,我们会思考无监督学习技术的应用。不同领域的知识一定要进行交互,只有交互才能引入其它领域的知识来提高任务的性能,那么,无监督学习技术如何促进不同领域知识之间的交互,最终提升性能呢?
无监督的跨模态数据对齐,是多种模态数据或者领域知识交互的桥梁。在多模态应用场景,进行视觉、语言处理或者更深入的将视觉与语言结合在一起的数据挖掘时,对于同一个实体或者描述同一个事件,可以从多个不同的角度,采集多模态的数据,不同的模态数据能从不同的角度刻画该实体或事件。
通常的做法是融合来自多个模态的场景数据,以得到更好的结果。相关算法通常称为多视图学习和多模态学习,但挑战在于,在不同模态采集的数据不一定是对齐好的。比如视频、语音、文本、社交网络数据,它们之间可能存在一定的错配或者缺失。
所以要对多模态数据进行融合,首先得判断数据之间是否已经对齐。比如多模态数据、多视图数据或者网络数据,可以通过学习数据的低秩表示,再通过互信息的方式建立一个目标函数,把不同模态、视图或网络的对应关系找出来。如果能找出来,不同模态之间的数据交互或者领域知识交互就成功了。
其实,在缺乏监督信息情况下,无监督学习对多模态数据对齐的解决相当于在无监督情况下对数据进行分类。
此外,利用已经配对良好的数据进行监督预训练,比如新闻和纪录片等数据,再泛化到其它数据进行无监督的对齐也是一个很好的研究方向。
更广泛地说,在弱标注数据下,通过多模态数据之间的协同训练,在性能上会有很大的促进作用。
3 泛化性
议题三:无监督学习技术如何提升人工智能技术的鲁棒性及安全性?
众所周知,深度神经网络在一般情况下性能良好,被广泛运用到各种应用中,但它其实并不鲁棒。一个典型的例子是对抗攻击,即在图片中添加一些肉眼不可觉察的噪声,就可以使得网络出现错误的判别结果。
对抗攻击不仅可以对分类任务产生影响,其对所基于的DNN任务(例如分割、追踪等)都有影响,具有严重的威胁。为了应对这种问题,现在人们也开发了各种防御的方法。
目前,最有效的防御方式还是对抗训练,即在训练过程中引入对抗样本要求模型对于对抗攻击有足够的鲁棒性。然而,最近的研究表明,对抗训练需要更多的数据,即当数据集的大小保持不变的时候,对抗训练在提升模型鲁棒性的同时会牺牲一些精度。
那么能否用无标签的数据提升模型的鲁棒性呢?毕竟,有标签的数据获取难度比较大。这里需要解决的核心问题是损失函数,因为原始对抗训练的损失函数是有目标的。直观上来说,对抗损失要求模型在一个区域内的预测都是正确的预测,这大概可以分解为两个任务:一个是要求模型在原始样本上足够正确,另一个是要求模型在原始样本的邻域内的输出足够鲁棒(稳定)。根据把原始对抗损失替换为标准损失与鲁棒损失的方式,我们可以在鲁棒损失中引入无标签样本,同时提升模型的精度与鲁棒性。那么除了改造损失函数,还有哪些方法能够引入无标签样本?这也是值得进一步思考的问题。
当然,除了对抗训练外,也有很多别的防御方法。例如在预测前对图像先进行预处理,试图破坏甚至是去除对抗噪声。这种防御思路被称为基于预处理的防御,目前也有大量的学者在争论这种防御方式究竟是否有效。此外,基于检测类型的防御,即先通过异常检测,确定数据中是否为对抗样本,也是另一类重要的防御方法。
当然,尽管深度神经网络对对抗噪声不鲁棒,但其鲁棒性也并没有想象中那么糟糕。如果数据中只是添加一些随机噪声,一般并不会影响模型的结果。