0

0

反转了?在一场新较量中,号称替代MLP的KAN只赢一局

王林

王林

发布时间:2024-07-28 09:07:22

|

628人浏览过

|

来源于机器之心

转载

kan 在符号表示中领先,但 mlp 仍是多面手。

Cursor
Cursor

一个新的IDE,使用AI来帮助您重构、理解、调试和编写代码。

下载

多层感知器 (Multi-Layer Perceptrons,MLP) ,也被称为全连接前馈神经网络,是当今深度学习模型的基本组成部分。MLP 的重要性无论怎样强调都不为过,因为它是机器学习中用于逼近非线性函数的默认方法。

然而,MLP 也存在某些局限性,例如难以解释学习到的表示,以及难以灵活地扩展网络规模。

KAN(Kolmogorov–Arnold Networks)的出现,为传统 MLP 提供了一种创新的替代方案。该方法在准确性和可解释性方面优于 MLP,而且,它能以非常少的参数量胜过以更大参数量运行的 MLP。

那么,问题来了,KAN 、MLP 到底该选哪一种?有人支持 MLP,因为 KAN 只是一个普通的 MLP,根本替代不了,但也有人则认为 KAN 更胜一筹,而当前对两者的比较也是局限在不同参数或 FLOP 下进行的,实验结果并不公平。

为了探究 KAN 的潜力,有必要在公平的设置下全面比较 KAN 和 MLP 了。

为此,来自新加坡国立大学的研究者在控制了 KAN 和 MLP 的参数或 FLOP 的情况下,在不同领域的任务中对它们进行训练和评估,包括符号公式表示、机器学习、计算机视觉、NLP 和音频处理。在这些公平的设置下,他们发现 KAN 仅在符号公式表示任务中优于 MLP,而 MLP 通常在其他任务中优于 KAN

☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜

反转了?在一场新较量中,号称替代MLP的KAN只赢一局
  • 论文地址:https://arxiv.org/pdf/2407.16674
  • 项目链接:https://github.com/yu-rp/KANbeFair
  • 论文标题:KAN or MLP: A Fairer Comparison

作者进一步发现,KAN 在符号公式表示方面的优势源于其使用的 B - 样条激活函数。最初,MLP 的整体性能落后于 KAN,但在用 B - 样条代替 MLP 的激活函数后,其性能达到甚至超过了 KAN。但是,B - 样条无法进一步提高 MLP 在其他任务(如计算机视觉)上的性能。

作者还发现,KAN 在连续学习任务中的表现实际上并不比 MLP 好。最初的 KAN 论文使用一系列一维函数比较了 KAN 和 MLP 在连续学习任务中的表现,其中每个后续函数都是前一个函数沿数轴的平移。而本文比较了 KAN 和 MLP 在更标准的类递增持续学习设置中的表现。在固定的训练迭代条件下,他们发现 KAN 的遗忘问题比 MLP 更严重
反转了?在一场新较量中,号称替代MLP的KAN只赢一局
KAN、MLP 简单介绍

KAN 有两个分支,第一个分支是 B 样条分支,另一个分支是 shortcut 分支,即非线性激活与线性变换连接在一起。在官方实现中,shortcut 分支是一个 SiLU 函数,后面跟着一个线性变换。令 x 表示一个样本的特征向量。那么,KAN 样条分支的前向方程可以写成:
反转了?在一场新较量中,号称替代MLP的KAN只赢一局
在原始 KAN 架构中,样条函数被选择为 B 样条函数。每个 B 样条函数的参数与其他网络参数一起学习。

相应的,单层 MLP 的前向方程可以表示为:
反转了?在一场新较量中,号称替代MLP的KAN只赢一局
该公式与 KAN 中的 B 样条分支公式具有相同的形式,只是在非线性函数中有所不同。因此,抛开原论文对 KAN 结构的解读,KAN 也可以看作是一种全连接层。

