【指南】KAN与MLP的深入比较

2025年04月16日 由 alex 发表 1804 0

KAN与多层感知机之间有何区别,以及在深度学习中使用它们各自的优势是什么?


本文将讨论KAN背后的数学基础,以及其在深度神经网络中的巧妙应用。从可解释性的角度来看,KAN在深度学习中呈现了许多新的可能性,但在实际应用中,它也存在一系列问题。


深度学习中的KAN表示定理

KAN表示定理指出,任何多元函数都可以分解为不同一元函数的和,从而简化了复杂函数的计算。


1


内部函数(?)是对输入数据的初始变换,与多层感知机(MLPs)不同的是,它可能是非线性变换,即使用单个变量的信息进行的任意阶变换。另一方面,外部函数(?)决定了原始多元函数中不同变量之间的复杂交互。


内部函数学习的是关于每个变量的单独模式,因为正如我们在下面的等式中所看到的,每个内部函数都只与一个变量相关。另一方面,通过外部函数,我们可以捕捉不同变量之间的交互。这样一来,KAN表示定理假设原始多元函数可以分解为复杂性较低的函数,这些函数既能捕捉变量之间的关系,又能捕捉每个单独变量的模式。


2


在KAN的情况下,内部函数和外部函数的处理方式是相同的,在原始实现中均使用B样条(B-splines)。当将多个KAN层串联在一起时,初始层始终表示KAN表示定理中的内部函数,而第二层则作为前一层的外部函数,随后第二层又被视为第三层的内部函数。通过这种方式,第一层以上的每一层都将捕捉多元函数的组合模式。此过程如下图所示:


3


考虑到上图,KAN的层工作方式如下:

  1. 对于层中的每个输入元素,都会对输出层中的每个元素执行一次变换(?或?)。因此,如果我们有两个输入元素和三个输出元素,我们将并行执行六次变换。
  2. 加法运算将考虑输入维度进行。因此,如果输入是一个包含两个元素的向量,那么加法将根据所执行变换的各自索引(如图第一层所示),对元素进行两两相加。如果有三个输入元素和三个输出元素,则会执行三种不同的加法运算,每种运算都会将三个元素相加(如图第二层所示)。


一般来说,这意味着要设计一个KAN层,如果我们有输入大小d和输出大小m,那么我们总共有d x m次变换(线性或非线性),这些变换在各自的维度上求和后,会收敛到以下数学表达式中:


4


基于B样条的KAN与MLP的差异

KAN表示定理本身并未规定内部函数(?)和外部函数(?)应如何使用,这为KAN的实现留下了广泛的可能性。在此情况下,我们将重点介绍在KAN实现中最为流行的使用B样条的方法。然而,也有几种实现方法进行了融合,它们各自具有相对于B样条的不同优势,但同时也存在一些缺点。


每次变换的表现力

在2024年进行的原始实现中,使用样条对一元函数进行了参数化,与MLP相比呈现出以下差异:

  • KAN将不同B样条的权重作为网络中的可学习参数。每个样条代表一个一元函数(内部函数或外部函数),在层结束时,对同一变量的不同样条进行求和。使用B样条基对学习到的参数进行更新,需要初始网格和控制点初始化,并进一步更新以细化样条。然后,使用输入张量根据给定的控制点计算样条,并影响网格的动态调整。
  • 另一方面,MLP为每个神经元分配一个权重,并且还有一个可选的偏置参数,然后是一个预先设定的激活函数。在这种情况下,使用了线性变换后跟非线性变换。这些变换的通用性要有限得多,至少如果我们考虑单个感知器的话。


下图说明了一个单个感知器的行为。在MLP的情况下,具体来说是在隐藏层中,感知器的输入是前一层中所有感知器输出的加权和。然而,为了简单起见,我们只表示一个只有一个输入的孤立神经元,而不是属于隐藏层的神经元。


5


从图形上看,我们可以看到感知器执行的线性和非线性变换;在下面的图片中,展示了这两种变换以及这些变换的组合:


6


7


这样,在MLP的情况下,固定的激活函数极大地限制了不同神经元可能具有的输出值。在前面的图片中,我们可以看到,对于sigmoid函数,神经元执行的总变换(考虑线性和非线性变换)与sigmoid函数的原始形状非常相似,只是略微向上平移(由于线性变换的偏置)并且斜率更陡(由于线性变换的原始斜率)。如我们所见,这种变换对每个感知器的表现力增加有限。


虽然KAN通过其基于样条的架构为建模复杂模式提供了增强的表现力,但多层感知器(MLP)由于通用近似定理(UAT)仍然是深度学习的基础。该定理保证,只要宽度足够,即使是单隐藏层的MLP也可以以任意精度近似任何连续函数。因此,从理论上讲,MLP可以表示与KAN具有可比复杂性的函数,尽管这需要更多的参数和计算资源。


UAT本身并不偏好MLP而不是KAN;相反,它强调这两种架构在理论上都是通用近似器。正如在以下部分中讨论的,KAN相对于MLP具有一些重要的优势,反之亦然。


可追溯性

在KAN的情况下,初始变换应用于网络边缘的单个变量。节点中这些变换的求和保证了后续层中捕获了多元交互,如图X所示。这种方法即使在堆叠多层KAN时也能确保可追溯性。通过跟踪第一层的路径,我们可以清楚地观察到每个变量是如何单独变换的。后续层执行的变换可以数学上分解为基于前一层的操作和这些变换的求和。最终,这导致仅涉及单个变量的变换。


相比之下,对于MLP,要学习的权重分布在进入每个感知器之前被加权的许多连接上。这种分布使得很难确定单个输入变量的影响。


可解释性

