论文阅读KAN: Kolmogorov–Arnold Networks

学习了最近大热的KAN网络

论文地址:https://arxiv.org/pdf/2404.19756

按我个人读论文的习惯总结了如下几点:

1,背景:

1)灵感来源:于Kolmogorov-Arnold表示定理,也就是多变量连续函数可以表示为一变量连续函数的有限组合。

2)MLPs的缺点

        (I)固定激活函数:MLPs在每个神经元上使用固定的激活函数,这限制了模型适应复杂数据模式的能力。

        (II)可解释性差

        (III)维度灾难

        (IV)使用ReLU激活函数时,对于逼近指数函数和正弦函数等函数时效率非常低

        (V)在Transformer中,MLPs消耗了几乎所有的非嵌入参数

3)与MLPs相比,KANs在网络的边上使用可学习的激活函数,而不是节点上的固定激活函数。

2,KAN的技术细节

1)结构

KANs中的激活函数由B样条(B-splines)定义,这是一种分段定义的多项式,用于生成平滑曲线。每个激活函数都是一个B样条曲线,其系数是可学习的参数。这种参数化方法不仅提供了高度的灵活性,还允许模型在训练过程中自动调整激活函数的形状,以更好地适应数据。

(图0.1 MLPs和KANs的对比)

左侧:流经网络的激活函数的表示。右侧:激活函数被参数化为B样条曲线(B-spline),允许在粗粒度和细粒度网格之间进行切换。

文章提出的KAN的基础模型结构:

其计算图完全由如下方程指定:

并在图0.1(b)中进行了说明(输入维度n=2),它呈现为一个两层神经网络,激活函数位于边上而非节点上(在节点上进行简单的求和),中间层的宽度为2n + 1。

2)训练

KANs可以使用标准的反向传播算法进行训练,因为所有操作都是可微分的。在训练过程中,模型的参数(包括B样条的系数)会通过梯度下降算法进行更新。论文中提到了使用LBFGS(Limited-memory Broyden–Fletcher–Goldfarb–Shanno)优化器进行训练,这是一种适用于非线性优化问题的算法。

3,KANs的优点:

1)准确性:在小规模的AI+Science任务中,KANs显示出比MLPs更高的准确性。

2)可解释性:KANs的架构允许更直观的可视化和与人类的交互,有助于提高模型的可解释性。

3)神经扩展法则:KANs拥有比MLPs更快的神经扩展法则,意味着在模型参数增加时,测试误差下降得更快。

4)避免灾难性遗忘:KANs利用样条的局部特性来避免在持续学习中出现的灾难性遗忘问题。

4,KANs的缺点和暂时的不足:

1)训练速度:KANs相比于MLPs训练速度较慢。论文指出,KANs的训练通常比MLPs慢10倍。

2)理论基础尚不完善:目前只适用于特定结构的KAN,对于构建更深更宽的网络还没有理论支持。

3)算法效率:论文中提到,KANs在算法效率方面存在一些问题,例如,不同的激活函数不能利用批处理计算,这限制了计算效率。

4)超参数依赖性:KANs的性能可能依赖于特定的超参数选择,例如,论文中提到了熵惩罚和正则化强度对网络稀疏性的影响。

5)高维时如何实现:目前尚不清楚我们的方法是否能推广到更实际的场景中,尤其是当维度较高时,如何定义“局部性”尚不清楚。

6)泛化能力尚存疑:尽管KANs在理论上具有避免维度灾难的潜力,但论文中也提到了需要进一步研究KANs在不同数据集上的鲁棒性,以及它们与其他深度学习架构的兼容性。

7)复杂性与可解释性:论文中提到,虽然KANs提供了更高的可解释性,但是在某些情况下,例如当激活函数的权重矩阵存在时,可解释性可能会受到影响。

8)持续学习:尽管KANs在避免灾难性遗忘方面表现出潜力,但论文中也指出了需要进一步研究KANs在更现实的场景中的持续学习能力。

9)应用范围:论文中提出KANs在小规模AI+Science任务中表现出色,但对于更大规模或更复杂的任务,KANs的表现和适用性还需要进一步的实证研究。

