导读
当前已有很多关于讨论Kolmogorov-Arnold 网络及其相对于MLP的潜在优势,尤其是在机器学习中的函数拟合方面。本文将探讨 KAN 及其在新一代深度学习中的可行性。

1、KAN理论
首先,让我们快速概述一下 KAN 及其实现的理论:
柯尔莫哥洛夫-阿诺德表示定理:
我们跳过繁琐的公式和定义,只用一个简单的解释。KART指出,
任何具有多个输入的连续函数都可以通过组合单个输入的简单函数(如正弦或平方)并将它们相加来创建。
例如,多元函数 f(x,y)= x*y。这可以写成:((x + y)² — (x² +y²)) / 2
它只使用加法、减法和平方(所有单个输入的函数)。实际的 KART 涉及将减法重新定义为加法(添加负数),但为了简单起见,我在这里跳过了这一点。
KAN(柯尔莫哥洛夫-阿诺德网络):
与具有固定节点激活函数的传统 MLP(多层感知器)不同,KAN 在边缘上使用可学习的激活函数,本质上是用非线性权重代替线性权重。
这使KAN更加准确并提高了模型可解释性,对于具有系数组合结构的函数更加友好。

组合结构到底是什么:
当一个函数可以由少量简单函数构建时,它具有稀疏组合结构,每个简单函数仅依赖于几个输入变量。
例如,函数 f(x, y, z) = sin(x) * exp(y) + z 是组合稀疏的,因为:
它由三个简单函数构成:sin(x)、exp(y)和z。
每个简单函数仅依赖于单个输入变量(x、y 或 z)。
相比之下,像 f(x, y, z) = x² * y³ + sin(x + y + z) 这样的函数会被认为不那么稀疏,因为它需要更复杂的运算(如 x² * y³)并在 sin 函数中结合所有三个输入变量。
总结其相关性,作者指出,在IRL中遇到的大多数函数都有更简单的结构,这使得 KAN 成为对它们进行建模的 MLP 的一个有吸引力的替代方案。下表支持了这一说法。

KAN和样条线:
KAN 的另一个有趣点是它们使用样条线。就我们的目的而言,样条线就像可以弯曲以适应曲线的柔性尺。它们由多个平滑连接在一起的多项式部分组成。

通过使用样条线作为激活函数,KAN 可以学习输入变量之间的复杂关系,同时保持可解释性和局部控制。我们将在本文后面详细介绍样条线。
KAN 具有几个主要优势:
- 提高准确率:与 MLP 相比,它们可以在各种任务中以更少的参数实现更低的 RMSE 损失。
- 有利的缩放定律:它们表现出更快的神经缩放定律,从而随着模型尺寸的增加而带来更大的性能提升。
- 缓解灾难性遗忘:普通 MLP 会用新知识重写旧知识,导致 NN“忘记”旧输入。KAN 利用局部可塑性来促进持续学习。
- 可解释性- KAN 更易于解释,这对于某些行业来说是一大优势。
- 互动性- 人们能够在更基本的层面上与 KAN 互动,操纵 KAN 以实现各种结果。
2、理论基础
A. 通用近似定理与深度学习
通用近似定理 (UAT) 指出,使用 S 型激活函数的前馈神经网络具有包含有限数量神经元的单个隐藏层,可以以任意精度近似紧凑集上的任何连续函数。
我们所做的就是不断将不同的非线性函数组合堆叠在一起,从而得到所需函数的近似值(当我们将数据提供给 ML 模型时,我们需要一个可以对所有特征及其与目标的关系进行建模的函数)。

后来扩展到其他非线性,并且是大型神经网络表现良好的关键,因为大型神经网络 → 更好地模拟复杂非线性关系的能力 → 更接近连续函数。
并非每个数据集/域都可以用连续函数建模。
例如,某些数据集具有更多锯齿状的决策边界。在这些情况下,基于树的算法(如随机森林)可能是更好的选择,因为神经网络偏向于更平滑的决策边界。

B.理解柯尔莫哥洛夫-阿诺德表示定理
柯尔莫哥洛夫-阿诺德表示定理 (KAT) 表明,有界域上的任何连续多变量函数都可以表示为连续单变量函数和二元加法运算的有限组合。
该定理表明,原则上,学习高维函数可以归结为学习多项式数量的单变量函数(尽管其中一些一维函数可能不平滑、不分形或不可学习)。