因而,KAN 和普通 MLP 的区别主要有两点:

  1. 激活函数不同。通常 MLP 中的激活函数包括 ReLU、GELU 等,没有可学习的参数,对所有输入元素都是统一的,而在 KAN 中,激活函数是样条函数,有可学习的参数,并且对于每个输入元素都是不一样的。
  2. 线性和非线性运算的顺序。一般来说,研究者会把 MLP 概念化为先进行线性变换,再进行非线性变换,而 KAN 其实是先进行非线性变换,再进行线性变换。但在某种程度上,将 MLP 中的全连接层描述为先非线性,后线性也是可行的。

通过比较 KAN 和 MLP,该研究认为两者之间的差异主要是激活函数。因而,他们假设激活函数的差异使得 KAN 和 MLP 适用于不同的任务,从而导致两个模型在功能上存在差异。为了验证这一假设,研究者比较了 KAN 和 MLP 在不同任务上的表现,并描述了每个模型适合的任务。为了确保公平比较,该研究首先推导出了计算 KAN 和 MLP 参数数量和 FLOP 的公式。实验过程控制相同数量的参数或 FLOP 来比较 KAN 和 MLP 的性能。

KAN 和 MLP 的参数数量及FLOP 

控制参数数量

KAN 中可学习的参数包括 B 样条控制点、shortcut 权重、B 样条权重和偏置项。总的可学习参数数量为:
反转了?在一场新较量中,号称替代MLP的KAN只赢一局
其中, d_in 和 d_out 表示神经网络层的输入和输出维度,K 表示样条的阶数,它与官方 nn.Module KANLayer 的参数 k 相对应,它是样条函数中多项式基础的阶数。G 表示样条间隔数,它对应于官方 nn.Module KANLayer 的 num 参数。它是填充前 B 样条曲线的间隔数。在填充之前,它等于控制点的数量 - 1。在填充后,应该有 (K +G) 个有效控制点。

相应的,一个 MLP 层的可学习参数是:
反转了?在一场新较量中,号称替代MLP的KAN只赢一局
KAN 和 MLP 的 FLOP

在作者的评估中,任何算术操作的 FLOP 被考虑为 1,而布尔操作的 FLOP 被考虑为 0。De Boor-Cox 算法中的 0 阶操作可以转换为一系列布尔操作,这些操作不需要进行浮点运算。因此,从理论上讲,其 FLOP 为 0。这与官方 KAN 实现不同,在官方实现中,它将布尔数据转换回浮点数据来进行操作。

在作者的评估中,FLOP 是针对一个样本计算的。官方 KAN 代码中使用 De Boor-Cox 迭代公式实现的 B 样条 FLOP 为:
反转了?在一场新较量中,号称替代MLP的KAN只赢一局
连同 shortcut 路径的 FLOP 以及合并两个分支的 FLOP,一个 KAN 层的总 FLOP 是:
反转了?在一场新较量中,号称替代MLP的KAN只赢一局
相应的,一个 MLP 层的 FLOP 为:
反转了?在一场新较量中,号称替代MLP的KAN只赢一局
具有相同输入维度和输出维度的 KAN 层与 MLP 层之间的 FLOP 差异可以表示为:
反转了?在一场新较量中,号称替代MLP的KAN只赢一局
如果 MLP 也首先进行非线性操作,那么首项将为零。

 实验

作者的目标是,在参数数量或 FLOP 相等的前提下,对比 KAN 和 MLP 的性能差异。该实验涵盖多个领域,包括机器学习、计算机视觉、自然语言处理、音频处理以及符号公式表示。所有实验都采用了 Adam 优化器,这些实验全部在一块 RTX3090 GPU 上进行。

性能比较

机器学习。作者在 8 个机器学习数据集上进行了实验,使用了具有一到两个隐藏层的 KAN 和 MLP,根据各个数据集的特点,他们调整了神经网络的输入和输出维度。

