KAN 网络算法,如同在 AI 技术圈投下了一枚重磅炸弹,让 AI 界震荡不减。
发布一个月的时间内,FastKAN、 FasterKAN kansformers 等基于 KAN 的扩展模型层出不穷。
第一作者华人科学家刘子鸣提出新的神经网络结构——KAN(Kolmogorov-Arnold 网络),这一由数学启发、媲美“Transformer”进阶版的神经网络原型,以其实验表现的优异性能,让业内侧目。
它会成为深度学习的下一个范式吗?
众所周知,多层感知器(MLP)是深层神经网络的核心。如果核上出现变革,说它预示着范式转变,听上去也是 make sense 的。
KAN 就是这种“核变”,它将可学习的激活函数从神经元移到了神经网络的边(权重)上,这样一个创新改变据实验带来了巨大效应——更高的准确性、更少的参数量、更快的收敛速度和更好的可解释性。这里的每一条,都足以令人兴奋,虽然还只是实验室的研究。
不同于传统的MLP,KAN 中每一个连接的权重不再是一个简单的数值,而是被参数化为一个可学习的样条函数。这个函数描述了信号从一个节点传递到另一个节点的过程中,如何被转化和调制。
这看似是一个简单的改变,但却带来了深远的影响。作者通过大量的数值实验表明,KAN在准确性和可解释性方面都优于MLP。在函数拟合和偏微分方程求解等任务中,更小的KAN网络就可以达到与更大的MLP网络相当甚至更好的精度。同时,理论和实验都表明KAN具有更快的“神经缩放定律”(neural scaling law),即随网络规模增大,性能提升加速。
KAN作为一个函数逼近器,具有很强的表达能力,能够处理广泛的函数类,并且能够用较少的参数达到很高的精度。这为KAN在实际问题中的应用提供了理论保证,但目前的实验主要还是在合成数据集上。
这是因为在探索新的机器学习方法时,合成数据可以提供一个受控和易于理解的环境,这有助于研究人员评估新模型的基本性能和特性。在合成数据上的实验有助于验证KAN在处理具有已知数学或物理属性的数据时的表现。
此外,KAN中的样条函数激活可以被直观地可视化,有利于人类用户理解和交互。通过数学和物理中的实例,论文展示了KAN可以作为一个有用的“助手”,帮助科学家发现或重新发现数学和物理定律。更有趣的是,科学家可以将先验知识引入KAN,以交互的方式指导模型帮助科学探索。
这一系列亮眼的结果,无不令人惊叹KAN的潜力。有人甚至预言,KAN可能引领深度学习进入“2.0时代”。
总之,KAN或将是MLP的一个有前景的替代品,为进一步改进目前依赖MLP的深度学习模型开辟了新的可能性。
要将KAN从理论和实验室设置成功迁移到实际应用,如自然语言处理、图像识别或更广泛的科学研究,还有诸多工作要做,包括在真实世界数据上的验证、优化计算效率,以及用于AI主流的各项主要任务。
KAN在神经网络上的创新,从AI应用角度,最实惠的好处是“小模型”能匹敌大模型的精度。但是,跳出实验室以后,真用到AI常规任务中,KAN能不能保持这种以小博大的特性,有待探究。
KAN的原理:KART定理
Transformer架构的诞生标注着自学习大模型时代的到来,其中以GPT为代表的主流深度学习大模型取得了令人瞩目的成就。
然而,作为大模型内核的多层神经网络(如MLP)也暴露出一些局限性:参数量越来越大、缺乏可解释性等。这促使研究者们思考:是否存在一种网络架构创新,能在保持性能的同时,实现参数的高效利用和模型的可解释性?
在超大模型不断试探模型规模的边界的同时,许多实际应用场景对高效推理以及并发处理的需求,使得探究“大模型的小型化”成为非常重要的研发方向。KAN在这样的背景下应运而生。
KAN的灵感来自于苏联数学家Kolmogorov和Arnold在上世纪50年代提出的一个定理(K氏表示定理):任何一个定义在有界域上的多元连续函数,都可以表示为有限个一元连续函数和加法运算的复合。
乍一看,这个定理对机器学习应该是个好消息:学习一个高维函数可以归结为学习多项式数量级的一维函数。但问题在于,这些一维函数并不一定都是“好学”的光滑函数,它们中的一些可能是非光滑的,甚至是极其复杂的函数。非光滑函数的存在,限制了定理在实践中的应用价值。
因此,Kolmogorov-Arnold表示定理在机器学习中一度被认为只是理论上正确,实践中无用。
在传统的深度学习MLP中,神经元之间的连接通常是一个实数值,代表连接的强度(权重)。而神经元本身配有一个非线性的“激活函数”,如ReLU、Sigmoid等。所以MLP的计算过程是:先对权重输入加权,然后通过激活函数引入非线性。简单说就是“先加后变”。
KAN的创新设计是:它没有将权重参数表示为一个实数,而是表示为一种B样条函数(B-spline)。这个样条函数直接连接两个神经元,代替了MLP中的线性权重。
也就是说,KAN的神经元是“无感知”的,它只是把各条连接的函数输出“归拢”起来(简单的求和)。激活函数从节点挪到了边上,就是说,“先变后加”。
可以想象,有一条复杂的曲线,我们想用数学函数来描述它。一个办法是用一个高阶的多项式函数来拟合这条曲线,但这可能会导致函数在某些地方波动很大。
另一个办法是,我们把这条曲线分成几段,每一段用一个低阶的多项式函数来拟合,然后再把这些函数平滑地连接起来。这些分段多项式函数只要在拼接点处满足一定的连续性条件,即可保证整个函数的光滑性。这就是B样条函数的基本思想。
“先变后加”代替“先加后变”的设计,使得KAN的每一个连接都相当于一个“小型网络”,能实现更强的表达能力。
KAN的主要贡献在于,在当前深度学习的背景下重新审视K氏表示定理,将上述创新网络泛化到任意宽度和深度,并以科学发现为目标进行了一系列实验,展示了其作为“AI+科学”基础模型的潜在作用。
KAN的设计创新体现了作者在理论洞见和工程实践之间取得平衡的用心,是将抽象的数学原理转化为具体的计算模型的一个成功尝试。
作者并没有在理论上证明,加深网络就能克服不平滑的问题。但作者指出,科学和日常生活中的大多数函数往往是光滑的,并且具有稀疏的组合结构,有利于形成光滑的Kolmogorov-Arnold表示。
这里的哲学类似于物理学家的思维方式和基本预设,他们通常更关心典型情况而非最坏情况。
作者也举例说明,即使对于一些非光滑的函数,KAN也可以通过增加网络深度来逼近。实验中,一个4变量的函数可以被一个3层的KAN光滑地表示,但可能不能被一个2层的光滑KAN表示,这说明了深度对于函数逼近的重要性。
KAN的原理可以打个比喻,KAN模型的独特之处在于,对神经元之间的信息流不再使用固定的“连接件”,而是给每一个连接“管道”装上了可以自由调节的“水龙头”(可学习的“阀门”B样条函数)来控制信息的流动。
这些“水龙头”就是数学上的样条函数,它们可以随着数据的不同而自动调整形状,让“水流”更加顺畅。
代替MLP?
从理论上说,传统的MLP是受Universal Approximation Theorem(UAT,万能近似定理)启发的,而KAN则是受Kolmogorov-Arnold Representation Theorem(KART,K氏表示定理)启发的。
根据UAT,一个固定宽度的网络逼近函数不可能达到任意精度;而KART则不受此限(尽管有一定的前提条件)。这预示了KAN具有更大的潜力。
原始的K氏表示定理给出了一个特定的函数表示形式,这个形式可以看作一个两层的神经网络:第一层有n个节点,对应于n个输入变量;第二层有2n+1个节点,对应于2n+1个一元函数。这就是一个宽度固定(第二层节点数是输入维度的2倍加1),深度固定(只有两层)的网络。
然而,现代神经网络的设计通常更加灵活,模型可以构建任意宽度(每层节点数可以任意指定)和任意深度 (层数可以很多)的网络。
因此,可以定义一个对应于MLP的KAN网络,也像搭积木一样,将多个KAN堆叠起来,形成一个任意深度的网络。这就将原始的两层网络泛化到了任意深度。同时,宽度也可以任意指定,不再受限于输入维度的2倍加1,将原始的固定宽度网络泛化到了任意宽度。
使用任意多层是为了让KAN具有更强的表达能力和结构适应性,以应对实际问题的复杂性。这也是将K氏定理从一个存在性结果转化为一个实用工具的关键一步。
当然,具体使用多少层,每层的宽度如何设置,还需要根据问题的性质和实验结果来决定。KAN对于K氏定理的泛化为这种探索提供了理论基础和操作空间。
KAN与MLP的对照表:
KAN使神经元之间的非线性转变更加细粒度和多样化。换言之,每一个连接都是一个可学习的函数,这使KAN可以用更紧凑的结构来刻画复杂的映射关系。
相比之下,MLP需要堆叠更多的层和神经元来应对复杂映射,导致参数冗余和低效。
低阶基函数是定义在一个网格(即一组节点)上的。理论上,当我们增加网格的密度(即减小网格间距)时,B样条函数可以无限逼近任意的目标函数另外,传统的MLP并没有“细化网格”这个概念。
虽然增加MLP的宽度和深度可以提高其性能(所谓scaling law效应),但这种提升是比较缓慢的(这说明了KAN在 scaling 效应上明显优于MLP),而且代价很大,因为每次增加宽度或深度,都需要从头开始训练一个新的更大的模型。
但KAN可以先训练一个参数较少的模型,然后通过细化其B样条函数的网格,将其扩展为一个参数更多的模型,而无需从头开始训练。
这个网格扩展的过程允许模型在不重新训练的情况下来提高逼近精度。这种灵活性据称也是KAN相比MLP的一个重要优势。
这些优势使得作者以及不少研究者相信,以KAN平替MLP是一个非常值得尝试的Transformer的创新之路,不仅仅是科学发现,而且对整个AI任务具有普遍意义。
KAN的实验成就和挑战
KAN在 AI for Science 的一系列实验中,展现了超越当前主流模型的卓越性能。
在复杂函数的拟合任务上,KAN以远小于MLP的参数量,实现了更高的精度。例如,对于某个100维的函数,KAN只需要3个参数就能达到MLP 1000个参数的水平,这是两个多量级的缩小。在偏微分方程求解任务上,KAN以10倍的参数效率,实现了100倍的精度提升。
在数学发现任务上,KAN助力科学家重新发现了纽结理论中的一些关键规律。它用200个参数复现了DeepMind用30万个参数取得的结果,这是三个多量级的规模差距。在物理研究任务上,KAN轻松找到了Anderson局域化相变的关键参数。
在玩具数据集上,作者构造了5个已知具有光滑Kolmogorov-Arnold表示的函数,从一元到高维。结果表明,KAN的测试误差随着参数数量的增加而下降的速度明显快于MLP,尤其在高维情况下。
KAN几乎达到了理论预测的最优缩放指数α=4,而MLP的缩放则慢得多,而且很快就饱和了。这验证了KAN在函数逼近方面的优势。
除了卓越的性能,KAN中的样条函数还为网络提供了一定的可解释性。
与“黑盒”般的MLP不同,KAN学到的每一个连接函数都有可视化解释的可能。我们可以画出这些函数的图像,看看它们的形状如何表示神经元之间的连接。这给了我们一个直观的方式来理解KAN的内部工作原理。
例如,我们可能会发现一些激活函数的形状类似于我们熟知的函数(如 squared, exponential, etc. 见 Figure 2.4),这可能提供一种符号化的解释。
在监督学习的玩具数据集上,KAN能够揭示函数的组合结构,并学习到正确的一元函数。例如,对于乘法f(x,y)=xy,KAN学到了恒等函数和平方函数,并利用了恒等式 2xy=(x+y)2-(x2+y2)。这表明KAN可以发现数据的内在结构和物理意义。
KAN在数学(纽结理论)和物理(Anderson局域化)领域的应用中,展现了其作为科学家“助理”的潜力。通过人机交互,KAN可以帮助科学家(重新)发现一些重要的数学物理规律。
在纽结理论中,KAN用比DeepMind少三个数量级的参数,复现了其关键结果,而且结果更可解释。
更有趣的是,科学家可以将自己的先验知识和假设引入KAN,指导其探索新的规律。这为AI+Science开辟了一条充满想象力的道路。
关于神经缩放定律(scaling law),即性能与模型大小、数据、计算等呈幂律关系,实验表明KAN承诺了迄今为止最快的缩放指数。
这为scaling law带来了新的乐观情绪,因为KAN本来就有以小博大的起点,加上卓越的 scaling law 特性,这给KAN带来了更大吸引力。
可解释性也是KAN的一大优势。可解释性一直是主流大模型的一大痛点。可解释性研究旨在从机制上理解神经网络内部工作原理。研究大致可分为被动和主动两类。
大多数研究是被动的,侧重于理解用标准方法训练的现有神经网络如何“白盒化”或“灰盒化”,增加透明性。而主动研究试图通过设计内在可解释的因素或开发明确鼓励可解释性的训练方法来实现可解释性。KAN的工作属于后一类,科学实验中表现不俗。
总的来说,KAN通过其独特的网络结构和函数表示,在性能、可解释性和交互性上都展现了优势,弥补了主流深度网络的短板。
网格扩展技术和一系列简化技术,如稀疏正则化、可视化、剪枝和符号化等,进一步增强了KAN的性能和可解释性。这些技术使得KAN可以被简化为一个更紧凑、更易于理解的形式,同时保持其优异的性能。
然而,作为一个新生事物,KAN还面临一些困扰,尤其是训练效率问题。
从算法设计来看,KAN还有不少优化的空间。首要的是训练效率问题。KAN的训练速度较慢,这主要是由其密集的连接结构所致。如何在保持性能的同时,提高KAN的计算效率,是一个关键的优化方向。
在架构设计上,还可以尝试用其他函数来替代样条激活函数,或者将KAN与MLP进行混合(如保留MLP的节点激活函数,同时引入KAN的边激活函数)。这些改进有望进一步提升KAN的性能和效率。另一个有趣的方向是引入自适应性,利用样条函数的局部特性来实现多级训练和多尺度学习。
从应用前景来看,KAN也面临很多机遇和挑战。论文已经初步展示了KAN在科学任务中的优势,但如何将KAN推广到各类机器学习任务中,如何与现有的SOTA模型(如Transformer)进行整合,也是一个开放的问题。例如,作者提示,我们可以尝试用KAN替换Transformer中的MLP模块,构建“KANsformer”,但这种融合能否带来性能的提升还不得而知。
从长远来看,KAN要想成为通用人工智能底层架构的有力竞争者或补充者,还需要在很多方面取得突破。虽然KAN在实验室的科学问题上展现了不俗的推理能力和可解释性,但它在标准化AI任务以及开放类AI任务等方面还需要广泛实验和验证。
结语
KAN的出现,为深度学习的发展开启了一扇新的窗口。它不仅给主流深度学习大模型的构建带来了新的思路,也为可解释人工智能、AI科学(AI for Science)等前沿方向提供了新的范式创新的可能。
尤其是在Transformer架构中以KAN平替传统前馈网络MLP的可能性激发了很多想像,也必然会引来研发热潮。
可解释性是当前主流大模型众所周知的痛点和短板,自然引起AI领域的关注和热议。实验表现的可解释性,主要是指专家在对于AI for Science里的一些课题上有可能对激活函数予以合理的解读。但目前的工作主要还是KAN为“AI+Science”提供了一个让人信服的范例。
科学研究中的经典问题通常比较狭窄有界,与开放域AI的任务(例如NLP任务、资格考试等)不同。KAN在一些特定的科学问题上展示了实验室原型系统的优势,但走出实验室在更广泛的AI任务上的表现还有待验证。
值得一提的是,面对一些媒体的宣传炒作和外界的褒贬,KAN的作者保持了一种科学的冷静和审慎。
第一作者本人对这项工作的创新意义以及在AI for Science上展现的能力非常肯定和兴奋,但也对KAN的前景表示了谨慎乐观的态度。在X等社交平台,他谦逊地表示,自己设计KAN的初衷主要是数学物理应用,并没有过多考虑训练效率以及AI任务等大模型领域关注的问题。
在充分验证KAN在AI复杂任务上的性能之前,谈KAN能否引发某种范式转变,都为时过早。但无论如何,它所代表的对于主流AI创新的探索,与Yann LeCun的世界模型对主流大模型的挑战类似,都值得持续关注。
参考:
KAN Paper:https://arxiv.org/abs/2404.19756
KAN Github:https://github.com/KindXiaoming/pykan
KAN Docs:https://kindxiaoming.github.io/pykan/