深入解析KAN:象征主义与联结主义之间的桥梁

2024-11-01 15:59:09 | 作者: 匿名

KAN是一种不同于传统MLP架构的全新神经网络架构。它可以用更少的参数在科学领域取得惊人的性能,并且是可解释的。有望成为深度学习模型发展的重要方向。

利用KAN,我们不仅可以在函数拟合和偏微分方程求解(PDE)方面取得良好的效果,甚至可以求解拓扑理论中的结理论以及处理凝聚态物理中的安德森局域化问题。

KAN一经推出就引爆了整个AI圈,短短几天在github上就获得了超过1万的star。各行各业的伟人纷纷涌来,对KAN 进行各种改进,提出了EfficientKAN、FourierKAN 甚至Kansformer 等新架构。

那么KAN到底是什么,它有什么独特的价值,对未来AI发展有什么启示呢?

让我向您解释一下本次讲座的精髓。有兴趣的朋友也可以亲自听听。讲座的PPT文件位于文章末尾。

文章内容有点硬核,建议大家耐心阅读。相信读完这篇文章,你会对KAN和深度学习模型的未来有一个新的认识。

(1)KAN的数学原理:KART定理

KAN的全称是Kolmogorov-Arnold Network,旨在向两位伟大的已故数学家致敬。其背后的核心思想是柯尔莫哥洛夫-阿诺德表示定理,简称KART(柯尔莫哥洛夫-阿诺德表示定理)。

KART的核心思想是任何多元连续函数都可以表示为有限数量的单变量函数和加法的组合。

数学定理很难读,但是如果你举例说明它们就很容易理解。

假设有一个多元连续函数y=f(x1,x2),它可以表示为具有2 个输入(x1 和x2)、1 个输出(y)和5 个隐藏层神经元的Kolmogorov 网络。隐藏层神经元的数量为2n+1=5,其中n指输入变量的数量。

对于第一个神经元,它接收来自两个分支的信号,即1,1(x1) 和1,2(x2),其中(xi) 是xi 的一元函数。只需将1,1(x1) 和1,2(x2) 相加即可得到第一个神经元的值。

以此类推,2-5个神经元也是如此。这就是第一层神经元值的计算方法。

为了计算第二层神经元的结果,我们需要为第一层的每个神经元构造一个一元函数(1到5),然后将它们相加。

这里,一级函数(小)和二级函数(大)都是一元函数,因此可以用曲线直观地表达。

至此,我们已经将f(x1,x2) 的KART 表示转换为两层KAN 网络并将其可视化。

(2) 让KAN网络更深:让它更深!

原来的Kolmogorov Network特指宽度为2n+1(其中n代表输入变量的数量)的2层网络。第一层较小的称为内部函数,第二层较大的称为外部函数。功能。

这里我们可以抽象出内部函数和外部函数。它们都是KAN层,其中小是52 KAN层,大是15 KAN层。

在此基础上,我们可以更深层次地构建KAN网络。例如下图是一个三层的KAN。

这里有一个关键问题:如果原来的两层柯尔莫哥洛夫网络可以表示所有光滑函数,为什么还需要把网络建得更深呢?

这是因为在原始的两层Kolmogorov网络中,并没有约束激活函数必须是平滑函数,所以有时会求解一些不平滑甚至具有分形行为的病态激活函数来表达目标函数。

如果用非光滑函数来表达目标函数,实际上没有任何实际意义,也没有预测价值。

例如,对于这样的目标函数,需要三层非线性的组合来构造该函数。如果你使用两层KAN网络进行硬拟合,你可能会得到一个没有物理意义的病态解。

通过三层KAN网络,可以得知以下结果。第一层学习4个二次函数,第二层学习两个sin函数,第三层学习一个exp函数。将三者相加,得到最终的目标函数。

(3)用具体案例演示KAN的工作原理

上面我们通俗地解释了KAN的网络架构。下面我们举几个具体的例子来说明KAN的运行原理。

情况1:给定两个输入x 和y,目标函数为x*y,即乘法运算。

我们看一下KAN网络学习到的激活函数:

在第一层,对于node1,学习了两个激活函数:

1(x)=x

2(y)=y

因此节点1=1(x) + 2(y)=x + y

在第一层,对于node2,学习了两个激活函数:

3(x)=x2

4(y)=y2

因此节点2=3(x) + 4(y)=x2 + y2

在第二层中,学习了两个激活函数:

5=节点12=(x + y)

6=-node2=-(x + y)

深入解析KAN:象征主义与联结主义之间的桥梁

所以最终结果是5 + 6=(x + y) - (x + y)=2xy

我们通过两层KAN网络成功拟合了目标函数x*y。

情况2:给定两个输入x 和y,目标函数为x/y,即除法运算。

这里我们同样使用两层KAN来学习,学习到的激活函数的结果如下:

在第一层中,学习了两个激活函数:

1(x)=log(x)

2(y)=-log(y)

