革新突破:MIT与加州理工联手推出KAN,一举超越传统MLP模型!

        KAN指的是Kolmogorov-Arnold Networks,这是一种深度学习模型,旨在作为多层感知机(MLP)的一个有前景的替代方案。KANs的灵感来源于科尔莫哥洛夫-阿诺德表示定理,与传统的MLPs不同,KANs在边(即“权重”)上放置可学习的激活函数,而不是在节点(即“神经元”)上放置固定的激活函数。此外,KANs完全没有线性权重矩阵,每个权重参数都被替换为一种作为样条函数参数化的可学习的一维函数。这种设计允许KANs在准确性和可解释性方面超越MLPs,为数据拟合和偏微分方程(PDE)求解等任务提供了一种更加精确和高效的解决方案。

        KANs的一个关键特点是它们通常允许比MLPs更小的计算图,这意味着在相同或更高的准确性下,KANs可以更加参数高效。此外,KANs的这种设计还使得它们在解释性方面具有优势,因为它们的结构允许直观的可视化,并且可以轻松地与人类用户交互,帮助科学家(重新)发现数学和物理定律。

论文地址:https://arxiv.org/pdf/2404.19756 


一、简介 

        一夜之间,机器学习的天空即将迎来翻天覆地的变化!长久以来,深度学习的基石无疑是多层感知器(MLP)——一种将激活函数应用于神经元之上的架构。然而,是否存在除此之外的创新路径?最新的研究来自MIT、加州理工和东北大学等顶尖机构的团队,他们联合推出了一种创新的神经网络架构——Kolmogorov–Arnold Networks(KAN)。该团队对MLP进行了一次颠覆性的改良,即将可学习的激活函数从节点(神经元)转移到了连接它们的边(权重)上,开辟了一条全新的研究道路! 

 

        这项革命性的变革初听之下可能显得颇为突兀,但它实际上与数学界的逼近理论(approximation theories)有着密切而深邃的联系。Kolmogorov-Arnold表示理论揭示了一个惊人的事实:在一个由两层网络构成的体系中,可以通过在连接的边上引入可学习的激活函数来实现表示,而非传统的位于节点的方法。

        研究人员正是受到了这一表示理论的启发,采用了神经网络将Kolmogorov-Arnold表示以参数化的形式具体化。实验结果令人瞩目:与传统的多层感知器(MLP)相比,KAN显示出了更卓越的性能表现,无论是在提高网络的准确度还是在增强可解释性方面都有显著提升。

        更加引人注目的是,KAN展现出了优异的可视化和交互性质,这为其在科学研究中的应用开辟了广阔的前景。它能助力科学家揭示新的数学定律和物理原理,例如在研究中,KAN被用来重新诠释了纽结理论中的一些数学定律,并且以一个更小型的网络规模和自动化的方式复现了DeepMind在2021年的成果。在物理学领域,KAN的潜力同样不容小觑,特别是在帮助物理学家探索Anderson局域化——凝聚态物理中的一种相变现象——方面。

        值得一提的是,在这项研究中,除了进行参数扫描的例外,KAN展示的所有实验都能在不足10分钟内在单个CPU上完成复现,这无疑大大降低了计算成本和资源门槛。        

Kolmogorov-Arnold网络(KAN)就像一个可以烤任何蛋糕的三层蛋糕配方,而多层感知器(MLP)是一个有不同层数的定制蛋糕。MLP更复杂但更通用,而KAN是静态的,但针对一项任务更简单、更快速。


 二、方法

2.1 KAN的理论基础

        KAN的理论基础深植于柯尔莫哥洛夫-阿诺德表示定理(Kolmogorov–Arnold Representation Theorem),这一定理揭示了一个多变量连续函数,定义在有界域上,可以被分解为多个单变量函数的有限组合,这些函数通过加法操作连接。这一发现为机器学习提供了一个理论基础,即高维函数学习的挑战可以转化为学习一组一维函数的问题。然而,这些一维函数可能表现出非光滑甚至分形的特性,这使得它们难以被学习,导致柯尔莫哥洛夫-阿诺德定理在实际应用中被视为理论上可行但实际上无用。

f(\mathbf{x})=f(x_1,\cdots,x_n)=\sum_{q=1}^{2n+1}\Phi_q\left(\sum_{p=1}^n\phi_{q,p}(x_p)\right)

        尽管如此,本文中的研究者对柯尔莫哥洛夫-阿诺德定理在机器学习中的潜在应用保持乐观,并提出了两项关键的改进措施来克服先前的挑战:

  1. 扩展原始的表示方法,从仅仅包含两层非线性和一个隐藏层(2n+1)的结构,到可以适应任意宽度和深度的网络架构。这一改进大幅增强了网络的灵活性和适用范围。
  2. 考虑到科学和日常生活中遇到的大多数函数通常是光滑的,并且表现出稀疏的组合结构,这一事实可能有助于实现更加平滑的柯尔莫哥洛夫-阿诺德表示。这种观点强调了在实际应用中,典型情况下的功能需求与数学理论中考虑的最坏情况之间的区别,类似于物理学和数学领域的不同关注点。

        通过这些创新,研究者不仅挑战了柯尔莫哥洛夫-阿诺德表示定理在机器学习中的应用局限,而且提出了Kolmogorov-Arnold Networks(KANs),这是一种基于此定理的新型网络架构,展示了在准确性、可解释性以及科学和数学法则发现方面相对于传统多层感知机(MLPs)的显著优势。

