引爆整个AI圈的神经网络架构KAN,究竟是啥?

最近一周KAN的热度逐渐褪去,正好静下心来仔细学习KAN的原理,收获颇多。

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

运用KAN,我们不仅能够在函数拟合、偏微分方程求解(PDE)上取得不错的成果,甚至能够解决拓扑理论中的KnotTheory、处理凝聚态物理中的AndersonLocalization问题。

KAN一经推出便引爆了整个AI圈,短短几天就在github上获得了10k以上的stars。各路大神蜂拥而至,对KAN做出多种改进,提出了EfficientKAN、FourierKAN,甚至Kansformer等全新架构。

那么KAN究竟是什么,它有哪些独特价值,它对未来AI发展又有哪些启发呢?

我给大家解读一下这场讲座的精华内容,感兴趣的朋友也可以去亲自听一遍。

一、KAN的数学原理:KART定理

KAN的全称是Kolmogorov–ArnoldNetwork,致敬了两位伟大的已故数学家,其背后的核心思想是Kolmogorov–Arnold表示定理,即KART(Kolmogorov–ArnoldRepresentationTheorem)。

KART的核心思想是:对于任何一个多元连续函数,都能够表示为有限个单变量函数和加法的组合。

数学定理读起来比较拗口,但如果把它图示化出来,就很容易弄懂。

假设有一个多元连续函数y=f(x1,x2),它可以表达为一个有着2个input(x1和x2)、一个output(y)、以及5个隐藏层神经元的KolmogorovNetwork。隐藏层神经元数量为2n+1=5,这里的n指的是input变量的个数。

对于第一个神经元,它接收到两个branch的信号,分别是φ1,1(x1)和φ1,2(x2),这里的φ(xi)是xi的一元函数。把φ1,1(x1)和φ1,2(x2)简单相加,就得到第一个神经元的取值。

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

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

这里无论是第一层的函数(小φ)还是第二层的函数(大Φ),都是一元函数,所以可以用曲线将其可视化地表达出来。

至此,我们将f(x1,x2)的KART表示,转化成了一个两层KAN网络,并且进行了可视化。

二、将KAN网络做得更深:Makeitdeeper

原始的KolmogorovNetwork特指一个2层的,宽度是2n+1的网络(其中n代表输入变量个数),第一层的小φ被称为内部函数,第二层的大Φ被称为外部函数。

这里我们可以对内部函数和外部函数进行抽象,它们都是KANLayer,其中小φ是一个5×2的KANLayer,大Φ是一个1×5的KANLayer。

在这个基础之上,我们就可以把KAN网络建设得更深了,比如下图是一个三层的KAN。

这里有一个关键的问题:如果原始的两层KolmogorovNetwork就可以表示所有的光滑函数,那为什么还要把网络建深呢?

这是因为原始的两层KolmogorovNetwork中,并没有约束激活函数必须为光滑函数,因此有时会求解出一些不光滑的,甚至有分形行为的病态激活函数来表达目标函数。

如果你用不光滑的函数表达了目标函数,其实是没有现实意义的,不具备预测价值。

举个例子,针对这样一个目标函数,需要三层非线性的组合,才能构造出这个函数。如果用一个两层KAN网络去硬拟合,可能会得到一个没有物理意义的病态解。

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

三、用具体案例演示KAN的工作原理

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

案例1:给定两个输入x和y,目标函数是x*y,即乘法运算。

下面看一下KAN网络学到的激活函数:

第一层中,针对node1,学到两个激活函数:

φ1(x)=x

φ2(y)=y

因此node1=φ1(x)+φ2(y)=x+y。

第一层中,针对node2,学到两个激活函数:

φ3(x)=x2

φ4(y)=y2

因此node2=φ3(x)+φ4(y)=x2+y2。

第二层中,学到两个激活函数:

Φ5=node12=(x+y)2

Φ6=-node2=-(x2+y2)

因此最终结果为Φ5+Φ6=(x+y)2-(x2+y2)=2xy。

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

案例2:给定两个输入x和y,目标函数是x/y,即除法运算。

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

第一层,学到两个激活函数:

φ1(x)=log(x)

φ2(y)=-log(y)

于是node1=φ1(x)+φ2(y)=log(x)-log(y)=log(x/y)。

第二层:

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

于是,我们通过一个两层的KAN网络求解出了除法函数。

除了这两个简单的案例之外,作者还给出了若干有趣的函数案例。

在(d)这个例子中,作者尝试用KAN来学习特殊函数,比如贝塞尔函数,结果确实学习出来了。这里的φ1(x)是一个非常振荡的函数,就是贝塞尔函数。

