KAN与MLP:一次更公平的较量 (大部分情况KAN不如MLP)

KAN or MLP: A Fairer Comparison

GitHub - yu-rp/KANbeFair: A More Fair and Comprehensive Comparison between KAN and MLP

2407.16674 (arxiv.org)

Abstract

This paper does not introduce a novel method. Instead, it offers a fairer and more comprehensive comparison of KAN and MLP models across various tasks, including machine learning, computer vision, audio processing, natural language processing, and symbolic formula representation. Specifically, we control the number of parameters and FLOPs to compare the performance of KAN and MLP. Our main observation is that, except for symbolic formula representation tasks, MLP generally outperforms KAN. We also conduct ablation studies on KAN and find that its advantage in symbolic formula representation mainly stems from its B-spline activation function. When B-spline is applied to MLP, performance in symbolic formula representation significantly improves, surpassing or matching that of KAN. However, in other tasks where MLP already excels over KAN, B-spline does not substantially enhance MLP’s performance. Furthermore, we find that KAN’s forgetting issue is more severe than that of MLP in a standard class-incremental continual learning setting, which differs from the findings reported in the KAN paper. We hope these results provide insights for future research on KAN and other MLP alternatives.

本文并未引入一种新方法,而是对KAN和MLP模型在包括机器学习、计算机视觉、音频处理、自然语言处理以及符号公式表示在内的多种任务上进行了更加公平且全面的比较。

具体而言,控制了参数数量和浮点运算次数(FLOPs),以比较KAN和MLP的性能。

本文的主要观察结果是,除了符号公式表示任务外,MLP通常优于KAN。

此外,本文还对KAN进行了消融研究,发现其在符号公式表示方面的优势主要源于其B样条激活函数。

当将B样条应用于MLP时,符号公式表示的性能显著提高,超过了KAN或与之相当。

然而,在MLP已经优于KAN的其他任务中,B样条并未显著提升MLP的性能。

此外,发现在标准的类增量持续学习设置中,KAN的遗忘问题比MLP更为严重,这与KAN论文中的发现不同。

希望这些结果为未来关于KAN和其他MLP替代品的研究提供见解。

引言

多层感知机(MLP),也被称为全连接前馈神经网络,是现代深度学习模型中的基本构建块。MLP通过多层节点堆叠,每个节点(或神经元)对其输入进行加权求和后应用一个固定的激活函数。这种结构允许MLP近似各种非线性函数,这一特性由通用逼近定理保证。因此,MLP在分类、回归和特征提取等多种深度学习任务中得到了广泛应用。

尽管MLP具有广泛的应用和强大的功能,但它也存在一些局限性,如难以解释学习到的表示和扩展网络规模的灵活性。Kolmogorov-Arnold网络(KAN)提出了一种创新的替代方案,利用Kolmogorov-Arnold表示定理,在边上使用可学习的激活函数,而不是像MLP那样在节点上使用固定的激活函数。KAN使用参数化为样条的单变量函数替换线性权重参数,有望成为MLP的有力竞争者。

然而,目前KAN和MLP之间的比较实验在参数或FLOPs等设置上往往不公平。为了深入探究KAN的潜力,本文在公平的设置下,对KAN和MLP在各种任务中的表现进行了全面比较。

研究背景

1. KAN简介

KAN是一种新型的神经网络架构,它主要通过两个分支来实现对数据的处理:B-spline分支和捷径分支。B-spline分支通过引入可学习的B-spline激活函数,使得网络能够更灵活地拟合复杂的函数关系。捷径分支则是一个非线性激活函数(如SiLU函数)后接一个线性变换,用于提供额外的非线性能力和信息传递路径。

2. MLP简介

MLP,即多层感知机,是最基本的神经网络架构之一。它通过堆叠多个全连接层,并在每个全连接层之后应用非线性激活函数(如ReLU或GELU),来实现对数据的复杂映射。MLP由于其简单性和有效性,在多个领域都得到了广泛应用。

3. KAN与MLP的主要差异

KAN和MLP之间的差异主要在于两个方面:

不同的激活函数:MLP中的激活函数(如ReLU和GELU)没有可学习参数,且对所有输入元素都是统一的。而KAN中的激活函数是样条函数,具有可学习参数,且对每个输入元素都不同。

线性与非线性操作的顺序:通常,MLP被概念化为先进行线性变换,然后进行非线性变换。然而,KAN实际上是先进行非线性变换,然后进行线性变换。在某种程度上,也可以将MLP中的全连接层描述为“先非线性,后线性”。

4. KAN的参数数量

对于KAN,其参数数量主要由两部分组成:B-spline分支和shortcut分支。设输入维度为d_in,输出维度为d_out,B-spline的阶数为K,控制点数量为G。则KAN一层的参数数量为:

这里,(d_in × d_out) × (G + K + 3) 是B-spline分支的参数,d_out 是shortcut分支(一个线性变换)的参数。

5. MLP的参数数量

对于MLP,其参数数量相对简单,主要由输入维度、输出维度以及隐藏层宽度决定。对于一层MLP,其参数数量为:

这里,(d_in × d_out) 是权重矩阵的参数,d_out 是偏置项的参数。

6. KAN的FLOPs

KAN的FLOPs计算较为复杂,因为它涉及到B-spline的计算。设FLOPs对于任何算术运算为1,对于布尔运算为0。则KAN一层的FLOPs大致为:

这里,FLOPs of non-linear function 是B-spline函数计算的FLOPs,它与输入维度d_in相乘。其余部分是与线性变换和合并两个分支相关的FLOPs。

7. MLP的FLOPs