对于 MLP,隐藏层宽度设置为 32、64、128、256、512 或 1024,并采用 GELU 或 ReLU 作为激活函数,同时在 MLP 中使用了归一化层。对于 KAN,隐藏层宽度则为 2、4、8 或 16,B 样条网格数为 3、5、10 或 20,B 样条的度数(degree)为 2、3 或 5。

由于原始 KAN 架构不包括归一化层,为了平衡 MLP 中归一化层可能带来的优势,作者扩大了 KAN 样条函数的取值范围。所有实验都进行了 20 轮训练,实验记录了训练过程中在测试集上取得的最佳准确率,如图 2 和图 3 所示。

在机器学习数据集上,MLP 通常保持优势。在他们对八个数据集的实验中,MLP 在其中的六个上表现优于 KAN。然而,他们也观察到在一个数据集上,MLP 和 KAN 的性能几乎相当,而在另一个数据集上,KAN 表现则优于 MLP。

总体而言,MLP 在机器学习数据集上仍然具有普遍优势
反转了?在一场新较量中,号称替代MLP的KAN只赢一局
反转了?在一场新较量中,号称替代MLP的KAN只赢一局
计算机视觉。作者对 8 个计算机视觉数据集进行了实验。他们使用了具有一到两个隐藏层的 KAN 和 MLP,根据数据集的不同,调整了神经网络的输入和输出维度。

在计算机视觉数据集中,KAN 的样条函数引入的处理偏差并没有起到效果,其性能始终不如具有相同参数数量或 FLOP 的 MLP。
反转了?在一场新较量中,号称替代MLP的KAN只赢一局
反转了?在一场新较量中,号称替代MLP的KAN只赢一局
音频和自然语言处理。作者在 2 个音频分类和 2 个文本分类数据集上进行了实验。他们使用了一到两个隐藏层的 KAN 和 MLP,并根据数据集的特性,调整了神经网络的输入和输出维度。

在两个音频数据集上,MLP 的表现优于 KAN。

在文本分类任务中,MLP 在 AG 新闻数据集上保持了优势。然而,在 CoLA 数据集上,MLP 和 KAN 之间的性能没有显著差异。当控制参数数量相同时,KAN 在 CoLA 数据集上似乎有优势。然而,由于 KAN 的样条函数需要较高的 FLOP,这一优势在控制 FLOP 的实验中并未持续显现。当控制 FLOP 时,MLP 似乎更胜一筹。因此,在 CoLA 数据集上,并没有一个明确的答案来说明哪种模型更好。

总体而言,MLP 在音频和文本任务中仍然是更好的选择
反转了?在一场新较量中,号称替代MLP的KAN只赢一局
反转了?在一场新较量中,号称替代MLP的KAN只赢一局
符号公式表示。作者在 8 个符号公式表示任务中比较了 KAN 和 MLP 的差异。他们使用了一到四个隐藏层的 KAN 和 MLP,根据数据集调整了神经网络的输入和输出维度。

在控制参数数量的情况下,KAN 在 8 个数据集中的 7 个上表现优于 MLP。在控制 FLOP 时,由于样条函数引入了额外的计算复杂性,KAN 的性能大致与 MLP 相当,在两个数据集上优于 MLP,在另一个数据集上表现不如 MLP。

总体而言,在符号公式表示任务中,KAN 的表现优于 MLP
反转了?在一场新较量中,号称替代MLP的KAN只赢一局
反转了?在一场新较量中,号称替代MLP的KAN只赢一局

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

WorkBuddy
WorkBuddy

腾讯云推出的AI原生桌面智能体工作台

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
github中文官网入口 github中文版官网网页进入
github中文官网入口 github中文版官网网页进入

github中文官网入口https://docs.github.com/zh/get-started,GitHub 是一种基于云的平台,可在其中存储、共享并与他人一起编写代码。 通过将代码存储在GitHub 上的“存储库”中,你可以: “展示或共享”你的工作。 持续“跟踪和管理”对代码的更改。