在(f)这个例子中,我们想要预测两个点在二维空间中的距离函数,这时需要一个三层的KAN网络,其中包括一个线性函数、一个平方函数、一个平方根函数。三层嵌套,就能够准确拟合出目标函数。

四、KAN背后的核心算法:B-Splines

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

这里用到了B样条函数(B-Splines),即通过多个局域的基函数的线性组合来构成样条。

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

B样条函数的好处是可以自由控制resolution。比如这里G=5,意味着有5个interval,是一个比较粗糙的网格。

当G=10时便是一个比较精细的网格了。当你有更多的训练数据,想要把模型做的更精确时,你不需要重新训练网络,只需要把网格变得更细一些就可以了。

具体计算B样条函数时,常见用的是BoorRecursionFormula。这个公式表达起来很漂亮很简洁,但计算步骤存在递归性,因此计算效率较低。

这也是为什么KAN一经推出,就有大神在Github上发布EfficientKAN、FastKAN等Repo来提升其计算效率的原因。

五、KAN与MLP的关系

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

从数学定理方面来看,MLP的背后是万能逼近定理(UniversalApproximationTheorem),即对于任意一个连续函数,都可以用一个足够深的神经网络来逼近它。

而KAN背后的数学原理是Kolmogorov-Arnold表示定理,即KART。

万能逼近定理和KART这两个表示论有一个很大的区别。

根据万能逼近定理,为了提升模型精度,需要不断提升模型的宽度。如果需要做出一个无穷精度的模型,你需要训练一个无穷宽度的网络。

而KART承诺你可以用一个有限大小的网络来实现无穷精度的模型,但有一个前提,即目标函数可以被严格写成KART的表示。

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

对MLP来说,激活函数是在节点上的,是固定的。权重在边上,是可学的。

对KAN来说,激活函数是在边上的,是可学的。节点上只是一个单纯的加法,把所有input的信号加起来而已。

五、KAN在数学和物理领域具备极高的价值

下面我们来看看KAN的性能表现。

首先,对于SymbolicFormula来说,KAN的Scaling效率比MLP高了不少。

第二,在函偏微分方程求解上,KAN也比MLP更加准确。

第三,与MLP不同,KAN天然具备可解释性,并且没有灾难性遗忘的风险。

第四,人类可以与KAN进行交互,并且向其注入先验知识,从而训练出更好的模型。

这一点可能并不直观,我举个例子说明。

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

首先我们通过KAN训练出一个比较稀疏的网络,然后prune成一个更小的网络,这时人类科学家就可以介入。

我们发现φ1长得像sin函数,于是可以把它固定成sin函数;我们觉得φ2长得像指数函数,也把它固定下来。

一旦我们将函数的structure全部固定下来后,再用KAN网络进行训练,就可以将模型中的各项参数学习到机器精度,得到一个非常准确的模型。

KAN是一个非常unconstrained的网络架构,它的表达能力太强,有时需要加入人类的先验知识作为constrain,才能得到更合理的结果。

七、KAN:符号主义和连接主义的桥梁

回顾AI的发展史,人们在符号主义和连接主义之间反复摇摆。

1957年,FrankRosenblatt发明了感知机(Perceptron),人工智能正式拉开序幕。

但是在1969年,Minsky和Papert写了一本书攻击感知机,因为他们发现感知机无法执行异或操作(XOR),而XOR是计算机领域的基本操作。

这本书对Rosenblatt造成了巨大的打击,据推测间接导致其自杀。

但因为PaulWerbos所处的学术领域比较狭窄,这一发现在当时并没有引起主流学界的轰动。

1975年,RobertHecht-Nielsen提出KART可以表示为一个层数为2、宽度为2n+1的Network,这就是KAN的雏形。

1988年,GeorgeCybenko提出两层的KolmogorovNetwork可以执行异或操作。

但是在1989年,TomasoPoggio否定了KolmogorovNetwork的价值,因为他发现两层的KolmogorovNetwork解出的激活函数很不光滑,表达能力差而且没有可解释性。

可以说,KAN是一个处于Symbolism和Connectionism之间的存在,有可能成为连接符号主义和连接主义之间的桥梁。

从这个意义上来看,KAN的价值就不只局限于AIforScience了。

比如最近大家在争论Sora到底是不是世界模型,有没有通过海量视频数据学到物理学规律。

要回答这个问题,可能我们就需要构建一个同时具备符号主义和连接主义的模型,两个部分各自学习自己擅长的部分。

最后我们可以去模型的Symbolism的部分去检验Sora有没有真的学到物理学规律,而不是去看整个Network,因为Connectionism部分是不可解释的。

