预训练已成为一种替代和有效的范式,以克服这些缺点,其中模型首先使用容易获得的数据进行训练,然后用于解决感兴趣的下游任务,标记数据比监督学习少得多。
使用未标记数据进行预训练,即自监督学习,尤其具有革命性,在不同领域取得了成功:文本、视觉、语音等。
这就提出了一个有趣且具有挑战性的问题:为什么对未标记数据进行预训练应该有助于看似不相关的下游任务?
论文地址:https://dataspace.princeton.edu/handle/88435/dsp01t435gh21h
本文提出了一些工作,提出并建立了一个理论框架,以研究为什么自监督学习对下游任务有益。
该框架适用于对比学习、自回归语言建模和基于自我预测的方法。该框架的核心思想是预训练有助于学习数据的低维表示,这随后有助于用线性分类器解决感兴趣的下游任务,需要较少的标记数据。
一个常见的主题是形式化用于构建自监督学习任务的无标记数据分布的理想属性。在适当的形式化下,可以表明,近似最小化正确的预训练目标可以提取在无标记数据分布中隐式编码的下游信号。
最后表明,该信号可以用线性分类器从学习到的表示中解码,从而为跨任务的「技能和知识」迁移提供了一种形式化。
引言
在寻求设计智能体和数据驱动的问题解决方案的过程中,机器学习和人工智能领域在过去十年中取得了巨大的进步。随着在具有挑战性的监督学习基准上的初步成功,如ImageNet[Deng等人,2009],深度学习的创新随后导致模型在不同领域的许多此类基准上具有超人的性能。训练这种特定于任务的模型当然令人印象深刻,并具有巨大的实用价值。然而,它有一个重要的限制,即需要大量的标记或标注数据集,而这通常是昂贵的。此外,从智能的角度来看,人们希望有更通用的模型,就像人类一样[Ahn和Brewer, 1993],可以从以前的经验中学习,将它们总结为技能或概念,并利用这些技能或概念来解决新任务,很少或没有演示。毕竟,在没有明确监督的情况下,婴儿通过观察和互动来学习很多东西。这些局限性启发了预训练的另一种范式。
本文的重点是使用通常大量可用的未标记数据进行预训练。使用未标记数据的想法一直是机器学习的兴趣点,特别是通过无监督学习和半监督学习。使用深度学习对其进行的现代适应通常称为自监督学习(SSL),并已经开始通过对比学习和语言建模等思想改变机器学习和人工智能的格局。自监督学习的思想是仅使用未标记的数据构建某些任务,并训练模型在构建的任务上表现良好。这类任务通常需要模型通过从观察到的或保留的部分预测输入的未观察到的或隐藏的部分(或属性)来编码数据的结构属性[LeCun和Misra, 2021]。自监督学习在许多感兴趣的下游任务上显示出了通用性和实用性,通常比从头解决任务具有更好的样本效率,从而使我们离通用智能体的目标更近了一步。事实上,最近,像GPT-3 [Brown等人,2020]等大型语言模型已经展示了大规模出现的令人着迷的「突发行为」,引发了人们对自监督预训练想法的更多兴趣。
尽管自监督学习在经验上取得了成功,并继续显示出巨大的前景,但除了粗略的直觉之外,仍然缺乏对其工作原理的良好理论理解。这些令人印象深刻的成功提出了有趣的问题,因为先验不清楚为什么在一个任务上训练的模型应该有助于另一个看似不相关的任务,即为什么在任务a上训练应该有助于任务b。虽然对SSL(和一般的深度学习)的完整理论理解是具有挑战性和难以实现的,但在任何抽象层次上理解这种现象都可能有助于开发更有原则的算法。本文的研究动机是:
为什么在自监督学习任务上进行训练(使用大量未标记数据)有助于解决数据稀缺的下游任务?如何将「知识和技能」的迁移正式化?
虽然有大量关于监督学习的文献,但来自SSL任务→下游任务的泛化与监督学习中来自训练集→测试集的泛化有本质的不同。对于分类下游任务的监督学习,例如,从未知分布中采样的在输入-标签对的训练集上训练的模型,可以直接用于对从相同分布中采样的未见过的测试集的评估。这个基本的分布建立了从训练集到测试集的联系。然而,从SSL任务→下游任务的概念连接就不那么清晰了,因为SSL任务中使用的未标记数据没有关于下游标签的明确信号。这意味着在SSL任务上预训练的模型(例如,从其余部分预测输入的一部分)不能直接用于下游任务(例如,从输入预测类别标签)。因此,「知识和技能」的迁移需要使用一些标记数据进行额外的训练步骤,理想情况下比从头开始监督学习所需的少。对SSL任务→下游任务泛化的任何理论理解都需要解决这些问题:「未标记数据的内在作用是什么?以及「如何将预训练模型用于下游任务?」本文针对分类的下游任务,通过对无标签数据进行分布假设,并利用表示学习的思想,研究这些问题:
(a)(分布假设)未标记的数据分布隐含地包含有关感兴趣的下游分类任务的信息。
(b)(表示学习)在适当的SSL任务上预训练的模型可以通过学习到的表示对该信号进行编码,这些表示随后可以用线性分类器解决下游分类任务。
点(a)表明,未标记的某些结构属性隐式地为我们提供了有关后续下游任务的提示,而自监督学习可以帮助从数据中梳理出这个信号。点(b)提出了一种简单且经验上有效的方法来使用预训练模型,利用模型的学习表示。本文识别并在数学上量化了未标记数据的分布属性,对于不同的SSL方法,如对比学习、语言建模和自我预测,可以证明可以学习到良好的表示。在下一节中,我们将深入研究表示学习的思想,并形式化解释为什么自监督学习有助于下游任务。