摘要:Randall Balestriero:好的。首先,为了避免一些误解。样条曲线理论很丰富,可能从 20 世纪 80 年代甚至更早就被用于函数逼近。但问题是,大多数研究针对一维、二维或三维输入空间,因为这是函数逼近的主要应用场景,比如偏微分方程。所以我们在 20
采访者: Randall Balestriero 教授,欢迎你,并祝贺你在 Ant Brown 的新职位。
Randall Balestriero: 谢谢,非常感谢。很高兴能来讨论最新的研究和样条曲线。
采访者: 你发明或共同发明了神经网络的样条理论,彻底改变了我对深度学习的理解。我们先简单回顾一下。你所说的神经网络的样条理论是什么意思?
Randall Balestriero: 好的。首先,为了避免一些误解。样条曲线理论很丰富,可能从 20 世纪 80 年代甚至更早就被用于函数逼近。但问题是,大多数研究针对一维、二维或三维输入空间,因为这是函数逼近的主要应用场景,比如偏微分方程。所以我们在 2018 年左右做的,是试图理解当前的深度网络。当时主要是卷积网络、ResNet 或具有 ReLU 激活、最大池化等非线性函数的 MLP(多层感知机)。事实证明,当你进行这类操作(如仿射操作,如密集映射或卷积),然后是 ReLU、最大池化,并不断交错组合这些层时,整个输入到输出的映射本身就是一个连续的分段仿射样条。
这意味着,网络的输入空间(比如 MNIST 或 CIFAR 分类中的图像空间)是一个巨大的高维空间。它被切割成多个多面体凸区域(polyhedral convex regions),每个区域内,网络只是一个仿射映射。总体上,它是连续的,但在一个区域内,只是一个仿射映射。因此,你可以描述这些区域的几何特征,比较区域的疏密,从而了解网络实际上在学习什么,为什么能外推,以及网络结构、正则化等因素的影响。
采访者: 这里涉及到一些专业术语。这有点像,训练神经网络时,我们让它变得有点像蜂巢。
Randall Balestriero: 嗯。
采访者: 有这种类似网格的结构。蜂巢孔洞代表了神经网络的决策。
Randall Balestriero: 是的,完全正确。可以类比 K 均值聚类(K-means clustering)或其他聚类方法,你会学习到空间的划分,这取决于数据点被分配到哪个簇。所以你会得到这种带区域的结构。K 均值聚类中,映射是分段常数。
在某个区域或簇内,数据点被分配到同一个簇。进入下一个区域,则被分配到另一个簇。这是一种 K 均值分区几何。深度网络 (DeepNets) 情况类似,也有这些区域,但在每个区域内,不是常数,而是仿射映射。另外还有一些约束,即这些区域不是相互独立的,即使在很远的推断区域,它们也能学习。你得到的几何类型类似于 K 均值、K 近邻(KNN, K-Nearest Neighbors)等算法的结果。
深度网络的关键(也是主要优势)在于,你学习到的分区(或者说区域)不局限于数据所在的地方,而是存在于空间的任何地方。这就是为什么即使在高维空间,也能获得更好的外推性能,而 K 近邻算法做不到。
采访者: 我喜欢样条理论的一个原因:很多人说神经网络能“神奇”地涌现推理能力。但当你把神经网络理解为计算样条分区边界时,它本质上有点像局部敏感哈希表(Locality Sensitive Hashing)。这并不利于神经网络进行推理或进行其他计算。
Randall Balestriero: 是的。这里有两点。首先,正如你所说,有局部敏感哈希,或者说模板匹配。所以只是尝试在局部拟合区域几何和仿射映射。你可能认为这很特殊,而且像“暴力”规则。但是,推理或智能在哪里涌现呢?这是因为你在空间一部分的学习方式会影响你在另一部分学习到的一切,即使那里没有数据。我认为这就是从特殊的 K 近邻或 K 均值,转变为更复杂、更像人类行为的地方。从一个例子中学习,并能在训练中没见过的另一个例子上复用,而且这个例子可能在输入空间中非常远。
所以它并不特殊,因为它能有效地从隐藏规则中推断。
采访者: 太棒了。我们来谈谈今天最激动人心的部分,你和 MTS 合写了一篇论文。论文标题是“深度网络总是能够理解(Grok)”,这就是原因。请简要介绍一下。
Randall Balestriero: 好的。首先,我要感谢 Imtiaz,他大力推动,没有他,论文不可能达到现在的状态。很遗憾,他因为签证原因没能来。非常感谢 Imtiaz。
总的来说,grokking 是在特定场景下观察到的,表现为泛化能力的延迟出现。测试集准确率开始增长的时间,比训练准确率达到平稳期的时间晚得多。
这是在特定场景下观察到的,包括特定任务、模型、权重初始化。我们这里研究更普遍的情况,比如 CIFAR 数据集(计算机视觉任务、卷积网络、ResNets),看看是否会发生同样的延迟属性涌现。结果表明,训练和测试准确率不会出现这种情况,它们基本同步发展,同时达到平稳。但是,观察对抗噪声下的测试准确率时,你会发现在干净训练和干净测试准确率的平稳期很久之后,模型才会在测试图像上展现出对对抗噪声的鲁棒性。
我们在大多数场景下都观察到了对抗 grokking 现象,而这发生在你完全不做对抗训练的情况下。这只是长时间训练和稀疏解出现的结果,网络的一些新几何属性会自然涌现。
采访者: 我们多解释几句。首先,谈谈对抗鲁棒性。
Randall Balestriero: 好的。当神经网络不具备鲁棒性时,会发生什么?我们做的(这是一种标准攻击网络的方法)是,获取图像(输入),输入网络,根据梯度信息,找到最佳方向,添加噪声到原始输入,从而“欺骗”网络,让它预测出错误类别。这是白盒攻击(white-box attack),利用了网络梯度信息。这样就能“欺骗”网络。例如,训练集上,网络在干净图像的准确率可能是 100%,但因为那些微小扰动(肉眼无法察觉),准确率会降到随机猜测水平。
这是一种非常有效的攻击,很多人试图通过对抗训练来使网络具有鲁棒性。训练中,他们采样攻击,尝试让网络具有鲁棒性。我们这里展示了,只需长时间训练,就能自然地对攻击变得鲁棒。
采访者: 我总是把样条理论看作“思维直觉泵”,用来解决对抗样本问题。 观察样条分区,会看到纵横交错、重叠的样条曲线。一团糟,非常混乱。这就是网络脆弱的原因,因为很容易把测试样本推过边界,导致网络行为变化。
Randall Balestriero: 是的,完全正确。看图中所有分区区域时,要考虑的是,当输入稍微移动,从一个区域到另一个区域时,映射会表现出非线性,预测会变化。
区域越多,非线性“拐点”越多,扰动网络就越容易。但是,进入长时间训练阶段(稀疏解阶段)时,情况就不同了。你不会在空间任何地方和训练数据点周围有大量区域,而是区域会从训练点和测试点附近“迁移”,集中到决策边界附近。现在,数据点周围区域更广,意味着网络在更大空间范围都是仿射的。因此,只是一个仿射映射,控制对噪声的敏感性就容易得多。
采访者: 也许我们应该先介绍一下 grokking。 grokking 指的是延迟泛化现象。我知道这是过于简化的说法。但基本上,你训练网络的时间远超常规,然后,在训练后期,一些事情会发生。能解释一下吗?
Randall Balestriero: 是的。他们在特定场景下(多数是人为构造或简单任务)做的,可以证明,训练初期,训练准确率这类指标会上升,然后趋于平稳。你可能觉得训练完成了。
但实际上,测试指标(可以是准确率或其他)仍接近随机水平,或稍高,但没达到高点。如果你继续训练(时间远超常规),即使训练指标保持平稳,测试指标也会突然上升,并在稍后自行收敛。这意味着训练中,仍有梯度信息改变权重。它们对训练指标没影响。但最终,网络会整合权重,以便在测试样本上推断。
采访者: 这里有一个更广泛、有趣的故事,因为你对学习动力学很感兴趣。神经网络训练有不同阶段。开始时,学习简单特征,然后逐步学习复杂特征。但这有点奇怪。因为你展示的是一种局部“去复杂化”。
Randall Balestriero: 是的。
采访者: 我以为会变得更复杂,学习高频信息。但网络在学习局部“去复杂化”,来“拉伸”边界。为什么?这里还有个问题,网络用什么学习信号做到这一点?
Randall Balestriero: 是的,完全正确。正如你所说,训练有两个阶段,有点像“双下降”(double descent)动态。第一阶段,从随机初始化开始,网络积极关注训练数据点,周围使用大量区域。这是一种“记忆”。它仍能推断,但非常关注实际数据点。数据点附近有很多区域,映射平滑,空间中没有简化。但到达这个阶段,继续训练(时间远超常规),情况会变化。仍有梯度信息通过损失函数传递,网络会在数据点周围“去复杂化”。
区域会“迁移”,远离数据点,集中到决策边界。分配的参数都试图精确拟合决策边界,而不是“记住”数据点位置。区域半径会在数据点周围增加。这样就获得了对抗鲁棒性,网络从平滑状态(几乎均匀平滑)过渡到分段常数状态,这是理论上的极限状态。这是很好的属性,自然出现。
但需要非常长的训练时间才能发生。
采访者: 可以从两方面争论,是“复杂化”还是“去复杂化”。但正如你所说,了不起的地方在于,从关注训练样本,转变为关注区域。
Randall Balestriero: 是的。在发生了这种 grokking 阶段之后,你会看到这些分区出现。有点像拓扑图或等高线图。分区看起来很像 Voronoi 图(Voronoi diagram)。
看到大量聚集的分区区域时,它们都被“挤压”在决策边界周围,提供从一个类别到另一个类别的表示能力。这就是你想要的。因为靠近数据点且在其邻域内时,只需简单仿射映射,甚至常数映射。不需要放置大量参数或区域。
相反,想放置所有区域的地方是决策边界,因为这是需要从一个类别到另一个类别的地方。映射需要实际“曲率”。这种转变是从空间均匀平滑到分段常数映射。这也是对抗鲁棒性的来源。而且,只有很长训练后才会出现,因为这不是网络首先学习的。
这是一种“隐藏”解决方案,很长训练后出现,可能是因为到达那里的梯度范数很小,或者在与网络结构隐式偏差作斗争。正如我们展示的,作为正则化强度的函数,可以控制出现速率。正则化越多(用权重衰减等),与稀疏解“斗争”越多,可能根本不发生,或训练后期甚至更晚发生。这与“稀疏性”有关。
采访者: 我们进行迭代幅度剪枝(iterative magnitude pruning)时,训练密集网络,然后“剪掉”权重小的连接。
Randall Balestriero: 是的.
采访者: 奇怪的是,稀疏网络更鲁棒,即使去掉了大部分权重。grokking 现象后,得到的网络类似于稀疏网络,这不奇怪吗?
Randall Balestriero: 是的,这正是相关的。另一篇论文中,我们展示了,可以用明智方式剪枝,作为简化分区的方法,让网络专注于决策边界而非数据点。可以证明剪枝、剪枝对分区几何的影响,与其他方法(如参数秩坍缩(rank collapse)和这类正则化器)的关系。它们存在一一对应关系。好处是分区提供单一几何对象,可视化,理解何时为什么有益。这与“彩票假设”(lottery ticket hypothesis)和“迭代剪枝”相关。
进行迭代剪枝时,可能首先切换到复杂解(区域均匀分布)。然后,主动移除大部分无用区域(可能靠近数据点)。将模型拉近到后期阶段,但这需主动修剪模型参数或单元。
采访者: 这种现象与“双下降”有何关系?
Randall Balestriero: 这是与“神经坍缩”(neural collapse)相关的另一件事。存在这种动态:首先,“记忆”,然后学习推断。但这里,不是从容量(参数数量)角度看,而是从分区几何看。实际上结果相同。看局部复杂性度量,能看到区域迁移动态。
观察训练开始,训练和测试准确率上升时,大量区域集中在数据点附近。像第一次下降后得到的第一次上升。这是没有鲁棒性的阶段。人们会停止训练,因为训练测试准确率看起来不错,但没有鲁棒性。继续训练,区域会迁移。
看到第二次下降。这是最终出现鲁棒性的阶段,因为区域再次迁移。靠近训练点和测试点的区域半径更大,因此获得鲁棒性。这提供了一种新方式,通过分区几何视角观察“双下降”或训练动态。这很好,因为多数研究集中在损失函数或训练测试准确率,这些指标依赖具体任务,或像“黑盒”,只观察网络 f,没有深入研究。现在,有新方法,从分区角度观察网络内部。
未来研究方向是,根据分区几何属性重新推导这些结果。
采访者: 我们使用正则化器,是因为(当然,这是“老派”观点)故意限制网络复杂度,让它们简单,反而训练得更好。但我们现在讨论的是,实际上想要一种复杂性。如果对正则化器不谨慎,甚至可能无法获得这种效果。
Randall Balestriero: 是的,完全正确。有很多方法正则化网络,比如隐式、显式正则化,甚至批归一化(Batch Normalization)。我们可能认为批归一化只是让训练更容易,因为进行了归一化。但实际上,它也起到正则化器作用。另一篇论文中,我们展示了,如果使用批归一化,会主动尝试将区域集中在训练数据点附近。使用这类技术,实际上是在与稀疏解“作斗争”,因此无法到达那里,或需更长训练过程。
使用其他方法(如权重衰减,Weight Decay)时,也会带来强偏差。你说,“接近 0 的解使模型达到好解”。通常,这些正则化器试图在 L2 意义上,强制映射平滑。但正因如此,没有尝试获得分段常数解,而这恰恰是带来对抗鲁棒性的解,也是最终达到对抗 grokking 阶段时达到的解。
我们通过标准正则化,引入了很多隐式偏差,如果想加速大规模 grokking 出现,可能需要重新考虑。
采访者: 其中一个问题是,神经网络在训练动态后期,会做有趣的事情。这很好,如果你是 Meta 或 Google,因为他们有大型 GPU 集群,训练网络程度超出了普通人能力范围。 我们想捕捉这种行为,希望神经网络更早做到。
Randall Balestriero: 是的。
采访者: 你已经做了一些工作,构建了一个受几何启发的正则化器,让边界彼此正交?
Randall Balestriero: 是的。
采访者: 能不能设计一个正则化器,鼓励 grokking 行为更早发生?
Randall Balestriero: 是的。这是很好的问题。首先,正如你所说,现在只是通过很长训练,实现了对抗鲁棒性。因为没做对抗训练,所以获得的鲁棒性似乎很好,能抵御各种对抗攻击。
这是有益属性,大家都想要。但问题是,因为需训练很长时间,所以目前不是每个人都能获得的解决方案,这是很大限制。因此,一个研究方向是,如何加速对抗 grokking 出现,让每个人都能获得。关于你的第二个问题,是的,可以基于分区几何理解,构建正则化器,有很多方法。
例如,很容易计算的是(即使对很大网络),计算点到所在区域最近边界的距离。这个量(距离)相对于模型参数可微,且可快速获得。这意味着,可在训练中用作正则化器。这只是一个例子,可以推导出可微正则化器,有很多方法,用来在分区中强制约束。另一件事是,可以不用正则化器,而是用约束和强制条件构建网络结构。
一个典型例子是,假设网络中没有任何偏置(bias),那么得到的分区类型被约束为“中心化”,即所有区域是从原点出发,延伸到无穷远的锥体,这是“硬约束”。没有偏置,分区就被约束为这种形状,因此不需要额外正则化器。有很多方式,把“硬约束”构建到网络结构或权重参数化中,或构建可在训练中使用的可微正则化器。
采访者: 现在人们的看法是,能力和计算量相称,所以投入更多计算量。我们需要“智能”计算。更进一步,需要像你这样的人,拥有神经网络理论。因为如果没有神经网络样条理论,就不可能有这种思维模型,不可能以有原则方式设计新正则化器。这很重要。
Randall Balestriero: 是的,完全正确。使用样条曲线的一个关键好处是,不仅提供理论保证和解决方案,而且可可视化的东西也容易解释。即使以前没用过样条曲线,也很容易观察分区、区域图像,理解为什么这个重新分区比那个更好,对于特定任务或鲁棒性方面。
好处不仅仅是对深度网络有理论理解,而是拥有一些任何非专业人士都能可视化,并采取行动,用来更好训练最先进模型的东西。希望它是易处理、可解释、每个人都容易上手的。
正如你所说,由此可获得深刻见解。例如,通过这篇论文,我们看到,如果分配了计算资源,通常做法(或大多数人可能做的)是,“让我尝试在我的GPU上装下最大的模型,然后不管还剩下多少计算资源,都用在训练时间上。” 但从这篇论文中可以看到,实际上,根据你想要的应用,如果你想要对抗鲁棒性,可能应该使用一个更小的模型,而是把计算资源分配到训练时间上。当你进行这种不同的计算资源分配(就像“智能”计算资源分配)时,就会得到一个模型,在经过漫长训练后,具备对抗鲁棒性。
这表明,应该重新思考,根据你希望网络拥有的特性,如何分配计算资源。
采访者: 谈谈你的研究结果吧,它会如何根据问题类型、数据集等变化?你观察到了什么?
Randall Balestriero: 我们观察到了一些趋势。例如,随着数据集规模增大或缩小,以及标签中噪声的变化,grokking 现象出现可能被延迟,也可能不延迟。这些都是需要记住的因素,以后也可以用来尝试加速 grokking。
例如,如果你有一个智能的课程训练计划,或者“师生”训练模式,就可以用来加速 grokking 出现。现在有越来越多论文研究这个问题,因为所有这些因素都相互关联。
回顾分区,必须把它看作是适应数据集的。这是深度网络使用的样条曲线相对于标准样条曲线的优点。现在,分区会通过权重的梯度下降,适应数据分布和损失函数。改变数据点分布、数量、维度,或仅仅是网络参数化,都会影响学习到的分区,进而影响几何特性。这些都相互关联,而深度网络样条解释的优点在于,可以精确理解这种关系,并对为什么得到这个分区而不是另一个,给出可证明的保证。所以,可以据此做出明智决策,采取行动或参数化模型,达到对下游任务有利的状态。
采访者: 很有意思。现在可能是谈论“局部复杂性度量”的好时机。我之所以提到,是因为第一阶段,当我们有了复杂性和 grokking 度量,可以改变超参数(如预测网络结构)来优化效果。也许在下游,我们能找到一种有原则的方法设计网络结构,优化 grokking。但你是如何设计这个“复杂性度量”的?
Randall Balestriero: 基本上,我们试图观察特定数据点附近有多少区域,或者说分区有多复杂。
一个好的替代指标是,计算附近区域数量。正如之前提到的,这大致上等同于网络在该邻域拥有多少信息。我们所做的是一种快速计算区域数量的替代方法(即使使用大模型),基于逐层计算 ε 球(epsilon ball)内顶点数量。我们做了一些消融实验(ablation studies)证明,这确实是区域数量的好替代。这就是我们测量的。
在局部复杂性图中可以看到,这个数量在训练中有不同动态变化。一个有趣的现象是,当训练和测试准确率到达平稳期时,它会达到峰值,但开始下降的时间,比对抗性 grokking 出现的时间早得多。这意味着这个指标实际上更好,对训练动态和深度网络几何变化更敏感,因为它开始显示(就像之前说的)数据点周围复杂化,比观察到对抗性 grokking 的时间早得多。这非常好,因为拥有了一个敏感指标,告诉你模型几何结构如何演变。这也为新方法打开了大门,例如,新早停方法,或理解网络何时训练完成。即使你对对抗性 grokking 不感兴趣,只想知道训练第一阶段何时发生,可以观察这个指标,寻找何时进入平稳期。
到达第一个平稳期时,就知道可以在这里停止训练。此外,从未计算过训练或测试准确率。所以,一个表征分区几何形状的近似指标,实际上就是理解网络所处阶段,以及是否需要停止训练,或更改超参数、网络结构等所需的一切。事实上,这是有些人以前一直在使用的。UT Austin 的 Atlas Strong 的论文展示了,通过查看分区统计信息进行神经结构搜索(neural architecture search)。
这些信息足以进行神经结构搜索,获得好模型训练。
采访者: 很有意思。为什么神经网络倾向于首先学习低复杂度、低频特征?
Randall Balestriero: 这是个好问题。
关于这一点,有很多相关研究,例如,隐式偏差或简单性偏差,只是试图首先学习最简单工具,比如虚假相关(spurious correlation)。这是人们试图对抗的,因为你当然认为学到了好方案,但实际上只是学到“捷径”方案,一旦部署模型,可能会在之后陷入糟糕境地。这是活跃研究领域。
某些情况下,可以解释为什么这样。
例如,通过重构学习,另一篇论文展示了,这种偏差来自数据集,因为简单性偏差被转化为:图像哪些频率有最大梯度信息。结果证明是低频部分,可以证明为什么通过重构学习表示时会这样。但一般情况下,这仍是开放问题,网络结构隐式偏差、训练方式,甚至批归一化、数据增强等因素,都交织在一起。
采访者: 你暗示,高复杂度特征不太可能是“捷径”特征。这种直觉是什么?
Randall Balestriero: 至少对感知任务,可以证明,观察高频特征时,视觉上会观察到更少虚假相关,例如,背景和图像中实际物体之间的虚假相关,因为信息不存在于图像高频部分。自然地,因为移除了它们,如果在过滤后图像上训练,当然会消除网络学习“捷径”方案的机会。它将不得不集中于物体实际形状。
我试图分类,而不是简单判断,“背景是草地还是海滩?”然后据此判断图像中物体。
采访者: “涌现”这个术语经常出现,有点含糊。人们谈论 grokking 时用到,有时被高估,因为使用了对数图,grokking 并不像人们认为的那么短暂。但是,使用“涌现”这个词有意义吗?
Randall Balestriero: 对我而言,有意义,因为它是一种自行发生的现象。不像达到训练第一阶段后,主动改变学习率或正则化器,让它发生。你什么都没做。
继续训练,突然,新特性自行出现。所以,“涌现”非常适合描述这种现象,只要我们不主动做任何事情让它发生,它就会自行发生。
采访者: 很酷。我再看看这个图,显示了蜂窝或拓扑图。这是好例子,显示了样本间清晰分区。
但我想知道,有没有更复杂例子?未来有没有可能出现“元分区”方案,让分区更粗糙?
Randall Balestriero: 完全正确。我想,从这种理解中,我们知道想要得到什么样分区。那么问题是,如何在网络中强制实现?
有没有方法,通过模型参数化、正则化或之前提到的剪枝,来强加?逐渐地,一旦理解了,需要什么几何特性?它如何转化为权重参数?现在我们处于一个阶段,可以说,能推导出一种方法,主动达到这个阶段,且更早。再次强调,通过样条分区,这比仅仅把网络 f 视为黑盒模型直观得多。
因为看到图像,你说,“想增加区域半径”。甚至可以精确指出哪些单元对每个分区边界负责。所以知道需要剪枝哪些单元,让区域变大或变小。所有这些都绑定在一起。
因为有了这种理解,对网络采取行动更快达到这个解决方案,就容易多了。
采访者: 我们继续谈谈对抗鲁棒性。你实际上证明了,你在以一种最优方式做这件事。你能解释一下吗?你认为这对整个领域意味着什么?
Randall Balestriero: 这很有趣。这里有很多问题。首先,这里没有使用强正则化。之前很多结果可能是在强正则化设置下得到,那么可能无法获得通用鲁棒性,或更难获得。
这里展示了新方式,人们可以尝试不同看待这个问题。但好处在于,我们不做对抗训练。因此,不会过度拟合鲁棒性到特定类型攻击。某种意义上,这也和过拟合有关。
用对抗样本训练,会过度拟合鲁棒性到这种特定对抗攻击。也许仅仅因为过拟合机制,对另一种攻击更敏感。但这里不做对抗训练。鲁棒性自然出现,因此没有理由认为会过度拟合到任何特定攻击,因为它在训练中没使用。
因为这是隐式、自行出现的,根据定义,会比人们之前使用的、主动获得对抗鲁棒性的方式更通用。我想这打开了新大门,尝试再次看看这些结果,看看是否有一种新方式,或新折中方案,通过这种隐式出现获得。
采访者: 祝贺这项了不起的工作。向 Imtiaz 表示敬意。你们一直推动这项工作,很高兴你们终于向世界证明了样条理论的重要性。
Randall Balestriero: 好的一点是,所有结果不特定于视觉领域,或特定网络结构。这是样条优点,网络是样条,不管数据模态、输入维度是什么。无论获得什么洞察力,都会在很多应用中转移。推导出新东西,或发表新论文时,不仅仅解决一个问题,而是解决一整类问题。这是理论理解的力量,做一个证明,对很多人有用。这很高效。
采访者: 人们可能认为,“样条理论只是在谈论多层感知机(MLP)”,但我想让大家明白,每个神经网络技术上都是 MLP。无论是 Transformer,每个自注意力层(self-attention layer)都有 MLP,无论是图卷积神经网络(Graph Convolutional Neural Network)还是别的。它都是 MLP。
Randall Balestriero: 完全正确。考虑卷积,可以看作是具有循环块循环矩阵(circulant block circulant matrix)的 MLP。只是受约束参数,但仍有相同的... 整个网络由交织的仿射映射和非线性组成,对所有当前网络结构都是这样。事实上,在另一篇论文(极性论文,控制生成样本质量和多样性)中,我们展示了,可以使用样条公式和结果改进巨大网络结构上的最先进结果。
这不是只适用于玩具例子或小维度设置。这确实能给你答案,以及可行方案,对于最先进模型,跨越各种模态。
采访者: 我们继续讨论你的下一篇论文。《通过重构学习会产生对感知无用的特征》。
Randall Balestriero: 是的。
采访者: 这篇论文讨论的是重构(如自编码器,autoencoder,重构图像,计算原始和重构图像间均方误差)和另一种方式(所谓对比和非对比模型,观察潜在空间差异)的区别。
Randall Balestriero: 是的,没错。请介绍一下这篇论文。
Randall Balestriero: 这篇论文中,我们试图对一些经验观察到的现象给出答案和解释。其中两个现象是,如果通过重构学习表示,得到的表示是好基线,但不是最先进的,需要微调才能提高质量,适应下游任务。第二个观察是,表示解决任务的质量,与重构样本好坏不一致。通常,即使重构样本看起来很好,仍需继续训练很长时间,表示才能对感知下游任务有用。
这两个观察存在一段时间了。关键是,能不能解释为什么?也许由此,以后推导出更好方法。主要结论是,因为重构方法在输入空间(图像是在像素空间)使用均方误差,大部分梯度信息来自图像低频部分,而这些特征对感知任务没用。这里有好例子,观察低频、高频特征编码了什么信息,可以容易看到,低频不足以判断图像属于哪个类别,但高频足够。
这种来自数据集分布和特征谱的偏差,是自编码器会复制的。但因为它有偏,和下游任务不一致,所以得到表示是次优的。
采访者: 图中右侧显示了神经网络首先学习的特征。
Randall Balestriero: 是的。
采访者: 它们“质量”更大,所以占主导。然后高频特征才被学习。能解释一下吗?左边图像是高频特征,容易识别。左边是低频,只是模糊。
Randall Balestriero: 完全正确。图中看到特征值分布。右边是对应低频特征的,特征值最高。图像大部分能量在这里。
可以证明(我们在论文中做的),这将主导梯度信息,因此,这是自然首先学习的。这带来均方误差最大减少。某种意义上,可以问:如果有一个频率带来均方误差最大减少,是哪个?答案是低频。正因如此,且因为进行梯度下降,显然,会首先学习这个。
这很自然,因为只是试图复制数据集中已有的偏差。所以首先学习低频特征。然后如果训练时间足够长,且自编码器容量足够,将开始学习高频细节,振幅小得多,梯度信息少得多。所以只有那时,才会学习到对解决感知任务有用的特征,因为这些特征,即使肉眼观察,也能看出包含可用于判断图像类别的信息。
采访者: 人们开始使用重构(如自编码器),只是因为它容易。
Randall Balestriero: 是的。
采访者: 但它会“拾取”数据集偏差,因为很多数据集被低频属性主导。但它特定于数据集,可以添加噪声解决。
Randall Balestriero: 是的,完全正确。它是特定于数据集的,因为正如看到的,试图模仿数据集特征谱偏差。但特征谱会根据是否有背景、图像中是否有不同平移、有多少类别或物体而不同。所以这种偏差,或重构和感知特征间不一致,特定于数据集。数据集越简单(如 MNIST、SVHN),两任务越一致。
某种意义上,图像每位信息都对重构和感知有用,因为没有背景、讨厌变量、噪声。所以学会重构,就学会识别。但转向真实图像时,情况不同。
具有更高分辨率、颜色、背景、多种类物体(如 ImageNet)的图像,一致性会很糟糕。所以这是特定于数据集的。正如你所说,现在人们使用掩码自编码器(masked autoencoder),是去噪自编码器(denoising autoencoder)不同版本,有不同噪声策略。不仅将原始图像作为自编码器输入,尝试重构。而是添加噪声、扰动,然后尝试重构原始图像。
试图“去噪”,消除噪声分布。去噪自编码器中,通常使用加性各向同性高斯噪声(additive isotropic Gaussian noise)。但在掩码自编码器中,掩盖图像大部分区域或大块。有不同类型噪声策略。论文中展示了,可以“玩弄”噪声策略,尝试抵消数据集中偏差。
某种意义上,试图告诉网络,“我知道你试图模仿这种偏差,但让我让学习在这个频谱这部分,或这些类型特征上,更困难,这样你就可以专注于另一边,可能对下游任务更好”。通过仔细调整噪声分布,可以尝试重新对齐通过重构学习和学习感知特征。但这是主动过程。某种意义上,如果事先没有标签,怎么进行?
这是个大问题,未来研究方向之一是,如何自动设计噪声分布?
采访者: 可以设计噪声频谱,优先专注于低频特征。
Randall Balestriero: 例如,如果告诉我,“对于下游任务,我知道应专注于哪种频率,哪些无用”。
仅仅从这个信息(不需要标签,但需要“弱监督”),就可以反向生成,找出噪声策略,这样通过重构学习表示时,不会编码无用特征,只专注有用特征。但这需要先验专家知识,并不容易。这里,对于感知,我们展示了,这很容易。
专注更高频细节,而非低频,会得到更好表示。但如果有另一个下游任务,如深度估计,或计算图像中树木数量,是否仅仅是高频和低频问题,就不清楚了。一般情况下,根据下游任务,可能很难定义对你最有意义的噪声策略。而且需要能实现这种噪声策略。
如果太复杂,过于复杂,且大大减慢训练,就无法在实践中使用。
采访者: 结论是,如果使用重构损失,会继承一堆数据集偏差,在下游带来麻烦。因此,应使用“对比”方法。需要复习一下这是什么意思。它是如何工作的?
Randall Balestriero: 大多数“无重构”自监督学习方法中,观察原始图像不同“视图”。可能是因为应用不同数据增强,或提取视频中相邻帧,或对同一建筑有不同视角。然后试图让输入图像通过网络,比较它们在嵌入空间表示,让它们对所有“视图”获得相同表示。
这也是一种比较,但发生在嵌入空间,而不是尝试重构原始图像,将重构与原始输入比较。
采访者: 这里的直觉是不是,训练好神经网络达到成熟后,倾向于专注高复杂度信息?所以免费获得。比较潜在空间时,实际上有点专注于想要的表示类型。
Randall Balestriero: 是的,完全正确。因为在嵌入空间工作,可以忽略很多不需要的输入图像细节。当然,这取决于如何定义数据增强,如何进行“正样本”采样。但忽略细节容易得多,因为不是试图与原始像素空间图像比较(从均方误差角度)。
仅仅因为这一点,能忽略无用信息,因此更容易控制网络专注哪些特征。相反,如果尝试重构,唯一能说“不想专注树叶”的方法,就是尝试提出新损失函数,让它对细节“不变”。但这本身是巨大研究项目,也许没有简单或易处理方案。这就是为什么在嵌入空间工作是非常好、有效的“代理”,可以继续使用均方误差,但在新空间中,容易忽略输入信息。
采访者: 我们来谈谈第三篇论文,《表征大型语言模型几何有助于解决毒性检测和生成》。
Randall Balestriero: 是的。
采访者: 请简要介绍。
Randall Balestriero: 这篇论文有两个关键组成部分。其中一个,回到样条曲线,观察单层大语言模型,可以看到,可分解成两大块。有多头注意力(multi-head attention),然后是 MLP 模块。对大多数当前大语言模型结构每层都是这样。单独观察每层 MLP 模块,可解释为样条曲线,无论使用 ReLU 还是 Swish 激活。从样条曲线视角看,这是相同的。
可以尝试理解,能不能表征给定提示(prompt)所处区域?这是纯粹几何表征。区域是大是小?有什么几何特征?由此,推导出七个简单特征表征。
这是每个 MLP 模块七个特征。与层数线性增长,但特征总数很少。例如,即使 700 亿参数模型,大概只有 500 个特征,就完全表征给定输入提示。然后我们说,这些特征是否对提示有信息量?我们发现,即使做简单可视化(如 t-SNE,t-distributed Stochastic Neighbor Embedding),即无监督降维到二维,观察特征分布。可以看到它们聚类,例如,基于提示模态。即提示来自哪个数据集?关于数学、法律还是医学?仅仅基于此,自然地,特征已根据提示模态聚类。
这是自然得到的结果。对于毒性检测,也可以看到,如果提示有毒性,或没有,会得到不同特征簇。这很有趣,因为它表明,通过表征分区和提示所处区域几何,突然间,已经可以对提示内容有很强表征。这可应用于任何预训练大语言模型。不需要专家知识。
提取特征并用于不同下游任务,很容易。可作为输入,输入到线性层。如果想在毒性检测方面做其他事,可以尝试训练模型,从特征中预测想要的任何量,会得到很好基线。
采访者: 这是另一个好例子,现在很多人进行无监督表示学习时,观察向量空间。没有观察几何形状(分区边界)。这是样条理论如何真正帮助我们的另一个好例子。你创建了一堆特征,从统计学角度描述几何。其中一个特征可能是,与边界平均距离,或类似。
Randall Balestriero: 完全正确。这些特征本身... 对它们进行 t-SNE 可视化。会发现效果很好,但也可以构建线性探针(linear probe)。只是简单线性分类器,或随机森林(random forest)。这些特征比其他任何都更具信息量。
我们比较的是 Hugging Face 上下载最多毒性检测模型。将这些模型与基线比较,提取特征,训练线性头进行毒性检测。我们发现,不仅能以同样低延迟预测,而且获得更好检测率。这是非常有竞争力的方案。
这很好,因为可以重用预训练模型,控制或使用特征进行下游任务。这里是毒性检测,但可以应用到任何任务。这带来的好处是,推导特征容易,因为假设对模型一无所知,每层都有表示,可能是 4000、10000 维。每层,每个 token 都有。所以不知道如何理解。
不能简单说,“提取所有表示,连接在一起”,因为有百万维提示表示,这意味着如果想学习线性探针,将需要大量使用正则化、特征选择。这很麻烦。但这里,因为有样条曲线直觉,知道如何推导出最具信息量特征表征提示。因此,只得到几百个特征,即使只有几个样本用于下游任务,也能学习线性探针。
采访者: 这太不可思议了。我在看你的结果,最著名毒性检测模型(omnitoxic 数据集),Martin Hart,上个月被下载 120 万次。它的 ROC 曲线下面积(AUC, Area Under the Receiver Operating Characteristic Curve)大概 73.5%。而你的模型,仅仅使用线性探针,在 Llama 2 7B 模型上,达到 99.18%。你的延迟与最好模型相当。
Randall Balestriero: 完全正确。这种方法好处在于,因为逐层提取特征,可以控制延迟和准确率间权衡,例如,只使用前三层特征。
获得低延迟,仍保持好准确率,但可以通过使用更多层提高准确率,同时增加延迟。或想进一步降低延迟,只使用第一层或前两层。也许会损失一点准确率,但进一步降低延迟。可以控制想用多少特征,真正有权衡,而不是像当前方案(“重新训练新大语言模型,将毒性检测视为新任务”)。因此,需作为“黑盒”检测器使用。
人们应该研究样条统计。例如,Anthropic 在 Claude's Sonnet 语言模型表示上,使用稀疏自编码器(sparse autoencoder),做了“旧金山大桥”实验。他们只是使用向量空间。如果使用样条特征,大概会更好。
Randall Balestriero: 完全正确。这种解释方式好处在于,可以做的不止毒性检测。正如这项研究中所做,可以用于数据过滤,或推导出,应该使用哪些提示,或不应使用哪些提示训练,或者甚至比较模型。可以尝试创建新大语言模型,在这些特征方面,与当前模型“正交”。有很多事情可以做,因为特征可微,意味着可在训练中使用。
突然间,它为很多事情打开了大门。这些特征可以快速计算,这意味着可以在每一步中,从一开始就用作额外正则化器,或额外训练目标。
采访者: 这很重要。之前谈论构建新正则化器。但正如你所说,特征可微。可以在很多方面使用。可解释性、鲁棒性、稀疏性... 训练动态很多部分都可用这些特征。
Randall Balestriero: 完全正确。可以作正则化器,甚至可用来尝试推导对抗攻击。回到第一个主题。因为可微分,可以说,“能不能用它操纵提示,例如,让它看起来更有毒性,或更少毒性?”
或可以做很多事情,因为有可微性。这是很好属性。
采访者: 论文第二部分,观察与提示相关的内在子空间。能介绍一下这部分吗?
Randall Balestriero: 第一部分是理解 MLP 模块,看看能从这种几何理解中做什么。大语言模型层另一部分是多头注意力。这里尝试理解,这是谁在几何上表征给定输入提示?
推导出这个好标量“代理”,它是提示所处空间的内在维度(intrinsic dimension)。简而言之,可推导为获得的注意力中稀疏性的函数。由此,容易看到,当前训练提示有内在维度分布,因此,可尝试创建有增加或减少内在维度的新提示。
当然,可能会先验地认为,“这很有趣,但能用它做什么?” 论文中发现的一个应用是,如果人为增加内在维度,使其看起来像远离训练数据的点,那么也许那是大语言模型没有经过 RLHF (Reinforcement Learning from Human Feedback,从人类反馈中强化学习)的地方。所以可绕过 RLHF 机制,让大语言模型生成有毒内容。
这很自然,因为防止有毒生成的方式,只是在训练中。试着说,“不要在这里说这个,不要在那里说那个”。但能外推吗?
这是个开放问题。这里展示的是,一旦通过这种对内在维度操纵,探索空间中训练期间没使用过的新部分,就可以让经过 RLHF 的大语言模型生成有毒答案。如果使用正常、原始的提示,它会说,“我不能说这个,因为这不允许我说。”
采访者: 这太有趣了。所以这里有一个主题,我们一直在讨论的是,在网络训练动态和表示中,存在一种“复杂性”谱。你有这张图,展示了上下文长度和内在维度之间存在相称关系。我认为一种更好的解释方式是,这是表示的复杂性。
Randall Balestriero: 是的。
采访者: 现在,RLHF 目前有一个“复杂性”上限,这意味着它只能处理低复杂度表示,或内在子空间小的。所以当上下文长度很长时(这与我之前和多伦多大学学生进行的访谈有关,他们提出“自注意力可控性定理”,基本上说,随着上下文长度增加,可控性增加,意味着可以让语言模型说任何话),这与你正在“移动”,增加表示的“内在复杂性”有关。
Randall Balestriero: 完全正确。因为考虑一下,处理的维度空间越高,控制大语言模型做什么或不做什么,就越困难。因为这意味着真正控制它所需样本数量,会指数级增长。
除非对如何进行这种参数化,有“智能”参数化方案,这样可以从几个样本中学习外推,但这不是目前进行微调的方式。正如你所说,当增加上下文长度,还增加 token 间相关概念时(产生非稀疏自注意力掩码),就进入了以前从未见过的空间部分,且空间维度很高。所以,创建大语言模型的人,不太可能控制那里发生的事情,因为只是在这个高维空间中,没人能保证任何事情。
采访者: 这是可操纵性、对齐(alignment)、可解释性等的大问题。我之前和 Nora Belrose 交谈,她在谈论“概念擦除”(concept scrubbing)。可以从神经网络“擦除”概念,这在训练早期效果很好。但随着网络复杂性增加,它会“适应”,抵消“概念擦除”。
所以我们面临真正问题,随着神经网络复杂性增加,无法再控制发生的事情。
Randall Balestriero: 完全正确。通过自己对数据采取行动,找到解决方案,非常困难,因为,基于我们的视角和学习方式,有些东西可以认为,“从数据中删除信息,认为这就是需要做的”。但实际上,因为存在很多... 我们在高维空间。不同输入维度间,发生很多事情,也许概念仍嵌入数据其他部分,如果是好“捷径”方案,网络能找到。
这就是需要小心直觉的地方,通过视觉检查和二维推理,可能无法扩展到进入真正高维空间的情况,因为很多其他事情发生,网络会注意到。这就是为什么非常需要可证明解决方案,因为需要了解网络试图学习什么,或从几何上控制,防止学习“捷径”方案,还要保证,“现在达到这个阶段,可能有一个安全模型”。但不能仅仅通过对数据集采取行动,或仅仅是经验性的,因为正如展示的,总能找到方法进入空间中以前从未见过的新部分,仅仅因为空间巨大。如果想真正拥有可证明保证(对于 RLHF 外推),需要有更好参数化,或对网络更好控制。
采访者: 这个“越狱”(jailbreak)的例子,我想你只是输入“888888...” 设置很长上下文长度,然后突然,就让提示不受 RLHF 影响,因为 RLHF 有“复杂性”上限。
某种程度上,你“复杂化”了提示。现在超出 RLHF“可控”范围。这是大问题。能对 RLHF 做些什么解决?
Randall Balestriero: 完全正确。一件事是,这种“越狱”不特定于某种大语言模型结构,或某种大语言模型设置。论文中展示了与 Llama、Llama 2 有关的例子。但例如,我们用 ChatGPT 实验,也得到相同结果。所以它似乎不特定于网络结构,或 RLHF 实现方式。
这里有根本问题,就是如何在高维空间控制深度网络行为,无法访问所有地方。一种看待方式是,能不能找到更好网络参数化,这样,仅仅从几个例子学习,就可以在空间许多其他部分泛化或外推?
这是关于找到正确模型参数化,或正确方法(这种情况下是 RLHF)。但这是巨大问题,与一般“外推”有关,以及如何处理高维数据,如何自动控制模型在空间中任何地方行为(仅仅从几个训练样本)。一种“攻击”RLHF 方式是,增加上下文长度。但增加攻击成功率的方式,实际上不仅是添加带随机 token 的额外上下文,而是添加相关概念。
因为在添加的 token 中存在相关概念,那么注意力稀疏性会降低,因此,“越狱”RLHF 机制机会大大增加。
这些攻击不容易检测到。例如,如果只是预先添加很多次“aaaa”,也许容易保护模型免受这种情况。但如果只是添加与有毒提示相关的、自然英语句子,就很难检测。因为它像普通英语,正常句子。
但这仍能“越狱”RLHF,甚至比仅使用随机 token 成功率更高。所以,在理解添加与当前提示相关上下文,或只添加随机上下文间关系,以及所有这些因素如何相互作用方面,还有很多工作要做。这也是很大未来研究问题。
采访者: 你在 Meta AI (前 FAIR) 与 Yann LeCun 密切合作多年。现在在布朗大学。未来一年研究计划是什么?
Randall Balestriero: 我的研究计划是,尝试增加我们在当前学习方案中拥有的可证明保证数量,无论处理文本、计算机视觉,还是多模态数据。需要更深入研究所有幕后发生的事情,如训练动态、公平性、从数据学习到的偏差,反思我们一直在做的基本事情,如正则化,或仅仅是训练,这样可以控制这些因素,为用户或从业者提供可证明答案。
有很多事情要做,因为现在,我们什么都不质疑。事实证明,如果想在这个领域取得进展,需要重新质疑正在使用的大部分方法。
当然,这可以采用使用样条曲线形式,但也可以使用很多其他工具。但目标是,无论何时,当方法不起作用时,需要能给出精确答案,不仅仅是说,“尝试另一个超参数,两天后再来”。所以可以做的一切,来拥有有用理论、可证明保证,且易于处理,可应用于行业规模问题。这就是未来几年努力方向。
采访者: 你和 Soham De、Dan Roberts 合著了深度学习理论书籍。你对深度学习其他理论,有什么广泛看法?
Randall Balestriero: 有很多理论,其中很多都有实用见解。
例如,Greg Yang 的论文,他们展示了,从训练动态和当前网络中发生事情的理论表征出发,可以在小型网络上交叉验证。然后,根据找到的超参数,知道它会... 有规则外推,这样也是使用更大模型时,最好超参数类型。所以有很多这样实用东西,来自深度网络理论研究。我认为现在缺少的是,一些每个人都能轻易获得的东西。
很多当前深度学习理论研究,需要大量数学背景,对于没有获得数学博士,或至少数学学士、硕士学位的人,不容易理解。这就是为什么我喜欢样条公式,因为可以取得进展,即使只是通过对模型进行视觉检查。这就是为什么我总是尝试,不仅仅为理论而做理论,而是让任何阅读论文的人,都能从中学习,并在明天训练出更好模型。这是我试图关注的,并使它容易被人们接受。
但有很多不同深度学习理论观点,每种都试图提出新方案。现在我认为需要尝试将所有内容整合到一个独立、独立于模态、独立于网络结构,且每个人可访问的理论体系中。
采访者: 你会在明年和 Ellie Pavlick 发表论文吗?
Randall Balestriero: 这是我们的希望。
采访者: 我是 Ellie 的忠实粉丝。她目前正在研究大语言模型中的否定(negation)。
Randall Balestriero: 和她交谈很有趣,因为她思考语言方式,以及我们如何学习、大语言模型如何学习,以及能从中学习什么,这很有趣,与尝试使用样条曲线解释大语言模型,非常互补。这就是为什么我认为明年,与她的合作会富有成效。
某种程度上,这就是 ICLR(International Conference on Learning Representations,国际学习表征会议)的好处。让我对今天谈到的论文着迷的是,你有深厚背景,进行自监督学习和视觉模型等研究。我们谈论主题是,在表示和训练动态中,存在“复杂性”谱。你将它应用到 RLHF 中,很有趣。
这似乎是稍微不同领域,但科学就是关于重用不同领域知识,进行“交叉授粉”。
Randall Balestriero: 完全正确。我认为在一个模态中获得的直觉,真的会转移到其他模态,只要没有过度拟合到特定网络结构、特定观点。这就是样条曲线优点。因为样条曲线,无论模态如何,都会发生,无论对样条分区获得什么洞察力,都会在数据集间转移,无论是图像、文本等。这就是这篇论文全部内容,这是好例子。有 Sarat 和 Romain,他们来自大语言模型专业知识,我来自样条曲线视角。
我们一起,很容易提出这个方案,因为一旦获得直觉,一切都可转移。这就是为什么,人们不应害怕探索新维度、新数据模态,甚至新网络结构。这实际上是如何获得最好洞察力的方式,这些洞察力最终会互补。
采访者: 如果人们想了解更多样条理论,你会建议他们去哪里?
Randall Balestriero: 这是好问题。我想最好看看最近与 Rich、Imtiaz 发表的几篇关于样条曲线论文。有些不同论文,重点是用于长时生成模型,使用样条曲线进行不确定性量化(uncertainty quantification),或这里用于大语言模型,尝试找到一篇最接近他们当前专业知识的,这样不会有太多东西需要一次性学习。所以只需尝试学习样条分区等。然后联系我们,随时发邮件,在 Twitter 上留言,因为如果看 20 世纪 80、90 年代论文,样条曲线可能晦涩,因为他们思考方式非常不同。
不要试图看 30 年前关于样条逼近和逼近率的论文,因为它会让你更困惑。首先,看看图表,看看当前论文,然后如果有问题,联系我们。
采访者: 还有一个额外问题。最近,Kolmogorov-Arnold Networks (KANs) 引起关注,它们也是一种样条曲线方法,不是吗?
Randall Balestriero: 完全正确。他们试图提出一种当前 MLP 替代方案,在网络结构中“硬编码”了一些样条激活函数。这是好例子,说明如何使用先验知识,定义网络结构,非常适用于某些特定问题。
我想他们研究的大多数问题,都是小规模和低维。这就是需要真正专家知识,设计分区应该是什么样,使用什么类型样条曲线,才能从小训练集获得最好结果的地方。样条曲线是好方法,因为几何形状视觉上可解释。可以看到需要什么。如果“硬编码”大部分这些,意味着需要更少训练时间、更少训练样本,真正学习有意义东西。
这也是样条曲线有用的领域。如果你是领域、数据领域和下游任务专家,可以尝试将此转化为几何属性,样条曲线提供好方法做到,且实际上将此付诸实践,创建新网络结构,获得新模型。
采访者: Randall Balestriero,非常感谢你。
Randall Balestriero: 彼此彼此,感谢邀请。
来源:信息趣话坊