八、KAN的哲学意义:还原论还是整体论?

从哲学的角度看,KAN的背后是还原论,而MLP的背后是整体论。

为了理解二者的差别,我们得先理解事物的内在自由度和外在自由度。

比如基本粒子存在诸如“自旋”等内在自由度,而外在自由度指的是基本粒子是如何与其他粒子发生交互的。

再比如在社会学中,如何看待一个人。从内在自由度来看,人是由他的品性、品格所决定的,这是internaldegreesoffreedom。

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

这恰恰就是KAN和MLP之间的本质差别。

MLP不在意内在自由度,而是重视外部连接,每个神经元内部不需要做精巧的结构设计,而是用固定的激活函数。只要神经元之间的连接足够复杂,就会涌现出智能。

MLP和KAN的背后,反映出的是还原论和整体论之间的差异。

还原论(Reductionism)认为,我们最终能够把复杂的世界拆分成基本单元,这些基本单元的内部是复杂的,但是其外部相互作用是简单的。

而整体论(Holism)则认为世界是无法拆分的,它workasawhole。

这也从另一个层面说明了为什么KAN在Science领域表现得更好。因为绝大部分科学家,都是基于Reductionism的哲学信仰在解构这个世界。

九、结语:KAN属于仿生吗?

我们知道,当前的深度神经网络模型,启发自人脑中的神经元结构。

Transformer中的Attention机制,也启发自心理学中的注意力分配原理。

仿生路线成为了目前AI领域公认的主流方向。

那么在大自然中,是否存在着类似KAN这样的神经网络结构呢?

答案是肯定的。

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

