赞
踩
论文链接:https://arxiv.org/pdf/2404.19756
代码:https://github.com/KindXiaoming/pykan
受科尔莫戈洛夫-阿诺德表示定理的启发,我们提出了科尔莫戈洛夫-阿诺德网络(KANs)作为多层感知器(MLPs)的有希望的替代方案。虽然MLPs在节点(“神经元”)上有固定的激活函数,但KANs在边缘(“权重”)上有可学习的激活函数。KANs根本没有线性权重 - 每个权重参数都被替换为参数化为样条的单变量函数。我们展示了这个看似简单的改变使得KANs在准确性和可解释性方面优于MLPs。在准确性方面,较小的KANs在数据拟合和PDE求解方面可以达到与较大的MLPs相媲美甚至更好的准确性。从理论和实证上看,KANs比MLPs具有更快的神经缩放定律。在可解释性方面,KANs可以直观地可视化,并且可以轻松地与人类用户交互。通过数学和物理的两个示例,我们展示了KANs作为有用的“合作者”,帮助科学家(重新)发现数学和物理定律。总之,KANs是MLPs的有希望的替代方案,为今天严重依赖于MLPs的深度学习模型的进一步改进提供了机会。
图0.1:多层感知器(MLPs)与科尔莫戈洛夫-阿诺德网络(KANs)[^0]
多层感知器(MLPs)[1, 2, 3],也称为全连接前馈神经网络,是当今深度学习模型的基础构建模块。MLPs的重要性无法过分强调,因为它们是机器学习中用于逼近非线性函数的默认模型,这得益于通用逼近定理[3]所保证的表达能力。然而,MLPs是我们可以构建的最佳非线性回归器吗?尽管MLPs被广泛使用,但它们也有明显的缺点。例如,在变压器[4]中,MLPs几乎消耗了所有非嵌入参数,并且通常(相对于注意力层)缺乏可解释性,没有后期分析工具[5]。
我们提出了MLPs的一个有希望的替代方案,称为科尔莫戈洛夫-阿诺德网络(KANs)。虽然MLPs受到通用逼近定理的启发,但KANs受到科尔莫戈洛夫-阿诺德表示定理的启发[6, 7]。像MLPs一样,KANs具有全连接结构。然而,MLPs在节点(“神经元”)上放置固定的激活函数,而KANs在边缘(“权重”)上放置可学习的激活函数,如图0.1所示。因此,KANs根本没有线性权重矩阵:相反,每个权重参数都被替换为一个可学习的一维函数,该函数的参数化为样条。KANs的节点只是简单地对传入信号求和,而不施加任何非线性。人们可能担心KANs是不可思议地昂贵,因为每个MLP的权重参数都变成了KANs的样条函数。幸运的是,KANs通常比MLPs允许更小的计算图。例如,我们表明,对于PDE求解,一个2层宽度为10的KAN比一个4层宽度为100的MLP更准确( 1 0 − 7 10^{-7} 10−7 vs 1 0 − 5 10^{-5} 10−5 MSE)并且参数效率更高( 1 0 2 10^{2} 102 vs 1 0 4 10^{4} 104个参数)。
毫不奇怪,使用科尔莫戈洛夫-阿诺德表示定理构建神经网络的可能性已经得到研究[8, 9, 10, 11, 12, 13]。然而,大多数工作仍停留在原始的深度-2宽度为 ( 2 n + 1 ) (2n+1) (2n+1)的表示上,并且没有机会利用更现代的技术(例如反向传播)来训练网络。我们的贡献在于将原始的科尔莫戈洛夫-阿诺德表示推广到任意宽度和深度,将其在今天的深度学习世界中复兴和置于背景中,并使用大量的实证实验来突显其作为AI+科学基础模型的潜在作用,因为其准确性和可解释性。
尽管卡尔莫戈罗夫-阿诺尔德网络(KAN)有其优雅的数学解释,但它们实质上只是样条和多层感知器(MLP)的组合,充分利用各自的优势,并避免各自的弱点。样条对于低维函数准确,易于局部调整,并能够在不同分辨率之间切换。然而,由于无法利用构成结构,样条存在严重的维度诅咒(COD)问题。另一方面,MLP由于特征学习而受到的COD较少,但在低维度上比样条准确度较低,因为它们无法优化单变量函数。为了准确地学习一个函数,模型不仅应该学习组成结构(外部自由度),还应该很好地逼近单变量函数(内部自由度)。KAN就是这样的模型,因为它们外部有MLP,内部有样条。因此,KAN不仅可以学习特征(由于其外部与MLP相似),而且可以将这些学习到的特征优化到极致的准确度(由于其内部与样条相似)。例如,对于高维函数,由于COD,样条将在大的
N
N
N下失败;MLP可以潜在地学习广义加法结构,但对于近似指数和正弦函数(例如,ReLU激活)非常低效。相比之下,KAN可以很好地学习组成结构和单变量函数,因此在很大程度上胜过MLP(见图3.1)。
f
(
x
1
,
⋯
,
x
N
)
=
exp
(
1
N
∑
i
=
1
N
sin
2
(
x
i
)
)
图2.1:我们提出的卡尔莫戈罗夫-阿诺尔德网络是为了向两位伟大的已故数学家安德烈·科尔莫戈罗夫和弗拉基米尔·阿诺尔德致敬。KAN在数学上是严格的、准确的和可解释的。
在本文中,我们将通过大量数值实验表明,与MLP相比,KAN可以显著提高准确性和可解释性。论文的组织如图2.1所示。在第2节,我们介绍了KAN的架构及其数学基础,介绍了网络简化技术以使KAN具有解释性,并介绍了一种网格扩展技术以使KAN越来越准确。在第3节,我们展示了KAN在数据拟合和PDE求解方面比MLP更准确:当数据具有组合结构时,KAN可以克服维度诅咒,实现比MLP更好的缩放定律。在第4节,我们展示了KAN是可解释的,并且可以用于科学发现。我们使用数学(结)和物理(安德森定位)中的两个例子来证明KAN可以成为科学家的有益“合作者”,帮助他们(重新)发现数学和物理定律。第5节总结了相关工作。在第6节,我们通过讨论广泛的影响和未来方向来总结。代码可在https://github.com/KindXiaoming/pykan 上获得,并且还可以通过pip install pykan进行安装。
多层感知器(MLP)受到了通用逼近定理的启发。我们转而关注卡尔莫戈罗夫-阿诺尔德表示定理,该定理可以通过一种称为卡尔莫戈罗夫-阿诺尔德网络(KAN)的新型神经网络来实现。我们在第2.1节回顾了卡尔莫戈罗夫-阿诺尔德定理,以激发第2.2节中的卡尔莫戈罗夫-阿诺尔德网络的设计。在第2.3节中,我们为KAN的表达能力和神经缩放定律提供了理论保证。在第2.4节中,我们提出了一种网格扩展技术,以使KAN变得更加准确。在第2.5节中,我们提出了简化技术,以使KAN可解释。
弗拉基米尔·阿诺尔德和安德烈·科尔莫戈罗夫证明了,如果
f
f
f是有界域上的多变量连续函数,则
f
f
f可以写成单变量连续函数和加法二元运算的有限组合。更具体地说,对于光滑的
f
:
[
0
,
1
]
n
→
R
f:[0,1]^{n} \rightarrow \mathbb{R}
f:[0,1]n→R,
f
(
x
)
=
f
(
x
1
,
⋯
,
x
n
)
=
∑
q
=
1
2
n
+
1
Φ
q
(
∑
p
=
1
n
ϕ
q
,
p
(
x
p
)
)
其中
ϕ
q
,
p
:
[
0
,
1
]
→
R
\phi_{q, p}:[0,1] \rightarrow \mathbb{R}
ϕq,p:[0,1]→R and
Φ
q
:
R
→
R
\Phi_{q}: \mathbb{R} \rightarrow \mathbb{R}
Φq:R→R. 在某种意义上,他们表明唯一真正的多变量函数是加法,因为每个其他函数都可以用一元函数和求和来表示。有人可能天真地认为这对机器学习来说是个好消息:学习高维函数归结为学习多项式数量的一维函数。然而,这些一维函数可能是非光滑的,甚至是分形的,因此在实践中可能无法学习[14]。由于这种病态行为,科尔莫戈洛夫-阿诺德表示定理在机器学习中基本上被判了死刑,被认为在理论上是正确的,但在实践中是无用的[14]。
图2.2:左:流经网络的激活符号。右:激活函数被参数化为B样条,可以在粗粒度和细粒度网格之间切换。
然而,我们对科尔莫戈洛夫-阿诺德定理在机器学习中的用处更为乐观。首先,我们不必局限于原始的方程[2.1],该方程只有两层非线性和隐藏层中的少量项( ( 2 n + 1 ) (2n+1) (2n+1)):我们将将网络推广到任意宽度和深度。其次,科学和日常生活中的大多数函数通常是光滑的,并具有稀疏的组合结构,可能有助于实现平滑的科尔莫戈洛夫-阿诺德表示。这里的哲学与物理学家的思维方式接近,他们通常更关心典型情况而不是最坏情况。毕竟,我们的物理世界和机器学习任务必须具有结构,才能使物理学和机器学习有用或可推广[15]。
假设我们有一个监督学习任务,包含输入-输出对 { x i , y i } \left\{\mathbf{x}_{i}, y_{i}\right\} {xi,yi},我们希望找到 f f f,使得对所有数据点 y i ≈ f ( x i ) y_{i} \approx f\left(\mathbf{x}_{i}\right) yi≈f(xi)。方程2.1意味着,如果我们能找到适当的一元函数 ϕ q , p \phi_{q, p} ϕq,p和 Φ q \Phi_{q} Φq,那么我们就完成了。这启发我们设计一个神经网络,明确地将方程2.1参数化。由于要学习的所有函数都是一元函数,我们可以将每个一维函数参数化为B样条曲线,其中局部B样条基函数的系数是可学习的(见图2.2右侧)。现在我们有了KAN的原型,其计算图由方程2.1精确指定,并在图0.1(b)中进行了说明(输入维度 n = 2 n=2 n=2),看起来像一个两层神经网络,激活函数放置在边缘而不是节点上(节点上执行简单求和),中间层的宽度为 2 n + 1 2n+1 2n+1。
如前所述,这样的网络在实践中用光滑样条无法任意精确逼近任何函数!因此,我们将将我们的KAN推广为更宽更深。如何使KAN更深并不是立即清楚,因为科尔莫戈洛夫-阿诺德表示对应于两层KAN。据我们所知,尚没有与更深KAN对应的“广义”定理。
当我们注意到多层感知机(MLP)和KAN之间的类比时,突破发生了。在MLP中,一旦定义了一层(由线性变换和非线性组成),我们可以堆叠更多层以使网络更深。要构建深层KAN,我们首先应该回答:“什么是KAN层?”原来,具有 n i n n_{\mathrm{in}} nin维输入和 n out n_{\text {out }} nout 维输出的KAN层可以定义为一个 1 D 1 \mathrm{D} 1D函数矩阵
$$
\begin{equation*}
\mathbf{\Phi}=\left{\phi_{q, p}\right}, \quad p=1,2, \cdots, n_{\text {in }}, \quad q=1,2 \cdots, n_{\text {out }} \tag{2.2}
\end{equation*}
$$
其中函数 ϕ q , p \phi_{q, p} ϕq,p具有可训练参数,如下所述。在科尔莫戈洛夫-阿诺德定理中,内部函数形成具有 n in = n n_{\text {in }}=n nin =n和 n out = 2 n + 1 n_{\text {out }}=2 n+1 nout =2n+1的KAN层,外部函数形成具有 n in = 2 n + 1 n_{\text {in }}=2 n+1 nin =2n+1和 n out = 1 n_{\text {out }}=1 nout =1的KAN层。因此,方程2.1中的科尔莫戈洛夫-阿诺德表示简单地是两个KAN层的组合。现在更清楚了更深的科尔莫戈洛夫-阿诺德表示意味着什么:只需堆叠更多KAN层!
让我们引入一些符号。这一段将会有点技术性,但读者可以参考图[2.2(左)]以获得具体示例和直观理解。KAN的形状由一个整数数组表示
$$
\begin{equation*}
\left[n_{0}, n_{1}, \cdots, n_{L}\right] \tag{2.3}
\end{equation*}
$$
其中
n
i
n_{i}
ni 是计算图中第
i
i
i 层的节点数。我们用
(
l
,
i
)
(l, i)
(l,i) 表示第
l
l
l 层的第
i
i
i 个神经元,用
x
l
,
i
x_{l, i}
xl,i 表示
(
l
,
i
)
(l, i)
(l,i) 神经元的激活值。在第
l
l
l 层和第
l
+
1
l+1
l+1 层之间,有
n
l
n
l
+
1
n_{l} n_{l+1}
nlnl+1 个激活函数:连接
(
l
,
j
)
(l, j)
(l,j) 和
(
l
+
1
,
i
)
(l+1, i)
(l+1,i) 的激活函数记为
ϕ
l
,
i
,
j
,
l
=
0
,
⋯
,
L
−
1
,
i
=
1
,
⋯
,
n
l
+
1
,
j
=
1
,
⋯
,
n
l
.
ϕ l , i , j \phi_{l, i, j} ϕl,i,j 的前激活值简单地是 x l , i x_{l, i} xl,i; ϕ l , i , j \phi_{l, i, j} ϕl,i,j 的后激活值记为 x ~ l , i , j ≡ ϕ l , i , j ( x l , i ) \tilde{x}_{l, i, j} \equiv \phi_{l, i, j}\left(x_{l, i}\right) x~l,i,j≡ϕl,i,j(xl,i)。第 ( l + 1 , j ) (l+1, j) (l+1,j) 个神经元的激活值就是所有输入后激活值的和:
x
l
+
1
,
j
=
∑
i
=
1
n
l
x
~
l
,
i
,
j
=
∑
i
=
1
n
l
ϕ
l
,
i
,
j
(
x
l
,
i
)
,
j
=
1
,
⋯
,
n
l
+
1
用矩阵形式表示为
x
l
+
1
=
(
ϕ
l
,
1
,
1
(
⋅
)
ϕ
l
,
1
,
2
(
⋅
)
⋯
ϕ
l
,
1
,
n
l
(
⋅
)
ϕ
l
,
2
,
1
(
⋅
)
ϕ
l
,
2
,
2
(
⋅
)
⋯
ϕ
l
,
2
,
n
l
(
⋅
)
⋮
⋮
⋮
ϕ
l
,
n
l
+
1
,
1
(
⋅
)
ϕ
l
,
n
l
+
1
,
2
(
⋅
)
⋯
ϕ
l
,
n
l
+
1
,
n
l
(
⋅
)
)
⏟
Φ
l
x
l
(2.6)
\mathbf{x}_{l+1}=\underbrace{\left(
其中 Φ l \boldsymbol{\Phi}_{l} Φl 是对应第 l l l 层 KAN 的函数矩阵。一个一般的 KAN 网络是由 L L L 层组成的:给定输入向量 x 0 ∈ R n 0 \mathbf{x}_{0} \in \mathbb{R}^{n_{0}} x0∈Rn0,KAN 的输出为
KAN
(
x
)
=
(
Φ
L
−
1
∘
Φ
L
−
2
∘
⋯
∘
Φ
1
∘
Φ
0
)
x
我们也可以重写上式,使其更类似于公式 [2.1),假设输出维度 n L = 1 n_{L}=1 nL=1,并定义 f ( x ) ≡ KAN ( x ) f(\mathbf{x}) \equiv \operatorname{KAN}(\mathbf{x}) f(x)≡KAN(x):
f ( x ) = ∑ i L − 1 = 1 n L − 1 ϕ L − 1 , i L , i L − 1 ( ∑ i L − 2 = 1 n L − 2 ⋯ ( ∑ i 2 = 1 n 2 ϕ 2 , i 3 , i 2 ( ∑ i 1 = 1 n 1 ϕ 1 , i 2 , i 1 ( ∑ i 0 = 1 n 0 ϕ 0 , i 1 , i 0 ( x i 0 ) ) ) ) ⋯ ) f(\mathbf{x})=\sum_{i_{L-1}=1}^{n_{L-1}} \phi_{L-1, i_{L}, i_{L-1}}\left(\sum_{i_{L-2}=1}^{n_{L-2}} \cdots\left(\sum_{i_{2}=1}^{n_{2}} \phi_{2, i_{3}, i_{2}}\left(\sum_{i_{1}=1}^{n_{1}} \phi_{1, i_{2}, i_{1}}\left(\sum_{i_{0}=1}^{n_{0}} \phi_{0, i_{1}, i_{0}}\left(x_{i_{0}}\right)\right)\right)\right) \cdots\right) f(x)=∑iL−1=1nL−1ϕL−1,iL,iL−1(∑iL−2=1nL−2⋯(∑i2=1n2ϕ2,i3,i2(∑i1=1n1ϕ1,i2,i1(∑i0=1n0ϕ0,i1,i0(xi0))))⋯),
这种表达方式相当繁琐。相比之下,我们对 KAN 层的抽象和可视化更加简洁直观。原始的 Kolmogorov-Arnold 表示公式 [2.1) 对应于一个 2 层 KAN,形状为 [ n , 2 n + 1 , 1 ] [n, 2 n+1,1] [n,2n+1,1]。注意,所有操作都是可微的,因此我们可以使用反向传播来训练 KAN。
为了对比,一个多层感知机(MLP)可以表示为线性变换 W \mathbf{W} W 和非线性 σ \sigma σ 的交替:
MLP
(
x
)
=
(
W
L
−
1
∘
σ
∘
W
L
−
2
∘
σ
∘
⋯
∘
W
1
∘
σ
∘
W
0
)
x
很明显,MLP 将线性变换和非线性分开处理为 W \mathbf{W} W 和 σ \sigma σ,而 KAN 将它们统一地处理在 Φ \boldsymbol{\Phi} Φ 中。在图 0.1 © 和 (d) 中,我们可视化了一个 3 层 MLP 和一个 3 层 KAN,以阐明它们的差异。
实现细节。尽管 KAN 层 (公式 2.5) 看起来非常简单,但要使其优化良好并非易事。关键技巧包括:
(1) 残差激活函数。我们包含一个基函数 b ( x ) b(x) b(x)(类似于残差连接),使得激活函数 ϕ ( x ) \phi(x) ϕ(x) 是基函数 b ( x ) b(x) b(x) 和样条函数的和:
ϕ
(
x
)
=
w
(
b
(
x
)
+
spline
(
x
)
)
我们通常设置
b
(
x
)
=
silu
(
x
)
=
x
/
(
1
+
e
−
x
)
spline ( x ) (x) (x) 被参数化为 B 样条的线性组合,即
spline
(
x
)
=
∑
i
c
i
B
i
(
x
)
其中 c i c_{i} ci 是可训练的。原则上 w w w 是多余的,因为它可以被吸收到 b ( x ) b(x) b(x) 和 spline ( x ) (x) (x) 中。但我们仍然包含这个 w w w 因子,以更好地控制激活函数的整体幅度。
(2) 初始化比例。每个激活函数都被初始化为 spline ( x ) ≈ 0 \operatorname{spline}(x) \approx 0 spline(x)≈0, w w w 根据 Xavier 初始化方法进行初始化,这种方法已被用于初始化 MLP 中的线性层。
(3) 样条网格的更新。我们根据输入激活值实时更新每个网格,以解决样条在有限区域上定义,但激活值在训练过程中可能超出固定区域的问题。
参数数量。为简单起见,我们假设一个网络
(1) 深度为 L L L,[^1]
(2) 每层宽度相等,即 n 0 = n 1 = ⋯ = n L = N n_{0}=n_{1}=\cdots=n_{L}=N n0=n1=⋯=nL=N,
(3) 每个样条的阶数为 k k k(通常为 k = 3 k=3 k=3),分布在 G G G 个区间(共 G + 1 G+1 G+1 个网格点)。
表 1:不同理论的缩放指数 ℓ ∝ N − α \ell \propto N^{-\alpha} ℓ∝N−α。 ℓ \ell ℓ : 测试 RMSE 损失, N N N : 模型参数数量, d d d : 输入内在维度, k k k : 分段多项式的阶数, m m m : 函数类 W m W_{m} Wm 中的导数阶数
总共有 O ( N 2 L ( G + k ) ) ∼ O ( N 2 L G ) O\left(N^{2} L(G+k)\right) \sim O\left(N^{2} L G\right) O(N2L(G+k))∼O(N2LG) 个参数。相比之下,深度为 L L L、宽度为 N N N 的多层感知机(MLP)只需要 O ( N 2 L ) O\left(N^{2} L\right) O(N2L) 个参数,这似乎比 KAN 更高效。幸运的是,KAN 通常需要比 MLP 小得多的 N N N,不仅可以节省参数,而且还能实现更好的泛化(见图 3.1 和 3.3)并有利于解释性。我们将在下面的定理中描述 KAN 的泛化行为。
回想一下,在方程 (2.1) 中,宽度为 ( 2 n + 1 ) (2 n+1) (2n+1) 的 2 层表示可能是非光滑的。然而,更深的表示可能带来更光滑激活的优势。例如,4 变量函数
f
(
x
1
,
x
2
,
x
3
,
x
4
)
=
exp
(
sin
(
x
1
2
+
x
2
2
)
+
sin
(
x
3
2
+
x
4
2
)
)
可以由一个 [ 4 , 2 , 1 , 1 ] [4,2,1,1] [4,2,1,1] 的 3 层 KAN 平滑地表示,但可能无法用光滑激活的 2 层 KAN 表示。为了便于逼近分析,我们仍然假设激活函数是光滑的,但允许表示可以任意宽和深,如方程 (2.7) 所示。为了强调我们的 KAN 依赖于有限网格点集,我们在下面使用 Φ l G \boldsymbol{\Phi}_{l}^{G} ΦlG 和 Φ l , i , j G \Phi_{l, i, j}^{G} Φl,i,jG 来替换方程 (2.5) 和 (2.6) 中使用的符号 Φ l \boldsymbol{\Phi}_{l} Φl 和 Φ l , i , j \Phi_{l, i, j} Φl,i,j。
定理 2.1(逼近理论,KAT)。设 x = ( x 1 , x 2 , ⋯ , x n ) \mathbf{x}=\left(x_{1}, x_{2}, \cdots, x_{n}\right) x=(x1,x2,⋯,xn)。假设函数 f ( x ) f(\mathbf{x}) f(x) 可以表示为
f
=
(
Φ
L
−
1
∘
Φ
L
−
2
∘
⋯
∘
Φ
1
∘
Φ
0
)
x
如方程 (2.7) 所示,其中每个 Φ l , i , j \Phi_{l, i, j} Φl,i,j 都是 ( k + 1 ) (k+1) (k+1) 次连续可微的。那么存在一个常数 C C C,它取决于 f f f 及其表示,使得我们有以下关于网格大小 G G G 的逼近界:存在 k k k 阶 B 样条函数 Φ l , i , j G \Phi_{l, i, j}^{G} Φl,i,jG,使得对于任意 0 ≤ m ≤ k 0 \leq m \leq k 0≤m≤k,有界
∥
f
−
(
Φ
L
−
1
G
∘
Φ
L
−
2
G
∘
⋯
∘
Φ
1
G
∘
Φ
0
G
)
x
∥
C
m
≤
C
G
−
k
−
1
+
m
这里我们采用 C m C^{m} Cm 范数来度量导数大小,定义为
∥ g ∥ C m = max ∣ β ∣ ≤ m sup x ∈ [ 0 , 1 ] n ∣ D β g ( x ) ∣ . \|g\|_{C^{m}}=\max _{|\beta| \leq m} \sup _{x \in[0,1]^{n}}\left|D^{\beta} g(x)\right| . ∥g∥Cm=∣β∣≤mmaxx∈[0,1]nsup Dβg(x) .
证明:根据经典的 1D B 样条理论 [19] 和 Φ l , i , j \Phi_{l, i, j} Φl,i,j 作为连续函数可以在有界域上均匀有界的事实,我们知道存在有限网格 B 样条函数 Φ l , i , j G \Phi_{l, i, j}^{G} Φl,i,jG,使得对于任意 0 ≤ m ≤ k 0 \leq m \leq k 0≤m≤k,有
∥ ( Φ l , i , j ∘ Φ l − 1 ∘ Φ l − 2 ∘ ⋯ ∘ Φ 1 ∘ Φ 0 ) x − ( Φ l , i , j G ∘ Φ l − 1 ∘ Φ l − 2 ∘ ⋯ ∘ Φ 1 ∘ Φ 0 ) x ∥ C m ≤ C G − k − 1 + m \left\|\left(\Phi_{l, i, j} \circ \boldsymbol{\Phi}_{l-1} \circ \boldsymbol{\Phi}_{l-2} \circ \cdots \circ \boldsymbol{\Phi}_{1} \circ \boldsymbol{\Phi}_{0}\right) \mathbf{x}-\left(\Phi_{l, i, j}^{G} \circ \boldsymbol{\Phi}_{l-1} \circ \boldsymbol{\Phi}_{l-2} \circ \cdots \circ \boldsymbol{\Phi}_{1} \circ \boldsymbol{\Phi}_{0}\right) \mathbf{x}\right\|_{C^{m}} \leq C G^{-k-1+m} (Φl,i,j∘Φl−1∘Φl−2∘⋯∘Φ1∘Φ0)x−(Φl,i,jG∘Φl−1∘Φl−2∘⋯∘Φ1∘Φ0)x Cm≤CG−k−1+m,
其中常数 C C C 与 G G G 无关。我们固定这些 B 样条近似。因此我们有残差 R l R_{l} Rl 满足
R l : = ( Φ L − 1 G ∘ ⋯ ∘ Φ l + 1 G ∘ Φ l ∘ Φ l − 1 ∘ ⋯ ∘ Φ 0 ) x − ( Φ L − 1 G ∘ ⋯ ∘ Φ l + 1 G ∘ Φ l G ∘ Φ l − 1 ∘ ⋯ ∘ Φ 0 ) x R_{l}:=\left(\boldsymbol{\Phi}_{L-1}^{G} \circ \cdots \circ \boldsymbol{\Phi}_{l+1}^{G} \circ \boldsymbol{\Phi}_{l} \circ \boldsymbol{\Phi}_{l-1} \circ \cdots \circ \boldsymbol{\Phi}_{0}\right) \mathbf{x}-\left(\boldsymbol{\Phi}_{L-1}^{G} \circ \cdots \circ \boldsymbol{\Phi}_{l+1}^{G} \circ \boldsymbol{\Phi}_{l}^{G} \circ \boldsymbol{\Phi}_{l-1} \circ \cdots \circ \boldsymbol{\Phi}_{0}\right) \mathbf{x} Rl:=(ΦL−1G∘⋯∘Φl+1G∘Φl∘Φl−1∘⋯∘Φ0)x−(ΦL−1G∘⋯∘Φl+1G∘ΦlG∘Φl−1∘⋯∘Φ0)x
满足
∥ R l ∥ C m ≤ C G − k − 1 + m \left\|R_{l}\right\|_{C^{m}} \leq C G^{-k-1+m} ∥Rl∥Cm≤CG−k−1+m
其中常数与 G G G 无关。最后注意到
f − ( Φ L − 1 G ∘ Φ L − 2 G ∘ ⋯ ∘ Φ 1 G ∘ Φ 0 G ) x = R L − 1 + R L − 2 + ⋯ + R 1 + R 0 , f-\left(\boldsymbol{\Phi}_{L-1}^{G} \circ \boldsymbol{\Phi}_{L-2}^{G} \circ \cdots \circ \boldsymbol{\Phi}_{1}^{G} \circ \boldsymbol{\Phi}_{0}^{G}\right) \mathbf{x}=R_{L-1}+R_{L-2}+\cdots+R_{1}+R_{0}, f−(ΦL−1G∘ΦL−2G∘⋯∘Φ1G∘Φ0G)x=RL−1+RL−2+⋯+R1+R0,
我们知道 2.15 ) \sqrt{2.15)} 2.15) 成立。
我们知道,渐近地,假设定理 2.1 成立的情况下,具有有限网格大小的 KAN(Kolmogorov-Arnold 网络)可以以一个与维度无关的残差率很好地近似函数,从而克服维度诅咒!这是很自然的,因为我们只使用样条来近似一维函数。特别地,对于 m = 0 m=0 m=0,我们恢复了 L ∞ L^{\infty} L∞范数中的准确度,从而为有限域提供了RMSE的界限,这给出了一个标度指数 k + 1 k+1 k+1。当然,常数 C C C取决于表示方式;因此它将取决于维度。我们将把常数对维度的依赖性讨论留待将来的工作。
我们指出,尽管 Kolmogorov-Arnold 定理 (Eq. 2.1) 对应于形状为 [ d , 2 d + 1 , 1 ] [d, 2d+1,1] [d,2d+1,1]的 KAN 表示,但其函数不一定平滑。另一方面,如果我们能够确定一个平滑的表示(可能以额外的层或使 KAN 比理论规定的更宽的方式),那么定理 2.1 表明我们可以克服维度诅咒(COD)。这不应该让人感到意外,因为我们可以固有地学习函数的结构,并使我们的有限样本 KAN 近似可解释化。
神经缩放定律:与其他理论的比较。神经缩放定律是一种现象,即测试损失随着模型参数增加而减小,即 ℓ ∝ N − α \ell \propto N^{-\alpha} ℓ∝N−α,其中 ℓ \ell ℓ是测试RMSE, N N N是参数数量, α \alpha α是缩放指数。较大的 α \alpha α承诺通过简单扩大模型获得更多的改进。已经提出了不同的理论来预测 α \alpha α。Sharma 和 Kaplan [17] 指出, α \alpha α来自于在固有维度为 d d d的输入流形上的数据拟合。如果模型函数类是 k k k阶的分段多项式(ReLU的 k = 1 k=1 k=1),那么标准的逼近理论暗示了 α = ( k + 1 ) / d \alpha=(k+1)/d α=(k+1)/d。这个界限受到维度诅咒的影响,因此人们寻求独立于 d d d的其他界限,通过利用组合结构。特别地,Michaud等人 [18] 考虑了只涉及一元(例如,平方,正弦,指数)和二元( + + +和 × \times ×)操作的计算图,发现 α = ( k + 1 ) / d ∗ = ( k + 1 ) / 2 \alpha=(k+1)/d^{*}=(k+1)/2 α=(k+1)/d∗=(k+1)/2,其中 d ∗ = 2 d^{*}=2 d∗=2是最大的二元数。Poggio等人 [14] 利用组合稀疏性的想法,证明了给定函数类 W m W_{m} Wm(其导数连续到第 m m m阶),需要 N = O ( ϵ − 2 m ) N=O(\epsilon^{-\frac{2}{m}}) N=O(ϵ−m2)个参数才能达到误差 ϵ \epsilon ϵ,这等价于 α = m 2 \alpha=\frac{m}{2} α=2m。我们的方法假设存在光滑的 Kolmogorov-Arnold 表示,将高维函数分解成多个一维函数,给出 α = k + 1 \alpha=k+1 α=k+1(其中 k k k是样条的分段多项式阶数)。我们选择 k = 3 k=3 k=3次样条,所以 α = 4 \alpha=4 α=4,这是与其他工作相比最大和最佳的缩放指数。我们将在第3.1节中展示,这个界限 α = 4 \alpha=4 α=4实际上可以通过 KANs 实证达到,而以前的工作 [18] 报告说 MLPs 甚至无法达到较慢的界限(例如 α = 1 \alpha=1 α=1),并且很快达到平稳。当然,我们可以增加 k k k来匹配函数的光滑度,但是太高的 k k k可能会太振荡,导致优化问题。
图 2.3:通过网格扩展使 KANs 更准确。左上(右): [ 2 , 5 , 1 ] [2,5,1] [2,5,1]( [ 2 , 1 , 1 ] [2,1,1] [2,1,1])KAN的训练动态。这两个模型的损失曲线显示了阶梯状,即在网格扩展后损失突然下降,然后趋于稳定。左下:测试RMSE随网格大小 G G G的缩放定律。右下:训练时间随网格大小 G G G有利地缩放。
KAT(Kolmogorov-Arnold定理)和UAT(通用逼近定理)的比较。 全连接神经网络的能力由通用逼近定理(UAT)证明,该定理表明,对于一个函数和误差容限 ϵ > 0 \epsilon>0 ϵ>0,一个具有 k > N ( ϵ ) k>N(\epsilon) k>N(ϵ)个神经元的两层网络可以在误差 ϵ \epsilon ϵ内近似函数。然而,UAT并不保证 N ( ϵ ) N(\epsilon) N(ϵ)随着 ϵ \epsilon ϵ的增长而如何扩展的界限。事实上,它受到维度诅咒的影响,在某些情况下, N N N随着 d d d的增长呈指数增长。KAT和UAT之间的差异是,KANs利用了函数的固有低维表示,而原则上,样条可以随着网格变得越来越精细而越来越接近目标函数。这一优良特性被 KANs 继承了。相比之下,MLPs 没有“精细化”的概念。诚然,增加 MLPs 的宽度和深度可以提高性能(“神经规模定律”)。然而,这些神经规模定律缓慢(在最后一节中讨论)。它们也很昂贵,因为需要独立训练不同尺寸的模型。相比之下,对于 KANs,可以首先训练一个参数较少的 KAN,然后通过简单地使其样条网格更细来扩展为参数更多的 KAN,而无需从头重新训练较大的模型。
接下来我们描述如何进行网格扩展(如图2.2右所示),这基本上是将新的细网格拟合到旧的粗网格上。假设我们想要在有界区间 [ a , b ] [a, b] [a,b] 上用阶为 k k k 的 B \mathrm{B} B-样条来近似一个一维函数 f f f。粗网格具有 G 1 G_{1} G1 个间隔,网格点为 { t 0 = a , t 1 , t 2 , ⋯ , t G 1 = b } \left\{t_{0}=a, t_{1}, t_{2}, \cdots, t_{G_{1}}=b\right\} {t0=a,t1,t2,⋯,tG1=b},这被扩展为 { t − k , ⋯ , t − 1 , t 0 , ⋯ , t G 1 , t G 1 + 1 , ⋯ , t G 1 + k } \left\{t_{-k}, \cdots, t_{-1}, t_{0}, \cdots, t_{G_{1}}, t_{G_{1}+1}, \cdots, t_{G_{1}+k}\right\} {t−k,⋯,t−1,t0,⋯,tG1,tG1+1,⋯,tG1+k}。有 G 1 + k G_{1}+k G1+k 个 B-样条基函数,第 i i i 个 B \mathrm{B} B-样条 B i ( x ) B_{i}(x) Bi(x) 只在 [ t − k + i , t i + 1 ] ( i = 0 , ⋯ , G 1 + k − 1 ) \left[t_{-k+i}, t_{i+1}\right]\left(i=0, \cdots, G_{1}+k-1\right) [t−k+i,ti+1](i=0,⋯,G1+k−1) 上非零。然后,粗网格上的 f f f 可以用这些 B-样条基函数的线性组合来表示 f coarse ( x ) = ∑ i = 0 G 1 + k − 1 c i B i ( x ) f_{\text {coarse }}(x)=\sum_{i=0}^{G_{1}+k-1} c_{i} B_{i}(x) fcoarse (x)=∑i=0G1+k−1ciBi(x)。给定一个具有 G 2 G_{2} G2 个间隔的细网格,细网格上的 f f f 相应地是 f fine ( x ) = ∑ j = 0 G 2 + k − 1 c j ′ B j ′ ( x ) f_{\text {fine }}(x)=\sum_{j=0}^{G_{2}+k-1} c_{j}^{\prime} B_{j}^{\prime}(x) ffine (x)=∑j=0G2+k−1cj′Bj′(x)。参数 c j ′ c_{j}^{\prime} cj′ 可以从参数 c i c_{i} ci 中初始化,方法是最小化 f fine ( x ) f_{\text {fine }}(x) ffine (x) 到 f coarse ( x ) f_{\text {coarse }}(x) fcoarse (x)(在一些 x x x 的分布上)的距离:
$$
\begin{equation*}
\left{c_{j}{\prime}\right}=\underset{\left{c_{j}{\prime}\right}}{\operatorname{argmin}} \underset{x \sim p(x)}{\mathbb{E}}\left(\sum_{j=0}^{G_{2}+k-1} c_{j}^{\prime} B_{j}{\prime}(x)-\sum_{i=0}{G_{1}+k-1} c_{i} B_{i}(x)\right)^{2} \tag{2.16}
\end{equation*}
$$
这可以通过最小二乘算法实现。我们对 KAN 中的所有样条进行独立的网格扩展。
玩具例子:阶梯状损失曲线。我们使用一个玩具例子 f ( x , y ) = exp ( sin ( π x ) + y 2 ) f(x, y)=\exp \left(\sin (\pi x)+y^{2}\right) f(x,y)=exp(sin(πx)+y2) 来演示网格扩展的效果。在图2.3(左上方)中,我们展示了一个 [ 2 , 5 , 1 ] [2,5,1] [2,5,1] 的 KAN 的训练和测试 RMSE。网格点的数量从 3 开始,每 200 步 LBFGS 就增加到更高的值,最终达到 1000 个网格点。很明显,每次进行细网格化时,训练损失下降的速度比以前快(除了最细的有 1000 个点的网格,由于糟糕的损失地形,优化停止工作)。然而,测试损失先下降后上升,呈现出 U 形,这是由于偏差-方差的权衡(欠拟合与过拟合)。我们猜想最佳的测试损失是在插值阈值处达到的,当参数的数量与数据点的数量匹配时。由于我们的训练样本有 1000 个,而 [ 2 , 5 , 1 ] [2,5,1] [2,5,1] KAN 的总参数为 15 G 15 G 15G( G G G 是网格间隔的数量),我们期望插值阈值为 G = 1000 / 15 ≈ 67 G=1000 / 15 \approx 67 G=1000/15≈67,这与我们实验观察到的值 G ∼ 50 G \sim 50 G∼50 大致相符。
小 KANs 有更好的泛化能力。这是我们能达到的最佳测试性能吗?注意,合成任务可以被一个 [ 2 , 1 , 1 ] [2,1,1] [2,1,1] KAN 完全表示,因此我们训练了一个 [ 2 , 1 , 1 ] [2,1,1] [2,1,1] KAN 并在图2.3右上方展示了训练动态。有趣的是,它甚至可以比 [ 2 , 5 , 1 ] [2,5,1] [2,5,1] KAN 达到更低的测试损失,具有更清晰的阶梯结构,并且由于参数较少,插值阈值延迟到更大的网格大小
缩放定律:与理论的比较。我们也对测试损失随网格参数数量增加而下降的情况感兴趣。在图2.3(左下)中,[2,1,1] KAN的测试RMSE大致按 G − 3 G^{-3} G−3比例缩放。然而,根据定理2.1,我们预期测试RMSE应按 G − 4 G^{-4} G−4比例缩放。我们发现样本间的误差并不均匀。这可能归因于边界效应[18]。事实上,有几个样本的误差明显大于其他样本,导致整体缩放速度变慢。如果我们绘制平方损失的中位数(而非平均值)的平方根,我们会得到更接近 G − 4 G^{-4} G−4的缩放。尽管存在这种次优性(可能是由于优化问题),KAN相比于多层感知机在数据拟合(图3.1)和PDE求解(图3.3)方面仍有更好的缩放定律。此外,训练时间与网格点数 G G G的缩放也很有利,如图2.3底部右图所示 4 ^4 4。
外部自由度与内部自由度。KAN突出的一个新概念是外部自由度和内部自由度(参数)的区分。节点连接方式的计算图表示外部自由度(“dofs”),而激活函数内部的网格点是内部自由度。KAN受益于同时拥有外部dofs和内部dofs。外部dofs(多层感知机也有,但样条函数没有)负责学习多个变量的复合结构。内部dofs(样条函数也有,但多层感知机没有)负责学习单变量函数。
上一小节的一个未解决的问题是,我们不知道如何选择最能匹配数据集结构的KAN形状。例如,如果我们知道数据集是通过符号公式 f ( x , y ) = exp ( sin ( π x ) + y 2 ) f(x, y)=\exp \left(\sin (\pi x)+y^{2}\right) f(x,y)=exp(sin(πx)+y2)生成的,那么我们知道[2,1,1] KAN能够表达这个函数。但在实践中,我们事先并不知道这些信息,所以能够自动确定这种形状会很有用。这个想法是从足够大的KAN开始,用稀疏正则化训练它,然后修剪。我们将展示,这些修剪后的KAN比未修剪的更具可解释性。为了使KAN达到最大的可解释性,我们在2.5.1节提出了一些简化技术,并在2.5.2节给出了用户如何与KAN交互以提高可解释性的示例。
(1) KAN中没有线性"权重"。线性权重被可学习的激活函数取代,所以我们应该定义这些激活函数的L1范数。
(2) 我们发现L1对KAN的稀疏化效果不够,需要额外的熵正则化(详见附录C)。
我们将激活函数 ϕ \phi ϕ的L1范数定义为其在 N p N_p Np个输入上的平均幅度,即:
∣
ϕ
∣
1
≡
1
N
p
∑
s
=
1
N
p
∣
ϕ
(
x
(
s
)
)
∣
然后对于一个有 n in n_\text{in} nin个输入和 n out n_\text{out} nout个输出的KAN层 Φ \boldsymbol{\Phi} Φ,我们将 Φ \boldsymbol{\Phi} Φ的L1范数定义为所有激活函数L1范数之和,即:
∣
Φ
∣
1
≡
∑
i
=
1
n
in
∑
j
=
1
n
out
∣
ϕ
i
,
j
∣
1
此外,我们定义 Φ \boldsymbol{\Phi} Φ的熵为:
S
(
Φ
)
≡
−
∑
i
=
1
n
in
∑
j
=
1
n
out
∣
ϕ
i
,
j
∣
1
∣
Φ
∣
1
log
(
∣
ϕ
i
,
j
∣
1
∣
Φ
∣
1
)
总的训练目标 ℓ total \ell_\text{total} ℓtotal是预测损失 ℓ pred \ell_\text{pred} ℓpred加上所有KAN层的L1和熵正则化:
ℓ
total
=
ℓ
pred
+
λ
(
μ
1
∑
l
=
0
L
−
1
∣
Φ
l
∣
1
+
μ
2
∑
l
=
0
L
−
1
S
(
Φ
l
)
)
其中 μ 1 , μ 2 \mu_1,\mu_2 μ1,μ2通常设为 μ 1 = μ 2 = 1 \mu_1=\mu_2=1 μ1=μ2=1, λ \lambda λ控制总体正则化强度。
图2.4: 使用KAN进行符号回归的示例。
当我们可视化一个知识增强网络(KAN)时,为了感知幅度,我们将激活函数 ϕ l , i , j \phi_{l, i, j} ϕl,i,j 的透明度设置为与 tanh ( β A l , i , j ) \tanh \left(\beta A_{l, i, j}\right) tanh(βAl,i,j) 成比例,其中 β = 3 \beta=3 β=3。因此,幅度较小的函数会显得模糊,以便让我们专注于重要的部分。
在使用稀疏化惩罚进行训练后,我们可能还想将网络剪枝为一个更小的子网络。我们在节点级别对 KAN 进行稀疏化(而不是在边级别)。对于每个节点(比如第 l l l 层中的第 i i i 个神经元),我们定义其传入和传出分数如下:
$$
\begin{equation*}
I_{l, i}=\max {k}\left(\left|\phi{l-1, k, i}\right|{1}\right), \quad O{l, i}=\max {j}\left(\left|\phi{l+1, j, i}\right|_{1}\right) \tag{2.21}
\end{equation*}
$$
如果传入和传出分数都大于默认的阈值超参数 θ = 1 0 − 2 \theta=10^{-2} θ=10−2,则认为节点是重要的。所有不重要的神经元都会被剪枝。
在某些情况下,我们怀疑一些激活函数实际上是符号化的(例如,cos 或 log \log log ),我们提供一个接口来将它们设置为指定的符号形式,fix_symbolic ( 1 , i , j , f ) (1, i, j, f) (1,i,j,f) 可以将 ( l , i , j ) (l, i, j) (l,i,j) 的激活设置为 f f f。然而,我们不能简单地将激活函数设置为精确的符号公式,因为它的输入和输出可能存在偏移和缩放。因此,我们从样本中获取预激活 x x x 和后激活 y y y,并拟合仿射参数 ( a , b , c , d ) (a, b, c, d) (a,b,c,d),使得 y ≈ c f ( a x + b ) + d y \approx c f(a x+b)+d y≈cf(ax+b)+d。拟合是通过迭代网格搜索 a , b a, b a,b 和线性回归来完成的。
除了这些技术,我们还提供了其他工具,允许用户对 KAN 进行更精细的控制,详见附录 A。
在前面,我们提出了一些用于 KAN 的简化技术。我们可以将这些简化选择看作用户可以点击的按钮。与这些按钮互动的用户可以决定接下来点击哪个按钮最有希望使 KAN 更易解释。我们通过下面的示例展示了用户如何与 KAN 互动以获得最易解释的结果。
让我们再次考虑回归任务
$$
\begin{equation*}
f(x, y)=\exp \left(\sin (\pi x)+y^{2}\right) \tag{2.22}
\end{equation*}
$$
给定数据点 ( x i , y i , f i ) , i = 1 , 2 , ⋯ , N p \left(x_{i}, y_{i}, f_{i}\right), i=1,2, \cdots, N_{p} (xi,yi,fi),i=1,2,⋯,Np,一个名为 Alice 的虚构用户有兴趣找出符号公式。Alice 与 KAN 互动的步骤如下(见图 [ 2.4 [2.4 [2.4):
第 1 步:使用稀疏化进行训练。从一个全连接的 [ 2 , 5 , 1 ] [2,5,1] [2,5,1] KAN 开始,使用稀疏化正则化训练后,它会变得相当稀疏。隐藏层中的 5 个神经元中有 4 个似乎是无用的,因此我们希望将它们剪枝掉。
第 2 步:剪枝。自动剪枝会丢弃除最后一个之外的所有隐藏神经元,留下一个 [ 2 , 1 , 1 ] [2,1,1] [2,1,1] KAN。激活函数似乎是已知的符号函数。
第 3 步:设置符号函数。假设用户可以从观察 KAN 图正确猜测这些符号公式,他们可以设置
$$
\begin{align*}
& \text{fix_symbolic}(0,0,0, \text{‘sin’}) \
& \text{fix_symbolic}(0,1,0, \text{‘x’} \left.x^{\wedge} 2 \right) \tag{2.23}\
& \text{fix_symbolic}(1,0,0, \text{‘exp’})
\end{align*}
$$
如果用户没有领域知识或不知道这些激活函数可能是哪些符号函数,我们提供一个 suggest_symbolic 函数来建议符号候选。
第 4 步:进一步训练。在网络中将所有激活函数符号化后,剩下的参数只有仿射参数。我们继续训练这些仿射参数,当看到损失降到机器精度时,我们知道找到了正确的符号表达式。
第 5 步:输出符号公式。使用 Sympy 计算输出节点的符号公式。用户得到 1.0 e 1.0 y 2 + 1.0 sin ( 3.14 x ) 1.0 e^{1.0 y^{2}+1.0 \sin (3.14 x)} 1.0e1.0y2+1.0sin(3.14x),这是正确的答案(我们只显示了 π \pi π 的两位小数)。
为什么不使用符号回归(SR)呢?对于这个例子使用符号回归是合理的。然而,符号回归方法通常很脆弱,难以调试。它们要么最终返回成功,要么失败,而不会输出可解释的中间结果。相比之下,KANs在函数空间中进行连续搜索(使用梯度下降),因此它们的结果更加连续,因而更加稳健。此外,由于KANs的透明性,用户对KANs拥有更多的控制权,与SR相比。我们将KANs的可视化方式类比为向用户展示KANs的“大脑”,用户可以对KANs进行“手术”(调试)。这种控制水平通常对于SR是不可用的。我们将在第4.4节中展示这方面的例子。更普遍地说,当目标函数不是符号时,符号回归将失败,但KANs仍然可以提供一些有意义的东西。例如,特殊函数(例如贝塞尔函数)是不可能通过SR学习的,除非提前提供,但KANs仍然可以使用样条数值近似(见图4.1( d ) \mathbf{d}) d) )。
在本节中,我们展示KANs在各种任务(回归和PDE求解)中比MLPs更有效地表示函数。当比较两个模型家族时,公平地比较它们的准确性(损失)和复杂性(参数数量)是合理的。我们将展示KANs显示出比MLPs更有利的帕累托前沿。此外,在第3.5节中,我们展示了KANs可以在连续学习中自然工作,而不会发生灾难性遗忘。
图3.1:比较KANs和MLPs在五个玩具示例上。KANs几乎可以达到我们理论预测的最快缩放规律( α = 4 \alpha=4 α=4),而MLPs缩放速度较慢,很快就达到平稳状态。
在第2.3节中,我们的理论表明测试RMSE损失 ℓ \ell ℓ随着模型参数 N N N的变化遵循 ℓ ∝ N − 4 \ell \propto N^{-4} ℓ∝N−4的规律。然而,这需要存在Kolmogorov-Arnold表示。作为一个健全性检查,我们构造了五个我们知道具有平滑KA表示的示例:
(1) f ( x ) = J 0 ( 20 x ) f(x)=J_{0}(20 x) f(x)=J0(20x),这是贝塞尔函数。由于它是一个单变量函数,它可以由样条表示,即 [ 1 , 1 ] [1,1] [1,1] KAN。
(2) f ( x , y ) = exp ( sin ( π x ) + y 2 ) f(x, y)=\exp \left(\sin (\pi x)+y^{2}\right) f(x,y)=exp(sin(πx)+y2)。我们知道它可以由一个 [ 2 , 1 , 1 ] [2,1,1] [2,1,1] KAN精确表示。
(3) f ( x , y ) = x y f(x, y)=x y f(x,y)=xy。我们从图4.1知道它可以由一个 [ 2 , 2 , 1 ] [2,2,1] [2,2,1] KAN精确表示。
(4) 一个高维示例 f ( x 1 , ⋯ , x 100 ) = exp ( 1 100 ∑ i = 1 100 sin 2 ( π x i 2 ) ) f\left(x_{1}, \cdots, x_{100}\right)=\exp \left(\frac{1}{100} \sum_{i=1}^{100} \sin ^{2}\left(\frac{\pi x_{i}}{2}\right)\right) f(x1,⋯,x100)=exp(1001∑i=1100sin2(2πxi)),可以由一个 [ 100 , 1 , 1 ] [100,1,1] [100,1,1] KAN表示。
(5) 一个四维示例 f ( x 1 , x 2 , x 3 , x 4 ) = exp ( 1 2 ( sin ( π ( x 1 2 + x 2 2 ) ) + sin ( π ( x 3 2 + x 4 2 ) ) ) ) f\left(x_{1}, x_{2}, x_{3}, x_{4}\right)=\exp \left(\frac{1}{2}\left(\sin \left(\pi\left(x_{1}^{2}+x_{2}^{2}\right)\right)+\sin \left(\pi\left(x_{3}^{2}+x_{4}^{2}\right)\right)\right)\right) f(x1,x2,x3,x4)=exp(21(sin(π(x12+x22))+sin(π(x32+x42)))),可以由一个 [ 4 , 4 , 2 , 1 ] [4,4,2,1] [4,4,2,1] KAN表示。
我们通过每200步增加网格点的方式训练这些KANs,总共覆盖了 G = { 3 , 5 , 10 , 20 , 50 , 100 , 200 , 500 , 1000 } G=\{3,5,10,20,50,100,200,500,1000\} G={3,5,10,20,50,100,200,500,1000}。我们将MLPs与不同深度和宽度的基线进行训练。MLPs和KANs都使用LBFGS进行总共1800步的训练。在图3.1中,我们将KANs和MLPs的测试RMSE作为参数数量的函数进行绘制,显示KANs比MLPs有更好的缩放曲线,特别是对于高维示例。为了比较,我们绘制了我们的KAN理论预测的红色虚线( α = k + 1 = 4 \alpha=k+1=4 α=k+1=4)和Sharma&Kaplan[17]预测的黑色虚线( α = ( k + 1 ) / d = 4 / d \alpha=(k+1) / d=4 / d α=(k+1)/d=4/d)。KANs几乎可以达到更陡的红线,而MLPs则很难以甚至比较慢的黑线收敛,并且很快达到平稳状态。我们还注意到,对于最后一个示例,2层KAN [ 4 , 9 , 1 ] [4,9,1] [4,9,1] 的表现要比3层KAN(形状 [ 4 , 2 , 2 , 1 ] [4,2,2,1] [4,2,2,1])差得多。这突显了更深KANs的更大表达能力,这与MLPs相同:深层MLPs比浅层MLPs具有更大的表达能力。
一个关于以上结果的警告是,我们假设了对“真实”的 KAN 形状的了解。实际上,我们并不知道 KA 表示的存在。即使我们被承诺这样的 KA 表示存在,我们也无法事先知道 KAN 形状。多变量中的特殊函数就是这样的例子,因为如果多元特殊函数(例如,贝塞尔函数 f ( ν , x ) = J ν ( x ) ) \left.f(\nu, x)=J_{\nu}(x)\right) f(ν,x)=Jν(x)) 能够被写成 KA 表示,只涉及到一元函数和求和,那在数学上会很奇怪。我们在下面展示:
(1) 找到(近似的)紧凑型 KA 表示是可能的,从 Kolmogorov-Arnold 表示的角度揭示了特殊函数的新颖数学性质。
图3.2:拟合特殊函数。我们展示了KAN和MLP在模型参数数量和RMSE损失构成的平面上的Pareto前沿。在所有特殊函数中,KAN的Pareto前沿都优于MLP。这些特殊函数的定义在表2中。
(2) KAN比MLP在表示特殊函数时更高效、更准确。
我们收集了数学和物理中常见的15个特殊函数,总结在表2中。我们选择固定宽度为5或100的MLP,并在深度上进行扫描 { 2 , 3 , 4 , 5 , 6 } \{2,3,4,5,6\} {2,3,4,5,6}。我们同时运行了有剪枝和无剪枝的KAN。无剪枝的KAN:我们固定KAN的形状,宽度设为5,深度在 { 2 , 3 , 4 , 5 , 6 } \{2,3,4,5,6\} {2,3,4,5,6}中进行扫描。有剪枝的KAN:我们使用稀疏化 ( λ = 1 0 − 2 \left(\lambda=10^{-2}\right. (λ=10−2或 1 0 − 3 ) \left.10^{-3}\right) 10−3)和第2.5.1节中的剪枝技术,从固定形状的KAN中获得一个较小的KAN。每个KAN初始化为 G = 3 G=3 G=3,使用LBFGS进行训练,每200步增加一次网格点数,以覆盖 G = { 3 , 5 , 10 , 20 , 50 , 100 , 200 } G=\{3,5,10,20,50,100,200\} G={3,5,10,20,50,100,200}。对于每组超参数组合,我们运行3个随机种子。
对于每个数据集和每个模型系列(KAN或MLP),我们在(参数数量,RMSE)平面上绘制Pareto前沿 5 5 5^{5} 55,如图3.2所示。KAN的性能一贯优于MLP,即在相同数量的参数下,KAN可以实现更低的训练/测试损失。此外,我们在表2中报告了我们自动发现的KAN对特殊函数的(惊人紧凑的)形状。一方面,解释这些紧凑表示在数学上意味着什么是很有趣的(我们在附录F中包含了KAN的插图,见图F.1和F.2)。另一方面,这些紧凑表示意味着将高维查找表分解为几个1D查找表的可能性,这可能会节省大量内存,在推断时执行几次加法的开销几乎可以忽略不计。
在第3.1节中,我们清楚地知道“真实”的KAN形状。在第3.2节中,我们明显不知道“真实”的KAN形状。本部分调查了介于两者之间的设置:鉴于数据集的结构,我们可以手动构建KAN,但不确定它们是否是最佳的。在这种情况下,比较人工构建的KAN和通过剪枝(第2.5.1节中的技术)自动发现的KAN是很有趣的。[^3]
表2:特殊函数
表3:费曼数据集
费曼数据集。费曼数据集收集了来自费曼教材的许多物理方程[20, 21]。对于我们的目的,我们对至少有2个变量的费曼无单位数据集中的问题感兴趣,因为对于KAN来说,单变量问题是微不足道的(它们简化为1D样条)。费曼数据集中的一个样本方程是相对论速度叠加公式
f
(
u
,
v
)
=
(
u
+
v
)
/
(
1
+
u
v
)
数据集可以通过随机抽取 u i ∈ ( − 1 , 1 ) , v i ∈ ( − 1 , 1 ) u_{i} \in(-1,1), v_{i} \in(-1,1) ui∈(−1,1),vi∈(−1,1),并计算 f i = f ( u i , v i ) f_{i}=f\left(u_{i}, v_{i}\right) fi=f(ui,vi)来构建。给定许多元组 ( u i , v i , f i ) \left(u_{i}, v_{i}, f_{i}\right) (ui,vi,fi),训练一个神经网络旨在从 u u u和 v v v预测 f f f。我们感兴趣的是:(1)神经网络在测试样本上的表现如何;(2)我们能从神经网络中学到关于问题结构的多少。
我们比较了四种类型的神经网络:
(1) 人工构建的KAN。给定一个符号公式,我们将其重写为Kolmogorov-Arnold表示。例如,要将两个数 x x x和 y y y相乘,我们可以使用等式 x y = x y= xy=
( x + y ) 2 4 − ( x − y ) 2 4 \frac{(x+y)^{2}}{4}-\frac{(x-y)^{2}}{4} 4(x+y)2−4(x−y)2,对应于一个 [ 2 , 2 , 1 ] [2,2,1] [2,2,1]的KAN。构建的形状列在表3的“人工构建的KAN形状”中。
(2) 无剪枝的KAN。我们将KAN形状固定为宽度5,深度在 { 2 , 3 , 4 , 5 , 6 } \{2,3,4,5,6\} {2,3,4,5,6}中进行扫描。
(3) 有剪枝的KAN。我们使用稀疏化 ( λ = 1 0 − 2 \left(\lambda=10^{-2}\right. (λ=10−2或 1 0 − 3 ) \left.10^{-3}\right) 10−3)和第2.5.1节中的剪枝技术,从第(2)步中的固定形状的KAN中获得一个较小的KAN。
(4) MLP,固定宽度为20,深度在 { 2 , 3 , 4 , 5 , 6 } \{2,3,4,5,6\} {2,3,4,5,6}中进行扫描,激活函数从 { \{ { Tanh, ReLU, SiLU} 中选择。每个 K A N 的初始化为 中选择。 每个KAN的初始化为 中选择。每个KAN的初始化为G=3 ,使用 L B F G S 进行训练,每 200 步增加一次网格点数量以覆盖 ,使用LBFGS进行训练,每200步增加一次网格点数量以覆盖 ,使用LBFGS进行训练,每200步增加一次网格点数量以覆盖G={3,5,10,20,50,100,200}$。对于每个超参数组合,我们尝试3个随机种子。对于每个数据集(方程)和每种方法,我们在表3中报告了最佳模型的结果(最小的KAN形状或最低的测试损失),考虑了随机种子和深度。我们发现MLPs和KANs的表现平均相当。对于每个数据集和每个模型族(KANs或MLPs),我们在由参数数量和RMSE损失构成的平面上绘制Pareto前沿,附录D中的图D.1中显示。我们推测Feynman数据集过于简单,无法让KANs进一步改进,因为变量依赖通常是平滑的或单调的,这与通常展示振荡行为的特殊函数的复杂性相反。
自动发现的KANs比人工构建的要小。我们在表3的两列中报告了修剪后的KAN形状,一列是可以实现合理损失(即测试RMSE小于 1 0 − 2 10^{-2} 10−2)的最小修剪后的KAN形状;另一列是实现最低测试损失的修剪后的KAN。为了完整起见,我们在附录D(图D.2和D.3)中可视化了所有54个修剪后的KANs。有趣的是观察到自动发现的KAN形状(无论是最小还是最佳)通常比我们的人工构建要小。这意味着KA表示可能比我们想象的更有效。与此同时,这可能会使解释变得微妙,因为信息被压缩到比我们习惯的空间更小的空间中。
例如,考虑相对论速度组合 f ( u , v ) = u + v 1 + u v f(u, v)=\frac{u+v}{1+uv} f(u,v)=1+uvu+v。我们的构造非常深,因为我们假设 u , v u, v u,v的乘法将使用两层(参见图4.1(a)), 1 + u v 1+uv 1+uv的倒数将使用一层, u + v u+v u+v和 1 / ( 1 + u v ) 1/(1+uv) 1/(1+uv)的乘法将使用另外两层,总共5层。然而,自动发现的KANs只有2层深!事后看来,这实际上是可以预期的,如果我们回想起相对论中的快速技巧:定义两个“快速” a ≡ arctanh u a\equiv\operatorname{arctanh} u a≡arctanhu和 b ≡ arctanh v b\equiv\operatorname{arctanh} v b≡arctanhv。速度的相对论组合在快速空间中是简单的加法,即 u + v 1 + u v = tanh ( arctanh u + arctanh v ) \frac{u+v}{1+uv}=\tanh(\operatorname{arctanh} u+\operatorname{arctanh} v) 1+uvu+v=tanh(arctanhu+arctanhv),这可以通过两层KAN来实现。假设我们不知道物理学中的快速概念,我们可能可以直接从KANs中发现这个概念,而不需要试错的符号操作。促进科学发现的KANs的可解释性是第4节的主要话题。
我们考虑具有零Dirichlet边界数据的Poisson方程。对于 Ω = [ − 1 , 1 ] 2 \Omega=[-1,1]^2 Ω=[−1,1]2,考虑PDE
u
x
x
+
u
y
y
=
f
in
Ω
u
=
0
on
∂
Ω
我们考虑数据 f = − π 2 ( 1 + 4 y 2 ) sin ( π x ) sin ( π y 2 ) + 2 π sin ( π x ) cos ( π y 2 ) f=-\pi^{2}(1+4y^{2})\sin(\pi x)\sin(\pi y^{2})+2\pi\sin(\pi x)\cos(\pi y^{2}) f=−π2(1+4y2)sin(πx)sin(πy2)+2πsin(πx)cos(πy2),其中 u = sin ( π x ) sin ( π y 2 ) u=\sin(\pi x)\sin(\pi y^{2}) u=sin(πx)sin(πy2)是真解。我们使用物理信息神经网络(PINNs)框架[^4](参考文献22,23)来解决这个PDE,其损失函数为
loss pde = α loss i + loss b : = α 1 n i ∑ i = 1 n i ∣ u x x ( z i ) + u y y ( z i ) − f ( z i ) ∣ 2 + 1 n b ∑ i = 1 n b u 2 \text{loss}_{\text{pde}}=\alpha\text{loss}_{i}+\text{loss}_{b}:=\alpha\frac{1}{n_{i}}\sum_{i=1}^{n_{i}}\left|u_{xx}(z_{i})+u_{yy}(z_{i})-f(z_{i})\right|^{2}+\frac{1}{n_{b}}\sum_{i=1}^{n_{b}}u^{2} losspde=αlossi+lossb:=αni1i=1∑ni∣uxx(zi)+uyy(zi)−f(zi)∣2+nb1i=1∑nbu2
其中,我们使用 loss i \text{loss}_{i} lossi表示内部损失,通过在域内均匀采样 n i n_{i} ni个点 z i = ( x i , y i ) z_{i}=(x_{i},y_{i}) zi=(xi,yi)进行离散化和评估得到,类似地,我们使用 loss b \text{loss}_{b} lossb表示边界损失,通过在边界上均匀采样 n b n_{b} nb个点进行离散化和评估。 α \alpha α是平衡两个项影响的超参数。
图 3.3:PDE 示例。我们绘制了预测解和真实解之间的 L2 平方损失和 H1 平方损失。第一和第二:损失的训练动态。第三和第四:损失随参数数量的缩放规律。KAN 比 MLP 收敛更快,损失更低,并且具有比 MLP 更陡峭的缩放规律。
图 3.4:一个玩具级的持续学习问题。数据集是一个具有5个高斯峰的1D回归任务(顶部行)。每个峰附近的数据被顺序呈现(而不是一次性呈现)给KAN和MLP。KAN(中部行)可以完美地避免灾难性遗忘,而MLP(底部行)显示出严重的灾难性遗忘。
我们使用相同的超参数 n i = 10000 n_{i}=10000 ni=10000, n b = 800 n_{b}=800 nb=800和 α = 0.01 \alpha=0.01 α=0.01比较KAN架构与MLP的性能。我们测量 L 2 L^{2} L2范数和能量 ( H 1 ) \left(H^{1}\right) (H1)范数中的误差,发现KAN以更好的缩放规律取得了更小的误差,使用了更小的网络和更少的参数;参见图3.3。因此,我们推测KAN可能有潜力作为PDE模型简化的良好神经网络表示。
灾难性遗忘是当前机器学习中的一个严重问题[24]。当人类掌握一项任务并转而执行另一项任务时,他们不会忘记如何执行第一项任务。不幸的是,神经网络并非如此。当神经网络在任务1上训练后转而在任务2上训练时,网络很快会忘记如何执行任务1。人工神经网络与人类大脑的一个关键区别在于,人类大脑在空间中具有功能上不同的模块。当学习新任务时,结构重新组织仅发生在负责相关技能的局部区域[25, 26],而其他区域保持不变。大多数人工神经网络,包括MLP,没有这种局部性的概念,这可能是灾难性遗忘的原因。
我们展示了KAN具有局部可塑性,并且可以通过利用样条的局部性来避免灾难性遗忘。这个想法很简单:由于样条基是局部的,一个样本只会影响到几个附近的样条系数,远处的系数保持不变(这是期望的,因为远处区域可能已经存储了我们想要保留的信息)。相比之下,由于MLP通常使用全局激活函数,例如ReLU/Tanh/SiLU等,任何局部变化可能不受控地传播到远处区域,破坏那里存储的信息。
我们使用一个玩具示例来验证这种直觉。1D回归任务由5个高斯峰组成。每个峰附近的数据被顺序呈现(而不是一次性呈现)给KAN和MLP,如图3.4顶部行所示。训练每个阶段后,展示KAN和MLP的预测结果,如中部和底部行所示。如预期的那样,KAN仅重塑当前阶段存在数据的区域,保持先前区域不变。相比之下,MLP在看到新数据样本后重塑整个区域,导致灾难性遗忘。
在这里,我们简单呈现了我们在一个极其简单的示例上的初步结果,以展示如何可能利用KAN中的局部性(由于样条参数化)来减少灾难性遗忘。然而,我们尚不清楚我们的方法是否可以推广到更现实的设置,这留待将来的工作。我们还希望研究我们的方法如何与持续学习中的最新方法相连接和结合。
在本节中,我们展示了KAN的可解释性和互动性,这要归功于我们在第2.5节中开发的技术。我们希望不仅在合成任务(第4.1和4.2节)上测试KAN的使用,还要在现实科学研究中进行测试。我们展示了KAN可以(重新)发现结实际的关系,如结点理论(第4.3节)和凝聚态物理中的相变边界(第4.4节)。由于其准确性(上一节)和可解释性(本节),KAN可能成为AI+科学的基础模型。
我们首先检验KAN揭示符号公式中的组合结构的能力。下面列出了六个示例,它们的KAN在图4.1中可视化。KAN能够揭示这些公式中存在的组合结构,并学习正确的单变量函数。
(a) 乘法 f ( x , y ) = x y f(x, y)=x y f(x,y)=xy。一个 [ 2 , 5 , 1 ] [2,5,1] [2,5,1] KAN被剪枝为一个 [ 2 , 2 , 1 ] [2,2,1] [2,2,1] KAN。学习的激活函数是线性和二次的。从计算图中,我们看到它计算 x y x y xy的方式是利用 2 x y = ( x + y ) 2 − ( x 2 + y 2 ) 2 x y=(x+y)^{2}-\left(x^{2}+y^{2}\right) 2xy=(x+y)2−(x2+y2)。
(b) 正数的除法
f
(
x
,
y
)
=
x
/
y
f(x, y)=x / y
f(x,y)=x/y。一个
[
2
,
5
,
1
]
[2,5,1]
[2,5,1] KAN被剪枝为一个
[
2
,
1
,
1
]
[2,1,1]
[2,1,1] KAN。学习的激活函数是对数和指数函数,KAN通过利用恒等式
x
/
y
=
exp
(
log
x
−
log
y
)
x / y=\exp (\log x-\log y)
x/y=exp(logx−logy)来计算
x
/
y
x / y
x/y。
© 数值到分类。任务是将
[
0
,
1
]
[0,1]
[0,1] 中的实数转换为其第一个小数位数(作为单热编码),例如
0.0618
→
[
1
,
0
,
0
,
0
,
0
,
⋯
]
,
0.314
→
[
0
,
0
,
0
,
1
,
0
,
⋯
]
0.0618 \rightarrow[1,0,0,0,0, \cdots], 0.314 \rightarrow[0,0,0,1,0, \cdots]
0.0618→[1,0,0,0,0,⋯],0.314→[0,0,0,1,0,⋯]。请注意,激活函数被学习为位于相应小数位数周围的尖峰。
图 4.1: KAN 在简单符号任务中是可解释的
(d) 特殊函数 f ( x , y ) = exp ( J 0 ( 20 x ) + y 2 ) f(x, y)=\exp \left(J_{0}(20 x)+y^{2}\right) f(x,y)=exp(J0(20x)+y2)。符号回归的一个局限性是,如果没有提供特殊函数作为先验知识,它永远也无法找到正确的公式。KAN 可以学习特殊函数 - 高度摆动的贝塞尔函数 J 0 ( 20 x ) J_{0}(20 x) J0(20x) 通过 KAN 进行数值学习。
(e) 相变 f ( x 1 , x 2 , x 3 ) = tanh ( 5 ( x 1 4 + x 2 4 + x 3 4 − 1 ) ) f\left(x_{1}, x_{2}, x_{3}\right)=\tanh \left(5\left(x_{1}^{4}+x_{2}^{4}+x_{3}^{4}-1\right)\right) f(x1,x2,x3)=tanh(5(x14+x24+x34−1))。相变在物理学中非常重要,所以我们希望 KAN 能够检测相变并确定正确的序参量。我们使用 tanh 函数来模拟相变行为,序参量是 x 1 , x 2 , x 3 x_{1}, x_{2}, x_{3} x1,x2,x3 的四次项的组合。四次依赖性和 tanh 依赖性在 KAN 训练后都出现了。这是第 4.4 节中讨论的定域相变的简化情况。
(f) 更深的组合 f ( x 1 , x 2 , x 3 , x 4 ) = ( x 1 − x 2 ) 2 + ( x 3 − x 4 ) 2 f\left(x_{1}, x_{2}, x_{3}, x_{4}\right)=\sqrt{\left(x_{1}-x_{2}\right)^{2}+\left(x_{3}-x_{4}\right)^{2}} f(x1,x2,x3,x4)=(x1−x2)2+(x3−x4)2 。要计算这个,我们需要恒等函数、平方函数和平方根,这至少需要一个三层 KAN。事实上,我们发现一个 [ 4 , 3 , 3 , 1 ] [4,3,3,1] [4,3,3,1] 的 KAN 可以被自动修剪为 [ 4 , 2 , 1 , 1 ] [4,2,1,1] [4,2,1,1] 的 KAN,这正好对应于我们期望的计算图。
来自 Feynman 数据集和特殊函数数据集的更多示例可视化在附录 D 和 F 中的图 D.2、D.3、F.1 和 F.2 中。
通常,科学发现被公式化为监督学习问题,即给定输入变量 x 1 , x 2 , ⋯ , x d x_{1}, x_{2}, \cdots, x_{d} x1,x2,⋯,xd 和输出变量 y y y,我们想找到一个可解释的函数 f f f,使得 y ≈ f ( x 1 , x 2 , ⋯ , x d ) y \approx f\left(x_{1}, x_{2}, \cdots, x_{d}\right) y≈f(x1,x2,⋯,xd)。然而,另一类科学发现可以被公式化为无监督学习,即给定一组变量 ( x 1 , x 2 , ⋯ , x d ) \left(x_{1}, x_{2}, \cdots, x_{d}\right) (x1,x2,⋯,xd),我们想发现变量之间的结构关系。具体来说,我们想找到一个非零的 f f f,使得
f
(
x
1
,
x
2
,
⋯
,
x
d
)
≈
0
图 4.2: 玩具任务的无监督学习。KAN 可以识别出依赖变量的组,例如 ( x 1 , x 2 , x 3 ) \left(x_{1}, x_{2}, x_{3}\right) (x1,x2,x3) 和 ( x 4 , x 5 ) \left(x_{4}, x_{5}\right) (x4,x5)。
例如,考虑一组特征 ( x 1 , x 2 , x 3 ) \left(x_{1}, x_{2}, x_{3}\right) (x1,x2,x3),满足 x 3 = exp ( sin ( π x 1 ) + x 2 2 ) x_{3}=\exp \left(\sin \left(\pi x_{1}\right)+x_{2}^{2}\right) x3=exp(sin(πx1)+x22)。那么一个有效的 f f f 是 f ( x 1 , x 2 , x 3 ) = sin ( π x 1 ) + x 2 2 − log ( x 3 ) = 0 f\left(x_{1}, x_{2}, x_{3}\right)=\sin \left(\pi x_{1}\right)+x_{2}^{2}-\log \left(x_{3}\right)=0 f(x1,x2,x3)=sin(πx1)+x22−log(x3)=0,这意味着 ( x 1 , x 2 , x 3 ) \left(x_{1}, x_{2}, x_{3}\right) (x1,x2,x3) 的点形成一个由 f = 0 f=0 f=0 指定的 2D 子流形,而不是填充整个 3D 空间。
如果可以设计出解决无监督问题的算法,它将比监督问题有很大优势,因为它只需要特征集 S = ( x 1 , x 2 , ⋯ , x d ) S=\left(x_{1}, x_{2}, \cdots, x_{d}\right) S=(x1,x2,⋯,xd)。相反,监督问题试图根据其他特征来预测特征子集,即将 S = S in ∪ S out S=S_{\text {in }} \cup S_{\text {out }} S=Sin ∪Sout 分割为函数的输入和输出特征。如果没有领域专业知识来指导分割,就会有 2 d − 2 2^{d}-2 2d−2 种可能性,使得 ∣ S in ∣ > 0 \left|S_{\text {in }}\right|>0 ∣Sin ∣>0 和 ∣ S out ∣ > 0 \left|S_{\text {out }}\right|>0 ∣Sout ∣>0。这种指数级的监督问题空间可以通过使用无监督方法来避免。这种无监督学习方法将对第 4.3 节中的结结数据集很有价值。一个 Google Deepmind 团队 [29] 手动选择了签名作为目标变量,否则他们将面临上述组合问题。这引发了我们是否可以直接解决无监督学习的问题。我们在下面介绍我们的方法和一个玩具示例。
我们通过将无监督学习问题转化为涉及所有 d d d 个特征的监督学习问题来解决。这样做不需要选择分割点。关键思想是学习一个函数 f ( x 1 , … , x d ) = 0 f\left(x_{1}, \ldots, x_{d}\right)=0 f(x1,…,xd)=0,使得 f f f 不是零函数。为了实现这一点,类似对比学习,我们定义正样本和负样本:正样本是真实数据的特征向量。负样本是通过特征损坏构造的。为了确保每个拓扑不变量的整体特征分布保持不变,我们通过对整个训练集中的每个特征进行随机排列来执行特征损坏。现在我们想要训练一个网络 g g g,使得 g ( x real ) = 1 g\left(\mathbf{x}_{\text {real }}\right)=1 g(xreal )=1 和 g ( x fake ) = 0 g\left(\mathbf{x}_{\text {fake }}\right)=0 g(xfake )=0,这将问题转化为一个监督问题。然而,请记住我们最初希望 f ( x real ) = 0 f\left(\mathbf{x}_{\text {real }}\right)=0 f(xreal )=0 和 f ( x fake ) ≠ 0 f\left(\mathbf{x}_{\text {fake }}\right) \neq 0 f(xfake )=0。我们可以通过令 g = σ ∘ f g=\sigma \circ f g=σ∘f 来实现这一点,其中 σ ( x ) = exp ( − x 2 2 w 2 ) \sigma(x)=\exp \left(-\frac{x^{2}}{2 w^{2}}\right) σ(x)=exp(−2w2x2) 是具有小宽度 w w w 的高斯函数,可以方便地通过形状为 [ … , 1 , 1 ] [\ldots, 1,1] […,1,1] 的 KAN 实现,其最后一个激活函数设置为高斯函数 σ \sigma σ,而所有先前的层构成 f f f。除了上述修改之外,其他所有内容在监督训练中都是相同的。
现在我们演示无监督范式在一个合成示例中的工作原理。让我们考虑一个 6D 数据集,其中 ( x 1 , x 2 , x 3 ) \left(x_{1}, x_{2}, x_{3}\right) (x1,x2,x3) 是依赖变量,使得 x 3 = exp ( sin ( x 1 ) + x 2 2 ) ; ( x 4 , x 5 ) x_{3}=\exp \left(\sin \left(x_{1}\right)+x_{2}^{2}\right) ;\left(x_{4}, x_{5}\right) x3=exp(sin(x1)+x22);(x4,x5) 是依赖变量, x 5 = x 4 3 ; x 6 x_{5}=x_{4}^{3} ; x_{6} x5=x43;x6 与其他变量无关。在图 4.2 中,我们展示了对于种子 = 0 =0 =0,KAN 揭示了 x 1 , x 2 x_{1}, x_{2} x1,x2 和 x 3 x_{3} x3 之间的功能依赖性;对于另一个种子 = 2024 =2024 =2024,KAN 揭示了 x 4 x_{4} x4 和 x 5 x_{5} x5 之间的功能依赖性。我们的初步结果依赖于随机性(不同的种子)来发现不同的关系;在未来,我们希望研究一种更系统和更受控制的方法来发现完整的关系集。即便如此,我们目前的工具状态也可以为科学任务提供洞见。我们在第 4.3 节展示了我们对结节点集的结果。
纽结理论是低维拓扑学中的一个主题,它揭示了三维和四维流形的拓扑方面,并具有各种应用,包括生物学和拓扑量子计算。数学上,一个结 K K K 是 S 1 S^{1} S1 嵌入到 S 3 S^{3} S3 中。如果一个结 K K K 和 K ′ K^{\prime} K′ 可以通过环境空间 S 3 S^{3} S3 的变形而相互等价,则它们是拓扑等价的,此时我们写作 [ K ] = [ K ′ ] [K]=\left[K^{\prime}\right] [K]=[K′]。一些结是拓扑平凡的,意味着它们可以平滑地变形为标准圆圈。结具有各种变形不变特征 f f f,称为拓扑不变量,可以用来表明两个结在拓扑上不等价,即 [ K ] ≠ [ K ′ ] [K] \neq\left[K^{\prime}\right] [K]=[K′] 当 f ( K ) ≠ f ( K ′ ) f(K) \neq f\left(K^{\prime}\right) f(K)=f(K′) 时。在某些情况下,拓扑不变量具有几何特性。例如,一个双曲结 K K K 具有结补 S 3 \ K S^{3} \backslash K S3\K,其具有一个称为双曲体积的拓扑不变量的标准双曲度量 g g g。其他拓扑不变量具有代数特性,例如 Jones 多项式。
考虑到结在数学中的基础性质以及其应用的重要性,研究机器学习是否能够带来新的结果是很有趣的。例如,在 [30] 中,强化学习被用于确定某些结的带状性质,这排除了对光滑 4 4 4 维 Poincaré 猜想的许多潜在反例。
在 [29] 中,利用监督学习和人类领域专家得出了一个关于代数和几何结不变量的新定理。在这种情况下,梯度显著性确定了监督问题的关键不变量,这导致领域专家提出了一个后来被进一步完善和证明的猜想。我们研究 KAN 是否能够在相同问题上获得良好的可解释结果,从而预测结的特征。他们从研究纽结理论数据集中得出的主要结果是:
为了研究(1),我们将 17 个结扎不变量视为输入,签名为输出。类似于 [29] 中的设置,签名(偶数)被编码为 one-hot 向量,并且网络使用交叉熵损失进行训练。我们发现一个极小的 [ 17 , 1 , 14 ] [17,1,14] [17,1,14] KAN 能够达到 81.6 % 81.6\% 81.6% 的测试准确率(而 Deepmind 的 4 层宽度为 300 的 MLP 只能达到 78 % 78\% 78% 的测试准确率)。 [ 17 , 1 , 14 ] [17,1,14] [17,1,14] KAN ( G = 3 , k = 3 ) (G=3, k=3) (G=3,k=3) 具有约 200 个参数,而 MLP 具有约 3 × 1 0 5 3 \times 10^{5} 3×105 个参数,如表 4 所示。值得注意的是,KANs 在准确性和参数效率上可以同时优于 MLPs。在可解释性方面,我们根据每个激活的大小来调整透明度,因此可以立即清楚地看出哪些输入变量是重要的,无需进行特征归因(见图 4.3 左侧):签名主要依赖于 μ r \mu_{r} μr,稍微依赖于 μ i \mu_{i} μi 和 λ \lambda λ,而对其他变量的依赖较小。然后我们在三个重要变量上训练了一个 [ 3 , 1 , 14 ] [3,1,14] [3,1,14] KAN,获得了 78.2 % 78.2\% 78.2% 的测试准确率。我们的结果与 [29] 中的结果有一个细微差异:他们发现签名主要依赖于 μ i \mu_{i} μi,而我们发现签名主要依赖于 μ r \mu_{r} μr。这种差异可能是由于细微的算法选择,但是我们进行了以下实验:(a)消融研究。我们展示了 μ r \mu_{r} μr 对准确性的贡献大于 μ i \mu_{i} μi(见图 4.3):例如,仅 μ r \mu_{r} μr 就能达到 65.0 % 65.0\% 65.0% 的准确率,而仅 μ i \mu_{i} μi 只能达到 43.8 % 43.8\% 43.8% 的准确率。 (b)我们找到了一个只涉及 μ r \mu_{r} μr 和 λ \lambda λ 的符号公式(见表 55),但可以达到 77.8 % 77.8\% 77.8% 的测试准确率。
图 4.3:纽结理论数据集,监督模式。通过 KANs,我们重新发现 Deepmind 的结果,即签名主要依赖于经向平移(实部和虚部)。
表 4:在签名分类问题中,KANs 可以比 MLPs 更准确地实现更少参数。
为了研究(2),即获得 σ \sigma σ 的符号形式,我们将问题制定为回归任务。使用第 2.5.1 节介绍的自动符号回归,我们可以将经过训练的 KAN 转换为符号公式。我们训练了形状为 [ 3 , 1 ] [3,1] [3,1], [ 3 , 1 , 1 ] [3,1,1] [3,1,1], [ 3 , 2 , 1 ] [3,2,1] [3,2,1] 的 KANs,其对应的符号公式显示在表 5 B-D 中。很明显,通过拥有更大的 KAN,准确性和复杂性都会增加。因此,KANs 不仅提供单个符号公式,还提供了整个简单性和准确性的 Pareto 前沿。然而,KANs 需要额外的归纳偏差来进一步简化这些方程,以重新发现 [29] 中的公式(表 5 A)。我们测试了两种情况:(1)在第一种情况中,我们假设地面真相公式具有多变量 Pade 表示(两个多变量 Taylor 级数的除法)。我们首先训练 [ 3 , 2 , 1 ] [3,2,1] [3,2,1],然后将其拟合为 Pade 表示。我们可以在表 5 中获得公式 E,它与 Deepmind 的公式相似。 (2)我们假设除法对于 KANs 来说不太可解释,因此我们训练两个 KANs(一个用于分子,另一个用于分母),并手动进行除法。令人惊讶的是,我们最终得到了公式 F(在表 5 中),它只涉及 μ r \mu_{r} μr 和 λ \lambda λ,尽管 μ i \mu_{i} μi 也提供了,但被 KANs 忽略了。
到目前为止,我们已经重新发现了 [29] 中的主要结果。令人惊讶的是,KANs 使这一发现变得非常直观和方便。与使用特征归因方法(这些方法很棒)不同,人们可以简单地盯着 KANs 的可视化。此外,自动符号回归也使得发现符号公式变得更加容易。
在接下来的部分中,我们提出了一个 Deepmind 论文中未包含的“AI for Math”新范式,我们旨在利用 KANs 的无监督学习模式来发现结扎不变量中除了签名之外的更多关系。
表5:符号公式,作为经度平移
μ
\mu
μ(实部
μ
r
\mu_{r}
μr,虚部
μ
i
\mu_{i}
μi)和纬度平移
λ
\lambda
λ 的函数。在文献 [29] 中,公式 A 是由受神经网络归因结果启发的人类科学家发现的。公式 B-F 是由 KANs 自动发现的。KANs 能在简单性和准确性之间进行权衡(
B
,
C
,
D
B, C, D
B,C,D)。通过添加更多归纳偏差,KAN 能够发现与公式
A
\mathrm{A}
A 不太不同的公式
E
E
E。KANs 还发现了一个只涉及两个变量(
μ
r
\mu_{r}
μr 和
λ
\lambda
λ)而不是所有三个变量的公式
F
\mathrm{F}
F,在准确性上稍作牺牲。
图4.4:结实数据集,无监督模式。通过 KANs,我们重新发现了结实数据集中的三个数学关系。
无监督学习 正如我们在第4.2节中提到的,无监督学习是更有前景的设置,因为它避免了手动划分输入和输出变量,这样可能有组合可能性。在无监督学习模式下,我们将所有18个变量(包括签名)视为输入,使它们处于同等地位。结实数据是正样本,我们随机洗牌特征以获得负样本。一个 [ 18 , 1 , 1 ] [18,1,1] [18,1,1] 的 KAN 被训练来分类给定特征向量是否属于正样本(1)或负样本(0)。我们手动设置第二层激活函数为高斯函数,峰值为零,因此正样本将在(附近)零处激活,从而隐含地给出结实不变量之间的关系 ∑ i = 1 18 g i ( x i ) = 0 \sum_{i=1}^{18} g_{i}\left(x_{i}\right)=0 ∑i=118gi(xi)=0,其中 x i x_{i} xi 代表一个特征(不变量), g i g_{i} gi 是相应的激活函数,可以从 KAN 图中轻松读取。我们使用 λ = { 1 0 − 2 , 1 0 − 3 } \lambda=\left\{10^{-2}, 10^{-3}\right\} λ={10−2,10−3} 来训练 KANs,以偏好稀疏输入的组合,种子 = { 0 , 1 , ⋯ , 99 } =\{0,1, \cdots, 99\} ={0,1,⋯,99}。所有200个网络可以分为三组,代表性的 KANs 显示在图4.4中。这三组相关变量为:
(1) 第一组相关变量是签名、纬度距离的实部和经度距离(再加上另外两个变量,可以移除因为(3))。这是上面研究的签名依赖性,因此在无监督模式下重新发现这种依赖关系非常有趣。
(2) 第二组变量涉及尖点体积 V V V、纬度平移的实部 μ r \mu_{r} μr 和经度平移 λ \lambda λ。它们的激活看起来都像对数函数(可以通过第2.5.1节中暗示的符号功能验证)。因此,关系为 − log V + log μ r + log λ = 0 -\log V+ \log \mu_{r}+ \log \lambda=0 −logV+logμr+logλ=0,等价于 V = μ r λ V=\mu_{r} \lambda V=μrλ,这是根据定义成立的。然而,令人欣慰的是,我们在没有任何先验知识的情况下发现了这种关系。
(3) 第三组变量包括短测地线的实部 g r g_{r} gr 和单射半径。它们的激活看起来在质量上相同,但由一个负号区分,因此推测这两个变量之间存在线性相关性。我们绘制2D散点图,发现 2 r 2 r 2r 上限 g r g_{r} gr,这也是一个众所周知的关系 [31]。
有趣的是,KANs 的无监督模式可以重新发现几个已知的数学关系。好消息是,KANs 发现的结果可能是可靠的;坏消息是,我们尚未发现任何新内容。值得注意的是,我们选择了一个浅层的 KAN 以便简单可视化,但更深的 KANs 可能会在存在时找到更多关系。我们希望在未来的工作中探讨如何通过更深的 KANs 发现更复杂的关系。
安德森定域化是一种基本现象,其中量子系统中的失调导致电子波函数的定域化,使所有传输停止 [32]。在一维和二维中,尺度论证表明,对于微小量的随机失调,所有电子本征态都呈指数定域化 [33, 34]。相比之下,在三维中,临界能量形成一个相界,将延展态与定域态分开,称为迁移边界。理解这些迁移边界对于解释固体中的金属-绝缘体转变等各种基本现象至关重要 [35],以及光在光子器件中的定域效应 [36, 37, 38, 39, 40]。因此,有必要开发能够展示迁移边界的微观模型,以进行详细研究。在较低维度中开发这样的模型通常更为实际,引入准周期性而非随机失调也可以导致将定域相和延展相分开的迁移边界。此外,实验上实现解析迁移边界可以帮助解决关于相互作用系统中定域化的争论 [41, 42]。事实上,最近几项研究专注于确定这样的模型,并推导其迁移边界的精确解析表达式 [43, 44, 45, 46, 47, 48, 49]。
在这里,我们将知识增强神经网络(KANs)应用于从准周期紧束缚模型生成的数值数据,以提取它们的迁移边界。特别是,我们研究三类模型:Mosaic模型(MM)[47],广义Aubry-André模型(GAAM)[46]和改进的Aubry-André模型(MAAM)[44]。对于MM,我们验证了KAN准确提取迁移边界作为能量的一维函数的能力。对于GAAM,我们发现从KAN得到的公式与真实情况非常接近。对于更复杂的MAAM,我们展示了这一框架的另一个符号可解释性的例子。用户可以通过“协作”简化从KANs(以及相应的符号公式)获得的复杂表达式,方法是人类提出假设以获得更好的匹配(例如,假设某种激活函数的形式),之后KANs可以进行快速的假设测试。
为了量化这些模型中态的定域化程度,通常使用逆参与度(IPR)。第 k k k个本征态 ψ ( k ) \psi^{(k)} ψ(k)的IPR定义如下:
IPR
k
=
∑
n
∣
ψ
n
(
k
)
∣
4
(
∑
n
∣
ψ
n
(
k
)
∣
2
)
2
其中求和遍历站点索引。在这里,我们使用与之相关的定域度量 - 状态的分形维数,定义如下:
D
k
=
−
log
(
I
P
R
k
)
log
(
N
)
其中 N N N为系统大小。 D k = 0 ( 1 ) D_{k}=0(1) Dk=0(1)表示定域化(延展)态。
Mosaic模型(MM)我们首先考虑由哈密顿量定义的一类紧束缚模型[47]:
H
=
t
∑
n
(
c
n
+
1
†
c
n
+
H.c.
)
+
∑
n
V
n
(
λ
,
ϕ
)
c
n
†
c
n
其中 t t t为最近邻耦合, c n ( c n † ) c_{n}\left(c_{n}^{\dagger}\right) cn(cn†)为第 n n n个站点的湮灭(产生)算符,势能 V n V_{n} Vn定义如下:
V
n
(
λ
,
ϕ
)
=
{
λ
cos
(
2
π
n
b
+
ϕ
)
j
=
m
κ
0
,
otherwise
(4.5)
V_{n}(\lambda, \phi)=
为引入准周期性,我们将 b b b设为无理数(特别地,我们选择 b b b为黄金比 1 + 5 2 \frac{1+\sqrt{5}}{2} 21+5 )。 κ \kappa κ为整数,准周期势以间隔 κ \kappa κ出现。该模型的能谱通常包含由迁移边界分隔的延展和定域区域。有趣的是,这里发现的一个独特特征是,迁移边界存在于任意强度的准周期势中(即系统中总是存在与定域态共存的延展态)。
迁移边界可由 g ( λ , E ) ≡ λ − ∣ f κ ( E ) ∣ = 0 g(\lambda, E) \equiv \lambda-\left|f_{\kappa}(E)\right|=0 g(λ,E)≡λ−∣fκ(E)∣=0描述。 g ( λ , E ) > 0 g(\lambda, E)>0 g(λ,E)>0和 g ( λ , E ) < 0 g(\lambda, E)<0 g(λ,E)<0分别对应于定域和延展相。学习迁移边界因此取决于学习“序参量” g ( λ , E ) g(\lambda, E) g(λ,E)。诚然,对于这类模型,这个问题可以通过许多其他理论方法来解决[47],但我们将在下文中展示,我们的KAN框架已经准备好并方便接受人类用户的假设和归纳偏见。
爱丽丝是一位新入读凝聚态物理学博士的学生,她被分配了一个 [ 2 , 1 ] [2,1] [2,1] 的 KAN 作为助手。首先,她明白这是一个分类任务,所以明智的做法是使用 fix_symbolic 功能将第二层的激活函数设置为 sigmoid。其次,她意识到学习整个 2D 函数 g ( λ , E ) g(\lambda, E) g(λ,E) 是不必要的,因为最终她只关心由 g ( λ , E ) = 0 g(\lambda, E)=0 g(λ,E)=0 确定的 λ = λ ( E ) \lambda=\lambda(E) λ=λ(E)。因此,假设 g ( λ , E ) = λ − h ( E ) = 0 g(\lambda, E)=\lambda-h(E)=0 g(λ,E)=λ−h(E)=0 是合理的。爱丽丝再次使用 fix_symbolic 功能将 λ \lambda λ 的激活函数设置为线性。现在,爱丽丝训练了 KAN 网络,并顺利地得到了迁移边缘,如图 4.5 所示。爱丽丝既可以获得直观的定性理解(底部),也可以获得定量结果(中部),这些结果与真实情况(顶部)非常吻合。
图 4.5: 马赛克模型结果。顶部:相图。中部和底部:KANs 能够获得定性直觉(底部)和提取定量结果(中部)。 φ = 1 + 5 2 \varphi=\frac{1+\sqrt{5}}{2} φ=21+5 是黄金比例。
接下来,我们考虑一类由哈密顿量 [46] 定义的紧束缚模型:
H = t ∑ n ( c n + 1 † c n + H.c. ) + ∑ n V n ( α , λ , ϕ ) c n † c n (4.6) H=t \sum_{n}\left(c_{n+1}^{\dagger} c_{n}+\text { H.c. }\right)+\sum_{n} V_{n}(\alpha, \lambda, \phi) c_{n}^{\dagger} c_{n} \tag{4.6} H=tn∑(cn+1†cn+ H.c. )+n∑Vn(α,λ,ϕ)cn†cn(4.6)
其中 t t t 是最近邻耦合, c n ( c n † ) c_{n}\left(c_{n}^{\dagger}\right) cn(cn†) 是在位点 n n n 的湮灭(产生)算符,势能 V n V_{n} Vn 由
V n ( α , λ , ϕ ) = 2 λ cos ( 2 π n b + ϕ ) 1 − α cos ( 2 π n b + ϕ ) (4.7) V_{n}(\alpha, \lambda, \phi)=2 \lambda \frac{\cos (2 \pi n b+\phi)}{1-\alpha \cos (2 \pi n b+\phi)} \tag{4.7} Vn(α,λ,ϕ)=2λ1−αcos(2πnb+ϕ)cos(2πnb+ϕ)(4.7)
给出,对于 α ∈ ( − 1 , 1 ) \alpha \in(-1,1) α∈(−1,1) 是光滑的。为了引入准周期性,我们再次将 b b b 设置为无理数(特别是,我们选择 b b b 为黄金比例)。与之前一样,我们希望得到迁移边缘的表达式。对于这些模型,迁移边缘由闭形式表达式 [46, 48]
α E = 2 ( t − λ ) (4.8) \alpha E=2(t-\lambda) \tag{4.8} αE=2(t−λ)(4.8)
我们随机采样模型参数: ϕ , α \phi, \alpha ϕ,α 和 λ \lambda λ (将能量尺度 t = 1 t=1 t=1),计算能量本征值以及相应本征态的分形维数,这构成了我们的训练数据集。
这里要学习的"序参量"是 g ( α , E , λ , ϕ ) = α E + 2 ( λ − 1 ) g(\alpha, E, \lambda, \phi)=\alpha E+2(\lambda-1) g(α,E,λ,ϕ)=αE+2(λ−1),迁移边缘对应于 g = 0 g=0 g=0。让我们再次假设爱丽丝想要确定迁移边缘,但只能访问 IPR 或分形维数数据,所以她决定使用 KAN 来帮助她完成这项任务。爱丽丝希望模型尽可能小,所以她可以从一个大模型开始,使用自动修剪来获得一个小模型,或者她可以根据对问题复杂性的理解来猜测一个合理的小模型。无论哪种方式,让我们假设她得到了一个 [ 4 , 2 , 1 , 1 ] [4,2,1,1] [4,2,1,1] 的 KAN。首先,她将最后一个激活设置为 sigmoid,因为这是一个分类问题。她训练了她的 KAN,并使用一些稀疏性正则化达到了 98.7% 的准确率,并在图 4.6(a)步骤 1 中可视化了训练好的 KAN。她观察到 ϕ \phi ϕ 根本没有被捕捉到,这使她意识到迁移边缘与 ϕ \phi ϕ 无关(与方程 4.8 一致)。此外,她观察到几乎所有其他激活函数都是线性或二次的,所以她打开了自动符号捕捉,将库限制为仅线性或二次。之后,她立即得到了一个已经是符号形式的网络(如图 4.6(a)步骤 2 所示),准确率甚至略有提高,达到了 98.9%。通过使用 symbolic_formula 功能,爱丽丝方便地获得了 g g g 的符号形式,如表 6 GAAM-KAN auto(第三行)所示。也许她想删除一些小项并将系数调整到小整数,这将使她接近真正的答案。
表 6: GAAM 和 MAAM 两个系统的符号公式,包括真实值和 KAN 发现的值。
这个假设故事中的爱丽丝如果使用符号回归(Symbolic Regression, SR)方法会有完全不同的结果。如果她很幸运,SR可以返回完全正确的公式。然而,大多数情况下,SR都无法返回有用的结果,爱丽丝也无法"调试"或与符号回归的底层过程进行交互。此外,在运行SR之前,爱丽丝可能会感到不舒服/缺乏经验来提供一个符号术语库作为先验知识。相比之下,在KAN中,爱丽丝不需要提供任何先验信息。她可以先通过观察训练好的KAN获得一些线索,然后决定她想要提出哪种假设(例如"所有激活都是线性或二次的")并在KAN中实现她的假设。尽管KAN不太可能立即返回正确的答案,但它总是会返回一些有用的东西,爱丽丝可以与之合作来完善结果。
最后我们考虑的模型类是由哈密顿量[44]定义的修改的André-Aubry模型(MAAM):
H
=
∑
n
≠
n
′
t
e
−
p
∣
n
−
n
′
∣
(
c
n
†
c
n
′
+
H.c.
)
+
∑
n
V
n
(
λ
,
ϕ
)
c
n
†
c
n
其中 t t t是空间指数衰减耦合的强度, c n ( c n † ) c_{n}\left(c_{n}^{\dagger}\right) cn(cn†)是位点 n n n上的湮灭(产生)算符,势能 V n V_{n} Vn由
V
n
(
λ
,
ϕ
)
=
λ
cos
(
2
π
n
b
+
ϕ
)
给出。
图4.6:人-KAN合作发现GAAM和MAAM的迁移边缘。用户可以选择懒惰(使用自动模式)或更积极参与(使用手动模式)。更多细节见正文。
与之前一样,为了引入准周期性,我们将 b b b设置为无理数(黄金比)。对于这些模型,迁移边缘由闭式表达式[44]给出:
λ
cosh
(
p
)
=
E
+
t
=
E
+
t
1
exp
(
p
)
其中我们定义 t 1 ≡ t exp ( − p ) t_{1} \equiv t \exp (-p) t1≡texp(−p)为最近邻跳跃强度,并在下文中设置 t 1 = 1 t_{1}=1 t1=1。
让我们假设爱丽丝想要找出MAAM的迁移边缘。这个任务更加复杂,需要更多的人类智慧。与上一个例子一样,爱丽丝从一个 [ 4 , 2 , 1 , 1 ] [4,2,1,1] [4,2,1,1]的KAN开始训练,但只获得了75%的准确度,这还不够好。她然后选择了一个更大的 [ 4 , 3 , 1 , 1 ] [4,3,1,1] [4,3,1,1]KAN,成功地获得了98.4%的准确度(图4.6(b)步骤1)。爱丽丝注意到 ϕ \phi ϕ没有被KAN捕捉到,这意味着迁移边缘独立于相位因子 ϕ \phi ϕ(与方程4.11一致)。如果爱丽丝打开自动符号回归(使用包括exp、tanh等的大型库),她会得到表6中MAAM-KAN auto的复杂公式,其准确度为97.1%。然而,如果爱丽丝想要找到一个更简单的符号公式,她会想使用手动模式,自己进行符号捕捉。在此之前,她发现训练后的 [ 4 , 3 , 1 , 1 ] [4,3,1,1] [4,3,1,1]KAN可以被修剪为 [ 4 , 2 , 1 , 1 ] [4,2,1,1] [4,2,1,1],同时保持97.7%的准确度(图4.6(b))。爱丽丝可能会认为除了依赖于 p p p的激活函数外,其他激活函数都是线性或二次的,并手动将它们固定为线性或二次函数,使用fix_symbolic。在固定和重新训练后,更新的KAN如图4.6©步骤3所示,保持97.7%的准确度。从现在开始,爱丽丝可能会根据她的先验知识做出两种不同的选择。在一种情况下,爱丽丝可能猜测 p p p的依赖性是双曲余弦,所以她将 p p p的激活设置为双曲余弦函数。她重新训练KAN并获得96.9%的准确度(图4.6©步骤4A)。在另一种情况下,爱丽丝不知道 cosh p \cosh p coshp的依赖性,所以她追求简单性,再次假设 p p p的函数是二次的。她重新训练KAN并获得95.4%的准确度(图4.6©步骤4B)。如果她尝试了这两种情况,她会发现双曲余弦在准确性方面更好,而二次函数在简单性方面更好。这些步骤对应的公式列在表6中。很明显,爱丽丝进行的手动操作越多,符号公式就越简单(这会牺牲一些准确性)。KAN有一个"旋钮",用户可以调整它来权衡简单性和准确性(有时简单性甚至可以带来更好的准确性,就像GAAM的情况一样)。
Kolmogorov-Arnold 定理(KAT)与神经网络的关联在文献中并不新鲜,但内部函数的病态行为使得 KAT 在实践中看起来并不有前途。大多数先前的工作都固守于原始的 2 层宽度为 ( 2 n + 1 ) (2n+1) (2n+1) 的网络,这些网络在表达能力上受限,而且很多甚至早于反向传播算法。因此,大多数研究都建立在具有相当有限或人工玩具实验的理论基础上。我们的贡献在于将网络泛化到任意宽度和深度,使其在当今深度学习领域焕发生机,并强调其作为 AI+ 科学基础模型的潜在作用。
神经网络缩放定律(NSLs)是一种现象,其中测试损失随着模型大小、数据和计算等呈现幂律行为。NSLs 的起源仍然神秘,但竞争性理论包括内在维度[52]、任务量化[57]、资源理论[58]、随机特征[56]、组合稀疏性[50] 和最大数量[18]。本文通过展示高维函数可以出人意料地缩放为一维函数(这是人们可以期待的最佳边界),为这一领域做出了贡献。我们的研究给神经网络缩放定律带来了新的乐观,因为它承诺了有史以来最快的缩放指数。我们在实验中表明,这种快速的神经网络缩放定律可以在合成数据集上实现,但未来的研究需要解决一个问题,即这种快速缩放是否适用于更复杂的任务(例如,语言建模):通用任务是否存在 KA 表示?如果存在,我们的训练是否会在实践中找到这些表示?
机械解释性(MI)是一个新兴领域,旨在从机械的角度理解神经网络的内部工作。MI 研究可以大致分为被动和主动 MI 研究。大多数 MI 研究是被动的,专注于理解用标准方法训练的现有神经网络。主动 MI 研究尝试通过设计内在可解释的体系结构或开发训练方法来明确鼓励解释性。我们的工作属于第二类,其中模型和训练方法通过设计是可解释的。
神经网络中可学习激活函数的理念在机器学习中并不新鲜。可训练的激活函数以可微分方式学习,或以离散方式搜索。激活函数被参数化为多项式、样条、S型线性单元或神经网络。KANs 使用 B 样条来参数化它们的激活函数。我们还展示了关于可学习激活网络(LANs)的初步结果,它们的性质介于 KANs 和 MLPs 之间,它们的结果被推迟到附录 B,以便主要关注 KANs。
有许多基于遗传算法(Eureka、GPLearn、PySR)、基于神经网络的方法(EQL、OccamNet)、受物理启发的方法(AI Feynman)、以及基于强化学习的方法的现成符号回归方法。KANs 与基于神经网络的方法最相似,但与先前的工作不同之处在于我们的激活函数在符号捕捉之前是连续学习的,而不是手动固定。
在第 3.4 小节中,我们展示了 KANs 可以取代 MLPs 用于在解决 PDE 时施加 PDE 损失的范式。我们参考了 Deep Ritz Method、PINNs 用于 PDE 求解,以及 Fourier Neural operator、PINOs、DeepONet 等操作方法来学习解决方案映射。有潜力在所有上述网络中用 KANs 替换 MLPs。
正如我们在第 4.3 小节中所见,人工智能最近被应用于结论论文中的几个问题,包括检测结论是否是未结论或是带状结论,并预测结论不变量并揭示它们之间的关系。有关将数据科学应用于数学和理论物理数据集的总结,参见[90, 91],以及如何从 ML 技术中获得这些领域
在本节中,我们从数学基础、算法和应用的角度讨论 KANs 的局限性和未来发展方向。
数学方面:尽管我们已经提出了 KAN(Kolmogorov-Arnold 网络)的初步数学分析(定理 2.1),但我们对它们的数学理解仍然非常有限。Kolmogorov-Arnold 表示定理在数学上已经得到了彻底的研究,但该定理对应于形状为 [n, 2n+1, 1] 的 KAN,这只是 KAN 的一个非常受限的子类。我们在更深层次的 KAN 上取得的经验性成功是否意味着数学上的某些基本原理?一个吸引人的广义 Kolmogorov-Arnold 定理可以定义"更深"的 Kolmogorov-Arnold 表示,超越深度 2 的组合,并可能将激活函数的平滑性与深度联系起来。假设存在某些函数无法在原始(深度 2)Kolmogorov-Arnold 表示中平滑地表示,但可能用深度 3 或更高的表示平滑地表示。我们能否利用这种"Kolmogorov-Arnold 深度"的概念来刻画函数类?
算法方面:我们讨论以下几点:
(1) 准确性。在架构设计和训练中还有多种选择没有完全探索,因此还有可能进一步提高准确性。例如,样条激活函数可以被径向基函数或其他局部核函数取代。可以使用自适应网格策略。
(2) 效率。KAN 运行缓慢的一个主要原因是不同的激活函数无法利用批量计算(大量数据通过相同的函数)。实际上,可以在激活函数全部相同(多层感知机)和全部不同(KAN)之间进行插值,通过将激活函数分组到多个组(“多头”)来实现,组内成员共享同一个激活函数。
(3) KAN 和多层感知机的混合。KAN 与多层感知机相比有两个主要区别:
(i) 激活函数在边上而不是在节点上,
(ii) 激活函数是可学习的而不是固定的。
哪种变化对解释 KAN 的优势更为关键?我们在附录 B 中提出了初步结果,研究了一个模型,它具有(ii),即激活函数是可学习的(像 KAN),但没有(i),即激活函数在节点上(像多层感知机)。此外,还可以构建另一个模型,具有固定激活函数(像多层感知机)但在边上(像 KAN)。
(4) 自适应性。由于样条基函数的内在局部性,我们可以在 KAN 的设计和训练中引入自适应性,以提高准确性和效率:例如像多网格方法[93, 94]一样的多级训练,或者像多尺度方法[95]一样的依赖于领域的基函数。
应用方面:我们已经提供了一些初步证据表明 KAN 比多层感知机在科学相关任务(如拟合物理方程和 PDE 求解)中更有效。我们预计 KAN 也可能在求解 Navier-Stokes 方程、密度泛函理论或任何可以表述为回归或 PDE 求解的任务中有前景。我们也希望将 KAN 应用于机器学习相关任务,这需要将 KAN 集成到当前的架构中,例如提出"kansformers",在变换器中用 KAN 替换多层感知机。
KAN 作为 AI + 科学的"语言模型"。大型语言模型之所以如此具有变革性,是因为它们对任何能说自然语言的人都有用。科学的语言是函数。KAN 由可解释的函数组成,所以当人类用户盯着 KAN 时,就像用函数的语言与之交流。这一段旨在推广 AI-科学家-协作范式,而不是我们特定的工具 KAN。就像人们使用不同的语言进行交流一样,我们期望将来 KAN 将只是 AI + 科学的众多语言之一,尽管 KAN 将是最早能够使 AI 和人类进行交流的语言之一。然而,借助 KAN,AI-科学家-协作范式从未如此简单便捷,这使我们重新思考我们希望如何处理 AI + 科学:我们想要 AI 科学家,还是想要帮助科学家的 AI?(完全自动化的)AI 科学家的内在困难在于很难将人类偏好量化,这将人类偏好编码到 AI 目标中。事实上,不同领域的科学家可能会对哪些函数是简单或可解释的有不同的感受。因此,让科学家拥有一个能够用科学语言(函数)交流并能够方便地与个别科学家的归纳偏好进行交互以适应特定科学领域更为可取。
目前,KANs 的最大瓶颈在于训练速度较慢。在参数数量相同的情况下,KANs 通常比 MLPs 慢 10 倍。虽然我们并没有努力优化 KANs 的效率,但我们认为 KANs 的训练速度较慢更多是未来需要改进的工程问题,而不是根本性的限制。如果想要快速训练模型,应该使用 MLPs。然而,在其他情况下,KANs 应该与 MLPs 相当或更好,这使得它们值得一试。图 6.1 中的决策树可以帮助决定何时使用 KAN。简而言之,如果您关心解释性和/或准确性,并且训练速度不是主要问题,我们建议尝试使用 KANs。
图 6.1:我应该使用 KANs 还是 MLPs?
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。