KAN: Kolmogorov-Arnold Networks (arXiv 2024)

Jurio.21 2024-08-19 14:31:02 阅读 66

在这里插入图片描述

KAN官方代码库:https://github.com/KindXiaoming/pykan

官方tutorials:https://kindxiaoming.github.io/pykan/


目录

AbstractKolmogorov–Arnold Networks (KAN)Kolmogorov-Arnold Representation theoremKAN architectureImplementation detailsKAN’s Approximation AbilitiesFor Interpretability: Simplifying KANs and Making them interactive

KANs are accurateToy datasetsSpecial functionsFeynman datasetsSolving partial differential equationsContinual Learning

KANs are interpretableSupervised toy datasetsUnsupervised toy dataset

DiscussionAppendixKAN FunctionalitiesLearnable activation networks (LANs)


Abstract

受Kolmogorov-Arnold表示定理的启发,作者提出Kolmogorov-Arnold Networks(KAN)作为多层感知器(MLPs)的有前途的替代方案。MLP 在节点(“神经元”)上具有固定的激活函数,但 KAN 在边缘(“权重”)上具有可学习的激活函数。 KAN 没有线性权重:每个权重参数都被参数化为一个样条线的单变量函数。作者发现,这个看似简单的变化使得 KAN 在准确性和可解释性方面优于 MLP。就准确性而言,在数据拟合和偏微分方程求解方面,小得多的 KAN 可以实现与大得多的 MLP 相当或更好的精度。 从理论和实证上讲,KAN 比 MLP 具有更快的神经缩放定律。在可解释性方面,KAN 可以直观地可视化,并且可以轻松地实现与用户交互。


Kolmogorov–Arnold Networks (KAN)

Kolmogorov-Arnold Representation theorem

如果

f

f

f是有界域上的多元连续函数,则

f

f

f可以写为单变量和二元加法运算的连续函数的有限组合,对于

f

:

[

0

,

1

]

n

R

f:[0,1]^n\rightarrow R

f:[0,1]n→R,有:

请添加图片描述

其中,

ϕ

p

,

q

:

[

0

,

1

]

R

\phi_{p,q}:[0,1]\rightarrow R

ϕp,q​:[0,1]→R,

Φ

q

:

R

R

\Phi_q:R\rightarrow R

Φq​:R→R

KAN architecture

请添加图片描述

假设有一个监督学习任务由输入输出对

{

x

i

,

y

i

}

\{x_i,y_i\}

{ xi​,yi​}组成,我们希望找到函数

f

f

f,使得

y

i

=

f

(

x

i

)

y_i=f(x_i)

yi​=f(xi​)。方程2.1意味着找到合适的单变量函数

ϕ

p

,

q

:

[

0

,

1

]

R

\phi_{p,q}:[0,1]\rightarrow R

ϕp,q​:[0,1]→R,

Φ

q

:

R

R

\Phi_q:R\rightarrow R

Φq​:R→R即可。但网络只有两层且宽度确定,过于简单,无法拟合现实中的复杂函数。

推广KAN:将方程2.1看为两个KAN层,令

Φ

=

{

ϕ

p

,

q

}

,

p

=

1

,

2

,

.

.

.

,

n

i

n

,

q

=

1

,

2

,

.

.

.

,

n

o

u

t

\Phi=\{\phi_{p,q}\},p=1,2,...,n_{in},q=1,2,...,n_{out}

Φ={ ϕp,q​},p=1,2,...,nin​,q=1,2,...,nout​

定义:

n

l

n_l

nl​是第

l

l

l层的节点个数,第

l

l

l层的第

i

i

i个神经元记为

(

l

,

i

)

(l,i)

(l,i),那么,第

(

l

+

1

,

j

)

(l+1,j)

(l+1,j)神经元的激活值由下面的方程给出:

请添加图片描述

用矩阵形式可以表示为:

请添加图片描述

其中

Φ

l

\Phi_l

Φl​是第

l

l

l个KAN层的函数矩阵。一个一般的KAN网络由L层组成:

请添加图片描述

定义

f

(

x

)

=

K

A

N

(

x

)

f(x)=KAN(x)

f(x)=KAN(x):

请添加图片描述

Φ

l

\Phi_l

Φl​是可微的,因此可以使用反向传播来训练 KAN。

类似地,MLP 可以写成仿射变换 W 和非线性的交错σ以供比较:

请添加图片描述

Implementation details

残差激活函数 包含一个基函数

b

(

x

)

b(x)

b(x)(类似于残差连接),使得激活函数

ϕ

(

x

)

\phi(x)

ϕ(x)是基函数

b

(

x

)

b(x)

b(x) 和样条函数之和:

请添加图片描述

请添加图片描述

请添加图片描述

spline(x)被参数化为B-splines的线性组合。w因子可以更好地控制激活函数的整体幅度。

初始化: 对于B-spline系数

c

i

N

(

0

,

σ

2

)

,

σ

=

0.1

c_i\sim N(0,\sigma^2), \sigma=0.1

ci​∼N(0,σ2),σ=0.1。w 根据 Xavier 初始化。

更新样条网格: 根据每个网格的输入激活动态更新每个网格。

KAN’s Approximation Abilities

Approximation theory, KAT:令

X

=

(

x

1

,

x

2

,

.

.

.

,

x

n

)

X=(x_1,x_2,...,x_n)

X=(x1​,x2​,...,xn​),假设

f

f

f满足:

请添加图片描述

存在一个取决于

f

f

f 及其表示的常数 C,这样就网格大小 G 而言具有以下近似界限:

请添加图片描述

请添加图片描述

具有有限网格大小的 KAN 可以渐进地以与维度无关的残差率很好地逼近函数

f

f

f ,从而克服维度灾难。

For Interpretability: Simplifying KANs and Making them interactive

请添加图片描述

Sparsification: 对于KAN网络,需要同时使用L1和熵正则化进行稀疏性学习。

将激活函数 φ 的 L1 范数定义为其 Np 输入的平均幅度:

请添加图片描述

将 Φ 的 L1 范数定义为所有激活函数的 L1 范数之和:

请添加图片描述

此外,我们将 Φ 的熵定义为:

请添加图片描述

总训练目标损失是预测损失加上 所有 KAN 层的 L1 和熵正则化:

请添加图片描述

其中 μ1、μ2 是相对量值,通常设置为 μ1 = μ2 = 1,而 λ 控制整体正则化量值。

Pruning: 经过稀疏化惩罚训练后,还想将网络修剪成更小的子网。在节点级别(而不是边缘级别)对 KAN 进行稀疏化。对于每个节点(例如第

l

l

l 层中的第

i

i

i 个神经元),我们将其传入和传出分数定义为

请添加图片描述

如果传入和传出分数默认都大于阈值超参数

θ

=

1

0

2

\theta=10^{-2}

θ=10−2,则认为该节点很重要。所有不重要的神经元都被修剪。

Symbolification: 如果怀疑某些激活函数实际上是符号函数(例如 cos 或 log),我们提供一个接口将它们设置为指定的符号形式,

f

i

x

_

s

y

m

b

o

l

i

c

(

l

,

i

,

j

,

f

)

fix\_symbolic(l,i,j,f)

fix_symbolic(l,i,j,f) 可以设置

(

l

,

i

,

j

)

(l , i, j)

(l,i,j) 激活为

f

f

f 。

为什么不使用符号回归(SR)?符号回归方法通常很脆弱且难以调试。它们最终要么返回成功,要么返回失败,而不输出可解释的中间结果。相比之下,KAN 在函数空间中进行连续搜索(使用梯度下降),因此它们的结果更连续,更稳健。更一般地说,当目标函数不是符号函数时,符号回归将会失败,但 KAN 仍然可以提供有意义的东西。例如,除非提前提供,否则 SR 不可能学习特殊函数(例如贝塞尔函数),但 KAN 无论如何都可以使用样条函数对其进行数值近似。


KANs are accurate

Toy datasets

请添加图片描述

通过每 200 步增加网格点来训练这些 KAN,总共覆盖 G = {3, 5, 10, 20, 50, 100, 200, 500, 1000}。训练具有不同深度和宽度的 MLP 作为基线。 MLP 和 KAN 均使用 LBFGS 进行了总共 1800 个步骤的训练。将测试集的 RMSE 绘制为图 3.1 中 KAN 和 MLP 参数数量的函数表明 KAN 比 MLP 具有更好的缩放曲线,特别是对于高维数据。对于最后一个示例,2 层 KAN [4, 9, 1] 的表现比 3 层 KAN(形状 [4, 2, 2, 1])差得多,这凸显了更深的 KAN 具有更强的表达能力也可能是三层的结构更符合这个符号函数)。