所以节点1=1(x) + 2(y)=log(x) - log(y)=log(x/y)

第二级:

3=enode1=elog(x/y)=x/y

因此,我们通过两层KAN网络来解决划分功能。

在(f)的例子中,我们想要预测二维空间中两点的距离函数。这种情况下,需要一个三层的KAN网络,其中包括线性函数、平方函数和平方根函数。通过三层嵌套,可以准确拟合目标函数。

(4) KAN背后的核心算法:B-Splines

为了将Kolmogorov-Arnold 表示为可学习的神经网络模型,我们需要对其进行参数化。

这里使用的是B-Splines函数,它是由多个局部基函数线性组合而成的样条曲线。

因此,KAN真正需要学习的参数是这里基函数前面的系数ci。

B样条函数的优点是可以自由控制分辨率。比如这里的G=5表示有5个区间,是一个比较粗糙的网格。

当G=10时,是比较细的网格。当你有更多的训练数据并且想让模型更准确时,你不需要重新训练网络,只需要让网格更细即可。

具体计算B样条函数时,常用Boor递推公式。该公式表达式优美、简洁,但计算步骤是递归的,计算效率较低。

这也是为什么KAN一推出,就有专家在Github上发布了EfficientKAN、FastKAN等Repos来提高其计算效率。

(5)KAN与MLP的关系

KAN 和MLP 有着千丝万缕的联系。

从数学定理的角度来看,MLP的背后是通用逼近定理,即对于任何连续函数,都可以使用足够深的神经网络来对其进行逼近。

KAN 背后的数学原理是柯尔莫哥洛夫-阿诺德表示定理,或KART。

万能逼近定理和KART两种表示理论之间存在很大差异。

根据万能逼近定理,为了提高模型的精度,需要不断增加模型的宽度。如果需要制作无限精度的模型,则需要训练无限宽度的网络。

KART承诺可以使用有限大小的网络来实现无限精度的模型,但是有一个前提,那就是目标函数可以严格地写成KART表示。

上图中的(a)和(b)比较了两层MLP和两层KAN。

对于MLP,激活函数位于节点上并且是固定的。重量在边缘,可以学习。

对于KAN来说,激活函数处于边缘,可以学习。该节点只是一个简单的加法,将所有输入信号相加。

(6) KAN在数学和物理领域具有极高的价值

我们来看看KAN的表现。

首先,对于Symbolic Formula来说,KAN的缩放效率远高于MLP。

其次,KAN 在求解偏微分方程方面也比MLP 更准确。

第三,与MLP 不同,KAN 自然是可解释的,并且不存在灾难性遗忘的风险。

第四,人类可以与KAN 交互并将先验知识注入其中以训练更好的模型。

这可能不太直观,所以我举个例子来说明一下。

例如,我们要预测的函数是esin(x)+y^2。

首先,我们通过KAN训练一个相对稀疏的网络,然后将其剪枝成更小的网络。这个时候,人类科学家就可以介入了。

我们发现1看起来像一个sin函数,所以我们可以将它固定为一个sin函数;我们认为2 看起来像一个指数函数,所以我们也修复了它。

深入解析KAN:象征主义与联结主义之间的桥梁

一旦我们固定了函数的所有结构,然后使用KAN网络进行训练,我们就可以学习模型中的参数来机器精度并获得非常准确的模型。

KAN是一种非常不受约束的网络架构。它的表达能力太强了。有时需要加入人类先验知识作为约束,以获得更合理的结果。

(7)KAN:象征主义与联结主义之间的桥梁

回顾人工智能的发展历史,人们反复在象征主义和联结主义之间摇摆。

1957年,弗兰克·罗森布拉特发明了感知器,正式拉开了人工智能的序幕。

但在1969 年,明斯基和帕珀特写了一本攻击感知器的书,因为他们发现感知器无法执行异或运算(XOR),这是计算机领域的基本运算。

这本书对罗森布拉特来说是一个巨大的打击,据推测这间接导致了他的自杀。

然后在1974 年,政治经济学教授Paul Werbos 发现,当感知器从单层扩展到多层时,它可以执行XOR 运算。

不过,由于保罗·沃博斯的学术领域比较狭窄,这一发现并没有在当时的主流学术界引起轰动。

1975年,Robert Hecht-Nielsen提出KART可以表示为层数为2、宽度为2n+1的网络。这就是KAN的雏形。

1988年,George Cybenko提出两层Kolmogorov网络可以进行异或运算。

但在1989年,Tomaso Poggio否定了Kolmogorov Network的价值,因为他发现两层Kolmogorov Network求解的激活函数非常光滑,表达能力差且没有可解释性。

到2024年,Ziming和Max的研究提出了一种全新的方法,将Kolmogorov Network扩展到多层,可以有效解决非光滑激活函数的问题。

可以说,KAN是象征主义和联结主义之间的存在,并可能成为象征主义和联结主义之间的一座桥梁。

从这个意义上说,KAN 的价值不仅限于科学人工智能。