2.2 KAN架构

        KAN架构的设计理念主要围绕着将多变量函数逼近问题转化为学习一系列单变量函数的问题。在这个架构中,每个单变量函数都通过B样条曲线进行参数化,B样条作为一种具有局部性质的分段多项式曲线,其特点在于能够通过可学习的系数进行灵活调整。

图 2.2: 左:流经网络的激活符号。右图:激活函数参数化为B-样条曲线,可在粗粒度和细粒度网格之间切换。 

        为了将Kolmogorov-Arnold定理中提到的两层网络结构扩展到可以实现更深、更宽的网络架构,研究人员提出了一个更为泛化的定理版本。这一版本的提出旨在支持KAN的设计与实现,使其能夔适应更复杂的函数逼近任务。

x_{l+1,j}=\sum_{i=1}^{n_l}\tilde{x}_{l,j,i}=\sum_{i=1}^{n_l}\phi_{l,j,i}(x_{l,i}),\quad j=1,\cdots,n_{l+1}.

\begin{gathered}\mathbf{x}_{l+1}=\underbrace{\begin{pmatrix}\phi_{l,1,1}(\cdot)&\phi_{l,1,2}(\cdot)&\cdots&\phi_{l,1,n_l}(\cdot)\\\phi_{l,2,1}(\cdot)&\phi_{l,2,2}(\cdot)&\cdots&\phi_{l,2,n_l}(\cdot)\\\vdots&\vdots&&\vdots\\\phi_{l,n_{l+1},1}(\cdot)&\phi_{l,n_{l+1},2}(\cdot)&\cdots&\phi_{l,n_{l+1},n_l}(\cdot)\end{pmatrix}}_{\boldsymbol{\Phi}_l}\mathbf{x}_l,\end{gathered} 

        借鉴于多层感知机(MLPs)通过层叠结构增加网络深度的方法,KAN同样引入了KAN层的概念,这些KAN层由一系列一维函数矩阵构成,其中每个一维函数都拥有可训练的参数。这样的设计不仅增加了网络的深度,同时也保持了网络的灵活性和可训练性。

\mathrm{KAN}(\mathbf{x})=(\boldsymbol{\Phi}_{L-1}\circ\boldsymbol{\Phi}_{L-2}\circ\cdots\circ\boldsymbol{\Phi}_1\circ\boldsymbol{\Phi}_0)\mathbf{x}. 

        根据Kolmogorov-Arnold定理,KAN的每一层由内部函数和外部函数组成,分别负责处理不同的输入和输出维度。这种设计方法允许通过堆叠KAN层的方式来扩展网络的深度,同时也维持了网络的可解释性和强大的表达能力。在KAN中,每一层都是由单变量函数构成的,这意味着可以对这些函数进行单独的学习和理解,进一步增强了模型的可解释性。

\begin{aligned}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}}(x_{i_{0}})\right)\right)\right)\cdots\right)\end{aligned}

        通过这种方式,KAN不仅在理论上实现了对多变量函数的有效逼近,而且通过实践证明了其在多种任务中相对于传统MLPs模型的高效性和优越性。


三、实验

3.1 实现细节

        尽管KAN的设计理念相对简洁,主要依靠层叠的方法,但在优化这一架构时仍面临一定的挑战。研究人员在训练过程中探索出了一些有效的技巧:

        1. 残差激活函数:通过结合基函数b(x)与样条函数,并利用残差连接的技术,构建了一种新型的激活函数ϕ(x)。这种设计可以增强训练过程中的稳定性,促进网络的学习效率。

\phi(x)=w\left(b(x)+\mathrm{spline}(x)\right).\\ b(x)=\text{silu}(x)=x/(1+e^{-x})\\ \mathrm{spline}(x)=\sum_ic_iB_i(x)

        2. 初始化策略:为了在训练初期维持梯度的稳定性,激活函数采用接近零的样条函数进行初始化,而权重w则采用Xavier初始化方法,这有助于优化网络的训练过程。

        3. 动态更新样条网格:考虑到样条函数是在有限区间内定义的,而在神经网络的训练过程中,激活值可能会超出这一区间。因此,动态更新样条网格成为确保样条函数始终在适当区间内运行的关键。

3.2 参数量计算

  1. 网络的深度:L
  2. 每层的宽度:N
  3. 每个样条函数基于G个区间(G+1个网格点)定义,且通常为k阶,其中k常设为3。

因此,KAN的总参数量可以估算如下:O\big(N^{2}L(G+k)\big)\sim O\big(N^{2}LG\big)

        与此相对比,多层感知机(MLP)的参数量为O(LN^2)。虽然从表面上看,MLP的参数效率似乎更高,但KAN通过使用较小的层宽度N,不仅能够提高模型的泛化能力,还增强了模型的可解释性。这使得KAN在处理复杂数据逼近问题时,展现出其独特的优势。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

编程日记✧

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值