THE END
1.大数据机器学习算法概论腾讯云开发者社区算法是计算机科学领域最重要的基石之一,计算机语言和开发平台日新月异,但万变不离其宗的是那些算法和理论,数据结构和算法是软件开发必备的核心基础,是内功心法。下面举例拿推荐算法和分类算法的实际场景做下举例: 推荐算法的应用场景,各种app(偏资讯)的应用外的手机推荐: https://cloud.tencent.com/developer/article/2479107
2.aigc生成式人工智能- 深度学习与神经网络:生成对抗网络(GANs)、变分自动编码器(VAEs)、Transformer架构等是实现高质量内容生成的核心算法。这些模型能够从大量数据中学习复杂的模式,并根据给定的提示或输入生成新的、独特的输出。 - 自然语言处理(NLP):通过大规模预训练模型如BERT、GPT系列,机器可以理解和生成人类语言,用于撰写文章、对话https://fuxi.163.com/database/1344
3.蚂蚁金服核心技术:百亿特征实时推荐算法揭秘阿里妹导读:本文来自蚂蚁金服人工智能部认知计算组的基础算法团队,文章提出一整套创新算法与架构,通过对TensorFlow底层的弹性改造,解决了在线学习的弹性特征伸缩和稳定性问题,并以GroupLasso和特征在线频次过滤等自研算法优化了模型稀疏性,在支付宝核心推荐业务获得了uvctr的显著提升,并较大地提升了链路效率。 https://maimai.cn/article/detail?fid=1010621115&efid=mIQCHnkj0zjxlpygUmo5mg
4.SpaceX告诉你:火箭垂直回收,什么“姿势”最正确新闻频道北京理工大学宇航学院特聘研究员刘新福告诉科技日报记者,在发动机推力可调及着陆缓冲机构等硬件条件的基础上,火箭回收最大的难点是,在着陆段怎样根据火箭的当前位置、速度、姿态等信息,在线实时计算出发动机推力的大小和方向,以实现安全精确着陆,其最核心的技术是着陆段的制导算法。 https://news.cctv.com/m/a/index.shtml?id=ARTIA3OF8Lw42kR6o57Vimha190507
5.倒计时157天软考题库在线刷题:「系统架构设计师」每日一练倒计时157天 | 软考题库在线刷题:「系统架构设计师」每日一练 希赛软考 2024年12月18日 18:12 湖南 软考在线题库 | 往年真题 | 模拟试卷丨点击预约「25年高项报名提醒」 01 若信息码字为111000110,生成多项式G(x)=x5+x3+xhttps://mp.weixin.qq.com/s?__biz=MzU4NjA2MDIxNw==&mid=2247554462&idx=3&sn=4190a06982a7a60b5337a3e65dff081a&chksm=fcfb25c0aa2b5ab20385a05fabc6abef231c406d73f9db425beb5beace78e614b6a47e3ad5a9&scene=27
6.2022年度陕西省重点研发计划项目申报指南目录研究内容:在大数据智能分析等应用中,由于图结构的高度非规则性,存在计算和访存效率低下的问题,研究稀疏矩阵乘法、图邻接矩阵求逆等图分析核心算法的计算模式和访存特点;研究支持高效访问的新型数据结构和计算方法;研究现有高性能 CPU/GPU 异构架构在非规则计算问题中的性能瓶颈和自适应优化方法,在超千万级规模的图结构http://www.kt180.com/html/sxs/9889.html
7.高中人工智能教育应该教什么和如何教——基于四本《人工智能初步此外,四本教材对于内容编排的整体顺序是一致的:第一章均为有关人工智能的历史与发展;最后一章均为有关人工智能的安全和伦理问题;中间各章,主要涉及人工智能的知识表示、核心算法、典型应用和模块开发。 篇幅分布上,教科版将知识表示和机器学习分别独立一章,对知识的状态、过程、逻辑表示作重点讲解,其他三本教材在https://zhjy.sxnu.edu.cn/info/1007/1107.htm
8.面试一mob604756ee87ff的技术博客20、 什么是类加载器,类加载器有哪些? 实现通过类的权限定名获取该类的二进制字节流的代码块叫做类加载器。 主要有一下四种类加载器: ?启动类加载器(BootstrapCIassLoader)用来加载Java核心类库,无法被 Java程序直接引用。 ?扩展类加载器(extensions class loader):它用来加载Java的扩展库。Java 虚拟机的实现https://blog.51cto.com/u_15127553/4519203
9.网络管理论文10篇经典当使用的编程语言是Java的时候,即面向对象的编程语言的时候,这种网络事件都可以被形象化成为一个“类”,这种“类”结合数据库的资源可以更好地表现出相关性算法的核心部分。 4.2用户界面 用户界面是以事件监视为主,并设置相关的辅助窗体。辅助窗体主要分为以下几个方面。4.2.1事件监视窗口这种辅助窗口可以显示当前https://www.yjbys.com/biyelunwen/fanwen/guanli/734039.html
10.2022网络治理专题(答题纯享版)算法窄化用户信息获取路径包括两方面:一是信息定制化意味着“自主权”让渡,看与不看看什么由算法决策,从而构建了一个由算法和个人共同决定的拟态环境,平台便通过算法推荐实现算法与商业价值的合谋;二是算法精准推荐的高舒适性收窄了信息获取渠道,在某种特定信息渠道中获得的满足感会影响到信息使用行为的稳定性,导致用户https://weibo.com/ttarticle/p/show?id=2309404830345634906292
11.是什么卡了我们的脖子――算法不精,国产工业机器人有点“笨据统计,我国已经连续5年成为世界第一大机器人应用市场,但高端机器人仍然依赖于进口。核心算法的差距,是国产工业机器人向高端制造迈进的拦路虎。算法欠账多 国产“大脑”爱出错 作为工业级产品,衡量机器人优劣主要有两个标准:稳定性和精确性。核心控制器是影响稳定性的关键部件,有着工业机器人“大脑”之称。而http://baijiahao.baidu.com/s?id=1601122452224222715&wfr=spider&for=pc
12.分治算法与MapReduceMapReduce本质就是一个分值算法。 什么是分治算法 分治算法的核心是:分而治之。也就是将原问题分解为n个规模较小,并且结构与原问题相似的子问题,递归地解决这些子问题,并且合并子问题的结果得到原问题的解。 与递归的区别:递归是一种编程技巧,分治是一种算法思想。 https://blog.csdn.net/flying_all/article/details/98631772
13.华为云人工智能入门级开发者认证考试备考题库(核心题).docx免费在线预览全文 PAGE PAGE 1 华为云人工智能入门级开发者认证考试备考题库(核心题)一、单选题 1.以下哪个应用场景不属于华为云图像搜索服务? A、商品图片搜索 B、侵权图片搜索 C、工业零件图查询 D、安全帽佩戴检测答案:D 2.以下哪一项不属于自然语言处理的应用场景? A、文本互译 B、摘要生成 C、实体抽取 Dhttps://m.book118.com/html/2022/1103/5013300101010013.shtm
14.高正贤:寻找产品开发中的“达芬奇密码”新闻频道算法的价值在于,原来通用遍历型的算法是比大小,从混乱的排序到一步步的比大小要经过几十步。如果采用了一个短路径算法,可能用十几步就能完成,效率提高了几倍。从核心算法,到数据库的引用,最终可以在软件产业中形成很多差异化的控制点。 4.好的架构:正确的定义问题和接口https://news.hexun.com/2020-04-28/201175728.html