KAN(Kolmogorov-Arnold Network)

MLP的局限性

  1. 梯度消失和梯度爆炸:激活函数的导数连乘可能导致梯度趋于0或异常大。
  2. 参数效率低:全连接层导致参数数量迅速增加。
  3. 处理高维数据能力有限:MLP没有利用数据的内在结构(图像中的局部空间相关性或文本的序列信息)。
  4. 长期依赖问题:MLP难以捕捉输入序列中的长期依赖关系(长时间跨度的相关信息)。

KAN数学原理

柯尔莫果洛夫-阿诺尔德表示定理(用一组较简单的函数可以表示任何一个多变量的连续函数):

上式可表示为一个两层的神经网络,与MLP的区别在于:

  1. 没有对输入进行线性组合而是直接对输入进行激活;
  2. 激活函数并不固定,需要学习。

与MLP每层线性组合后统一进行非线性空间变化相比,KAN对每个输入单独进行非线性变换,再进行线性组合(没有了激活函数和参数矩阵的嵌套,而是非线性函数的直接嵌套)。

上式中: = , ,

所有的非线性函数都采用同样的函数结构,只是用不同的参数来控制其形状。

KAN网络架构

根据柯-阿定理,KAN网络某一层输入为n个,则该层的输出为2n+1个。

进一步的,抛弃n个输入得到2n+1个输出的限制,隐层节点数量可以自由发挥。

多层函数级联可写为:

激活函数(残差激活函数): 基础函数b(x)和样条函数spline(x)的总和

KAN准确性提升

MLP通过增加模型的宽度和深度来提高性能。
KAN开始可以用较少的参数训练,然后通过简单的细化样条网格来增加参数,无需重新训练模型(grid extension)。

KAN可解释性提升

使用稀疏正则化和剪枝技术从较大的KAN开始训练,剪枝后的KAN更容易解释。

  1. 稀疏化:使用L1正则化促进权重的稀疏性。
  2. 剪枝:通过剪枝技术移除不重要的连接和神经元。
  3. 设定特定激活函数:根据剪枝后的神经元特性,手动设置或调整特定神经元的激活函数。
  4. 训练仿射函数:对模型参数再次训练。
  5. 符号化:输出对原始目标函数的一个近似表示(符号公式)。