【论文】(2024.6) KAN: Kolmogorov–Arnold Networks 阅读笔记 | KAN周边扩展

KAN的优势声称是能以更少的参数量实现更高的精度。KANs在数学上是可靠的、准确的和可解释的。

一 KAN

论文题目KAN: Kolmogorov–Arnold Networks

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

代码地址:https://github.com/KindXiaoming/pykan

文档地址:Hello, KAN! — Kolmogorov Arnold Network documentation

【摘要】受科尔莫戈洛夫-阿诺德表示定理的启发,我们提出了Kolmogorov-Arnold Networks (KANs),作为多层感知机( MLPs )的有前途的替代品。而MLPs在节点( "神经元")上具有固定的激活函数,KANs在边( "权重")上具有可学习的激活函数。KANs完全没有线性权重-每个权重参数都用一个参数化为样条的一元函数代替。我们证明,在小规模AI + Science任务上,这种看似简单的变化使得KANs在准确性和可解释性方面优于MLPs。在精度方面,在函数拟合任务中,较小的KANs可以达到与较大的MLPs相当或更好的精度。理论和实证上,KANs比MLPs具有更快的神经缩放规律。对于可解释性,KANs可以直观地可视化,并且可以方便地与人类用户进行交互。通过数学和物理学中的两个例子,KANs被证明是帮助科学家(重新)发现数学和物理规律的有用的"合作者"。总之,KANs是MLPs的有前途的替代品,为进一步改善当今严重依赖MLPs的深度学习模型提供了机会。

1 Kolmogorov-Arnold表示定理

KAN的主要理论依据是 Kolmogorov-Arnold 定理。这个定理是由苏联数学家安德烈·科尔莫戈洛夫(Andrey Kolmogorov)首先提出,并由他的学生弗拉基米尔·阿诺尔德(Vladimir Arnold)在1957年进一步发展。定理最初的动机是探讨多元函数可以如何被一组更简单的函数表示。Vladimir Arnold 和 Andrey Kolmogorov证明了,如果 f 是在有界域上的多变量连续函数,则 f 可以被写成单变量连续函数加法二元运算的有限组合。更具体地说,对于一个光滑的f:[0, 1]→R

从某种意义上说,他们证明了唯一真正的多元函数是加法,因为所有其他函数都可以用一元函数和求和来写。然而,由于其有限的表达能力,这种2层宽度(2n + 1)Kolmogorov-Arnold表示可能不是平滑的。我们通过将其推广到任意的深度和宽度来增强其表达能力。

上述原始表达式只对应了一个拥有两层非线性激活函数,并且隐藏层只有2n+1个节点的网络。

其实两层理论上可以拟合任何函数,但是激活函数有时会变得非常不光滑,非常病态,才能满足要求,所以这也是多层KAN的必要性。

2 Kolmogorov-Arnold Network (KAN)

Kolmogorov-Arnold表示可以写成矩阵形式:

在实现上,激活函数采用多个一维的B-Spline函数的结合,并利用残差激活函数。

如上图,其实就是多个basic函数的相加,C参数控制每个basic的幅值。Φ函数有粗粒度和细粒度选择,就是选多些basic函数相加就越精准,上图是展示7和12两种情况。G=5表示interval是5。

MLPs通过增加模型的宽度和深度可以提高性能,但这种方法效率低下,因为需要独立地训练不同大小的模型。KANs开始可以用较少的参数训练,然后通过简单地细化其样条网格来增加参数,无需重新训练整个模型。基本原理就是通过将样条函数(splines)旧的粗网格转换为更细的网格,并对应地调整参数,无需从头开始训练就能扩展现有的KAN模型。这种技术称为“网格扩展”。

KAN可以很容易地可视化。(1)KAN只是KAN层的堆叠。(2)每个KAN层都可以被可视化为一个完全连接的层,每个边缘上都有一个1D函数。

3 MLPs与KANs

多层感知器(MLPs)也被称为全连接前馈神经网络,是当今深度学习模型的基础构建模块。MLPs的重要性无法过分强调,因为它们是机器学习中用于逼近非线性函数的默认模型,这归功于它们由通用逼近定理保证的表达能力。然而,MLPs是我们能够构建的最佳非线性回归器吗?尽管MLPs被广泛使用,但它们存在显著缺点。

MLPs受到通用逼近定理的启发,KANs受到Kolmogorov-Arnold表示定理的启发。像MLPs一样,KANs具有全连接结构。然而,MLPs在节点("神经元")上放置固定的激活函数,而KANs在边缘("权重")上放置可学习的激活函数。KAN网络完全没有线性权重矩阵:每个权重参数都由一种可学习的一维样条函数替代。KAN网络的节点仅对输入信号进行求和,不进行任何非线性处理。

简言之,MLP:线性组合,然后非线性激活;KAN:非线性激活(每个输入),然后线性组合

如下图:多层感知器( Mlps ) vs .科尔莫戈罗夫- Arnold网络( Kans )