最近的研究表明,对于科学应用中遇到的许多函数,这些单变量函数可以是平滑的,并且具有稀疏的组成结构,从而能够有效地实现实际应用。这就是为什么 KAN 如此受欢迎的原因。
C. KAN 可能对维数灾难具有鲁棒性
维数灾难是指随着输入维数的增加,达到给定精度所需的数据点或模型参数数量会呈爆炸式增长。出现此问题的原因是,在高维度中,数据点变得越来越稀疏且彼此之间距离越来越远,需要更多的数据和模型复杂性来捕捉底层关系。
由于 KAN 依赖单变量函数,并且能够利用组合结构,因此有可能缓解维度灾难。尽管在更高规模和集成更多模态的情况下,这种做法能否奏效。
03、柯尔莫哥洛夫-阿诺德网络 (KAN):深入探究
A. KAN 的架构

让我们在此基础上获得更深层次的 KAN。
KAN 的形状表示为一个数组:[n0, n1, …, nL],其中 ni 是第 i 层中的节点数。给定维度为 n0 的输入向量 x0,具有 L 层的 KAN 网络将计算输出如下:
KAN(x) = (ΦL−1 ◦ ΦL−2 ◦ … ◦ Φ1 ◦ Φ0)x。这意味着从输入层开始,依次应用各层的激活函数来获得输出。
我们也可以将其重写如下:

由于我们的操作是可微的,我们可以使用反向传播来训练 KAN。

B. 样条参数化和 KAN
B 样条的作用所在。它们本质上是平滑的分段多项式曲线,定义在一组称为“结”的点上。
这些节点将曲线分成几段,每段内的 B 样条线都是一定次数的多项式。其美妙之处在于这些段如何平滑连接,从而形成具有所需平滑度的连续曲线。
B 样条线的灵活性与 Camavinga 类似。如果想要非常平滑的曲线,可以使用更高阶的 B 样条线。如果需要更大的灵活性和对曲线形状的控制,则可以调整节点的位置。这使得 B 样条线非常灵活,可以表示各种各样的函数。
B 样条函数在 KAN 中起着至关重要的作用,因为它们提供了一种强大且可解释的方式来表示边缘上的可学习激活函数。KAN 不使用 ReLU 或 sigmoid 等固定激活函数,而是使用 B 样条函数来近似这些激活函数。
这提供了几个好处:
- 准确性: B 样条可以高精度地近似复杂的非线性函数。
- 局部控制:改变 B 样条函数的系数只会影响调整节点附近的曲线形状。这允许对激活函数的行为进行细粒度控制,而不会影响整体网络结构。
- 可解释性:由于 B 样条由分段多项式组成,因此它们在视觉上直观且比黑盒神经网络更容易理解。这使得学习到的激活函数更具解释性,从而促进科学发现。

C. 扩展网格以改进样条函数
网格扩展技术是 KAN 的一个关键组成部分,它解决了样条函数固有的有限分辨率问题。由于样条函数是在有限的点网格上定义的,因此其精度取决于网格的密度。网格扩展技术通过在训练期间增加网格密度来解决这个问题,从而使模型能够学习底层函数越来越精细的细节。

该过程涉及将新的、更细粒度的样条拟合到旧的、更粗粒度的样条上。这使模型能够适应数据分布的变化并提高其准确性。

D. 简化 KAN 以提高可解释性
虽然 KAN 的底层架构提高了可解释性,但激活函数的数量仍然会使模型难以理解。为了解决这个问题,我们采用了几种简化技术:
- 稀疏化正则化(L1 和熵):稀疏化正则化会惩罚激活函数的幅度,鼓励稀疏表示,其中只有激活函数的子集具有显著值。这有助于识别模型学习到的最重要的关系。
- 修剪技术:修剪技术会根据节点的重要性分数自动从网络中删除节点,从而进一步简化架构并减少参数数量。
- 符号化:符号化允许用户将激活函数转换为符号表示,例如三角函数、指数函数或对数函数。此步骤利用人类的专业知识将激活函数的数值表示转换为更易于解释的符号公式。

E. 交互式 KAN
KAN 的主要优势之一是其固有的交互性。通过利用可视化工具和符号操作功能,用户可以与模型协作以改进学习到的表示并深入了解底层关系。

这种交互式方法允许用户通过以下方式指导模型的学习过程:
- 可视化激活函数:用户可以可视化激活函数来识别潜在的符号表示并了解模型的决策过程。
- 手动捕捉激活函数:用户可以根据其领域知识手动将特定的激活函数固定为符号公式,从而提高模型的可解释性和准确性。
- 迭代细化网络:用户可以迭代调整模型架构、超参数和正则化策略,以优化准确性和互操作性之间的权衡。
本文转自:小Z的科研日常,转载此文目的在于传递更多信息,版权归原作者所有。