4354

2026.01.21

页面置换算法
页面置换算法

页面置换算法是操作系统中用来决定在内存中哪些页面应该被换出以便为新的页面提供空间的算法。本专题为大家提供页面置换算法的相关文章,大家可以免费体验。

500

2023.08.14

Python 自然语言处理(NLP)基础与实战
Python 自然语言处理(NLP)基础与实战

本专题系统讲解 Python 在自然语言处理(NLP)领域的基础方法与实战应用,涵盖文本预处理(分词、去停用词)、词性标注、命名实体识别、关键词提取、情感分析,以及常用 NLP 库(NLTK、spaCy)的核心用法。通过真实文本案例,帮助学习者掌握 使用 Python 进行文本分析与语言数据处理的完整流程,适用于内容分析、舆情监测与智能文本应用场景。

418

2026.01.27

http与https有哪些区别
http与https有哪些区别

http与https的区别:1、协议安全性;2、连接方式;3、证书管理;4、连接状态;5、端口号;6、资源消耗;7、兼容性。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2926

2024.08.16

TypeScript类型系统进阶与大型前端项目实践
TypeScript类型系统进阶与大型前端项目实践

本专题围绕 TypeScript 在大型前端项目中的应用展开,深入讲解类型系统设计与工程化开发方法。内容包括泛型与高级类型、类型推断机制、声明文件编写、模块化结构设计以及代码规范管理。通过真实项目案例分析,帮助开发者构建类型安全、结构清晰、易维护的前端工程体系,提高团队协作效率与代码质量。

49

2026.03.13

Python异步编程与Asyncio高并发应用实践
Python异步编程与Asyncio高并发应用实践

本专题围绕 Python 异步编程模型展开,深入讲解 Asyncio 框架的核心原理与应用实践。内容包括事件循环机制、协程任务调度、异步 IO 处理以及并发任务管理策略。通过构建高并发网络请求与异步数据处理案例,帮助开发者掌握 Python 在高并发场景中的高效开发方法,并提升系统资源利用率与整体运行性能。

88

2026.03.12

C# ASP.NET Core微服务架构与API网关实践
C# ASP.NET Core微服务架构与API网关实践

本专题围绕 C# 在现代后端架构中的微服务实践展开,系统讲解基于 ASP.NET Core 构建可扩展服务体系的核心方法。内容涵盖服务拆分策略、RESTful API 设计、服务间通信、API 网关统一入口管理以及服务治理机制。通过真实项目案例,帮助开发者掌握构建高可用微服务系统的关键技术,提高系统的可扩展性与维护效率。

272

2026.03.11

Go高并发任务调度与Goroutine池化实践
Go高并发任务调度与Goroutine池化实践

本专题围绕 Go 语言在高并发任务处理场景中的实践展开,系统讲解 Goroutine 调度模型、Channel 通信机制以及并发控制策略。内容包括任务队列设计、Goroutine 池化管理、资源限制控制以及并发任务的性能优化方法。通过实际案例演示,帮助开发者构建稳定高效的 Go 并发任务处理系统,提高系统在高负载环境下的处理能力与稳定性。

59

2026.03.10

Kotlin Android模块化架构与组件化开发实践
Kotlin Android模块化架构与组件化开发实践

本专题围绕 Kotlin 在 Android 应用开发中的架构实践展开,重点讲解模块化设计与组件化开发的实现思路。内容包括项目模块拆分策略、公共组件封装、依赖管理优化、路由通信机制以及大型项目的工程化管理方法。通过真实项目案例分析,帮助开发者构建结构清晰、易扩展且维护成本低的 Android 应用架构体系,提升团队协作效率与项目迭代速度。

99

2026.03.09

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
国外Web开发全栈课程全集
国外Web开发全栈课程全集

共12课时 | 1万人学习

进程与SOCKET
进程与SOCKET

共6课时 | 0.4万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号