KANs与MLPs之间如何做选择?

 4 可解释性

下面是论文做的一些公式的拟合,解释性不错。

KAN比MLP在公式拟合方面更高效,见下图。

5 训练

KAN比较大的创新是可以在训练过程中加入人类先验的知识,更可信。比如下面这图,在较大的KAN训练完后,进行剪枝(可解释性更高),然后可以人为手动地把激活函数设置为经典的函数(正弦、平方、指数),从而得到一个可信的可解释的直观的表达结果

通过激活函数分辨率提升,以及稀疏化、剪枝等结构自优化技巧,实现了准确性和可解释性的提升。能够在参数量大大减少的情况下实现相同甚至更有的拟合效果。

6 抗遗忘特性

KAN有比较好的抗遗忘特性!这对于大模型来说很有前景。

【总结】如作者说讲,可学的激活函数在edge加激活函数多层,这三个概念都有前人研究过,KAN的贡献是将它们整合在一起,实现 多层的支持edge激活函数可学的全新架构。KAN目前训练速度慢是论文中说明的也是大家直接发现的主要瓶颈。且单看一个KAN和MLP模块,KAN的参数量是要更多的,只是说在某些任务KAN可能可以更少的层实现高精度,所以在小任务上目前还是MLP更优。

KAN有以下特点:①全连接结构 ②边上的可学习激活函数 ③权重参数被替换成可学习的样条函数 ④在节点处进行简单的相加操作

二 CKAN

论文题目Convolutional Kolmogorov-Arnold Network (CKAN)

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

代码地址https://github.com/AntonioTepsich/Convolutional-KANs

【摘要】本文介绍了卷积科尔莫戈罗夫- Arnold网络( Convolutional KANs ),这是标准卷积神经网络( Convolutional Neural Networks,CNNs )的创新替代品,它彻底改变了计算机视觉领域。我们将科尔莫戈罗夫- Arnold Networks ( KANs )中提出的非线性激活函数集成到卷积中,以构建新的层。在整篇文章中,我们在MNIST和Fashion - MNIST基准测试集上实证验证了卷积KANs相对于传统架构的性能,表明这种新方法在使用一半的参数量的情况下保持了相似的准确度。这种参数的显著减少为推进神经网络结构的优化开辟了一条新的途径。 

1 KAN Convolution

KAN 卷积与卷积非常相似,但我们不是将核与图像中相应的像素之间的点积应用到每个元素上,而是将可学习的非线性激活函数应用于每个元素,然后将它们相加。KAN 卷积的核相当于一个由 4 个输入和 1 个输出神经元组成的 KAN 线性层。对于每个输入 i,我们应用一个 ϕ_i 可学习函数,该卷积步骤的结果像素是 ϕ_i(x_i) 的总和。

未完待续。。。

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

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

如何打造一个专属网盘?可道云teamOS这些个性化设置了解一下

在这个数字化时代,企业对于云端存储和协作工具的需求日益增长。而网盘作为企业协作的重要工具之一,其个性化、定制化的需求也日益凸显。 今天,我要为大家介绍的是一款高度个性化的企业网盘——可道云teamOS。 满足个性化需求的企业网盘 可…

防火墙NAT地址转换和智能选举综合实验

一、实验拓扑 目录 一、实验拓扑 二、实验要求(接上一个实验要求后) 三、实验步骤 3.1办公区设备可以通过电信链路和移动链路上网(多对多的NAT,并且需要保留一个公网IP不能用来转换) 3.2分公司设备可以通过总公司的移动链路和电信链路访…

【深度学习】PyTorch框架(4):初始网络、残差网络 和密集连接网络

1、引言 在本篇文章中,我们将深入探讨并实现一些现代卷积神经网络(CNN)架构的变体。近年来,学界提出了众多新颖的网络架构。其中一些最具影响力,并且至今仍然具有重要地位的架构包括:GoogleNet/Inception架…

Qt Style Sheets-使用样式表自定义 Qt 部件

使用样式表自定义 Qt 部件 在使用样式表时,每个小部件都被视为具有四个同心矩形的框:边距矩形、边框矩形、填充矩形和内容矩形。框模型对此进行了更详细的描述。 盒模型 以下是四个同心矩形在概念上的呈现方式: 边距超出边框。边框绘制在边…

自学 阿里巴巴Java开发手册最新版(嵩山版)

🔴 阿里巴巴Java开发手册最新版(嵩山版) 一、编程规约(一) 命名风格(二) 常量定义(三) 代码格式(四) OOP 规约(五) 日期时间(六) 集合处理(七) 并发处理(八) 控制语句(九) 注释规约(十) 前后端规范 二、异常日志(一) 错误码(二) 异常处理(三)…

mac环境下安装python3的图文教程

Python 是一种功能多样且强大的编程语言,在各个领域得到广泛应用。许多 Mac 用户都在其设备上安装和运行 Python,以运行特定的应用程序或创建、运行自己的 Python 脚本。 文章源自设计学徒自学网-http://www.sx1c.com/49441.html 虽然某些版本的 macOS…

