Attention is a smoothed cubic spline
目录
0. 摘要和简介
我们强调了一个或许重要但迄今为止未被观察到的见解:Transformer 中的注意力模块是一个平滑的三次样条(cubic spline)。以这种方式看,这个神秘但关键的 Transformer 组件成为了一个自然的发展,源自于经典逼近理论中的一个深刻观念。更确切地说,我们展示了在使用 ReLU 激活函数的情况下,注意力、掩码注意力、编码器-解码器注意力都是三次样条。由于 Transformer 中的每个组件都是由各种注意力模块(即三次样条)和前馈神经网络(即线性样条)的组合构成的,因此它的所有组件——编码器、解码器以及编码器-解码器模块,多层编码器和解码器,Transformer 本身——都是三次或更高阶样条。如果我们假设 Pierce–Birkhoff 猜想成立,那么反之亦然,即每个样条都是一个 ReLU 激活的编码器。由于样条通常只是 C² 的,一个获得平滑 C∞ 版本的方法是用平滑激活函数替代 ReLU;如果选择的激活函数是 SoftMax,我们就能恢复 Vaswani 等人提出的原始 Transformer。这一见解通过将 Transformer 完全用样条来表示,揭示了其本质,而样条是应用数学中最著名且被彻底理解的对象之一。
Transformer [45] 是许多现代 AI 技术的基础,在当前的新闻周期中频繁出现。而样条则是经典逼近理论中最古老的工具之一,自 20 世纪 40 年代开始研究,并在 80 年代达到顶峰 [14],随后在小波(wavelets)的形式下焕发新生(例如,著名的 Cohen-Daubechies-Feauveau 小波 [9],其构成了 JPEG 2000 压缩的基础,源自 B-spline)。实际上,“样条”一词最初指的是一种柔韧的木条,古代船舶制造者和制图师用其作为可弯曲的尺子来绘制平滑的形状;赖特兄弟曾著名地使用这种木质样条来设计他们的飞机。因此,一个如此古老的概念几乎与一个如此新的概念相同,多少有些令人惊讶——我们将展示,每个 ReLU 激活的注意力模块 F : R^{n×p} → R^{m×p} 都是一个多元三次样条;如果我们假设 1956 年 Garrett Birkhoff 和 Richard Pierce 的一个猜想 [5],那么反过来,每个多元样条 G : R^m → R^n 都是一个 ReLU 激活的编码器。因此,通常的 SoftMax 激活的注意力模块是将一个三次样条(至多为 C² 函数)转变为平滑函数的简单且自然的方式——通过用平滑的 SoftMax 替代不平滑的 ReLU。
为什么近似理论学家当时没有发现 Transformer 呢?我们认为,这是由于他们在将复杂函数分解为更简单的函数时,处理方式上有一个简单但根本的差异。在近似理论和谐波分析中,通常将复杂函数 F 分解为更简单的函数 f1, f2, ..., fr 的和。
在人工智能中,人们将函数 F 分解为更简单函数的组合 F1, F2, ..., Fr 的复合函数:
这种在函数建模上的根本差异是现代 AI 模型成功的关键。假设 F: R^n→R^n。如果我们将 F 建模为 (1) 中的和,其参数数量的规模为 n·d^n:
而如果我们将 F 建模为 (2) 中的复合函数,它的规模则为 d·n^2 + (d−1)·n:
其中,A_i ∈ R^{n×n}, σ_i 由 R^n 中的一个向量参数化。注意,即使 d=2,大小为 n·2^n 也会迅速变得难以处理。显然,这些大致的估计是在某些假设下得出的:这种著名的维度灾难的根本原因在于,除了作为低维(通常为一维)基函数的张量积之外,没有好的通用方法来构造 (1) 中的基函数 f_i,即
而复合模型 (2) 则很好地绕过了这个问题。以我们之前讨论的最简单的 d 层前馈神经网络为例;众所周知,d 可以很小 [11, 25]。
(1) 和 (2) 的重要特点是,由于线性特性,它们在求导方面都表现良好:
或者链式法则:
前者是求解各种偏微分方程(无论是解析解还是数值解)的技术基础;后者是训练各种 AI 模型的反向传播算法的基础(前者也通过随机梯度下降算法的各种变体发挥作用)。关键在于,将三次样条视为在不相交的多边形区域上支持的多项式的和或单项式的和,这种传统的方式体现了 (1) 的形式。而 ReLU 注意力模块只是以 (2) 的形式表示的相同三次样条,并且以这种形式存在一种自然且直接的方式将其转化为平滑函数,即用平滑的替代品替换所有不平滑的 F_i ——如果我们用SoftMax 替换 ReLU,我们就得到了 [45] 中定义的注意力模块。这是我们文章的一个关键见解。
众所周知 [1],ReLU 激活的前馈神经网络可以看作是以 (2) 形式表示的线性样条。结合我们关于 ReLU 激活的注意力模块是三次样条的见解,我们推断 ReLU-transformer 的所有其他中间组件——编码器、解码器、编码器-解码器——要么是三次样条,要么是更高阶的样条,因为它们是由 ReLU 激活的前馈神经网络和 ReLU 激活的注意力模块的组合和自组合(self-compositions)构成的。
需要注意的是:我们并不是声称 SoftMax 是 ReLU 的自然平滑替代品。我们将在第 4 节中触及这一点。实际上,根据最近的研究 [48],这种替换可能完全不必要——在 transformer 中,ReLU 可能是与 SoftMax 相比同样甚至更优的激活选择。
0.1. 通过样条理解 Transformer
我们的主要贡献在于利用一种广为理解的旧技术来解释一种鲜为人知的新技术。为了那些可能不熟悉 Transformer 的逼近理论学者或不熟悉样条的机器学习理论学者的利益,我们将简要阐述。
Transformer 已经成为推动 AI 发展的最具影响力的技术。它彻底改变了自然语言处理,这是其最初的设计目的 [45],但如今,AI 的任何领域——无论是计算机视觉 [19]、机器人 [50]、自动驾驶 [38] 等——都没有逃脱 Transformer 的影响。然而,这种现象级的成功主要是经验性的,Transformer 运作的基本原理仍然难以捉摸。
注意力模块显然是 Transformer 中最关键的组件,这一点在引发 Transformer 革命的论文标题中就有所体现 [45]。它可以说是唯一的新组件——Transformer 的其余部分是 ReLU 激活的前馈神经网络,这种网络已经存在超过60年 [40],并得到了深入研究。不出所料,它也是理解最少的组件。注意力模块仍然普遍通过 “查询、键、值” 的方式来理解,而 Transformer 被视为一个流程图,如同最初提出这一概念的文章中描述的那样 [45]。我们文章的主要目标是通过将它们与逼近理论中最古老且理解最为透彻的对象之一(样条)联系起来,来理解注意力模块尤其是 Transformer。
样条是一种成熟、理解透彻的技术,已经得到了广泛的研究和应用 [41, 42, 12, 13, 15, 8, 47, 44, 35, 14],它是我们最有效和高效的方法之一,用于逼近已知函数和插值未知函数。样条有许多应用,我们仅提及一个:在计算机图形学和计算机辅助设计中表示复杂的形状。阅读本文硬拷贝的读者正在查看由样条定义轮廓的字体 [26];在屏幕上查看的读者则使用了可能由样条设计的设备 [20]。样条引领了近似理论的黄金时代,并在 1960-1980 年间得到了广泛研究,直到被小波取代。没有什么比样条更适合作为理解像注意力模块和 Transformer 这样的新技术的平台。
在第 3.3 节中的构造无疑清楚地表明,每一个样条都是 ReLU-Transformer 的一个编码器。这些构造揭示了 Transformer 的每个特性——注意力、头、层、前馈神经网络——都发挥着至关重要的作用。我们尝试简化但失败了:省略任何一个特性,我们都无法将任意样条重新创建为编码器。仿佛 Transformer 的发明者设计这些特性时并非出于任何 AI 应用的考虑,而是为了将样条构造成函数的复合。
1. Transformer 的数学描述
1.9. ReLU-Transformer
第 1.2 到 1.8 节中的定义是对 Vaswani 等人在其原始文章 [45] 中描述的组件的忠实数学翻译。在本节中,我们进行了一些改动——将所有 SoftMax 替换为 ReLU,得到所谓的 ReLU-Transformer。这并不是一个新概念,而是在 [3, 48] 中提出并研究的。
我们首先定义 ReLU-注意力模块。它们具有与公式 (3)、(9)、(12) 相同的结构,只是将 SoftMax 替换为 ReLU,即:
由这些 ReLU-注意力模块构建的编码器(α)、解码器(β)或编码器-解码器(γ),分别称为 ReLU-编码器、ReLU-解码器或 ReLU-编码器-解码器。特别地,从数学角度来看,ReLU-Transformer 就是一个 ReLU-编码器-解码器。
这些 ReLU 激活的变体本质上是其平滑的 SoftMax 激活版本的 “未平滑” 版本。我们可以通过简单的平滑过程轻松恢复到平滑版本——将所有 ReLU 激活的注意力模块替换为原始的 SoftMax 激活的模块(但神经网络仍然保持 ReLU 激活)。
ReLU-Transformer 与我们在第 3 节中的论述和证明自然吻合。然而,实际上,ReLU-Transformer可能具有比原始 SoftMax-Transformer 更为理想的特性,甚至可能在性能上优于原始模型:[48] 中的研究提供了广泛的实验证据,表明将 SoftMax 替换为 ReLU 不会导致显著的性能损失,有时甚至在语言和视觉任务中表现出略微的性能提升;此外,ReLU-Transformer 在解释上下文学习能力方面也更为容易 [3]。
更广泛地说,在 Transformer 中使用替代激活函数是一种常见做法。替换 SoftMax 有多种原因,其中之一是为了避免与 SoftMax 激活相关的显著训练成本。在 [30] 中,SoftMax 被高斯核替代;在 [27] 中,仅保留了 SoftMax 的归一化部分;在 [22] 中,研究表明激活函数不需要映射到概率单纯形(probability simplex)中。在 [39] 中使用了线性化的注意力,在 [37] 中使用了稀疏注意力;这些主要是为了加速 SoftMax 操作,但它们也具备其他特性。
2. 样条(Spline)
本节涵盖了与我们相关的样条的主要方面。我们用 R[x1,…,xn] 表示实系数多项式的环(ring),其变量为 (x1,…,xn) =: x,用 R[x_11,…,x_np] 表示在
中的多项式环。
样条在应用数学和计算数学中有着丰富的历史和广泛的文献,这正是我们选择它们作为平台来理解像 Transformer 这样的新技术的原因。数学样条(与绘图员和造船工人使用的机械样条相对)首次在 [42] 中被命名。其早期历史的一句话总结(虽然省略了许多重要内容)是:单变量样条首次在 [41] 中提出,多变量样条在 [4] 中提出,B-样条在 [10] 中提出,而 box-样条在 [15] 中提出。
本篇文章中我们对样条的讨论与以往不同的重要之处在于,我们不关心可微性,避免了通常为确保分段定义的函数在不同片段交汇处是 C^r 连续的努力。原因很简单:我们将在下一节中展示,每一个连续样条都是一个 ReLU-Transformer(反之亦然),当以这种方式呈现时,有一种直接而自然的方法可以将样条平滑到任何所需的平滑度 r,即通过将 ReLU 替换为 C^r 激活函数。因此,我们甚至不需要引入节点、切向连续性、曲率连续性等概念。事实上,以这种方式来看,带有 SoftMax 激活的 Transformer 是第一个 “C∞ 样条” 的例子——这是经典样条构造中不可能的对象,因为样条的平滑度永远不能超过其多项式部分的次数。
2.1. 标量值样条
在其最简单的形式中,样条是定义在其域 R^n 上的分段多项式实值函数 f: R^n→R。经典且最基本的分割(Partition)是三角剖分(triangulation),即将域分解为 n 维单纯形(simplices),其并集为 R^n,且仅在面上相交;更一般地,可以用凸多面体替代单纯形 [13, 8, 35]。我们将需要一种稍微复杂的分割,称为半代数分割 [18, 17, 43]。对于任意的 b∈N,定义
是大小为 3^b 的有限集。请注意,这实际上只是具有 b(三进制)位的三进制数字集合。
定义 2.1(分割,Partition)。任意 π1, . . . , πb ∈ R[x1, . . . , xn] 通过以下方式在 R^n 中引发符号分割:
那么 {θ : θ ∈ Θ_b} 是 R^n 的一个分割,这是由 π1, . . . , πb 引起的半代数分割。 注意,(14)中的 θ 的定义域仅作为任何 b 元素集的占位符,并且不需要是 {1, . . . , b}。实际上,我们通常写作θ : {π1, . . . , πb} → {1, 0, -1},以强调它是由 π1, . . . , πb 引起的分割的索引。通过选择适当的线性多项式 π1, . . . , πb,可以获得任何三角剖分或分割成多面体,因此定义 2.1 推广了需要分割是分段线性的基本定义。
定义 2.2(样条,Spline)。设 {θ : θ ∈ Θ_b} 为由 π1, . . . , πb ∈ R[x1, . . . , xn] 引起的半代数分割。如果对于每个 i = 1, . . . , b,
- π_i 的次数不超过 k;
- 如果 Π_θ = Ø,则 f 是在 θ 上是一个次数不超过 k 的多项式,即对所有 x ∈ Π_θ,有 f(x) = ξ_θ(x),某些 ξ_θ ∈ R[x1, . . . , xn] 的次数不超过 k,
那么 f : Rn → R 是一个次数为 k 的多项式样条。
在下文中,“样条” 将意味着 “多项式样条”,“次数-k” 将意味着 “次数不超过 k”,而 “分割” 将意味着 “半代数分割”。通常情况下,k = 1, 2, 3, 5 的小情况分别称为线性、二次、三次和五次样条。对于由 π1, . . . , πb 引起的分割,所有 r 次可微的次数为 k 的样条集合的标准符号是
但由于我们只需要 r = 0 的情况,且定义 2.2 中的样条总是连续的,我们可以省略上标 r。
注意到 S_k(π1, . . . , πb) 是一个有限维实向量空间。因此,使用张量积很容易将定义 2.2 扩展到任意有限维实向量空间 V 上的 V 值样条 f : R^n → V,它们只是 S_k(π1, . . . , πb) ⊗ V 的元素[29,示例 4.30]。为了方便对张量积构造不熟悉的读者,我们在下面以 V = R^n 和 R^{n×p} 为具体实例进行说明。
2.2. 向量值样条
一个向量值的次数为 k 的样条 f : R^n → R^m 表示为
其中 f1,…,fm ∈ S_k(π1,…,πb) 和 e1,…,em ∈ R^m 是标准基向量。这等价于要求 f 在坐标上为次数为 k 的样条,即 f = (f1,…,fm),其中 f1,…,fm ∈ S_k(π1,…,πb)。
传统上,向量值样条是实际应用中最重要的一类样条。特殊情况包括样条曲线(n=1, m=2 或 3)和样条曲面(n=2, m=2 或 3),用于参数化接近给定数据点集的曲线和曲面。这些在计算机图形学和计算机辅助设计中具有基本重要性 [20, 44]。
2.3. 矩阵值样条
在这种情况下,我们感兴趣的样条不仅是矩阵值的,而且是矩阵变量的。我们在第 2.1 节中的样条处理方法的一个优点是,我们可以通过简单地将所有出现的 R[x1,…,xn] 替换为 R[x_11,…,x_np] 来定义 R^{n×p} 上的矩阵变量样条。一个矩阵值的次数为 k 的样条 f:R^{n×p}→R^{m×p} 表示为
其中 f_ij ∈ S_k(π1,…,πb) 且 E_ij ∈ R^{m×p}, i = 1,…,m, j = 1,…,p。其中,E_ij 是在 (i, j) 项为 1 且其他位置为 0 的标准基矩阵。同样,另一种但等价的定义方式是按照坐标方式定义,即
注意,当 p=1 时,简化为第 2.2 节的情况。
2.4. Pierce–Birkhoff 猜想
加勒特·伯克霍夫(Garrett Birkhoff) 可能是第一个通过他的咨询工作认识到样条在应用中的重要性的人【49】,他还提出了关于样条的最后一个悬而未决的问题之一【5】。
猜想 2.3(Pierce–Birkhoff)。对于每个样条 f: R^n→R,存在一有限集合的多项式
使得
已知该猜想对 n=1 和 2 成立,但对所有更高维度仍然开放【33】。我们在第 3.3 节中的结果将基于假设 Pierce–Birkhoff 猜想对所有 n 成立,因为有相当的证据支持其有效性【31, 46, 34】。
我们将 (16) 右侧的函数称为在变量 x1,…,xn 中的最大可定义函数。这些是由 x1,…,xn 在三个二元运算下生成的函数:加法 (x,y) ↦ x+y,乘法 (x,y) ↦ x⋅y,最大化 (x,y) ↦ max(x,y);以及标量乘法 x ↦ λx,其中 λ∈R。注意,最小化通过定义 min(x,y):= −max(−x,−y)自动得到。使用恒等式
任何最大可定义的函数都可以简化为形式
其中 ξ_ij ∈ R[x1,…,xn] 【24】。这一概念可以很容易地扩展到矩阵变量、矩阵值的函数 f: R^{n×p} → R^{m×p},即要求每个 f_ij: R^{n×p} → R 是变量 x_11, x_12,…, x_np 中的最大可定义函数。
显然,最大可定义函数的集合包含在样条的集合中。Pierce–Birkhoff 猜想指出这两个集合是相等的。两者都是【5】中定义的 “f-ring” 的例子,现在被命名为 “Pierce–Birkhoff ring” 以纪念两位作者。如果我们从生成最大可定义函数的二元运算列表中删除乘法,所得的代数对象就是著名的最大-加法代数或热带半环(tropical semiring)【32】。
3. 样条与 Transformer 的等价性
【本节部分证明见原论文】
我们将展示,在第 1 节定义的 Transformer 的每个组件——神经网络、注意力模块、掩码注意力模块、编码器块、解码器块、编码器、解码器、编码器-解码器——只要它们是 ReLU 激活的,都是一个样条。更重要的是,如果猜想 2.3 成立,那么反之亦然,即每个样条也是一个编码器。ReLU激活的前馈神经网络与线性样条之间的等价性是众所周知的【1】。其他等价性将在下文中建立。从现在开始,我们将假设本节中的所有激活函数均为 ReLU,除非需要强调,否则不会特别说明。
3.1. Transformer 是样条
我们首先提醒读者【1】中的主要结果,该结果建立了神经网络与线性样条之间的等价性。
定理 3.1 (Arora–Basu–Mianjy–Mukherjee)。每个神经网络 φ: R^n→R 是一个线性样条,并且每个线性样条 ℓ: R^n→R 都可以由深度最多为 ⌈log_2 (n+1)⌉+1 的神经网络表示。
由于在文献中提到的原因,样条函数的组合基本上是罕见的——通常通过求和或线性组合来结合样条。矩阵值样条在文献中也似乎相对少见。因此,我们无法找到关于复合运算和矩阵乘法下次数的标准结果的参考文献,因此我们在此陈述并证明如下。
引理 3.2:
- (i) 设 g: R^n→R^m 是次数为 k 的样条,f: R^m→R^p 是次数为 k′ 的样条。那么 f∘g 是次数为 kk′ 的样条。
- (ii) 设 f: R^{r×s}→R^{m×n} 和 g: R^{r×s}→R^{n×p} 是次数分别为 k 和 k′ 的样条。那么 fg: R^{r×s}→R^{m×p},X↦f(X)g(X) 是次数为 k+k′ 的样条。
【根据多项式复合和相乘的性质,这很容易理解】
在第 1 节中已经奠定了基础,即严格定义了 Transformer 的各个组件,接下来证明这些组件都是样条就相对简单了。
定理 3.3(Transformer 组件作为样条):
- (i) 注意力模块是一个三次样条。
- (ii) 掩码注意力模块是一个三次样条。
- (iii) 编码器-解码器注意力模块是一个三次样条。
- (iv) 编码器块是一个三次样条。
- (v) 解码器块是一个三次样条。
- (vi) 编码器-解码器块是一个五次样条。
- (vii) 一个 t 层的编码器是一个次数为 3^t 的样条。
- (viii) 一个 t 层的解码器是一个次数为 3^t 的样条。
- (ix) 一个由 s 层编码器块和 t 层编码器-解码器块组成的编码器-解码器是一个样条,次数为
证明。设 f,g: R^n→R 是次数为 k 的样条。由于 x+y 和 max(x,y) 是线性样条,根据引理 3.2 (i),f+g 和 max(f,g) 是次数为 k 的样条。在注意力模块中,K(X)、Q(X)、V(X) 是线性样条,根据引理 3.2 (ii),
是一个二次样条。因此,
也是一个二次样条,而
是一个三次样条。类似地,掩码注意力 β(X) 和在 (13) 中的编码器-解码器注意力 γ(X,Y) 也是三次样条。注意,编码器-解码器注意力相对于第一个变量 X 是二次样条,相对于第二个变量 Y 是线性样条;但总体上,它相对于 (X,Y) 是三次样条。
根据定理 3.1,神经网络是线性样条。因此,根据引理 3.2 (i),在 (6) 和 (10) 中的编码器块和解码器块仍然是三次样条。编码器-解码器块
对于 X 是二次的,对于 Y 是三次的,因此相对于 (X,Y) 是五次的。由于一个 t 层的编码器或解码器是(掩码)注意力模块和神经网络的组合,它是一个次数为 3^t 的样条。对于具有 s 层编码器块和 t 层编码器-解码器块的编码器-解码器,对 t 进行归纳可得其次数为
(ii)、(iii)、(v)、(viii) 中的样条是自回归的,而 (vi) 和 (ix) 中的样条是部分自回归的。术语 “自回归样条” 确实在文献中出现过,但它的用法与 (8) 完全无关。我们将在推论 3.10 中对此进行更多讨论。
3.2. Veronese 映射
度数为 k 的 Veronese 嵌入 v_k 是代数几何学【21, pp. 23–25】和多项式优化【28, pp. 16–17】中著名的映射。简单来说,它是将变量 x1,…,xn 映射到 x1,…,xn 中次数不超过 k 的单项式上。这个映射定义了一个注入的光滑函数:
其中,值
表示 n 个变量中次数不超过 k 的单项式的数量。两个简单的例子:
在代数几何【21, pp. 23–25】中,Veronese 映射通常定义在射影空间上,而在多项式优化【28, pp. 16–17】中,它通常定义在仿射空间上,如公式 (17) 所示。然而,这只是一个微小的区别,因为前者只是后者的齐次版本。
与代数几何和多项式优化中的标准做法一样,我们省略了符号 v_k 中的域依赖性以避免混乱。例如,二次 Veronese 映射 v_2: R^2→R^6 和 v_2: R^6→R^28 都表示为 v_2。这种灵活性允许我们组合 Veronese 映射,并讨论 v_k ∘ v_k′ 对于任何 k,k′∈N。例如,我们可以写
使用相同的符号 v2 来表示两个不同的映射。
Veronese 映射也定义在矩阵空间上:当应用于矩阵时,Veronese 映射只是将一个 n×p 矩阵的坐标视为 np 个变量。因此,
表示为:
例如,v2: R^{2×2}→R^15 作用在
上时为:
对我们来说,一个重要的观察如下。
引理 3.4. 设 k, k′ ∈ N。那么 v_kk′ (X) 的每一个坐标都出现在 v_k (v_k′ (X)) 中。
引理 3.5. Pierce-Birkhoff 猜想成立,当且仅当对于任意样条函数 f : R^n → R, 存在 k ∈ N 和一个线性样条
使得 f = ℓ ◦ v_k。
请注意,引理 3.5 适用于矩阵变量样条 f : R^{n×p} → R,除了 n 需要在整个过程中替换为 np,并且我们有
3.3. 样条是 Transformer
我们将展示任何矩阵值样条 f : R^{n×p} → R^{r×p} 都是一个编码器。首先,我们将证明两个技术结果。我们将使用 i, ˆi, ¯i, j, ˆj,¯j 来区分指标。我们提醒读者 x^{+}:= ReLU(x)。
引理 3.6(作为编码器的二次 Veronese)。设 v_2 : R^{n×p} → R^{(np+2)(np+1)/2} 是二次 Veronese 映射。存在一个两层的编码器 ε_2 : R^{n×p} → R^{n_2 × p},使得 ε_2 (X) 的每一列都包含 v_2 (X) 的一个拷贝,其形式为
更精确地,有
- 一个 h_1 头的注意力模块 α_1 : R^{n×p} → R^{m·h_1 × p},
- 一个一层的神经网络 ϕ_1 : R^{m·h_1 × p} → R^{n_1 × p},
- 一个 h_2 头的注意力模块 α_2 : R^{n_1 × p} → R^{m·h_2 × p},
- 另一个一层的神经网络 ϕ_2 : R^{m·h_2 × p} → R^{n_2 × p},
使得
特别地,X 的各项中的任意二次以下(含二次)的单项式都出现在 ε_2(X) 的每一列中。
回忆一下第 1.2 节内容,当神经网络接收一个矩阵输入 X= [x1,…,xp] ∈ R^{n×p} 时,它将被应用于每个列向量 x_j ∈ R^n 的列上。通常情况下,注意力模块和神经网络是不同的对象。但在一种特殊情况下,它们是相关的。
引理 3.7(单层神经网络作为编码器模块)。设 φ: R^n→R^{n_2} 是一个单层神经网络。那么
是一个形式为 φ_1 ∘ α_1 的编码器模块,其中 φ1 是一个单层神经网络,而 α1 是一个注意力模块。
虽然第 1.4 节中编码器的定义并不要求其中的神经网络只有一层隐藏层,但 [45] 中的原始版本确实如此。引理 3.7 表明,这并不是一个更严格的要求,因为每当我们遇到多层神经网络时,可以反复应用引理 3.7 将其转换为 [45] 中要求的形式。
假设 Pierce–Birkhoff 猜想成立,我们现在可以证明任何矩阵值样条函数 f: R^{n×p}→R^{r×p} 都是一个编码器。我们证明了最一般的情况,以便其他特殊情况可以轻松推导出来:通过设置 p=1,可以得到对应的向量值样条函数的结果,而通过设置 r=p=1,可以得到标量值样条函数的结果。还要注意的是,以下结果适用于定义在任何半代数分区上的样条——通过三角划分(rectilinear partition)获得的最常见的直线分区也是一个特殊情况。
定理 3.8(样条作为编码器)。设 f: R^{n×p}→R^{r×p} 为一个最大可定义的(max-definable)函数。则 f 是某个有限 t∈N 的 t 层编码器。更具体地,有 t 个注意力模块 α1,…,αt 和 t 个单层神经网络 φ1,…,φt 使得
如果 Pierce–Birkhoff 成立,那么任何 k 次样条都是一个编码器。
据我们所知,文献中甚至没有针对 Pierce–Birkhoff 猜想的猜想有效版本。因此,与定理 3.1 不同,目前无法确定编码器模块的数量、注意力模块头的数量、神经网络的宽度等的任何界限。
正如定理 3.1 建立了 ReLU 神经网络与线性样条之间的等价性,本文中的各种结果共同建立了 ReLU 编码器与样条之间的等价性,前提是假设皮尔斯-伯科夫猜想成立。
推论 3.9。如果 Pierce–Birkhoff 猜想成立,那么以下几类函数都是等价的: (i) 样条; (ii) 编码器; (iii) 最大可定义函数; (iv) 与 Veronese map 组合的线性样条。
虽然我们的文章是关于通过样条理解 transformer,但却带来了一个有些意想不到的收获:定理 3.8 的证明提供了一种构建自回归样条的方法。目前文献中似乎没有对 “自回归样条” 这一术语的普遍认可的定义,特别是没有一种定义能复制公式(8),我们也不知道有任何构造能产生一个在公式(8)意义上自回归的样条。
推论 3.10(自回归样条作为解码器)。设 k∈N 且 f: R^{n×p} → R^{m×p} 为一个自回归最大可定义函数。则 f 是某个有限 t∈N 的 t 层解码器。更具体地,有 t 个掩码注意力模块 β1,…,βt 和 t 个单层神经网络 φ1,…,φt 使得
如果 Pierce–Birkhoff 猜想成立,那么任何 k 次自回归样条都是一个解码器。
4. 结论
在数学中,有一个古老的说法:只有当你能看到每一步都是不可避免的时候,才能真正理解一个数学证明。我们希望第 3.3 节能为 transformer 提供这样的理解水平。
4.1. 见解
Arora 等人 [1] 已经表明,神经网络完全是线性样条的表现。由于线性样条的复合仍然是线性样条,要获得更复杂的函数,我们需要在神经网络之外再引入一些其他东西。从这个角度来看,第 1.3 节中的注意力模块是最简单的起到这种作用的函数。引理 3.6 表明,可以通过组合两个注意力模块获得二次 Veronese 映射,这是最简单的非线性样条映射。证明揭示了多头和多层的重要性:如果没有多头和多层的灵活性,这个证明将失败。证明还展示了神经网络与注意力模块的紧密配合:如果缺少任何一者,证明也将失败。定理 3.8 的证明则建立在引理 3.6 之上:通过组合二次 Veronese 映射,可以获得任意高次的 Veronese 映射;进一步将其与线性样条组合,我们可以获得所有可能的样条。最终的映射,即注意力模块与神经网络交替组成的映射,正是 transformer 的编码器。
还有一些其他值得强调的见解。引理 3.7 解释了为什么 transformer 中的神经网络只需要一层隐藏层;Vaswani 等人 [45] 可能通过他们的实验得出了同样的结论。定理 3.3 (vii) 表明,分层堆叠注意力模块和神经网络是提高模型复杂度的有效方法——样条的次数 3^t 随着层数 t 的增加而指数级增长。【注:这也是为什么,越深的网络拟合能力越强】
4.2. 建议
Wortsman 等人 [48] 的最新研究表明,ReLU-transformer 完全能够达到与原始 SoftMax-transformer 相似的高质量结果,同时提供了显著的计算节省。我们也倡导使用 ReLU 激活函数,即便只是为了将一种几乎神秘且有时令人畏惧的技术转变为一种熟悉且友好的技术。如果这样,我们可以在标题中去掉 “平滑” 一词——注意力实际上是一个三次样条。
如果需要平滑函数,我们建议使用 SoftPlus 代替 SoftMax 作为激活函数。SoftMax 函数是 argmax 的自然平滑代理,也是 SoftPlus 的导数,SoftPlus 也被称为 log-sum-exp 函数,是 ReLU 的自然平滑代理。实际上,SoftPlus 已被用来代替 ReLU 构建平滑神经网络,并取得了令人鼓舞的结果 [7]。尽管两者关系密切,但 SoftMax 作为 ReLU 的代理表现并不好。基于我们的研究,SoftPlus 激活函数是自然的、平滑的,并且保留了与样条的准确性。
最后,第 3.3 节指出了关于样条的一个几乎被遗忘了七十年的猜想的重要性,这个猜想由其领域的开创者之一提出。确实,定理 3.8 表明,如果且仅当每个样条都是一个编码器时, Pierce–Birkhoff 猜想才成立。也许这篇文章会重新引起对这一猜想的兴趣,并为其解决指明方向。
论文地址:https://arxiv.org/abs/2408.09624
公和众与号:EDPJ(进 Q 交流群:922230617 或加 VX:CV_EDPJ 进 V 交流群)
加 VX 群请备注学校 / 单位 + 研究方向
CV 进计算机视觉群
KAN 进 KAN 群