KAN网络

2024-05-12 12:12
文章标签 网络 kan

本文主要是介绍KAN网络,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

背景知识

什么是神经网络?

神经网络发展史

MP神经元模型

感知机模型

KAN

引言

MLP架构vsKAN架构

从数学定理方面来看:

从算法层面上看:

从实际应用过程看:

KAN的架构细节

KAN的准确性

KAN的可解释性

监督学习

无监督学习

数学领域

物理领域

自动和手动模式的比较

何时该选用 KAN?


背景知识

什么是神经网络?

神经网络是一种模仿生物神经网络结构和功能的非线性数学模型

神经网络发展史

MP神经元模型

当前神经元会收到x1到xn传来的信号,这些输入信号会通过w1到wn的权重,与当前神经元进行连接,从而传递信息。

感知机模型

KAN

引言

弗拉基米尔·阿诺德和安德烈·科尔莫戈罗夫证明了,如果f是有界域上的多变量连续函数,则f可以写成单变量连续函数和加法二元运算的有限组合。

即“任何一个多变量连续函数都可以表示为一些单变量函数的组合”

KAN 的名字也由此而来。

  正是受到这一定理的启发,研究人员用神经网络将 Kolmogorov-Arnold 表示参数化。

  为了纪念两位伟大的已故数学家 Andrey Kolmogorov 和 Vladimir Arnold,我们称其为科尔莫格罗夫-阿诺德网络(KANs)。

MLP架构vsKAN架构

         跟 MLP 最大、也是最为直观的不同就是,MLP 激活函数是在神经元上,而 KAN 把可学习的激活函数放在权重上。

从数学定理方面来看:

        MLP 的灵感来自于通用近似定理,即对于任意一个连续函数,都可以用一个足够深的神经网络来近似。

  而 KAN 则是来自于 Kolmogorov-Arnold 表示定理 (KART),每个多元连续函数都可以表示为单变量连续函数的两层嵌套叠加。

从算法层面上看:

        MLPs 在神经元上具有(通常是固定的)激活函数

        而 KANs 在权重上具有(可学习的)激活函数。这些一维激活函数被参数化为样条曲线。

从实际应用过程看:

        KAN 可以直观地可视化,提供 MLP 无法提供的可解释性和交互性。

KAN的架构细节

左侧的图显示了 KAN 的分层架构。每层包括一组节点,每个节点都通过一组特定的函数处理输入数据,输出到下一层。每个节点上的小图标表示的是激活函数的形式,这里用B-样条函数作为激活函数。

右侧的图展示了一个激活函数 ϕ(x),它被参数化为一个B-样条函数。图中还展示了如何通过改变B-样条的节点(也称为控制点)数量来调整函数的粒度。

这张图的核心在于展示KAN如何通过使用B-样条作为激活函数,结合网络的多层结构和激活函数的动态调整(网格扩展技术),来处理复杂的高维数据。这种设计使得网络不仅能适应不同的数据分辨率,还能通过调整激活函数的精度来优化性能。

KAN的准确性

神经缩放规律:KAN 的缩放速度比 MLP 快得多。除了数学上以 Kolmogorov-Arnold 表示定理为基础,KAN 缩放指数也可以通过经验来实现。

函数拟合:KAN 比 MLP 更准确。

偏微分方程求解:比如求解泊松方程,KAN 比 MLP 更准确。

规避灾难性遗忘:KAN 不会像 MLP 那样容易灾难性遗忘,它天然就可以规避这个缺陷。

KAN的可解释性

监督学习

在可解释方面,KAN 能通过符号公式揭示合成数据集的组成结构和变量依赖性。

无监督学习

在无监督学习中,目标是识别数据中变量之问的依赖关系,而不是预测输出,KANS通过修改其结构,能够识别哪些输入变量是相互依赖的。左图(seed=0)和右图(seed =2024)显示了相同的数据集但不同的初始化种子如何导致KAN 学到不同的依赖关系结构。 KAN 通过其灵活的网络结构捉供了一种强大的工具来探索这些关系,从而增强了模型的解释性和应用的广泛性

数学领域

用KAN来解决结点理论问题: 图a显示使用 17 个变量的网络结构实现了81.6%的测试准确率。仅使用3个最重要的变量精简后的模型达到了78.2%的测试准确率。图(c)通过饼图展示了三个变量对预测结果的贡献比例。

物理领域

本文用KAN来探索和解释物理模型中的动力学边界,尤其是在量子系统的安德森局域化现象中的应用

自动和手动模式的比较

人类用户可以与 KANs 交互,使其更具可解释性。在 KAN 中注入人类的归纳偏差或领域知识非常容易。

何时该选用 KAN?

