您想知道的人工智能干货,第一时间送达
版权声明
转自Andy730,版权属于原作者,用于学术分享,如有侵权留言删除 主题:A first-principles approach to understanding deep learning
演讲者:Yasaman Bahri, Research Scientist, Google DeepMind
链接:https://www.youtube.com/watch?v=7UQNHPAAaNk
日期:November 15th, 2024
主要内容
主题一:神经网络与高斯过程的理论联系
核心内容:
大宽度极限与高斯过程(GP):演讲阐述了深度神经网络在宽度趋于无穷大时,可通过中心极限定理简化为高斯过程(GP)。网络初始化的随机权重和偏置导致输出分布趋向高斯分布,其特征由均值(通常为零)和协方差函数(核函数)刻画。
核函数的组合性与非局域性:由神经网络导出的GP核函数具有递归结构,反映网络的层次化计算。与传统GP核(如径向基函数)不同,这些核函数具有组合性,能够捕捉复杂层次特征,且为非局域性,支持输入空间中远距离特征的相关性建模。
贝叶斯推断能力:在大宽度极限下,神经网络可通过GP方法实现精确的贝叶斯预测,基于数据集可解析地计算预测均值与方差,支持不确定性量化和边际似然估计,为模型设计提供理论依据。
架构普适性:这一GP对应关系适用于多种神经网络架构,包括全连接网络、卷积神经网络(CNN)、残差网络、注意力机制模型(如Transformer)以及图神经网络。每种架构生成独特的核函数,其性能依赖于架构的归纳偏置与数据特性。
工具与应用:Google开发的Neural Tangents库(基于JAX)为实现和比较这些核函数提供了便捷工具。实证研究表明,神经网络导出的GP核在基准数据集上常优于传统GP,尤其在低数据场景下表现突出。
观点与意义:
理论洞察:GP对应为理解神经网络初始化和优化动力学提供了理论框架,推动了机器学习中关于网络参数化的研究,探索如何在有限与无限宽度之间权衡。
低数据场景优势:在数据稀缺的科学应用中(如物理模拟、生物信息学),这些GP核因其组合性和非局域性,提供了比传统GP更强大的替代方案。
有限与无限模型对比:有限宽度神经网络在数据充足且架构归纳偏置强(如CNN在视觉任务中)时,通常优于GP核;但在数据受限或归纳偏置较弱(如全连接网络)时,GP核表现可媲美甚至超越有限网络。
实践启发:Neural Tangents库的开发降低了GP核的实现门槛,助力研究者系统比较有限与无限宽度模型,优化模型设计。
主题二:深度学习的规模定律
核心内容:
经验规律:模型性能(以测试损失衡量)随训练数据量(D)、模型规模(N,如宽度或参数量)及计算资源(FLOPs)增加而单调提升,通常呈现幂律行为,部分场景下(如大语言模型的上下文学习)可能出现S形或突变式提升。
缩放机制:理论研究将缩放分为不同机制:
数据流形与核谱:分辨率受限机制的幂律指数与数据流形的特征相关,特别是训练数据上核矩阵的特征值谱。实数据常呈现幂律衰减的特征值分布,指数随任务复杂度(如图像分辨率)变化。
资源分配优化:在固定计算预算下,存在数据量与模型规模的最优平衡。过小的模型无法充分利用数据,过少的数据则限制模型潜能。
数据选择策略:策略性选择训练数据子集可突破标准幂律,带来超幂律(如S形)性能提升,尤其在低数据场景下对科学应用(如昂贵模拟数据)意义重大。
观点与意义:
评价视角:模型选择不应仅关注当前性能,而应重视性能随数据或模型规模增长的改进速率(缩放指数),这在可获取更多数据的科学场景中尤为重要。
数据效率对比:有限宽度神经网络因能根据数据调整基函数,在高数据机制下缩放效率高于固定核;但在低数据机制下,GP核因其稳定性更具竞争力。
科学应用潜力:规模定律为资源受限的科学问题提供了指导,强调通过优化数据选择和模型设计提升效率。
开放挑战:数据子集选择的最优策略仍需探索,尤其在结合领域知识(如物理先验)时,如何系统设计启发式方法是未来方向。
主题三:物理学视角下的深度学习
核心内容:
统计物理框架:演讲借鉴统计物理方法(如平均场理论、精确可解模型)解析深度学习,大宽度极限分析类似平均场近似,随宽度增加趋于精确。
历史渊源:神经网络与凝聚态物理存在历史交集,2024年诺贝尔物理学奖表彰了相关工作,凸显无序系统与神经网络的相似性。
科学应用案例:深度学习在科学领域的成功案例包括AlphaFold(蛋白质结构预测)、神经网络优化的密度泛函理论(DFT)泛函,以及大语言模型在科学推理中的应用。
观点与意义:
学科融合:物理学方法为揭示神经网络内部机制提供了第一性原理视角,打破其“黑箱”形象,与依赖经验的“炼金术”式机器学习形成对比。
科学启发:这些理论洞察可指导科学家在数据驱动研究中优化实验设计和模型选择,尤其在数据稀缺的领域(如材料科学)。
双向赋能:物理学与机器学习的交叉不仅深化了对神经网络的理解,还为物理学问题(如凝聚态研究)引入了新的计算工具。
主题四:当前挑战与未来方向
核心内容:
理论滞后:尽管深度学习在应用上取得成功,但对其学习内容及大模型优越性的理论解释仍不完备。
过拟合悖论:传统统计学认为参数过多会导致过拟合,但神经网络随规模增大性能提升,规模定律通过数据-模型交互提供了部分解释。
数据选择难题:在数据稀缺的科学场景中,如何通过领域知识(如物理守恒定律)优化数据选择以提升缩放效率,仍是开放问题。
观点与意义:
原理驱动设计:通过GP对应和规模定律等洞察,未来模型设计应更依赖理论指导,减少试错成本。
跨学科机遇:物理学与机器学习的深度融合为解决科学问题提供了新路径,尤其在数据受限场景下,领域知识的融入将显著提升模型效率。
研究方向:优化数据选择策略、精确定义模型-数据对齐度、以及探索非幂律缩放行为(如突变式提升)是未来重点。
基于第一性原理的概述
本次演讲的主题是基于第一性原理理解深度学习。我不会特别聚焦于物理科学领域的具体方法,而是希望提供一个综述,介绍我的一些工作,以及更广泛地,面向使用数据驱动方法的科学家,探讨如何在神经网络和AI的广阔设计空间中取得进展。这个设计空间中有许多可调参数(knobs)和选择,近期我们对其中一些部分的理解有所突破。我希望分享这些进展,期待它们能影响物理科学领域的研究。
大家都知道,机器学习和AI近年来在科学领域展现出持续的潜力,并取得了一些显著成果。例如,蛋白质结构预测中的AlphaFold模型、基于神经网络的密度泛函理论(density functional theory, DFT)泛函开发,以及日益大型的语言模型,这些模型在特定领域和特定问题类型中展现出一定的数学和科学推理能力。这些都是近几年大型模型带来的重大进展。
本次演讲将从一个不同的角度切入:我们对深度学习的工作原理以及如何设计模型了解多少?我认为,尽管取得了许多经验性进展(empirical progress),但在理论理解方面,我们仍远远落后。几年前,在一个主要的机器学习会议上,一位受邀演讲者曾著名地比喻,深度学习与其说是科学或工程,不如说是炼金术(alchemy)。模型设计往往以某种无原则的方式(unprincipled way)进行,设计者并不确切知道哪些方法会成功,哪些不会,也缺乏一些基本的设计原则。
神经网络作为模型的意外成功,促使我们提出新的问题,并重新审视过去几十年机器学习中的一些老问题。本次演讲希望探讨以下问题:
1. 我们能否明确神经网络实际学到了什么,如果它们确实学到了某些内容?这在某些特定条件下是可以解决的,且结果可能很有用。
2. 为什么参数越来越多的神经网络表现更好?行业中存在一个趋势,即模型越来越大,无论是宽度(wider)还是深度(deeper)。这与传统统计学的直觉相悖。作为科学家,当你考虑拟合数据时,参数越多,你通常会担心过拟合(overfitting)。然而,这一趋势完全违背了这种直觉。
3. 是什么控制了深度神经网络在数据量或模型规模增加时的性能增益?
神经网络与高斯过程
在第一部分,我想介绍一个我研究过的主题,我认为它对从事科学建模的科学家可能具有广泛的适用性。这涉及到神经网络与高斯过程(Gaussian processes)之间的一些对应关系。我不会详细描述高斯过程,但部分听众可能对其有所了解。这是一种与神经网络训练完全不同的建模范式。
为了说明问题,我们先考虑一个基本的神经网络。这种对应关系适用于多种架构,比如全连接深度神经网络(fully connected deep neural network)。它具有一定的深度 \( L \),表示计算的层数,以及隐藏层宽度 \( n \),表示在每一层并行进行的计算单元数量。我们可以将网络的计算描述为一个递归关系:函数 \( f \) 是输入数据 \( x \) 的函数,将前一层信号 \( f_{L-1} \)(也是 \( x \) 的函数)通过非线性激活函数 \( \phi \)、权重矩阵(weight matrices,网络的可学习参数)以及可能的偏置(bias)进行变换,构造出下一层的信号。这个过程在网络中逐层进行。
这种计算具有深度和宽度,宽度体现在对前一层所有隐藏节点(hidden nodes)或神经元(neurons)的贡献求和。一般来说,分析这种计算非常具有挑战性,因为它依赖于许多超参数(hyperparameters)。但在隐藏节点数量 \( n \) 很大的极限情况下,系统的描述会显著简化。通过中心极限定理或其他更严格的数学方法可以证明,在随机初始化的网络开始训练时,对大量随机变量求和会使得系统行为趋于高斯过程(Gaussian process)。
这类似于研究大型深度神经网络的统计物理,特别是在随机初始化时,描述网络刚开始训练时的行为。我稍后会谈到训练过程,因为这也可以很容易地扩展到训练阶段。这是一种均场理论(mean-field theory),在宽度趋于无穷的极限下变得精确。结论是,当网络宽度足够大时,神经网络的输出可以用高斯过程来精确描述,而高斯过程只需要均值函数和协方差函数来定义。这是通过低阶统计量进行的描述,计算起来相对简单且自然。
在网络逐层计算中,函数空间上存在一种递归关系。如果你要计算协方差函数,即 \( f(x) \times f(x') \) 对网络参数的期望,需要构造高斯过程的核函数(kernel function)。这个核函数同样满足一个递归关系:从初始层 \( f_0 \),可以计算核 \( K_0 \),从 \( f_1 \) 计算 \( K_1 \),逐层计算直到最终的核 \( K \)。这个协方差函数(或核函数)是两个输入 \( x \) 和 \( x' \) 的函数。
高斯过程需要一个均值函数和一个协方差函数。在本例中,均值函数为零,协方差函数则反映了经过一系列计算后 \( x \) 和 \( x' \) 的相似性。这个核函数的递归关系与神经网络的计算递归相对应,因为它继承了网络的层次化计算(compositional computation)。
这是高斯过程和核函数从神经网络中自然浮现的一种方式,它们具有独特的结构,因其组合性(compositionality)而区别于传统文献和教科书中的高斯过程。传统高斯过程通常由简单函数构造,缺乏这种层次化的组合性。
以上讨论的是随机初始化网络的行为,但一旦将其映射到高斯过程,且在宽度无穷大时描述是精确的(或在宽度足够大时是很好的近似),就可以轻松进行贝叶斯学习(Bayesian learning)。给定数据集 \( D \),通过高斯过程可以进行贝叶斯预测(Bayesian predictions)。教科书中已有明确的公式,描述模型在给定数据量下的预测结果。
例如,对于新输入点 \( x \),函数输出是一个概率计算,表现为一个正态分布,其均值和方差可以通过核函数和训练数据的线性代数运算解析计算。均值通过对训练数据目标值 \( y \) 和核函数的运算得到。对于每个神经网络,你可以计算其核函数 \( K \),在训练数据上应用它,像其他高斯过程一样进行预测。这成为了一种从无穷宽深度神经网络中获得精确贝叶斯预测的方法。
以图像化的方式回顾贝叶斯方法和高斯过程:未学习数据前,函数值分布具有某个均值和方差;学习数据后,函数在数据点附近的不确定性减少,与目标值 \( y \) 更匹配,而在数据稀疏的输入空间区域仍保留一定方差,因为需要更多约束来改善学习。
总结这一研究项目,我们针对不同神经网络架构(architecture zoo),在宽度无穷大极限下,推导出了对应的核函数和高斯过程。例如,我们最早的论文针对全连接神经网络,推导出核 \( K_{FC} \),其与全连接架构相关。我们也可以对卷积神经网络(convolutional neural network, CNN,常用于视觉问题)进行类似推导,这里的宽度定义为滤波器数量(number of filters),表示并行处理能力。类似地,注意力层(attention layers,语言模型的核心)、残差网络(residual networks,含跳跃连接,skip connections)以及图神经网络(graph neural networks)也有对应核。
这一映射有若干重要意义。我这里更聚焦于方法学的成果。一个直接结果是我们现在拥有了一组高斯过程和核函数可供使用。当时,这些核在性能上是最优的,优于传统高斯过程。例如,我们发布的全连接核和卷积核在当时都表现优异。原因在于它们是更丰富的核类,具有神经网络的层次化组合处理能力,而传统核(如高斯核或径向基函数核,radial basis function kernel)缺乏这种结构。
在方法学上,这意味着我们可以用这些核替代传统高斯过程。在理论上,这项工作催生了更多关于宽度无穷大极限的研究。社区已经能够精确求解该极限下的优化动态,并构造相关核来描述优化过程。这为理论研究提供了抓手。此外,这还催生了机器学习的一个子领域,研究如何正确参数化网络,包括层宽度和层数的设计,以接近或远离这一极限。
在方法学方面,谷歌内部有一个更大的项目,开发了一个库,支持用户轻松实现这些核和与神经网络层对应的功能。这个库基于JAX框架,称为神经切线库(Neural Tangents library),使用起来非常方便。你可以导入其神经网络库,定义一个神经网络,例如由权重矩阵和ReLU非线性函数(ReLU nonlinearity)组成的序列,同时获得核函数和实际的神经网络函数,训练它们并进行比较。
我们系统地比较了不同架构的表现,研究有限宽度神经网络(finite-size neural network)与无穷宽度核(infinite-width kernel)在不同数据上的表现。结果表明,哪种方法更好取决于架构和数据类型。这可能与你的直觉相悖,但在全连接神经网络的情况下,核在简单图像分类基准数据集上表现不错。原因之一是有限宽度的全连接神经网络并不是很好的模型。它们缺乏丰富的归纳偏置(inductive biases),也没有太多与现实世界相关的结构(structure relevant to the physical world)。无穷宽度网络拥有无穷多的基函数(basis functions),因此性能与有限宽度网络相当甚至更好。
我们发现,对于其他架构类,如卷积神经网络,因其结构更适合现实世界,有限宽度网络通常优于核,但前提是有足够的数据。现在行业已知的一个普遍趋势是,有限宽度神经网络在数据充足时表现很好,但在低数据量场景(low-data regime)中,核方法(kernel methods)可能更有优势,因为它们是特定的模型类。有限宽度网络与核方法在性能上的交叉点(crossover)取决于数据量。这是有了一一对应的无穷宽度模型和有限宽度模型后,通过系统比较得出的高层次结论。
当模型具有与现实世界匹配的丰富结构时,有限宽度网络表现更好,因为它能调整基函数以适应数据,而核方法无法做到这一点。
听众:对应的核函数有多少参数?这似乎是数据量的关键问题,能否评论一下?
Bahri博士:在可调参数方面,例如在这些简单设置中,高斯过程核的超参数包括权重方差和偏置方差,即两个常数,分别对应权重 \( W \) 和偏置的先验分布(prior)。我们测试的核通常是两个参数的核,然后通过调参优化性能。神经网络确实有更多的设计选择,我们也会对其进行调优。这就是神经网络需要更多数据的原因。
需要更多数据的原因似乎来自——理论上尚未完全理解,但经验观察表明,神经网络需要更多数据来大幅调整基函数以适应数据。这就是大致思路。
机器学习中的规模定律
现在我将转向一个更新的研究方向,试图理解机器学习模型(特别是大型神经网络模型)的规模定律(scaling laws),尤其是当它们规模很大时。我将对此进行概述。
在机器学习中,你可以调整一些基本参数(knobs)来优化模型性能:训练数据量(training data size,通常在科学应用中较小)、模型规模和训练时间。换个说法,你可以研究愿意投入的计算资源量,例如浮点运算量(FLOPs)。
如今,在超大型机器学习模型的时代,几年前的一些经验观察揭示了一个简单但有用的趋势:模型质量(以训练后的测试损失,test loss,衡量)随着问题中的任一变量(计算资源、训练数据量、参数量)的增加而单调改善(monotonically improve)。这些趋势有时(但并非总是)表现为幂律关系(power-law scaling),具有特定的指数。
其他例子,比如在大型语言模型领域,GPT-3的一个早期观察是,某些性能基准随模型规模或数据量的增加而单调提升。
但在其他场景或问题类型中,可能出现非连续行为(discontinuous behavior)。例如,一个观察是,如果你研究一个较小的模型,观察其准确率随上下文示例数量的变化——现在我们考虑语言模型,它们在某个预训练数据集上训练,但可以进行上下文学习。训练后,你可以给它们少量示例(few-shot examples)。这就是你与ChatGPT或其他大型语言模型交互的方式。你提供几个示例,观察性能随上下文示例数量的增加而变化。
有时观察到的是,如果你不断增加模型规模,存在一个临界点,性能随上下文示例数量的变化会表现出非连续行为。对于超大型(几乎荒谬大的)模型,准确率随上下文数据量的增加而改善,然后在某个点过渡到不同的斜率,但准确率值会显著提高。
这是模型设计者在当前大型语言模型或如AlphaFold这样的大型模型(拥有大量训练数据和超大规模)中常见的现象,与科学应用中的小规模场景有所不同。行业中进行了大量经验工作,试图找出缩放模型的最佳方式。
如果你有一定量的资源用于训练模型,例如固定的计算资源,那么如何分配这些资源——选择合适的数据量和模型规模——存在一个最优方式。这里有一个权衡。如果模型相对于数据量过小,你可能无法充分利用数据集的信息。反之,如果训练集相对于模型规模过小,你无法充分利用模型的丰富性,许多参数未被有效利用。社区一直在研究如何以计算最优的方式缩放模型。
我不会深入细节,但我们进行了一些理论工作,试图分析这些规模定律的成因,研究是什么控制了这些趋势?这对任何模型都很重要,即使在物理科学中。通常在物理科学中,你关注固定数据量下模型的质量。但在某些情况下,比如与实验人员合作,你可能随时间获得更多数据。那么,你选择的模型不一定是当前拟合最好的模型,而是改进速率较高的模型。这是一个新的评估指标,因为如果能获得更多数据或更大的模型,这样的模型可能更有潜力。
我不会详细讨论理论细节,但我们研究了损失函数(loss)随数据量 \( D \) 的变化,模型规模与神经网络宽度(width)相关。我们推导出了数据量 \( D \) 或模型规模的幂律关系,指数分别为 \( \alpha_D \) 和 \( \alpha_W \),它们描述了改进速率。
简单总结我们的发现,作为一个高层次经验法则(rule of thumb):当单独缩放数据量 \( D \) 或模型规模 \( n \) 时,会进入不同的缩放区域(regimes)。具体来说,如果有两个变量 \( D \) 和 \( n \),其中一个会成为缩放的瓶颈(bottleneck)。假设你处于数据量相对模型规模较小的区域(我们不知道具体常数,但大致如此),如果增加数据量,得到一个特定的指数 \( \alpha_D \)。我们称之为分辨率受限区域(resolution-limited regime),与数据流形(data manifold)的分辨率(resolution)有关。这个指数 \( \alpha_D \) 较为复杂,取决于数据和神经网络架构。我会举例说明控制幂律的因素。
同样的逻辑适用于反向情况。如果你有大量数据但模型规模较小,模型规模是瓶颈,缩放模型规模会得到指数 \( \alpha_W \),同样复杂,通常与数据流形的分辨率相关。如果你在其他区域(例如我表中的对角线区域),比如模型规模固定但数据量非常大,继续增加数据量时,改进速率的指数固定为1(\( \alpha = 1 \)),边际收益可能较小。反之亦然。
总结来说,你可以将数据缩放和模型缩放的二维空间划分为不同区域,理解这些区域的关联性,并分析控制缩放的因素。在某些区域,缩放与数据流形建模的质量直接相关。我们的经验结果表明,在对角线区域(\( \alpha = 1 \)),无论问题是什么,改进速率都相同。我们测试了不同数据集和模型,它们都以 \( \alpha = 1 \) 的速率改进。但在非对角线区域(其他区域),指数高度依赖于具体问题。
最后一点:这些非对角线区域的幂律与数据的幂律行为相关。这比我将要讲的更详细,但如果你研究前面提到的核函数,分析高斯过程或核方法的缩放行为,会发现它与核函数在训练数据上的性质密切相关。例如,假设我用全连接网络的核 \( K_{FC} \),想理解其数据缩放行为,这是一个更好理解的问题,可以精确分析控制因素。一个关键因素是核矩阵(kernel matrix)在训练数据上的特征值谱(eigenvalue spectrum)。
真实数据(与许多理论模型不同)的一个特性是其特征值谱呈现幂律依赖(power-law dependence)。如果我观察特征值 \( \lambda_i \) 随索引 \( i \) 的变化,会看到幂律行为,这取决于数据集的难度和核的结构。为了调整数据复杂性,我们对图像数据进行粗粒化(coarse-graining),从高分辨率逐渐降低到低分辨率。这会改变核的特征值谱,因为任务复杂度(例如解释高分辨率或低分辨率图像)发生了变化。
这表明模型的缩放行为以及某些区域的幂律依赖于数据流形,并且可以追溯到真实自然数据中的幂律特性(power-law data)。现实世界的协方差函数或核函数中存在这种幂律行为。
我将跳过一些预测细节。我们的理论有更多预测,但关键结论是我们观察到指数 \( \alpha = 1 \) 的区域,以及高度依赖问题的其他指数。例如,\( \alpha_D \approx 0.2 \),\( \alpha_P \approx 0.2 \)(在涉及预训练和微调的实际场景中)。
此外,缩放与数据流形的有效维数也有联系。我们实验发现,数据缩放指数 \( \alpha_D \) 与问题有效维数的倒数大致相关(\( \alpha_D \propto 1/d \))。不同数据集显示出这种粗略相关性,维数越大,问题越难,缩放指数越小。
其他一些经验观察可能对大家有兴趣:如果你研究模型缩放,修改任务会影响缩放。例如,给数据加噪声会增加任务难度,缩放曲线会上移且斜率变差,模型在该数据集上的效率显著降低。另一方面,如果任务与原始任务语义相似,效率通常不变,只是曲线上下平移。
你还可以研究同一神经网络家族内的架构差异(architectural differences)。例如,Wide ResNet模型可以调整深度或宽度,在真实数据集上观察缩放行为。结果表明,深度主要引起曲线的上下平移,而大幅增加宽度会导致更差的斜率。这与前面提到的核与神经网络的效率差异有关。较宽的网络更接近核行为,而核在数据充足时的缩放效率低于神经网络。
最后,一个新兴领域是如何超越固定的幂律缩放。已知如果你战略性地选择数据子集,可以打破幂律形式,获得类似sigmoid的改进曲线。这在小数据集上尤其有效,但在某个点会趋于平稳。这意味着在数据受限场景中,智慧选择数据或主动学习可能比随机采样更有效。如何实现这一点仍在研究中,但值得在数据受限场景中考虑。
总结与意义
总结本次演讲的两个部分,本次演讲聚焦于我们当前对神经网络和机器学习基础原理的理解。我想重申以下两点:
1. 神经网络架构与高斯过程:不同类型的神经网络架构自然衍生出高斯过程和富含组合性的核函数(compositional kernels)。这些核在低数据量场景(low-data regimes)中特别有用,传统上高斯过程和核方法常用于此类场景。如果你在研究中使用此类模型,值得考虑这些核与传统核(如径向基函数核)的对比,因为它们可能在你的应用中表现更好。
另一个未提及的区别是,这些核是非局部核(non-local kernels)。传统局部核(如径向基函数核)对特征空间中较近的输入赋予更大权重,但神经网络及其核是更强大的模型,因为它们支持在原始输入空间中差异较大的特征,在高维非线性空间中仍具有相关性。非局部性是这些核区别于传统核的另一个特性。它们在需要原则性不确定性估计或边缘似然估计的贝叶斯建模中非常有用。
2. 规模定律的视角:从只关注模型在固定数据量和模型规模下的表现,转变为考虑如果调整这些参数(knobs),哪些模型更高效。如果你能进入高效区域,这些模型可能是更好的选择。这是一种新的模型比较角度。此外,数据选择策略可以让你超越默认的幂律缩放,尤其在随机采样的情况下。
问答环节
Elon:求和形式(sum form)真的是最优的吗?是否考虑过乘积幂律形式?
Bahri博士:求和形式未必是最优的。人们观察到,在许多研究场景中,求和形式是主导的(dominant),但可能存在涉及乘积的修正项(correction terms)。我展示的形式并不是绝对正确的标准形式,而是人们常用的一种函数拟合形式。在某些问题中,加入乘积形式可能非常重要且拟合更好。但通常,求和形式是一个很好的主导拟合。
Co:关于分类图左下角的发散行为(divergent behavior),幂律似乎随着宽度增加偏离数据,这与其他显示持续改进的图不同,能否评论?
Bahri博士:这种发散实际上是实验的伪影(artifact)。我讨论的区域是渐进区域(asymptotic regimes)。当宽度 \( n \) 与数据量 \( D \) 相当时,会发生交叉现象。如果模型正则化不足,可能出现双重下降现象。理论上,我们关注的是实验的左侧部分,即 \( n \) 远小于 \( D \) 的区域。由于实验中数据量有限,存在一个点使得 \( n \) 与 \( D \) 同阶,导致我们无法观察到幂律缩放,而是看到交叉到另一种行为。所有这些曲线都只展示了某一区域的一部分。如果跨过交叉点,你会进入另一个区域。
Peter:\( \alpha_D \) 到 \( \alpha_W \) 的过渡是否可能是数据方差与模型参数方差的函数?
Bahri博士:我在这个领域经验有限,可能说的有些不准确,但在我看来,你从一个区域过渡到另一个区域,这些差异似乎与数据方差有关。你在其他幻灯片中提到过类似内容。但模型定义的方式以及模型与真实物理的匹配程度——模型参数也会有方差。我可以想象一种情况:如果你的模型很好,模型参数的方差很小,你只需要确定参数值;如果数据足够多,数据越多,模型预测参数就越精确。反过来,如果你能很好地测量数据,数据的不确定性很小。抱歉,我只是抛出想法。
我先区分几个点。你提到的方差,我会分为两类。一类是数据的方差,来自你选择了有限的数据子集,或者回归目标有不确定性。这是方差的一个来源。另一类是模型参数的方差,来自初始化的选择和优化的随机性。每次运行优化并选择初始化,你可能得到略不同的模型。
在我们的理论和实验中,这些方差来源被平均化。回到我定义的设置——模型误差与数据误差,这就是我要说明的。我们没有过多触及你的问题核心。在我们的理论问题和其他理论研究中,我们平均了其他方差来源。这里的“对 \( D \) 的期望”意味着对有限数据量 \( D \) 的多次抽样进行平均。我会选择不同批次,它们确实有不同方差,但我会对这些平均以理解平均效应。我还会对随机初始化的选择进行平均。
在实验中,你是对的,我们通过多次运行、不同初始化、不同数据批次来产生这些经验结果,以匹配理论。如果你现在去运行一个模型,你会发现曲线有更多随机性,尤其在小规模数据和小模型场景中。在大型语言模型等场景中,模型和数据集规模非常大,它们会自我平均。他们观察不同运行之间的方差时,几乎看不到随机性。
这取决于数据量和模型规模的绝对大小。在小规模场景中,我这里平均掉的随机性或方差确实存在,你会观察到,这也很重要。你完全有理由提出这个问题。你问题的第二部分提到模型与数据的拟合程度,模型是否具有正确的归纳偏置?这正是我们在这项工作和其他理论研究中试图解决的问题。你希望平均掉其他随机性来源。即使如此,我提到的非对角线区域的 \( \alpha_D \) 和 \( \alpha_W \) 仍取决于这种对齐。在核函数设置中,这有精确的定义。
Peter:让我试着复述一下你的回答,看我是否理解。你说的是模型与数据的对齐问题。我不确定这如何影响各个变量。我想问的问题是:如果模型越好,与实际数据的拟合越好,这会如何改变?听起来这会减少 \( \alpha_D \) 或 \( \alpha_W \)。我理解对了吗?
Bahri博士:恰恰相反,它会增加它们,斜率会更陡。一般来说,理论上我们无法精确预测常数偏移,但至少改进速率——这些曲线的斜率——受模型与数据的某种对齐控制。在核函数或高斯过程的设置中,这已经很好理解。这是回归值与核矩阵特征向量的直接对齐。你可以提前测量这些特征值和特征向量,至少对于核和高斯过程,评估它们是否是数据的良好模型。对于神经网络模型,因为这是基于无穷宽度结果的,尚无精确定义,但可能有一些启发式方法可用。
Kevin:能否通过初始化有限宽度神经网络的权重和偏置,使其近似具有特定超参数的高斯过程核?
Bahri博士:如果你选择有限宽度网络的权重和偏置初始化,例如设置权重方差 \( \sigma_W^2 \) 和偏置方差 \( \sigma_B^2 \),这些方差也会出现在核中。如果你选择相同的方差,可以用这些特征向量构造核,作为核的有限宽度近似。这可能不是最优的近似,数学上可能有更聪明的方法。确实,如果你取随机初始化的有限宽度神经网络的表示,用其特征向量构造协方差矩阵,会得到某种核矩阵。随着宽度增加,它会精确趋向核。这是核的有限宽度近似。
你可以将这些作为初始权重和偏置,让有限宽度神经网络在已有数据上训练。这可能是一种策略。
Kevin:对于神经网络(而不是高斯过程),你可以用对应于具有所需超参数的高斯过程核的权重和偏置作为初始猜测,然后用已有数据训练它们。
Bahri博士:你可以从高斯过程的角度出发,确定最优的超参数、权重和偏置。你可以这样做。我怀疑这可能不会带来太大差异。只要你的权重和偏置方差在神经网络的合理范围内(已有人计算过),不出现病态情况(pathological cases),只要数据量足够且模型规模够大,许多神经网络都能得到不错的结果。性能上可能影响不大,但你当然可以尝试这种方法。
Hannah Nelson:我理解这些图表是基于训练误差的。能否期待在训练数据之外的数据上看到类似的缩放结果?
Bahri博士:这些图表展示的是测试误差,但确实是训练数据和测试数据来自同一分布。如果测试误差基于分布外数据,许多研究已经探索过这一点。它们确实观察到规模定律,但行为可能完全不同。有时性能随缩放变量改善,但在某个规模后变差;有时单调改善;有时单调变差。观察到各种行为,这是一个值得研究的方向,但目前控制较少。
Hannah Nelson:参数越多缩放越好的现象让我想起树分类器中自举聚合(bootstrap aggregation)的准确率提升。她还有一个问题:我听说训练定律的曲线或图表可以用来近似我们试图学习的数据分布流形的维数。在你看来,这种做法可靠吗?
Bahri博士:除非你考虑的是一种有严格或半严格结果支持的特定设置,否则这可能是一个相当噪声的估计。我展示的图表中,缩放指数与数据流形某种测量的相关性是松散的。流形维数的估计本身就很棘手且噪声较大。这两者之间的关系可能不够稳健,除非有特定的场景支持。
主持人:通过选择性挑选训练数据,可以获得更好的规模定律。这对我们非常有吸引力,因为我们的数据通常来自高保真计算模型模拟。获得一个数据点成本很高。我们希望明智地选择训练数据,以便在训练神经网络、高斯模型或其他数据驱动方法时,用尽可能少的数据点获得更好的缩放或收敛行为。由于这些数据来自物理模拟,我们可以利用许多物理先验知识,如流量守恒。每个物理领域有不同的基本属性需要满足。你有什么见解?利用物理领域的知识并将其融入训练数据采样过程对获得更好的缩放或收敛行为至关重要吗?
Bahri博士:绝对至关重要。在低数据量和小模型场景中,你投入的直觉越多,效果越好。我不会说这个问题已经完全解决,即使在机器学习领域,最佳启发式方法是什么仍未定论。如果我在一个我熟悉的领域工作,我会相信自己的直觉来指导数据子采样。目前,自从相关论文发表后,出现了一些启发式方法。一种方法有点像作弊——他们用一个在该数据集上训练的大型模型来建议选择哪些样本,例如误差最大的地方。我不太记得具体指标,但关键是,在许多大规模机器学习场景中,他们可能已经有一个大模型来指引选择数据子集,然后构建一个基础数据集,从原始基准数据集中修剪出一个固定的子集,供其他人训练使用。
一个观察是,在主流机器学习社区中,许多模型对什么是好样本或难样本的判断是相似的。因此,从大模型获得的信号对小模型也很有用。但这可能无法跨领域转移。这是人们目前绕过这个问题的一种方式,通过自举,用大模型生成修剪后的数据集,对小模型在少样本训练中表现良好。