在自监督学习中有些重要属性:
学习一项技能而不是去近似一个函数:自监督学习不是逼近函数,而是学习可用于各种下游任务的表示(这是自然语言处理的主导范式)。通过线性探测、微调或激励获得下游任务是次要的。
多多益善:在自监督学习中,表示质量随着数据量的增加而提高,不会因为混合了几个来源的数据而变糟。事实上,数据越多样化越好。
Google PaLM 模型的数据集。解锁新能力:随着资源(数据、计算、模型大小)投入的增加,深度学习模型也在不连续地改进。在一些组合环境中也证明了这一点。
随着模型规模的增加,PaLM 在基准测试中显示出不连续的改进,并且解锁令人惊讶的功能,比如解释笑话为什么好笑。
性能几乎与损失或数据无关:存在多个自监督损失,图像研究中其实使用了多种对比和重建损失,语言模型使用单边重建(预测下一个 token)或使用 mask 模型,预测来自左右 token 的 mask 输入。也可以使用稍微不同的数据集。这些可能会影响效率,但只要做出 “合理” 的选择,通常原始资源比使用的特定损失或数据集更能提升预测性能。
有些情况比其他情况更困难:这一点并不特定于自监督学习。数据点似乎有一些固有的 “难度级别”。事实上,不同的学习算法具有不同的“技能水平”,不同的数据 dian 具有不同的” 难度水平“(分类器正确分类点的概率随的技能而单调提升,随难度单调降低)。
“技能与难度(skill vs. difficulty)”范式是对 Recht 等人和 Miller 等人发现的 “accuracy on the line” 现象的最清晰解释。Kaplen、Ghosh、Garg 和 Nakkiran 的论文还展示了数据集中的不同输入如何具有固有的“难度剖面”,对于不同的模型族,该剖面通常是稳健的。
CIFAR-10 上训练并在 CINIC-10 上测试的分类器的 accuracy on the line 现象。图源:https://millerjohnp-linearfits-app-app-ryiwcq.streamlitapp.com/
顶部的图描述了最可能类别的不同 softmax 概率,作为某个类别分类器的全局精度的函数,该类别由训练时间索引。底部的饼图显示了不同数据集分解为不同类型的点(注意,这种分解对于不同的神经结构是相似的)。
训练就是教学:现代大模型的训练似乎更像是教学生,而不是让模型拟合数据,当学生不懂或感到疲倦时,就 “休息” 或尝试不同的方法(训练差异)。Meta 的大模型训练日志很有启发性——除了硬件问题外,我们还可以看到干预措施,例如在训练过程中切换不同的优化算法,甚至考虑 “hot swapping” 激活函数(GELU to RELU)。如果将模型训练视为拟合数据,而不是学习表示,则后者没有多大意义。
Meta 训练日志摘录
4.1)但是监督学习怎样呢?
前面讨论了自监督学习,但深度学习的典型例子,仍然是监督学习。毕竟,深度学习的 “ImageNet 时刻” 来自 ImageNet。那么上面所讨论的是否仍然适用于这个设定?
首先,有监督的大规模深度学习的出现在某种程度上是个偶然,这得益于大型高质量标记数据集(即 ImageNet)的可用性。如果你想象力丰富,可以想象另一种历史,即深度学习首先开始通过无监督学习在自然语言处理方面取得突破性进展,然后才转移到视觉和监督学习中。其次,有证据表明,尽管使用完全不同的损失函数,但监督学习和自监督学习在”内部“的行为其实是相似的。两者通常都能达到相同的性能。具体地,对于每一个,人们可以将通过自监督训练的深度为 d 的模型的前 k 层与监督模型的最后 d-k 层合在一起,而性能损失很小。
SimCLR v2 论文的表格。请注意监督学习、微调(100%)自监督和自监督 + 线性探测之间在性能上的一般相似性(图源:https://arxiv.org/abs/2006.10029)
拼接自监督模型和 Bansal 等人的监督模型(https://arxiv.org/abs/2106.07682)。左:如果自监督模型的准确率(比如)比监督模型低 3%,则当层的 p 部分来自自监督模型时,完全兼容的表示将导致拼接惩罚为 p 3%。如果模型完全不兼容,那么我们预计随着合并更多模型,准确率会急剧下降。右:合并不同自监督模型的实际结果。
自监督 + 简单模型的优势在于,它们可以将特征学习或 “深度学习魔法”(由深度表示函数完成)与统计模型拟合(由线性或其他“简单” 分类器在此表示之上完成)分离。
最后,虽然这更像是一种推测,但事实上 “元学习” 似乎往往等同于学习表征(参见:https://arxiv.org/abs/1909.09157,https://arxiv.org/abs/2206.03271),这可以被视为另一个证据,证明这在很大程度上是在进行的,而不管模型优化的目标是什么。
4.2)过度参数化怎么办?
本文跳过了被认为是统计学习模型和深度学习在实践中存在差异的典型例子:缺乏 “Bias-Variance 权衡” 以及过度参数化模型的良好泛化能力。
为什么要跳过?有两个原因:
- 首先,如果监督学习确实等于自监督 + 简单学习,那么这可能解释了它的泛化能力。
- 其次,过度参数化并不是深度学习成功的关键。深度网络之所以特别,并不是因为它们与样本数量相比大,而是因为它们在绝对值上大。事实上,通常在无监督 / 自监督学习中,模型不会过度参数化。即使对于非常大的语言模型,它们的数据集也更大。
Nakkiran-Neyshabur-Sadghi“deep bootstrap”论文表明,现代架构在 “过度参数化” 或“欠采样”状态下表现类似(模型在有限数据上训练多个 epoch,直到过度拟合:上图中的 “Real World”),在“欠参数化” 或者 “在线” 状态下也是如此(模型训练单个 epoch,每个样本只看一次:上图中的 “Ideal World”)。图源:https://arxiv.org/abs/2010.08127
总结
统计学习当然在深度学习中发挥着作用。然而,尽管使用了相似的术语和代码,但将深度学习视为简单地拟合一个比经典模型具有更多参数的模型,会忽略很多对其成功至关重要的东西。教学生数学的比喻也不是完美的。
与生物进化一样,尽管深度学习包含许多复用的规则(如经验损失的梯度下降),但它会产生高度复杂的结果。似乎在不同的时间,网络的不同组件会学习不同的东西,包括表示学习、预测拟合、隐式正则化和纯噪声等。研究人员仍在寻找合适的视角提出有关深度学习的问题,更不用说回答这些问题。