10)计算资源:论文中提到,尽管KANs在参数数量上可能比MLPs更高效,但它们在实际应用中可能需要更多的计算资源,尤其是在处理大规模数据集时。

作为一个新模型,目前的不足多一点也很正常,重要的是其潜力。如果能够把KANs推广到目前MLPs的所有应用场景,那可以填的坑可以写的论文就太多了。

5,文中提到的应用场景:

1)小规模AI+Science任务:KANs在小规模的人工智能与科学结合的任务中表现出色,尤其是在准确性和可解释性方面。

2)函数拟合:KANs在数学和物理学的特定函数拟合任务中,展示了比传统MLPs更高的准确性。

3)数学中的结理论(Knot Theory):KANs被用于探索和重新发现结理论中的数学关系,这涉及到了拓扑学的应用。

4)物理学中的Anderson局域化:KANs被应用于分析和理解电子在量子系统中的局域化现象,这涉及到了凝聚态物理学。

5)解决偏微分方程(PDEs):KANs在解决特定类型的偏微分方程时表现出了潜力,特别是在物理信息神经网络(Physics-Informed Neural Networks, PINNs)的框架内。

6)图像表示学习:虽然论文中没有直接提到图像处理,但KANs理论上可以应用于图像的隐式表示,例如通过学习图像的隐式函数来进行图像压缩或生成。

7)持续学习:KANs在持续学习场景中展现出避免灾难性遗忘的能力,这对于开发能够随时间累积知识的模型非常重要。

8)科学发现:KANs由于其可解释性,被提出作为帮助科学家(重新)发现数学和物理定律的工具。

9)通用函数逼近:论文中提到KANs理论上具有通用逼近性质,能够逼近多变量连续函数,这意味着它们可以应用于广泛的函数逼近任务。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/25345.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【html】网页设计语言制作竟然是文科?

网页设计与制作可能偏文科,并认为它相对于其他编程语言来说更容易理解,这是一个很有意思的观点。实际上,HTML(超文本标记语言)作为网页设计与制作的基础,确实具有一些特点,使其在某种程度上更易…

【JavaScript脚本宇宙】创造声音的魔法:深入了解Web音频处理库

聆听创意可能性:解锁Web音频库的神奇功能 前言 在Web开发中,处理音频是一个重要且常见的需求。许多JavaScript库和框架旨在简化音频处理和交互式音乐的创建过程。本文将探讨几个流行的Web音频库,介绍它们的概述、主要特性、使用示例以及适用…

【人工智能】第七部分:ChatGPT的未来展望

人不走空 🌈个人主页:人不走空 💖系列专栏:算法专题 ⏰诗词歌赋:斯是陋室,惟吾德馨 目录 🌈个人主页:人不走空 💖系列专栏:算法专题 ⏰诗词歌…

Java基础 - 异常处理

异常处理 异常处理用于处理程序执行过程中可能出现的错误或异常情况。 检查性异常: 这类异常通常使用 try-catch 块来捕获并处理异常,或者在方法声明中使用 throws 子句声明方法可能抛出的异常。 运行时异常: 这些异常在编译时不强制要求…

LeetCode | 1624.两个相同字符之间的最长子字符串

这道题拿到手想法就是去双重遍历暴力解,对于每个字符,从后往前遍历字符串,找到从后往前一直到本次遍历的这个字符串这段子串中和这个字符串相同的字符位置,然后得到子字符串的长度,和ans存储的值做一个比较&#xff0c…

副业赚钱:10个简单创意,轻松实现财务自由

嗨,我是兰若姐姐,我是从4月26号开始日更博客的,之前一直分享的是技术文档,但是在这个过程中,我发现这些文档只是解决了某一个人当下遇到的某个具体问题,但是对于他升值加薪没有任何帮助,所以我中…

GameDriver XR测试自动化工具概述

GameDriver XR是一个测试自动化工具,它主要用于扩展和自动化跨现实(Extended Reality,简称XR)应用的测试。XR是一个总括性术语,包括增强现实(AR)、虚拟现实(VR)和混合现实…

Linux入门学习(2)

1.相关复习新的指令学习 (1)我们需要自己创建一个用户,这个用户前期可以是一个root用户,后期使用创建的普通用户 (2)文件等于文件内容加上文件属性,对于文件的操作就包括对于文件内容的操作和文件属性&…