Special functions

请添加图片描述

收集了数学和物理中常见的 15 个特殊函数,我们选择固定宽度为 5 或 100 且扫描深度为 {2,3,4,5,6} 的 MLP。KAN 的宽度设置为 5,深度在 {2,3,4,5,6} 中扫描,使用稀疏化(λ = 10^−2 或 10^−3)和剪枝技术来从固定形状的 KAN 中获得更小的 KAN 剪枝。每个 KAN 初始化为 G = 3,使用 LBFGS 进行训练,每 200 步增加网格点数量以覆盖 G = {3, 5, 10, 20, 50, 100, 200}。对于每个超参数组合,我们运行 3 个随机种子。

KAN 的性能始终优于 MLP,即在参数数量相同的情况下,KAN 可以比 MLP 实现更低的训练/测试损失。

Feynman datasets

请添加图片描述

Feynman 数据集收集了 Feynman 教科书中的许多物理方程。

自动发现的 KAN 比人工构建的 KAN 小: 自动发现的 KAN 形状(最小和最佳)通常比我们的人类结构小。这意味着 KA 表示可以比我们想象的更有效。与此同时,这可能会使可解释性变得微妙,因为信息被压缩到比我们想象的更小的空间中。KAN 的可解释性可以促进科学发现。

Solving partial differential equations

请添加图片描述

我们推测 KAN 可能有潜力作为 PDE 模型简化的良好神经网络表示。

Continual Learning

请添加图片描述

我们证明 KAN 具有局部可塑性,并且可以通过利用样条的局部性来避免灾难性遗忘。 由于样条基是局部的,样本只会影响一些附近的样条系数,而使远处的系数保持不变。相比之下,由于 MLP 通常使用全局激活,例如 ReLU/Tanh/SiLU 等,因此任何局部变化都可能不受控制地传播到远处的区域,从而破坏存储在那里的信息。

使用一个玩具示例来验证这种直觉。一维回归任务由 5 个高斯峰组成。每个峰周围的数据按顺序(而不是一次全部)呈现给 KAN 和 MLP,如图 3.4 顶行所示。每个训练阶段后的 KAN 和 MLP 预测显示在中间和底部行中。正如预期的那样,KAN 仅重构当前阶段存在数据的区域,而使之前的区域保持不变。相比之下,MLP 在看到新的数据样本后会重塑整个区域,从而导致灾难性的遗忘。


KANs are interpretable

Supervised toy datasets

请添加图片描述

KAN 能够揭示这些公式中存在的组成结构,并学习正确的单变量函数

Unsupervised toy dataset

请添加图片描述


Discussion

希望将 KAN 应用于机器学习相关的任务,这需要将 KAN 集成到当前的架构中,例如 Transformer——人们可能会提出“kansformers”,用 Transformer 中的 KAN 取代 MLP。KAN 作为人工智能+科学的“语言模型”: KAN 由可解释的函数组成,因此当人类用户盯着 KAN 时,就像使用函数语言与其进行交流一样。应该使用 KAN 还是 MLP?

请添加图片描述


Appendix

KAN Functionalities

请添加图片描述

Learnable activation networks (LANs)

请添加图片描述

请添加图片描述

KAN 与标准 MLP 相比有两个主要变化:(1)激活函数变得可学习而不是固定的; (2) 激活函数放置在边上而不是节点上。 除了 KAN 之外,我们还提出了另一种类型的可学习激活网络(LAN),它几乎是 MLP,但具有参数化为样条的可学习激活函数。对于图 4.1 中的相同示例,KAN 可以完全解释,但由于权重矩阵的存在,LAN 的可解释性似乎要差得多。 首先,权重矩阵比可学习的激活函数更不容易解释。其次,权重矩阵带来了太多的自由度,使得可学习的激活函数过于不受约束。 我们对 LAN 的初步结果似乎意味着摆脱线性权重矩阵(通过在边缘上具有可学习的激活,如 KAN)对于可解释性是必要的。


KAN官方代码库:https://github.com/KindXiaoming/pykan

官方tutorials:https://kindxiaoming.github.io/pykan/


创作不易,麻烦点点赞和关注咯!


计算机学术会议征稿