比如最近大家都在争论Sora是否是一个世界模型,是否可以通过海量视频数据学习物理定律。

要回答这个问题,我们可能需要建立一个同时具有象征主义和联结主义的模型,两个部分可以各自学习自己擅长的部分。

最后,我们可以去模型的象征主义部分来测试Sora是否真正学会了物理定律,而不是着眼于整个网络,因为连接主义部分是无法解释的。

(8)KAN的哲学意义:还原论还是整体论?

从哲学角度来看,KAN基于还原论,而MLP基于整体论。

为了理解两者的区别,我们首先要理解事物的内部自由和外部自由。

例如,基本粒子具有内部自由度,例如“自旋”,而外部自由度是指基本粒子如何与其他粒子相互作用。

另一个例子是社会学中如何对待一个人。从内在自由度来看,一个人是由他的性格和性格决定的。这些是内部自由度。

同时,你也可以从外在自由的角度来定义一个人。一个人是他所有社会关系的总和。

这正是KAN和MLP的本质区别。

MLP不关心内部自由度,而是关注外部联系。每个神经元内部不需要做精致的结构设计,而是使用固定的激活函数。只要神经元之间的连接足够复杂,智力就会出现。

KAN的逻辑是我们需要关注内部结构,引入一个可学习的激活函数。在引入内在结构复杂性的同时,KAN仅在外部连接上进行了简单的补充。

MLP和KAN的背后,体现了还原论和整体论的区别。

还原论认为,我们最终可以将复杂的世界分解为基本单元。这些基本单元内部复杂,但外部相互作用简单。

整体论认为世界不可分割,世界作为一个整体运转。

这也从另一个层面解释了为什么KAN在Science领域表现更好。因为大多数科学家都是基于还原论的哲学信仰来解构世界。

(9)结论:KAN是否仿生?

我们知道,目前的深度神经网络模型是受到人脑神经元结构的启发。

Transformer 中的注意力机制也受到了心理学中注意力分配原理的启发。

仿生路线已经成为当前AI领域公认的主流方向。

那么自然界中是否存在类似KAN的神经网络结构呢?

答案是肯定的。

KAN论文发布后,一些生物物理学领域的专家提出,MLP更像是大脑中的神经元,而KAN更像是视网膜中的神经元。

大自然真的很神奇。不知道AI学术界会给我们带来多少惊喜。

用户评论

旧爱剩女

哇,这篇文章深入浅出地解析了KAN,让我对象征主义与联结主义的桥梁有了更深的理解。感觉作者真的很用心,给个赞!

    有6位网友表示赞同!

淡抹丶悲伤

看了这篇文章,我才发现KAN竟然有这么深奥的内涵,真是大开眼界!

    有12位网友表示赞同!

妄灸

标题党啊,以为会看到KAN的实战技巧,结果全是理论分析,有点失望。

    有7位网友表示赞同!

陌上蔷薇

对KAN的理解又深了一层,感觉作者分析的桥梁真的很关键。

    有11位网友表示赞同!

余笙南吟

这篇文章让我对KAN有了新的认识,桥梁这个词用得太妙了。

    有15位网友表示赞同!

将妓就计

第一次听说KAN,通过这篇文章,感觉这东西挺有意思的。

    有16位网友表示赞同!

清原

觉得作者的分析有点偏颇,KAN的象征主义与联结主义其实没那么复杂。

    有13位网友表示赞同!

娇眉恨

读完这篇文章,我对KAN的兴趣更浓了,希望能有更多实战案例。

    有5位网友表示赞同!

全网暗恋者

桥梁这个词用得很好,感觉作者在尝试搭建一个沟通的桥梁。

    有9位网友表示赞同!

北朽暖栀

这篇文章让我对KAN有了全新的认识,感觉以前的理解太肤浅了。

    有15位网友表示赞同!

岁岁年年

KAN在象征主义与联结主义之间搭建桥梁,这个观点挺新颖的。

    有13位网友表示赞同!

回到你身边

作者的分析真的很到位,感觉桥梁这个词用得恰到好处。

    有7位网友表示赞同!

墨城烟柳

对KAN的理解又加深了,感觉作者的文章很有启发性。

    有7位网友表示赞同!

可儿

桥梁这个词用得太妙了,感觉作者在引导读者思考。

    有9位网友表示赞同!

你瞒我瞒

这篇文章让我对KAN有了更深的认识,感觉作者真的很专业。

    有16位网友表示赞同!

该用户已上天

KAN的象征主义与联结主义之间的桥梁,这个概念太有意思了。

    有17位网友表示赞同!

大王派我来巡山!

感觉作者的分析挺有说服力的,桥梁这个词用得很好。

    有19位网友表示赞同!

柠栀

读完这篇文章,我对KAN的理解更加全面了,感谢作者的分享。

    有16位网友表示赞同!

tina

桥梁这个词用得太妙了,感觉作者在尝试连接两个看似不相关的领域。

    有19位网友表示赞同!