从可解释性的角度来看,由于KAN可以通过非线性变换(具有很大的通用性)和随后的加法运算来表示,因此复杂函数可以分解为人类可解释的简单函数。


在MLP的情况下,分配给每个感知器的加权权重对网络的可解释性产生了非常负面的影响,并且固定的激活函数几乎没有留下解释的空间。每当堆叠几层时,可解释性就会丧失或难以获得。


KAN是MLP的推广

我们可以将KAN视为在MLP中执行的变换的推广,因为在最简单的情况下可以获得类似的结果:

  1. 如果我们使用只有两个控制点的样条,那么在样条生成的变换中我们只有一个参数需要学习,这将等同于表示神经元线性变换的权重,而不考虑下面解释中显示的偏置。
  2. 样条可以收敛到与常用固定函数相似的函数。这种情况不太可能自然发生,但样条甚至能够适应更复杂的函数。然而,由于样条的平滑性,KAN在尝试收敛到像ReLU这样的急剧激活函数时会遇到困难。


在最简单的情况下,KAN如何收敛到感知器


计算B样条的公式取决于控制点和基函数:


8


Bᵢ 表示第 i 个基函数,?ᵢ(此处更常见表示或约定为 Pᵢ 等以体现控制点,但按原文表述)表示第 i 个控制点。要生成次数(阶数)为 i 的函数,总共需要 i + 1 个基函数和控制点。


因此,对于线性 B 样条(次数为 1)而言,我们需要使用两个控制点(P₁,P₂)和两个基函数(B₁,B₂)。在这种情况下,我们可以对上述公式作如下理解:


9


在线性样条(曲线)的情况下,我们有以下基函数:


10


如果我们代入上述公式,就能够区分出与线性变换相关联的分量的偏差(bias),正如我们所见,该偏差所表达的概念与多层感知机(MLP)所执行的线性变换是相同的。


11


KAN的优势

KAN网络中内部函数和外部函数的使用相较于多层感知机(MLP)带来了一些关键优势:

  • KAN网络的可解释性:尽管通过样条进行的变换更为复杂,但这些变换保留了单个变量的信息,与多层感知机相比,多层感知机中每个节点都连接到所有后续节点,使得追踪每个输入变量的影响变得极为困难,而KAN网络则保持了可解释性。此外,单变量变换在边(edges)中处理,这为给定网络带来了可追溯性。在任何KAN网络层中,每个变量的影响都可以被追踪和可视化,这在某些领域具有多个优势,如下所述。
  • KAN网络在符号学习方面优于MLP:在KAN网络中执行的操作可以表示为节点中的线性操作(如加法/减法)和边中的非线性操作(如乘法/除法、对数、平方根等)。随后的样条将添加涉及多个变量的更复杂的非线性操作。
  • 激活函数可以动态调整,使KAN网络更加灵活:在KAN网络的情况下,激活函数具有在训练过程中学习的参数,而在MLP中,总是选择预定的激活函数,这大大限制了感知机相对于KAN网络所执行的变换的表现力。
  • KAN网络更具表现力:如前所述,单个样条可以执行各种非线性操作,其中最简单的包括乘法或除法,但由于它是一个非线性函数,因此它最终可以在单层中表示指数或对数函数,而对于MLP来说,这需要多层。一些实验已经证明,KAN网络能够以比MLP少得多的参数来调整组合函数和平滑函数。
  • 加速收敛:在分层分解与目标函数对齐的场景中(如符号回归或偏微分方程求解),优化训练过程。


KAN的劣势

然而,与MLP相比,KAN网络也存在一些劣势:

  • 训练不稳定性:KAN网络中使用可学习的非线性变换会导致更大的训练不稳定性。这使得这些网络相比更简单、更易于优化的MLP来说,更难收敛。基于样条的变换的额外复杂性需要仔细的初始化(比通常的MLP需要初始化更多的模块)和超参数调整(网格大小、样条阶数)以确保稳定的训练。
  • 架构调整:由于KAN网络执行的变换的复杂性,设计一个与MLP配置相似的网络(例如使用相同数量的层和隐藏层大小)将导致显著更高的计算成本。这是因为KAN网络中的每一层都涉及学习多个样条参数,而MLP则依赖于更简单的线性变换后跟固定的激活函数。因此,用KAN网络替换MLP需要调整参数,如层数和隐藏层大小,以平衡性能和效率。
  • 可扩展性差:使用递归方法(如Cox-De Boor)计算样条涉及许多操作,增加了KAN网络相对于MLP的计算成本。网格的调整也增加了计算开销。单层中使用的系数数量众多,这些系数可以属于模型参数、样条使用的基础或网格点,这使得这些网络的内存成本大幅增加。此外,并行化计算变得更加复杂,这意味着这种新架构在GPU上的优化程度不如MLP。所有这些问题在自然语言处理和计算机视觉中带来了一系列挑战。在Transformer的情况下,使用KAN网络意味着将与模型每一层相关联的MLP替换为KAN网络,这会增加模型的延迟并减慢其训练速度,由于模型的过拟合,获得的结果相似或更差。


结论

总之,虽然MLP在UAT(通用逼近定理)的广泛保证下仍然不可或缺,但KAN网络为专门应用提供了一个补充框架,在这些应用中,其结构优势与问题特定要求相契合,主要在符号学习领域。


文章来源:https://medium.com/towards-artificial-intelligence/in-depth-comparison-between-kan-and-mlps-eed7e17d682c
欢迎关注ATYUN官方公众号
商务合作及内容投稿请联系邮箱:bd@atyun.com
评论 登录
热门职位
Maluuba
20000~40000/月
Cisco
25000~30000/月 深圳市
PilotAILabs
30000~60000/年 深圳市
写评论取消
回复取消