预备知识
符号 。 表示 Kronecker 积, 表示按列序向量化操作符。例如 。将两矩阵 的内积写为 。使用 和 分别表示大小为 和 的零向量和零矩阵。对于一个一般的矩阵 , 和 分别表示第 行和第 列。将矩阵的算子范数和 Frobenius 范数记为 和 。使用 表示 维单位矩阵,有时上下文维度清晰时使用 。对于一个半正定矩阵 ,记 。除非指定,使用小写字母用于标量和向量,使用大写字母用于矩阵。
上下文学习
首先描述一个函数类的上下文学习框架。上下文学习指的是模型的一种行为,其操作输入-输出对的序列,称为提示, ,其中 对于某个(未知的)函数 ,样例 ,查询 。上下文学习器的目标是使用提示来形成一个对于查询的预测 ,使 。
对于线性模型,可以将普通最小二乘法(OLS)视为一个“上下文学习器”。但上下文学习器一个相当独特的特征是这些学习算法可以是定义在一个提示分布上的随机优化问题的解。我们在下面的定义中形式化这个概念。
定义 1(在上下文样本上训练)令 是输入空间 上的一个分布, 是函数 的一个集合, 是 中一个函数上的分布。令 为一个损失函数。令 为有限长度 对序列集合,且令
为参数为在某个集合 中的 的一类函数。对于 ,我们说模型 是在 中的函数的上下文样本上在损失 下关于 训练的,如果 其中 满足
其中 和 是独立的。我们称 为训练期间看到的提示长度。
该定义自然引出了一个从数据中学习学习算法的方法:通过采样随机函数 和特征向量 来采样对立的提示,然后使用随机梯度下降或其他随机优化算法来最小化 (1) 中的目标函数。这个过程返回一个从上下文样本中学习的且能用给定的训练数据序列来形成测试(查询)样本的预测的模型。下面的定义量化了对应于一个特定的假设类这样一个模型能在上下文样本上表现多好。
定义 2(假设类的上下文学习)令 是输入空间 上的一个分布, 是函数 的一个集合, 是 中一个函数上的分布。令 为一个损失函数。令 为有限长度 对序列集合。我们说定义在提示形式为 的模型 在上下文中在损失 下学习了一个关于 的假设类 至误差 如果存在一个函数 使得对于每个 ,且对于每个长度为 的提示 ,
其中期望是在 和 上的随机性。
上述定义 2 中的加性误差项 允许模型不实现任意小的误差的可能性。这个误差可能来源于使用一个不够复杂到学习 中函数的模型或者来源于考虑一个不可实现的设定,其中不可能实现任意小的误差。
有了这两个定义,我们可以形式化下面的问题:假设给定一个函数类 , 对应于假设类 中假设的随机实例。在关于 的 中函数的上下文样本上训练的从 中的模型可以在上下文中学习到有小的预测误差的关于 的假设类 吗?标准的基于梯度的优化算法是否足以从上下文样本中训练模型?上下文在训练期间和测试时必须多长才能实现小的预测误差?在剩余小节中,当假设类是线性模型时,我们将用线性自注意力模块回答这些问题,感兴趣的损失是平方损失,边缘是(可能是各向异性的)高斯边缘。
线性自注意力网络
我们首先回顾基于 softmax 的单头自注意力模块。令 为一个使用长度为 的提示 形成的嵌入矩阵。用户自由决定如何用提示形成这个嵌入矩阵。一种自然的方法是在 的前 列堆叠 然后最后一列是 ,如果 ,我们有 及 。令 及 为键,查询和值权重矩阵, 为投影矩阵,以及 为归一化因子。softmax 自注意力模块以一个宽度为 的嵌入矩阵 作为输入,输出是一个同样大小的矩阵
其中 softmax 是按列向应用的,且给定一个向量输入 , 的第 项为 。softmax 中的 矩阵称为自注意力矩阵。注意 可以取任意长度的序列作为其输入。
本工作中考虑单层自注意力模块的一个简化版本,其更适合理论分析且仍能够进行上下文学习线性模型。具体来说,我们考虑单层线性自注意力(LSA)模型,其是 的一个修改版本,移除了 softmax 非线性,将投影和值矩阵合并为一个矩阵 ,将查询和键矩阵合并为一个矩阵 。我们将这些矩阵拼接为 且记
注意到最近关于理解 Transformer 的理论工作着眼于相同的模型。值得注意的是,最近的实证工作表明,具有标准的基于 softmax 的注意力模块的最先进的训练后的视觉 Transformers 使得 和 几乎为单位矩阵的倍数,可以表示在我们考虑的参数化下。
本工作中,对于长度为 的提示,我们是用下面的嵌入,堆叠 到前 列,最后一列是 :
取归一化因子 为嵌入矩阵 的宽度减一,即 ,因为 中的每个元素是长度为 的两个向量的内积。在上述的词元嵌入下,我们取 。注意到也有其他方式使用提示数据形成嵌入矩阵,例如,将所有输入和标签填充至等长向量然后将它们排布到矩阵中,或堆叠拼接 的线性转置的列,尽管上下文学习的动态在不同参数化下会有所不同。
网络对于词元 的预测是 矩阵输出的底部右侧的项,即
由于预测只取 LSA 层的词元矩阵输出的底部右侧的项,事实上只有 和 的部分会影响预测。为观察如何计算,让我们令
其中 且 。则预测 为
由于只有 的最后一行和 的前 列会影响预测,这意味着我们可以简单地在下面的小节中将其他所有项取零。
训练过程
本工作中,我们考虑在上下文中学习线性预测器的任务。我们假设训练样本如下采样出。令 为正定协方差矩阵。每个训练提示,索引为 ,有形式
其中任务权重 ,输入 ,以及标签 。
每个提示对应于一个嵌入矩阵 ,使用变形 (4) 得到:
记在任务 中 LSA 模型在查询标签上的预测是 ,其是 底部右侧的元素,其中 是在 (3) 中定义的线性自注意力模型。 个独立提示上的经验风险定义为
我们考虑梯度流训练后的网络在总体损失上的行为,由无限训练任务/提示的极限 来推导:
上面的期望是关于在提示中的协变量 和权重向量 取的,即 和 。梯度流捕捉了在无穷小的步长下的梯度下降的行为,有由下面微分方程给出的动态:
我们考虑满足下面的梯度流的初始化。
假设 3(初始化)令 为一个参数,令 为任意满足 的矩阵且 。我们假设
对于一类特定的随机初始化方案,满足这种初始化:如果 有 i.i.d. 从连续分布中抽样的项,则设定 ,假设几乎必然被满足。我们使用这种特定的初始化方案的原因将在第 5 节中描述证明时更清楚地说明,但高层次视角来看,这是由于预测 (6) 可以被视为一个两层线性网络的输出,而满足假设 3 的初始化可以让层通过梯度流序列被“平衡”。导致这种平衡条件的随机初始化已被用于许多深度线性网络的理论工作中。我们将在其他随机初始化方案下的收敛的问题留作未来工作。
主要结果
本小节介绍文章的主要结果。首先,4.1 小节我们证明了总体损失上的梯度流会收敛到一个特定的全局最优。我们描述了当给定一个新的预测任务的提示时训练后的 transformer 在这个全局最优的预测误差。我们的描述考虑到了新的提示来自非线性预测任务的可能性。然后,我们为指定的线性回归提示实例化我们的结果,并描述实现小预测误差所需的样本数量,表明当对线性模型的上下文示例进行训练时,transformer 可以在上下文中学习线性模型。
接下来,在 4.2 小节中,我们分析了训练后的 transformer 在各种分布偏移下的行为。我们证明了 transformer 对许多分布偏移是鲁棒的,包括任务偏移(当提示中的标签不是输入的确定性的线性函数时)以及查询偏移(当查询样本 和测试提示比有可能不同的分布)。另一方面,我们证明了 transformer 受协变量分布偏移影响,即当训练提示协变量分布和测试提示协变量分布不同时。
最后,受协变量分布偏移下训练后的 transformer 的失败启发,我们在 4.3 小节中考虑在提示间改变协变量分布的上下文示例上训练的设定。我们证明了由梯度流训练的单层线性自注意力层的 transformer 收敛到总体目标的一个全局最小值上,但训练后的 transformer 仍在新的提示上表现不好。我们补充了我们在线性自注意力案例中的证明,在大型非线性 transformer 架构上进行了实验,表明其在协变量偏移下更加鲁棒。
梯度流的收敛和新任务上的预测误差
首先我们证明在合适的初始化下,梯度流会收敛到全局最优。
定理 4(收敛与极限)考虑 (3) 中定义的线性自注意力网络 在总体损失 (8) 上的梯度流。假设初始化满足假设 3 且初始化尺度 满足 ,其中我们定义
梯度流收敛到总体损失 (8) 的一个全局最小值。此外, 和 分别收敛到 和 ,其中
该定理的完整证明见附录 A。注意到如果我们限制设定为 ,则梯度流描述的极限解与 von Oswald 等人(2022)的构造非常相似。因为如果我们乘 一个常数 且同时乘 , transformer 的预测是一样的,对于 情况,唯一的区别(至缩放)是他们的 矩阵的顶部左侧项是 而非我们找到的 。
接下来,我们想要描述上述的训练后的网络在给定一个新的提示时的预测误差。让我们考虑形式为 的提示,其中 且 。简单的计算表明全局最优处有参数 和 的预测 为
当在训练期间看到的提示的长度 很大时, ,当测试提示长度 很大时,,以致 。因此,对于足够长的提示长度,训练后的 transformer 确实在上下文中学到了线性预测器类。