关于这个问题,主要看想要的是什么?如果效率优先,也就是最右边这条支路,选MLP,因为目前,KANS训练速度较慢是其主要瓶颈,通常比 MLPS慢10倍。但如果想要小模型,KAN更好。如果可解释性优先,选中间,那么KAN牛遍。如果准确性优先,最左边,KAN 也更牛通,尽管 KAN 显示了不错的前景,但毕竟刚开始,还很不足。

这篇关于KAN网络的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/982594

相关文章

Linux系统配置NAT网络模式的详细步骤(附图文)

《Linux系统配置NAT网络模式的详细步骤(附图文)》本文详细指导如何在VMware环境下配置NAT网络模式,包括设置主机和虚拟机的IP地址、网关,以及针对Linux和Windows系统的具体步骤,... 目录一、配置NAT网络模式二、设置虚拟机交换机网关2.1 打开虚拟机2.2 管理员授权2.3 设置子

揭秘Python Socket网络编程的7种硬核用法

《揭秘PythonSocket网络编程的7种硬核用法》Socket不仅能做聊天室,还能干一大堆硬核操作,这篇文章就带大家看看Python网络编程的7种超实用玩法,感兴趣的小伙伴可以跟随小编一起... 目录1.端口扫描器:探测开放端口2.简易 HTTP 服务器:10 秒搭个网页3.局域网游戏:多人联机对战4.

SpringBoot使用OkHttp完成高效网络请求详解

《SpringBoot使用OkHttp完成高效网络请求详解》OkHttp是一个高效的HTTP客户端,支持同步和异步请求,且具备自动处理cookie、缓存和连接池等高级功能,下面我们来看看SpringB... 目录一、OkHttp 简介二、在 Spring Boot 中集成 OkHttp三、封装 OkHttp

Linux系统之主机网络配置方式

《Linux系统之主机网络配置方式》:本文主要介绍Linux系统之主机网络配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、查看主机的网络参数1、查看主机名2、查看IP地址3、查看网关4、查看DNS二、配置网卡1、修改网卡配置文件2、nmcli工具【通用

使用Python高效获取网络数据的操作指南

《使用Python高效获取网络数据的操作指南》网络爬虫是一种自动化程序,用于访问和提取网站上的数据,Python是进行网络爬虫开发的理想语言,拥有丰富的库和工具,使得编写和维护爬虫变得简单高效,本文将... 目录网络爬虫的基本概念常用库介绍安装库Requests和BeautifulSoup爬虫开发发送请求解

如何通过海康威视设备网络SDK进行Java二次开发摄像头车牌识别详解

《如何通过海康威视设备网络SDK进行Java二次开发摄像头车牌识别详解》:本文主要介绍如何通过海康威视设备网络SDK进行Java二次开发摄像头车牌识别的相关资料,描述了如何使用海康威视设备网络SD... 目录前言开发流程问题和解决方案dll库加载不到的问题老旧版本sdk不兼容的问题关键实现流程总结前言作为

SSID究竟是什么? WiFi网络名称及工作方式解析

《SSID究竟是什么?WiFi网络名称及工作方式解析》SID可以看作是无线网络的名称,类似于有线网络中的网络名称或者路由器的名称,在无线网络中,设备通过SSID来识别和连接到特定的无线网络... 当提到 Wi-Fi 网络时,就避不开「SSID」这个术语。简单来说,SSID 就是 Wi-Fi 网络的名称。比如

Java实现任务管理器性能网络监控数据的方法详解

《Java实现任务管理器性能网络监控数据的方法详解》在现代操作系统中,任务管理器是一个非常重要的工具,用于监控和管理计算机的运行状态,包括CPU使用率、内存占用等,对于开发者和系统管理员来说,了解这些... 目录引言一、背景知识二、准备工作1. Maven依赖2. Gradle依赖三、代码实现四、代码详解五

Linux 网络编程 --- 应用层

一、自定义协议和序列化反序列化 代码: 序列化反序列化实现网络版本计算器 二、HTTP协议 1、谈两个简单的预备知识 https://www.baidu.com/ --- 域名 --- 域名解析 --- IP地址 http的端口号为80端口,https的端口号为443 url为统一资源定位符。CSDNhttps://mp.csdn.net/mp_blog/creation/editor

ASIO网络调试助手之一:简介

多年前,写过几篇《Boost.Asio C++网络编程》的学习文章,一直没机会实践。最近项目中用到了Asio,于是抽空写了个网络调试助手。 开发环境: Win10 Qt5.12.6 + Asio(standalone) + spdlog 支持协议: UDP + TCP Client + TCP Server 独立的Asio(http://www.think-async.com)只包含了头文件,不依