论文Compiler Technologies in Deep Learning Co-Design: A Survey分享

目录 标题摘要引言背景深度学习软件和硬件的发展不同时期的协同设计深度学习协同设计系统神经网络架构设计和优化协同设计技术 用于协同设计的深度学习系统中的编译技术深度学习编译器TVM 生态系统和MLIR生态系统IR转换和优化代码生成运行时和执行模式 Buddy-Compiler: 一个针对…

如何在 iPhone 上恢复已删除的短信

本文介绍如何检索已删除的短信和 iMessage 以及恢复丢失的消息。说明适用于 iOS 17 及更高版本。 如何在 iOS 17及更高版本中恢复文本 恢复已删除短信的最简单方法是使用 iOS 17。从删除短信到恢复它有 30 到 40 天的时间。 在“信息”的对话屏幕中,选择“过滤器”…

梯度提升决策树(GBDT)

GBDT(Gradient Boosting Decision Tree),全名叫梯度提升决策树,是一种迭代的决策树算法,又叫 MART(Multiple Additive Regression Tree),它通过构造一组弱的学习器(树&am…

Valgo,类型安全,表达能⼒强的go验证器

valgo 是一个为 Go 语言设计的类型安全、表达性强且可扩展的验证库。该库的特点包括: github.com/cohesivestack/valgo 类型安全:利用 Go 语言的泛型特性(从 Go 1.18 版本开始支持),确保验证逻辑的类型安全。表达性&a…

input 的 name 属性的作用?

在HTML中,input元素用于创建可以与用户交互的表单控件。其中,name属性用于定义表单字段的名称,也就是对应字段的标识符。 name属性的作用如下: 表单提交:当用户填写表单并提交时,name属性指定的字段名称将…

Python与其他编程语言(如Java、C++)相比有哪些优势?

一、技术难点 在探讨Python与其他编程语言相比的优势时,技术难点在于如何全面、准确地把握并阐述这些优势。这需要对Python、Java、C等编程语言有深入的理解,包括它们的语法特性、应用领域、性能特点、开发效率等。 首先,Python的语法简洁明…

关于Stream.toList()方法使用小记

对照示例 public static void main(String[] args) {final List<String> list new ArrayList<>();list.add("aa");list.add("bb");list.add("cc");list.remove("cc");System.out.println(list);}结果&#xff1a; Stre…

【谣传】不能完全取代HR

https://arxiv.org/pdf/2405.18113 这份研究论文提出了 MockLLM&#xff0c;一个利用大型语言模型&#xff08;LLM&#xff09;角色扮演能力来促进招聘场景中人和职位匹配的框架。它通过模拟面试过程来生成额外的匹配证据&#xff0c;从而提高匹配的准确性。 主要问题和挑战&am…

《Python程序设计》

python编程题 给定一个年份,判断这一年是不是闰年。def is_leap_year(year): if year % 4 != 0: return False elif year % 100 != 0: return True elif year % 400 != 0: return False else: return True # 测试函数 year = int(input("请输入一个年份: &quo…

使用python绘制季节图

使用python绘制季节图 季节图效果代码 季节图 季节图&#xff08;Seasonal Plot&#xff09;是一种数据可视化图表&#xff0c;用于展示时间序列数据的季节性变化。它通过将每个时间段&#xff08;如每个月、每个季度&#xff09;的数据绘制在同一张图表上&#xff0c;使得不同…

移动安全赋能化工能源行业智慧转型

随着我国能源化工企业的不断发展&#xff0c;化工厂中经常存在火灾爆炸的危险&#xff0c;特别是生产场所&#xff0c;约有80%以上生产场所区域存在爆炸性物质。而目前我国化工危险场所移动通信设备的普及率高&#xff0c;但是对移动通信设备的安全防护却有所忽视&#xff0c;包…

c++11 lambda匿名函数

概述: 匿名函数: 就是一个没有名字的函数&#xff0c;和匿名对象类似&#xff0c;其只会在所在行起作用。那么lambda匿名函数的主要用处是什么呢&#xff1f; 举个例子: 我们之前使用过sort()排序函数&#xff0c;其可以根据你传入的一组数据&#xff0c;根据某种规则进行排…