论文阅读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,一经查实,立即删除!

相关文章

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

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

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

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

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

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

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…

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

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

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

关系数据库标准查询语言-SQL-SQL语言概述

一、SQL(Structured Query Language)语言 1、是高度非过程化的语言 2、关系数据库管理系统(RDBMS)都支持SQL标准 3、具有定义、查询、更新、控制四大功能 4、数据库对象由数据库&#xff08;Database&#xff09;、基本表&#xff08;Table&#xff09;、视图&#xff08;V…

string经典题目(C++)

文章目录 前言一、最长回文子串1.题目解析2.算法原理3.代码编写 二、字符串相乘1.题目解析2.算法原理3.代码编写 总结 前言 一、最长回文子串 1.题目解析 给你一个字符串 s&#xff0c;找到 s 中最长的回文子串。 示例 1&#xff1a; 输入&#xff1a;s “babad” 输出&am…

自动化测试-Selenium-元素定位

一.元素定位 因为使用selenium进行自动化测试&#xff0c;元素定位是必不可少的&#xff0c;所以这篇文章用于自动化测试中的selenium中的元素定位法。 1.根据id属性进行定位&#xff08;id是唯一的&#xff09; id定位要求比较高&#xff0c;要求这个元素的id必须是固定且唯…

Java的自动装箱和自动拆箱

自动装箱和拆箱在Java开发中的应用与注意事项 在Java开发中&#xff0c;自动装箱&#xff08;Autoboxing&#xff09;和自动拆箱&#xff08;Unboxing&#xff09;是指基本数据类型与其对应的包装类之间的自动转换。这些特性可以使代码更加简洁和易读&#xff0c;但在实际项目…

CANoe-Trace窗口无法解析SOME/IP报文、Demo License激活方式改变

1、Trace窗口无法解析SOME/IP报文 在文章《如何让CANoe或Wireshark自动解析应用层协议》中,我们通过设置指定端口号为SOME/IP报文的方式,可以让CANoe中的Trace窗口对此端口号的报文当成是SOME/IP报文进行解析。 Trace窗口就可以根据传输层端口号对payload数据按照SOME/IP协议…

linuxDNS域名解析

文章目录 DNS 是域名系统的简称正向解析反向解析主从服务器解析bond网卡 DNS 是域名系统的简称 域名和IP地址之间的映射关系 互联网中&#xff0c;IP地址是通信的唯一标识&#xff0c;逻辑地址 访问网站 域名解析的目的就是为了实现&#xff0c;访问域名就等于访问IP地址 …

JS(JavaScript)的引用方式介绍与代码演示

天行健&#xff0c;君子以自强不息&#xff1b;地势坤&#xff0c;君子以厚德载物。 每个人都有惰性&#xff0c;但不断学习是好好生活的根本&#xff0c;共勉&#xff01; 文章均为学习整理笔记&#xff0c;分享记录为主&#xff0c;如有错误请指正&#xff0c;共同学习进步。…

SpringBoot+Vue体育馆管理系统(前后端分离)

技术栈 JavaSpringBootMavenMySQLMyBatisVueShiroElement-UI 角色对应功能 学生管理员 功能截图