第三届智能机械与人机交互技术学术会议(IHCIT 2024,7月27)https://jurio.blog.csdn.net/article/details/1402657152024年应用计算智能、信息学与大数据国际会议(ACIIBD 2024,7月26-28)https://jurio.blog.csdn.net/article/details/140063967第三届金融创新、金融科技与信息技术国际学术会议(FFIT 2024,7月26-28)https://jurio.blog.csdn.net/article/details/1400635962024年云计算与大数据国际学术会议(ICCBD 2024,7月26-28)https://jurio.blog.csdn.net/article/details/139701597第五届智能计算与人机交互国际研讨会(ICHCI 2024, 9/27-29)https://jurio.blog.csdn.net/article/details/1388679912024年生物医药和智能技术国际学术会议(ICBIT 2024,8月23-25)https://jurio.blog.csdn.net/article/details/140292954第三届图像处理、目标检测与跟踪国际学术会议(IPODT 2024,8月9-11)https://jurio.blog.csdn.net/article/details/140176909第五届大数据与社会科学国际学术会议(ICBDSS 2024,8月16-18)https://jurio.blog.csdn.net/article/details/1401110602024计算建模与应用数学国际学术会议暨中俄微分方程及其应用学术会议(CMAM 2024 & DEA,8月2-4)https://jurio.blog.csdn.net/article/details/1399868132024年虚拟现实、图像和信号处理国际学术会议(ICVISP 2024,8月2日-4)https://jurio.blog.csdn.net/article/details/139963349第13届亚洲膜计算会议(ACMC2024)暨 2024年机器学习、模式识别与自动化工程国际学术会议(MLPRAE 2024,8月7日-9)https://jurio.blog.csdn.net/article/details/1399630262024年图像处理、智能控制与计算机工程国际学术会议(IPICE 2024,8月9-11)https://jurio.blog.csdn.net/article/details/1398995152024年智能感知与模式识别国际学术会议(ISPC 2024,9月6日-8)https://jurio.blog.csdn.net/article/details/1398994612024算法、高性能计算与人工智能国际学术会议(AHPCAI 2024,8月14-16)https://jurio.blog.csdn.net/article/details/1405880572024云计算、性能计算与深度学习国际学术会议(CCPCDL 2024,8月14-16)https://jurio.blog.csdn.net/article/details/1395001262024年大数据与数字化管理国际学术会议 (ICBDDM 2024,8月16-18)https://jurio.blog.csdn.net/article/details/1403057252024年数据管理与计算机科学国际学术会议 ICDMCS 2024, 8月16-18https://jurio.blog.csdn.net/article/details/140305764第四届互联网金融与数字经济国际学术会议(ICIFDE 2024,8月16日-18)https://jurio.blog.csdn.net/article/details/1403760082024年图像处理、机器学习与模式识别国际学术会议(IPMLP 2024,9月13-15)https://jurio.blog.csdn.net/article/details/140398043第四届计算机科学与区块链国际学术会议 (CCSB 2024,9月6-8)https://jurio.blog.csdn.net/article/details/1405689992024智能物联与计算国际学术会议(AITC 2024,8月30-9月1)https://jurio.blog.csdn.net/article/details/140532924第五届智能计算与人机交互国际研讨会(ICHCI 2024, 9/27-29)https://jurio.blog.csdn.net/article/details/140552500第五届信号处理与计算机科学国际学术会议(SPCS 2024,8月23-25)https://jurio.blog.csdn.net/article/details/1405177492024年数字经济,区块链与人工智能国际学术会议(DEBAI 2024, 8月23-25)https://jurio.blog.csdn.net/article/details/1405173452024年第五届医学人工智能国际学术会议(ISAIMS 2024,8月13-17)https://jurio.blog.csdn.net/article/details/140463467第四届先进算法与神经网络国际学术会议(AANN 2024,8月9日-11)https://jurio.blog.csdn.net/article/details/140463379第四届物联网与机器学习国际学术会议(IoTML 2024,8月23-25)https://jurio.blog.csdn.net/article/details/1404345972024年虚拟现实、图像和信号处理国际学术会议(VRISP 2024,8月2日-4)https://jurio.blog.csdn.net/article/details/140434208第七届计算机信息科学与人工智能国际学术会议(CISAI 2024,9月6-8)https://jurio.blog.csdn.net/article/details/140607049第五届现代化教育和信息管理国际学术会议(ICMEIM 2024,9月6-8)https://jurio.blog.csdn.net/article/details/140607049




声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。