沃尔玛,temu测评: 搭建稳定高效的自养号测评体系时需要考虑的关键点

​自养号测评是通过自己培养账号进行测评,‌将整个过程的主导权掌握在自己手中,‌可以有效控制测评过程,‌降低风险。建议还是自己精养一批账号,账号在自己手里比较安全可控,随时随地可以给自己送测,精准搜…

现场可重构CPLD芯片应用案例—蓝牙音箱

我司英尚微提供的高性能数模混合现场可重构IC、通用可配置的模数混合芯片内部集成丰富的模拟资源和数字资源,可轻松替代电路中的各种标准器件,并按照客户要求组合成最优小型ASIC,缩短开发周期,降低成本。下面介绍LS98002现场可重构…

openwrt安装netbird

官方版本安装后无法启动,有报错,请使用以下版本: https://github.com/tbc0309/openwrt-netbird 下载地址: https://github.com/tbc0309/openwrt-netbird/releases/ 平台架构根据自己的设备选择,可以通过以下方法获得…

【LeetCode:试题 16.06. 最小差 + 双指针 + 防止整型溢出】

🚀 算法题 🚀 🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀 🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨ 🌲 作者简介:硕风和炜,…

Visual Studio使用——在vs中给vb.net项目添加新的窗口:新建的方式、添加已有窗口的方式

目录 引出Visual Studio使用vb添加新的窗体自定义代码片段vs显示所有文件 总结Idea安装和使用0.Java下载 和 IDEA工具1.首次新建项目2.隐藏文件不必要显示文件3.目录层级设置4.Settings设置选择idea的场景提示代码不区分大小写 取消git的代码作者显示 引出 Visual Studio使用—…

子进程继承父进程文件描述符导致父进程打开设备文件失败

开发过程中有时会遇到需要在程序中执行三方程序或者shell脚本,一般会通过system(), popen(), exec簇来完成该功能。我们知道以上方法会通过fork创建子进程后在子进程中执行相应指令。如图1为某个示例流程,具体的程序执行流程如图2所示,线程my…

[RK3588-Android12] 关于如何取消usb-typec的pd充电功能

问题描述 RK3588取消usb-typec的pd充电功能 解决方案: 在dts中fusb302节点下usb_con: connector子节点下添加如下熟悉: 打上如下2个补丁 diff --git a/drivers/usb/typec/tcpm/tcpm.c b/drivers/usb/typec/tcpm/tcpm.c index c8a4e57c9f9b..173f8cb7…

Linux文本工具之-Vim(一)

一、模式 1、普通模式 这是使用Vim打开一个文件时,Vim的默认模式。在普通模式下,您可以使用各种命令来移动光标、删除、复制、粘贴和其他编辑操作 2、插入模式 在插入模式下,您可以像在其他文本编辑器中一样输入和编辑文本。按下键盘上的…

2024年【北京市安全员-C3证】证考试及北京市安全员-C3证作业模拟考试

题库来源:安全生产模拟考试一点通公众号小程序 北京市安全员-C3证证考试根据新北京市安全员-C3证考试大纲要求,安全生产模拟考试一点通将北京市安全员-C3证模拟考试试题进行汇编,组成一套北京市安全员-C3证全真模拟考试试题,学员…

06. Hibernate 中主键映射的助攻

1. 前言 本节课和大家一起聊聊 Hibernate 中的主键策略。通过本节课程,你将了解到: 什么是主键策略及主键生成器的种类;如何映射复合主键。 2. 主键策略 Hibernate 进行数据库操作时,可依靠主键生成器组件更快速、准确地进行一…

CentOS 7.9 64位安装nginx,部署tomcat实现负载均衡

在CentOS 7.9 中安装nginx做负载均衡步骤 用ubuntu试了一下没成功 centos更顺利,当初听到什么nginx,负载均衡,反向代理,redis这些就潜意识就觉得好复杂,今天花一下午时间尝试了一下,感觉也没那么难&#xf…

uniapp判断h5/微信小程序/app端+实战展示

文章目录 导文使用条件编译的基本语法常见的平台标识符示例实战展示使用场景举例注意事项 导文 这里是导文 当你在开发Uni-app时,需要根据不同的平台(比如App端、H5端、微信小程序等)来执行不同的代码逻辑,可以使用条件编译来实现…

深度解析:电商订单API及其技术实现

随着电子商务的发展,实体企业开拓电商渠道的越来越多,原有的管理系统都需要增加电商业务管理功能,其中,对电商订单的管理是每一个电商商家都需要的功能,所以对于开发者来说,了解电商API是什么是非常重要的&…

FastBee物联网开源项目本地启动调试

一、本地环境准备 (1)Visual Studio Code(启动前端项目) (2)IntelliJ IDEA Community Edition (启动后端项目) (3)Navicat或者DBeaver(用来操…