对于MLP,其FLOPs主要由线性变换和非线性激活函数组成。设非线性函数的FLOPs为FLOPs of non-linear function,则MLP一层的FLOPs为:

这里,2 × d_in × d_out 是权重矩阵与输入向量相乘的FLOPs,FLOPs of non-linear function × d_out 是非线性激活函数对每个输出元素的FLOPs。

实验设计

任务选择

本文选择了五个领域的任务进行实验,包括机器学习、计算机视觉、自然语言处理、音频处理以及符号公式表示。这些任务涵盖了深度学习的多个主要应用领域,能够全面地反映KAN和MLP的性能差异。

参数和计算量控制

为了确保实验的公平性,本文首先推导了KAN和MLP的参数数量和计算量(FLOPs)的计算公式,并在实验过程中严格控制两者的参数数量或计算量相同。

网络架构

对于KAN和MLP,本文使用了相似的网络架构,包括输入层、隐藏层和输出层。隐藏层的宽度和层数根据具体任务进行调整,以确保两者的参数数量或计算量相同。在激活函数的选择上,KAN使用了B-spline激活函数,而MLP则使用了ReLU或GELU等常见的激活函数。

数据集

  • 机器学习:在8个数据集上进行实验,包括Bean、Rice、Spam、Telescope、Titanic、Wine、Bank和Income。这些数据集涉及分类问题,用于评估模型在传统机器学习任务上的表现。

  • 计算机视觉:在8个数据集上进行实验,包括MNIST、EMNIST-Balanced、EMNIST-Letters、FMNIST、KMNIST、Cifar10、Cifar100和SVHN。这些数据集涵盖了手写数字识别、对象分类等视觉任务。

  • 自然语言处理与音频处理:在2个音频分类数据集(SpeechCommand和UrbanSound8K)和2个文本分类数据集(CoLA和AG_NEWS)上进行实验,以评估模型在自然语言处理和音频处理任务上的能力。

  • 符号公式表示:在8个符号公式表示任务上进行实验,包括拟合特殊函数(如Special_ellipeinc、Special_ellipkinc等),以评估模型在符号计算和公式拟合方面的性能。

实验结果与分析(1)

1. 机器学习

在机器学习任务中,MLP通常表现出比KAN更高的平均准确率。本文在八个机器学习数据集上进行了实验,结果显示MLP在六个数据集上的性能优于KAN,仅在一个数据集上两者表现相当,在另一个数据集上KAN略胜一筹。这表明MLP在处理传统的机器学习问题上具有更广泛的适用性和更高的稳定性。

2. 计算机视觉

在计算机视觉任务中,MLP同样展现出优于KAN的性能。本文在八个计算机视觉数据集上进行了实验,无论是控制参数数量还是FLOPs,MLP的平均准确率均高于KAN。这一结果表明,在图像识别和处理方面,MLP的结构和激活函数更适合捕捉图像中的复杂特征

3. 自然语言处理(NLP)

在NLP任务中,MLP的表现也优于KAN。本文在两个文本分类数据集上进行了实验,结果显示MLP的平均准确率高于KAN。这可能是由于NLP任务需要处理大量的文本数据,而MLP的激活函数(如ReLU和GELU)在处理这种高维、稀疏数据时更具优势。

4. 音频处理

在音频处理任务中,MLP同样表现出比KAN更高的性能。本文在两个音频分类数据集上进行了实验,结果显示MLP的平均准确率高于KAN。音频信号具有时序性和周期性等复杂特性,MLP的结构和激活函数能够更好地捕捉这些特性,从而在音频分类任务中取得更好的效果。

5. 符号公式表示

在符号公式表示任务中,KAN的表现明显优于MLP。具体来说,KAN的平均根均方误差(RMSE)远低于MLP,这表明KAN在拟合复杂数学函数方面具有较高的精度。这一结果符合预期,因为KAN的B-spline激活函数具有更好的局部拟合能力和非线性表达能力,适用于这类需要精确表达复杂数学关系的任务。

实验结果分析(2)

 消融实验

为了进一步分析KAN和MLP的性能差异,本文还进行了消融实验。通过改变KAN和MLP的网络结构(如添加B-spline激活函数、改变激活函数的顺序等),研究不同结构对模型性能的影响。实验结果表明,B-spline激活函数对KAN在符号公式表示任务上的性能提升起到了关键作用,但在其他任务上并未显著增强MLP的性能。

1. 激活函数的影响

KAN和MLP的主要区别在于激活函数。KAN使用B-spline激活函数,而MLP则使用ReLU、GELU等常见的激活函数。B-spline激活函数具有可学习的参数,能够提供更好的局部拟合能力和非线性表达能力,因此在符号公式表示等需要精确表达的任务中表现出色。然而,在处理高维、稀疏和复杂的数据时,如机器学习、计算机视觉、NLP和音频处理任务,传统的激活函数可能更具优势,因为它们更加简单、稳定且易于优化。

2. 模型结构的影响

除了激活函数外,模型结构也是影响性能的重要因素。MLP作为一种经典的神经网络结构,经过长时间的优化和验证,在处理各种任务时都表现出较高的稳定性和可靠性。而KAN作为一种新型的网络结构,其结构和参数设置可能还需要进一步优化和完善,以充分发挥其潜力。

3. 实验设置的公平性

本文通过控制参数数量和FLOPs来确保实验的公平性。然而,在实际应用中,不同的模型可能需要根据具体任务进行针对性的优化和调整。因此,在未来的研究中,可以进一步探索如何在不同的任务中更好地优化KAN和MLP的结构和参数设置,以提高它们的性能。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值