今天我将介绍我们最近关于通过线性注意力机制理解所谓上下文学习现象的工作。这是与我的同事Jengi Parlavane以及我们的学生Mary、博士后Jacob和Ani Dintab合作的成果。首先,什么是上下文学习?许多大型网络具备仅根据输入中看到的示例来学习和执行任务的能力,而无需任何显式的预训练。现在让我举一个具体的例子。假设我们有一个输入到神经网络的序列。例如,我们可以对GPT或Chat GPT这样做,我也做过并且效果很好。这是你可以发送给Chat GPT的输入:一系列单词对,“hello”对应“follow”,箭头指向一个词;“help”后面跟着另一个词,以此类推。最后一个例子是“Earth”,箭头指向某个结果。
但随后你希望GPT猜测你需要对应的单词是什么。首先,通过遍历序列,神经网络必须理解任务是将英语单词翻译成克林贡语(Klingon)的对应词。这是网络必须意识到的任务。此外,一旦给出英语单词“earth”,它还需要将其正确翻译为“terror”。这就是所谓的上下文学习,因为将英语单词翻译成克林贡语的任务不太可能包含在训练任务中。然而,通过在非常大的数据集上进行预训练,神经网络能够从这很短的序列中学习该任务的目标并执行它。有时这被称为上下文学习。我们项目的目标是尝试理解使上下文学习成为可能的底层机制,因此我们将考虑上下文学习的数学表述。
我们假设给定一系列输入和输出对,这里xi和yi是输入和输出。我们有L个这样的样本,我们将L称为上下文的长度。对于最后一个输入x_{l+1}(即第L加一个样本),我们只给定了一个输入或查询标记,我们希望网络产生并预测相应的输出y_{l+1}。好的,我们假设的统计模型如下:我们认为输入和输出对是从输入空间X与输出空间Y上的联合概率分布中采样的。也就是说,存在一个联合概率分布,但我们不仅仅考虑单一的联合概率分布;我们假设有一组关于X和Y的联合概率分布。我们用花体M表示这组联合概率测度集合。
对于每个这样的输入序列,我们从这些联合测度的概率分布中进行采样。这意味着我们从一个定义在M集合上的概率分布P中采样出一个联合概率测度mu(即X和Y的联合分布)。给定这个联合分布,我们将独立地从该联合分布中采样序列xi yi。也就是说x1y1、x2y2等,它们都是从mu中独立同分布(i.i.d.)采样的,但mu本身是从联合概率分布P(M)中采样出来的。好的。在预训练阶段,神经网络本质上学习了先验分布P(M),即它学习了一个定义在联合概率测度空间上的分布。
而在测试时的上下文学习中,神经网络给定一系列输入和输出对x1y1直到xl yl。然后它本质上基于输入执行贝叶斯更新步骤,学习关于概率测度空间上的条件分布。然后基于这个条件分布生成最优的y_{l+1}。好的,这是我们认为能够建模上下文学习的最通用贝叶斯设定。在演讲过程中我很乐意回答问题,我们不需要等到最后结束。如果有任何不清楚的地方,我们可以现在解决这些问题。
好的,是的,我有一个关于这个模型的问题。当你说一组联合概率分布时,我猜第一个问题是集合是有限的吗?不,这个集合不需要是有限的。但从概念上讲,你可以把它想象成一个有限集会更简单一些。比如说有十个不同的关于X和Y的联合概率分布,对吧?然后在这十个联合测度上还有一个概率分布。好的,你可以说它们的可能性是相等的。然后我们要做的是:对于每个输入序列,我们首先采样其中一个联合概率分布。
好的,mu_{xy}是特定的一个样本,而mu_{xy本身又是X和Y的一个联合概率分布。好的,给定这个采样出的分布,我们再去采样实际的序列xi和yi。是的。所以相关的问题是:将其视为混合模型是否有用?我是说,整个分布作为一个混合模型,例如你可以这样做。是的,这实际上本质上就是一个混合模型。首先你在这些单独的联合测度上有一个概率分布,然后给定实际采样的联合测度样本后,我们再采样个体的输入和输出对。完全正确,这就是一个混合模型。好的,谢谢。
是的,然后我们希望神经网络所做的就是贝叶斯更新步骤。给定输入和输出对,它对联合分布空间上的概率测度执行贝叶斯更新。好的,然后你将从基于之前输入的条件最优分布中预测y_{l+1}。是的,这是一个通用的设置。我们将考虑一个更简单、更简单的设定,这是上述通用设定的特例。这就是学习线性回归问题的情况。那么实际的设置是什么?同样,我们有一系列输入和输出对xi yi。我们要假设输出yi是通过其投影到特定的任务方向(我们称之为任务向量Omega)加上额外的噪声由输入给出的。
现在,在统计上,我们要假设我们的输入向量是从高斯分布中采样的高斯样本。噪声在这些序列之间也是独立的。现在,如果你针对每个给定的任务向量思考这个模型,那么我们就定义了输入X和输出Y之间的联合分布。但我们另外在任务向量上放置了一个概率分布,这就是Ji提到的混合模型。
我们有一个概率分布 w,对于每一个 w,它指定了 x 和 y 之间的联合分布。好的,我们将这些 omega 称为任务向量(task vectors)。那么预训练数据集是什么?预训练数据集中包含 n 个不同的输入-输出对序列。这里我们用 mu 作为不同训练输入序列的索引,并用小写 n 来表示预训练阶段中输入序列的总数。好的,对于每个输入序列,它对应于其中一个权重任务向量 omega_mu。
接着我们要引入一个概念,即所谓的“任务多样性”(task diversity)。我们假设在训练的最初阶段,我们会从真实概率分布中采样 k 个不同的任务向量 omega_1 到 omega_k,并将这个有限的任务向量集合称为 Delta_k。一旦采样了这组 Delta_k,对于每个输入序列,我们将从这个有限集合 Delta_k 中均匀随机地采样一个特定的权重任务向量。
从某种意义上说,你可以将 k 视为衡量任务向量多样性的指标。k 趋向于无穷大将是最佳情况,但我们将考虑 k 很大但是有限的情况。好的,现在有两个贝叶斯基准(Bayesian benchmarks)。第一个贝叶斯基准如下:因为这个问题已经被精确定义,特别是假设任务向量来自这个高斯分布。如果神经网络对这个统计模型拥有完美知识,那么最优的做法是进行岭回归(Ridge Regression)。
这种岭回归将产生任务向量的贝叶斯最优估计量。相应地,如果你可以通过将输入 x_{l+1} 与任务向量 w 的贝叶斯最优估计量 omega 相乘来预测 y,而这里的 omega 由该公式给出。这本质上只是一个岭回归估计量。好的,这是一个基准。我们可以将此视为预言机最优估计量(oracle optimal estimator)。
另一个基准如下:在我们的设置中,我们假设在预训练数据集中,我们只有有限数量的不同任务向量 omega_1 到 omega_k。假设神经网络已经专门针对这 k 个不同的任务向量进行了特化,那么我们可以考虑这种离散最小均方误差(MMSE)估计量。它仍然是贝叶斯最优估计量,但先验不再是真实先验(即联合高斯分布)。
该先验仅仅是支持在这 k 个不同任务向量上的离散分布,这些任务向量我们在预训练数据集中已经提供。好的,相应地,这是使用这种离散问题得出的贝叶斯最优估计量。所以我们要面对这两个基准。第一个,即岭估计量(ridge estimator),应该是最佳的;而离散 MMSE 则是如果神经网络过度特化于预训练任务时可能会实现的估计量。
非常有趣的是,斯坦福大学的一个团队去年发表了一篇论文,他们在非线性 Transformer 模型上研究了相同的设置,并发现了以下有趣的行为。在这个图表中,纵轴显示的是均方误差(MSE),越低越好;这是上下文学习性能的 MSE。横轴显示了我们在预训练数据集中提供的不同任务向量的数量。从左到右,
你在预训练数据集中拥有越来越多样化的任务向量。现在,绿色曲线是离散 MMSE 估计量的性能,蓝色曲线是最优岭估计量(即预言机最优性能)的性能。橙色线是非线性 Transformer 实现的性能,我认为其架构是 GPT-2 架构。然后你可以看到经验上,
基于 Transformer 的架构的性能与离散 MMSE(DMMSE)估计量非常相似,当预训练任务的数量不够大时。但是当预训练任务数量变大时,性能就会更接近岭估计量(ridge estimator),也就是我们应该得到的贝叶斯最优估计量。好的,所以存在某种相变(phase transition)。
当你拥有更多样化的预训练数据集时,你正在离开记忆化(memorization)的 regime。你仅仅是在预训练数据集中看到你看到的不同任务向量的数量。实际上,你是能够泛化到未见过的分布的。因此,我们工作的一部分动机是为这种经验观察到的现象提供理论解释。
我可以回答一些问题,如果有任何问题的话。所以我没有太多的幻灯片,我们可以随时提出问题。好的,这是我们的设置。我们将考虑这种特定的嵌入方案(embedding scheme)。Transformer 本质上是一个从矩阵到矩阵的映射。所以我们考虑的嵌入矩阵如下:
这个嵌入矩阵的每一列都是一个输入和一个输出的连接。好的,从 x_1 y_1 一直到 x_l y_l。但是最后一列,对于最后一个元素,我们只有输入 x_{l+1},但没有输出(这是要预测的)。我们在这一项放一个零。然后我们考虑的具体架构是线性注意力机制(linear attention mechanism)。
给定输入 z,我们将应用这种线性注意力。其中 K 和 Q 是键(key)和查询(query)矩阵,V 是值(value)矩阵。然后还有一个残差连接:z 加上这个线性注意力产生的矩阵。A 是最终输出。我只是想评论一下,A 与输入具有相同的维度;所以你的输入是这个矩阵,输出是具有相同维度的矩阵 A。
最终,我们只关心单个标量预测,即最后一列的输出 y。然后我们将取输出矩阵 A,并只取其右下角的元素,这将成为我们的预测输出 \hat{y}_{l+1}。好的。这种嵌入方案在文献中之前已经被使用过,所以我们将遵循这个标准的嵌入方案。
现在我们要进行一些过程简化,因为在我们的问题中有三个可训练的参数矩阵:键、查询和值矩阵。最终我们只关心单个标量预测 \hat{y}。首先,我们将值和键查询矩阵写成块形式(block form),经过一些简化——我不想深入细节——我们可以将这个
将问题转化为线性设置,我们将键矩阵和查询矩阵合并为一个可训练参数 $m$。最终可以证明,输出 $\hat{y}$ 可以表示为矩阵 $\gamma$(包含可训练参数)与由纯训练输入组成的另一个矩阵 $H(Z)$ 之间的内积。这里,$H(Z)$ 是由输入序列构成的矩阵,而 $\gamma$ 是可训练参数矩阵。最终预测值即为 $\gamma$(我们称之为特征矩阵)与 $h$ 之间的线性内积。这就是该设置的基本框架,训练目标是最小二乘拟合。
在此设定中,真实标签或真实输出为 $y$,而 $\gamma h$ 是我们的预测输出。$\gamma$ 是一个包含所有可调参数的矩阵,特征 $H(Z)$ 的形式为 $d \times (d+1)$ 维矩阵。该特征矩阵本质上是一个秩一矩阵,由最后一个输入向量与一个行向量的外积构成。这个行向量是通过不同位置的输出标签形成的,反映了输入序列中不同位置的信息。
由于这是一个二次问题,我们有一个简单的闭式解。训练后,最优参数 $\gamma^*$ 本身是一个矩阵,但我们可以将其向量化为一个向量。这里的逆矩阵是所谓的伴随矩阵之一。关于第十张幻灯片的提问,我们将其转化为线性系统,这有些令人惊讶。有人问是否有直觉理解为何能写成线性系统?
显然原始系统是三次方的,因为涉及 $v$、$k$ 和 $q$。我们的第一个简化是将 $K^T Q$ 合并为一个单一的可训练参数矩阵 $M$,从而使问题变为二次方。然而这仍然是非凸的,不是线性系统。第二个简化是将 $V$ 和 $M$ 中的某些条目设为零,这有理由证明这是对实际问题的良好近似。
如果这样做,问题就变成了线性系统。这里的 $\gamma$ 是可训练参数,虽然它仍以二次方式依赖于 $v$ 和 $m$,但我们已将它们合并为单一矩阵 $\gamma$。注意这里的 $\hat{y}$ 与之前的不完全相同,它是一个近似值。虽然有一些论点支持这是良好的近似,且经验上效果不错,但这种近似主要是为了使问题可解。
一旦完成这种线性近似,该二次优化问题就变成了最小二乘问题,因此最优权重向量有闭式解。实际工作在于分析高维空间中的这一二次优化问题,并关注几个性能指标:首先是所谓的泛化误差。这里 $(y, h)$ 是一对新的输入和输出,由 $H(Z)$ 给出。
$y$ 是它们不属于预训练数据集的输出标签,$\gamma^*$ 是我们学习到的最优权重参数矩阵。我们使用某些测试分布来评估它,并考虑两种不同的设置:第一种是上下文学习(ICL)设置。在此设置中,测试分布是真分布,但与训练数据集的分布不同,因为训练中只有有限数量的不同任务向量。
因此,训练分布与测试分布不同,我们将测试分布视为真分布。第二种情况称为分布式生成(IDG)设置,其中测试分布与训练分布相同。在训练分布中,首先有有限个 $k$ 数量的任务向量 $\omega_1$ 到 $\omega_k$,然后训练分布是这 $k$ 个不同任务向量上的均匀分布。
有两种不同的研究,区别在于验证期望的概率分布 $p$ 不同。ICL 是我们关心的性能,而 IDG 是一个基准,用于查看学习到的最优权重矩阵或神经网络是否过于专业化于预训练数据集中提供的任务。这是记忆与泛化的对比吗?
接下来考虑联合渐近极限,即在高维设置中。这里有几个参数:$d$ 是所谓的词元维度。我们有输入 $x_i$,并假设所有这些输入向量都是 $d$ 维的。然后认为 $d$ 很大。此外还有上下文长度 $L$,即我们需要提供给神经网络的输入输出对的数量。
我们用 $L$ 表示此长度(输入序列的长度),而 $N$ 是预训练数据集中提供的此类序列的总数。这捕捉了样本复杂度。最后,我们有 $k$ 和所谓的任务多样性,因为在预训练数据集中只有有限数量的不同任务向量。
$k$ 是这些任务向量的数量, $k$ 值越大,预训练数据集越多样化。我们有这四个不同的数字,并考虑缩放机制:上下文长度 $L$ 与维度 $d$ 成比例缩放,任务多样性 $k$ 也与维度 $D$ 成比例。
最后,训练样本数 $N$ 与维度 $d$ 的平方成比例缩放,因此 $n/d^2$ 被视为一个一阶常数。我们将考虑大 $d$ 极限。虽然我们的结果考虑了大 $d$ 极限,但实际结果是有限样本的。因此我们只需考虑 $d$ 很大的情况,例如在 100 或 200 的范围内。
然后观察当这些相对较大的参数变化时问题会发生什么。我们再次关注三个重要指标,首先是……
样本复杂度:我们需要在预训练数据集中多少样本?上下文长度:在每个输入中需要提供多少个示例?第三个是任务样本复杂度:预训练数据集中的这些任务应该有多样的多样性。好的,我们工作的主要技术结果是以下渐近预测。我们认为这个学习问题的泛化误差……在ICL和IDG设定下,随着维度趋于无穷大,两者都有明确定义的极限。在这里,这些依赖于参数tau、alpha和lambda的量具有确定性极限。让我给出公式。我们不需要关注该公式的具体细节,展示这个公式的目的是为了说明所有这些泛化误差都有明确定义的确定性极限,这些极限仅由问题设定中的全局参数决定。
现在,这些全局确定性极限的实际形式过于复杂,让我展示一些数值结果。左边的图显示了ICL任务的泛化误差随样本复杂度的变化函数。这里,横轴是训练样本数除以维度平方。从左到右,我们拥有越来越多的训练样本,线条……绿色、橙色和红色线是我们理论结果的理论预测,它们因lambda值的不同而不同,这是一个丰富的参数。当lambda等于零时,我们进行的是无岭回归问题。
你可以看到在tau等于1处存在双下降现象,即当n恰好等于d平方时,泛化误差趋于无穷大;否则存在双下降现象。这里的符号……点是线性变换器训练后的模拟结果,这就是我们得到的结果。该图的目的首先是表明理论预测准确捕捉了该学习问题的实际性能,其次也存在双下降现象。
同样地,在这种情况下我们也有不同的曲线,但区别在于我们将岭参数lambda设为零,而不是改变其值。我们要改变的是alpha的不同值,即所谓的上下文长度。Alpha增加意味着序列越来越长……好的。但是再次强调S形曲线,一些公式在此提供,可以预测生成的数值。进一步的实验表明,这种翻译误差也不是单调的,存在这一有趣的现象:当我们改变上下文长度时。
以前我们认为这应该是单调行为,因为上下文越长问题越简单,生成误差应该越低或性能越好。但有趣的是,在某些参数设置下存在非单调行为,即存在最佳上下文长度。超过这一点后,泛化误差实际上略有增加……回到我们工作的原始动机,有两个基本基准。第一个基准是如果神经网络知道整个概率分布(特别是它知道任务向量采样的分布),那么最优策略就是执行这种岭估计,并将正确的岭参数设置为rho,这是贝叶斯最优性能。
第二个基准是所谓的离散MMSE(最小均方误差)。这是在再次对任务指标进行贝叶斯最优估计时的情况,但先验分布不是选择真实先验。我们使用的是仅关注预训练数据集中提供的有限数量的任务向量的先验。好的,这是离散贝叶斯最优估计器。这就是两个基准。如前文所述,经验上观察到随着预训练数据集中任务值的多样性增加,基于变换器的架构的性能可以从记忆(即达到与离散MMSE估计器相同的性能)转变为泛化,这意味着它使用真实先验逼近最优岭估计。
因为在预训练数据集中你从未见过真实的先验,只看到真实先验的有限样本。所以存在从记忆到生成的转变……在我们的理论中,当然我想强调这一经验结果是在具有非线性的多层变换器架构上完成的。但在我们的工作中,我们只考虑了一层线性变换器架构并进行了进一步简化。尽管如此,我们仍然可以看到非常相似的转变……在这一页中有点复杂,让我慢慢过一遍。横轴是预训练数据集的多样性,即k是预训练数据集中不同任务模块的数量。从左到右移动时,你拥有越来越多样化的预训练数据集。
纵轴显示了ICL任务和IDG任务之间的差异,这可以被视为我们泛化程度的代理指标。因为如果ICL和IDG之间仍然存在巨大差距,这意味着你并没有真正泛化到真实先验。你只是在记忆所有这些基本任务目标。如果这个差异收敛于零,这意味着你在泛化到真实先验……蓝色、橙色和红色曲线显示了随着多样性增加这一差异的变化。你可以看到,当多样性参数kappa小于1时,这两条曲线的斜率非常缓慢。
但一旦kappa大于1,斜率变得陡峭得多,渐近地,这一差距以1/kappa的速率增长至零。相比之下,绿色符号代表如果网络仅记忆有限数量的任务向量我们将得到的结果。如果是这种情况,那么该曲线将以1/kappa的d次方之二的速率缓慢增长至零。这是一个非常慢的速度……但你可以看到,当kappa足够小时,我们的线性变换器做的类似于绿色线条的事情;但是一旦kappa超过
阈值之后,曲线发生偏离。从这条灰色线条出发,并以更快的速度实现泛化。因此这在某种程度上捕捉到了实证观察中发生的情况。尽管实际的过渡发生在不同的数值点,但我认为这种差异是因为我们研究的是简单的线性 Transformer 架构。而在该论文中,他们研究了功能更强大的架构。
好的,因此我们也对多层神经 Transformer 进行了一些实验,旨在验证我们从理论中获得的一些关键观察或见解在定性上仍然有效。我们进行的第一个实验如下:我们将生成误差视为样本复杂度的函数。你可以看到,我们所考虑的缩放比例似乎是正确的。这里仍然存在双下降现象(double descent),并且在此处存在一个插值阈值,且 n 除以 d 的平方似乎是正确的缩放比例。其中 n 是训练样本的数量,d 是维度。因此,n 应与 d 的平方成正比,这也是我们在线性区域中使用的缩放比例。
但这对于非线性架构来说似乎也是正确的缩放比例。在右侧的图中,我们考虑了所谓的插值阈值——即该阈值本身,以进一步验证 n 是否应按 d 的平方进行缩放。这似乎是合理的,因为这里的灰色线条是理论上的缩放线(假设具有完美的二次方比例),而其他线条则是不同神经网络架构下插值阈值的经验缩放曲线。粗略地说,你可以看到它们遵循这种二次方比例区域。
好的,这就是我想说的关于这个问题本身的内容。但在演讲的其余部分,我想花一点时间谈谈我们分析背后的数学原理。这也是一个暂停的好时机,以防大家对之前展示的内容有任何问题。关于之前的双下降幻灯片……是的,这一张。这并非人们通常绘制的那种典型的双下降曲线,对吧?这里的横轴实际上是有效样本量(effective sample size),你可以将其理解为预训练阶段的有效训练样本数量,其中“有效”是指我们通过 D 的平方对其进行缩放。
是的,因此从左向右移动时,预训练数据集中的有效预训练样本越来越多。但这里的模型是固定的吗?我是说,抱歉,不是的。我不应该说“模型固定”。至少架构是固定的。区别仅在于我们向同一架构提供了多少训练样本。是的,但在非线性设置中,至少我们没有理论解释。然而在线性设置中,情况非常清楚,因为归根结底我们研究的是线性回归问题。因此始终存在矩阵求逆操作,而在该插值阈值处,待求逆的矩阵是奇异的。这就是为什么我们会看到一切剧烈爆炸的原因。
是的,我认为这里的问题是:我们看到的插值区域与另一个区域(即记忆化或无)相比如何?所谓的“插值区域”是指比例低于 1 的情况。当你没有足够的训练样本时,模型的能力足以完美预测所有标签。因此训练误差为零。所以如果我们在 0 到 1 之间绘制训练误差,训练误差是零。但在大于 1 时,由于无法拟合所有数据,训练误差变为非零值。
好的,是的。我是说我不熟悉这种双下降曲线,但你知道人们绘制的那种其他类型的双下降曲线吗?比如 Bolkan 等人的典型工作。我认为,通常第二阶段的下行发生在样本稀疏的情况下,即当模型容量显著大于训练集时。而且在那里我认为误差在第二阶段较小。这意味着当你的模型容量相对于样本大小足够大时,对吧?但在这里似乎趋势相反,因为我的意思是纵轴是预测误差。是的。好的,这点很好。
是的,所以我们现在说的是我们拥有相同的模型,但数据越来越多。也就是说,我们没有说我们在扩大模型规模。因此这里说的是“固定模型”。如果我增加训练集的大小,那么实际上你就进入了一个预测误差更低的阶段。没错。是的,这有点……我是说我知道在线性回归的这种特定设置中我不会感到惊讶。底层的数学原因是相同的。
因为在这里,奇异性结构就是矩阵本身。该矩阵是奇异的,而对于标准的双下降现象,你出现峰值的数学原因也是一样的。但是在我看来趋势是相反的,对吧?因为另一种双下降通常在第二阶段下行时你会获得更低的测试误差,而那个阶段是你的模型比训练集强大得多。但这个是相反的,对吧?这个是在你的训练集远大于模型容量时,你获得更低的误差。所以这似乎与人们通常观察到的趋势相反。这点很好。是的,这是个很好的观点。好的,好吧。
好的,如果没有其他问题,我想稍微转换一下话题,谈谈这次分析的底层数学原理。因为我们所做的简化使得这是一个非常简单的问题。这是二次方的岭回归问题(ridge regression problem)。因此最优参数矩阵具有闭式解。唯一的技术挑战或需要做的技术工作是进行分析。所以这是分析这个预解析矩阵(resolvent matrix),与标准的高维岭回归分析唯一不同的是,所有这些特征向量是矩阵的向量化版本,具有张量化的形式。因此存在更复杂的关联结构正在发生。有趣的是,这类问题已经在某些……
最近有一系列研究致力于所谓的非线性随机矩阵。让我简要描述一下这一最新研究方向的关键洞察,这些洞察源于对随机矩阵学习的研究,随后我将回到与我们问题的联系。首先,让我回顾一下过去几十年人们研究过的几个经典随机矩阵模型。假设我们有一个维度为 d 乘以 n 的数据矩阵 X,X 的每一列都是一个独立的数据向量。
现在,如果我们考虑这个矩阵 X 乘以它的转置 X^T,这仅仅是经验协方差矩阵。众所周知,当这些数据向量的维度 d 和向量数量 n 以成比例的方式同时变得很大时,该矩阵 X 乘以 X^T 的经验特征值密度将具有明确定义的极限。这里的蓝色直方图是经验特征值的分布,红色线条是理论极限曲线,这些被称为马尔琴科-帕斯特克(Marchenko-Pastur)分布。
此外还有非对称版本。因此,与其考虑同一个矩阵乘以其转置,我们可以考虑两个随机矩阵 F_n 和 X 的乘积。但在过去的几年里,人们对这些矩阵系综的非线性版本产生了浓厚兴趣。如果你再次查看 X 乘以 X^T,即这个经验协方差矩阵,我们将对其应用一个非线性变换 sigma。这里的 sigma 是一个一维函数。
因此,你将对这个非线性函数(例如 ReLU 激活函数)应用于 X 乘以 X^T 的每个元素,即对该矩阵进行逐元素的非线性变换。这种非线性版本出现在不同的场景中。例如,当你研究核方法时,sigma 可以是核函数;它也出现在所谓的随机特征模型、非线性矩阵分解中。
或者在稳健统计中,你想研究经验协方差矩阵的收缩效应;而在注意力机制模块(attention blocks)中也存在这种线性化现象,对吧?在过去几年中,这类矩阵得到了非常活跃的研究,人们通过研究这些矩阵发现了一些有趣的等价原理。
广义上讲,这一等价原理指出:在许多情况下,非线性模型等效于一个线性模型加上噪声。具体来说,考虑这个非线性随机矩阵,你对经验协方差矩阵应用逐元素的非线性变换,并称之为 A。在许多情况下,A 等效于模型 B,它是三个矩阵的线性组合:第一个是常数 mu_0 加权的全一矩阵。
第二个是标量 mu_1 加权的经验协方差矩阵 X 乘以 X^T。第三个是独立的噪声矩阵 Z,这里的 Z 只是一个独立对称的高斯矩阵,并带有额外的标量参数 mu_2。换句话说,这种等价性意味着这个非线性矩阵等效于该矩阵的线性化版本加上额外的独立噪声。
这就是所谓的等价原理,它最早出现在 Chen 和 Singer 关于随机矩阵理论文献的论文中。最近,它在随机特征模型和高维回归的背景下也得到了研究。在过去的几年里,我也与多位合作者在不同场景下研究了这类矩阵。让我为大家提供一个关于正在发生什么的宏观视角:如何理解这一等价原理?其背后的机制是什么?
对我而言,理解这一等价原理的最佳方法是首先用多项式的线性组合来重写这个非线性变换,特别是埃尔米特(Hermite)多项式。埃尔米特多项式是一族正交多项式,这里我给出了前四个这样的埃尔米特多项式。我们关于埃尔米特多项式的性质如下:它们构成了一族相对于高斯测度的正交多项式。
特别是,这是一个完备的正交集。这意味着任何平方可积函数 sigma(例如 ReLU)都可以写成这些埃尔米特多项式的无限线性组合。mu_0, mu_1 等是组合系数,即标量系数。现在,如果你想研究核问题,即将非线性变换应用于内积矩阵或样本协方差矩阵的元素。
因为 sigma 可以写成这些埃尔米特多项式的线性组合,相应地,你可以将整个非线性矩阵 A 重写为这些埃尔米特矩阵 H_0, H_1, H_2 等的线性组合,其中每个埃尔米特矩阵是将 k 阶埃尔米特多项式应用于样本协方差矩阵的每个元素。
由于原始的 sigma 是逐元素地应用到矩阵元素上的,我也可以做同样的事情:我只是将埃尔米特多项式逐元素地应用到每个矩阵元素上。那么,这一等价原理真正说明的特征描述如下:假设 d 是你输入向量的维度,n 是这些向量的数量。
这里我们考虑一个一般情况,其中 n 可以按 d 的整数次幂缩放。例如 l=2,n 将像 d^2 那样缩放。这是我们考虑上下文学习设置时所采用的场景。等价原理真正说明的是:你可以首先将非线性矩阵写成这些完备矩阵的无限线性组合。
这里 l 是我们拥有的指数,取决于样本数量 n/d^l = O(1)。首先,前 l 个分量是低秩分量,我们可以安全地忽略它们。从第 l+1 阶置换矩阵开始(注:原文此处口误或术语混用,结合上下文指高阶项),它等效于一个 Wishart 矩阵。
但有趣的是,所有更高阶的置换矩阵渐近等价于独立的对称高斯矩阵,即所谓的正交系综(Gaussian Orthogonal Ensemble)矩阵,并且它们也是渐近独立的。因此,我们可以将所有这些高阶多项式分量合并为一个单一的噪声矩阵,这解释了为什么我们可以将 A 表示为常数部分、线性部分(即 Wishart 部分)以及所有
高阶分量被视为单个噪声矩阵。好的,这种观点已应用于我们关于理解具有多项式缩放的核岭回归的工作。根据样本复杂度,您还可以解释阶梯现象和多重下降现象。数据数量可以与维度d成比例缩放,也可以与d的平方或立方成比例缩放。然后您会有不同的缩放机制。这种等价原理背后的基本机制如下:如果您查看任何协方差矩阵,您只是对矩阵元素应用多项式,而每个矩阵元素可以写成两个向量的线性内积。但由于h(k)是一个多项式,您可以展开这个内积并将其重写为这些原始向量的特征化版本的乘积。因此,相应地,您仍然可以将高阶多项式写成样本协方差矩阵的形式。但这里的区别在于,这个样本协方差矩阵中的每个向量不是原始向量;而是该原始向量的张量化版本。但底层的数学推导非常相似,这就是为什么我们仍然有维沙特系综的原因。
好的,这也是与我们之前工作的联系,其中我们的每个特征化向量版本是某些低维向量的张量化版本。好的,我很乐意在离线时与您讨论技术细节。但这只是我演讲的摘要。第一部分我们提出了基于线性注意力的上下文学习工作及其理论,主要动机是试图理解在许多大型神经网络中观察到的上下文学习的底层机制。第二部分,我简要讨论了允许我们进行此类分析的潜在数学机制或工具。这与所谓的非线性随机矩阵或随机向量的张量化版本的等价原理有关。所以我很乐意在离线时与您讨论技术细节。好的,感谢您的关注。
好吧,有什么问题吗?还有其他人在线吗?是的。我想我来得有点晚。这个计算的应用是什么?我听说了。你能重复一下问题吗?是的,这些计算的用途是什么?是人工智能还是其他什么?哦,对。好的,这是第二部分。嗯,是的。我们可以称之为这个,如果没有sigma,XX转置将是样本协方差矩阵,有很多应用您想要研究样本协方差矩阵。但我们为什么要研究对样本协方差矩阵逐元素应用非线性变换的版本呢?一种情况是核方法。如果您想研究核方法,特别是内积核,那么sigma将是核函数。例如拉普拉斯核,然后符号x乘以X转置将是一个核矩阵。您想要研究这个核谱或核岭回归背景下的核矩阵谱。
您还可以考虑进行矩阵分解的设置,即f乘以x和f,所以f乘以x。您观察到乘积,但想要进行分解,也许是因子分析。但是您的观察模型是这样的:您没有观察到f乘以x,而是观察到该因子模型的某种线性版本或嘈杂的非线性版本,但您仍然想要进行因子分析。这可能是另一种应用,是的。但我的一部分动机是这只是一个尚未研究的新随机矩阵系综,我们想要理解这些非线性随机矩阵的底层数学结构。好的。
好吧,还有其他问题吗?是的,我有一个关于上下文学习的问题。我记得您也有一张幻灯片显示并非总是语境越长泛化误差越低的情况。是的,是的。在你的理论结果中,你对这种现象有解释吗?嗯,我们没有解释。所以我们甚至能找出最优的alpha,因为我们有理论曲线。原则上,我们可以直接去我们的理论预测,然后说我们设置alpha,对alpha求导,我们就知道什么是最优的alpha。但我们不太确定这种非单调性是线性注意力模型的人工产物,还是即使在线性架构中也会出现的一般现象。所以我们没有对此做太多深入研究。谢谢。
好的,还有其他问题吗?嗯,所以有一个关于通过线性化简化的问题。那么你认为处理非线性注意力模型有多难?是的,这是一个好问题。嗯,我们有一些想法,但可能无法进行这种离线类型的分析。这里我们假设拥有所有数据,然后研究实际的全球最优解。我认为考虑在线设置是一个非常有可处理性的公式化方法:您只有按顺序出现的输入序列,然后依次更新权重。这样您就可以研究参数演化的动力学,在许多情况下您可以表明这些演化可以由少数几个低阶参数总结,并且存在相应的常微分方程极限。所以这很可能是一个事情变得非常有可处理性的案例。
好的,我也对关于非随机矩阵结果有一个好奇的问题。是的,你的直觉来自二项式分解吗?我是说,我只是在想像sigma函数这样简单的东西。为什么不做局部泰勒展开然后呢?这是一个深刻的问题。是的,这确实是一个非常好的问题。事实上,您可以这样做。这取决于您设置这些运行向量的缩放比例。通常xi和xj是两个独立的随机向量,它们的内积处于中心极限定理(CLT)机制中。所以您将获得一个高斯作为边际定律。但是,取决于缩放比例,您可以将问题缩放到xi转置xj的大小为1/sqrt(d)的程度。在这种情况下,在零点附近进行泰勒展开是一个非常好的主意。所以您可以对sigma在零处进行泰勒展开,然后会有多个项。
还有其他的缩放方式,特别是在随机特征模型中,内积 x_i 转置乘以 x_j 的量级为一。因此在这种情况下,它是一个量级为1的随机变量。所以你不能在一个固定数值周围进行简单的泰勒展开。哦,我明白了,是的,这与缩放有关。确实,对这些核随机矩阵的初始研究是在你提到的区域进行的,即泰勒展开。好的。没错。但这被认为是简单的情况,因为此时行为本质上是核函数被转化为线性函数。我明白了。
好的,那么在结束之前还有最后一个问题吗?Zoom上的人呢?好吧,如果没有的话,非常感谢。是的,祝大家愉快。谢谢你们各位,这是本学期的最后一节课了。我们下周继续。谢谢。谢谢。是的。谢谢。