号称能打败MLP的KAN到底行不行?数学核心原理全面解析

news2024/11/26 9:30:19

前几天火爆的Kolmogorov-Arnold Networks是具有开创性,目前整个人工智能社区都只关注一件事LLM。我们很少看到有挑战人工智能基本原理的论文了,但这篇论文给了我们新的方向。

mlp或多层感知位于AI架构的最底部,几乎是每个深度学习架构的一部分。而KAN直接挑战了这一基础,并且也挑战了这些模型的黑箱性质。

也许你看到了很多关于KAN的报告,但是里面只是简单的描述性介绍,对于他的运行原理还是不清楚,所以我们这篇文章将涉及大量的数学知识,主要介绍KAN背后的数学原理。

KAN

Kolmogorov-Arnold Networks引入了一种基于Kolmogorov-Arnold表示定理的新型神经网络架构,为传统的多层感知器(mlp)提供了一种有前途的替代方案。

mlp在节点(“神经元”)上有固定的激活函数,而kan在边缘(“权重”)上有可学习的激活函数。kan根本没有线性权重,每个权重参数都被参数化为样条的单变量函数。这个看似简单的改变使得KANs在准确性和可解释性方面优于mlp。KANs是mlp的有希望的替代品,为进一步改进当今严重依赖mlp的深度学习模型提供了机会。

上面论文的原文,根据论文在数据拟合和PDE求解方面,更小的kan与更大的mlp相当或更好。所以kan可能比mlp拥有更快的神经缩放定律。并且KANs可以直观地可视化,大大提高了可解释性。

论文围绕函数逼近的Kolmogorov-Arnold表示定理的性质展开,这是这篇论文的全部前提。

表示定理基础:函数被分解成更简单的函数,然后使用神经网络进行近似。

平滑性和连续性:目标是确保原始多元函数的平滑性有效地转化为神经网络近似。

空间填充曲线:函数跨维度的属性,特别是关注在近似过程中如何保持连续性和其他函数属性或转换。

什么是样条?为什么KAN需要样条?

上面进行了简单的介绍,下面我们开始深入理解论文的数学基础,这是其他报道中没有的。

样条是一种数学函数,用于通过一组控制点创建光滑和灵活的曲线或曲面。在数学术语中,样条是一个分段多项式函数,它在多项式块相交的地方(结点)保持高度平滑。

样条有几种类型,包括:

线性样条:用直线连接点,简单但不流畅。这在点上是不可微的。

二次和三次样条:二次或三次多项式创建曲线。三次样条曲线被广泛使用,因为它在灵活性和计算复杂性之间提供了很好的平衡。

b样条(基样条):对曲线形状提供更好的控制,特别是在边界附近,并在一组控制点上定义,这些控制点不一定位于曲线本身。

论文则是将b样条用于kan:与基本样条不同,b样条不一定通过其控制点。而是通过这些点从远处引导曲线的形状,提供了一种更灵活的方式来描述复杂的形状和图案。

b样条在kan中特别有用,因为它们在处理高维数据时具有鲁棒性,并且能够形成光滑的多维表面。对于神经网络,在高维数据中学习是标准的,b样条可以用来管理模型的复杂性,并且持计算效率,同时不会失去可解释性。

Kolmogorov-Arnold表示定理

Kolmogorov-Arnold表示定理背后的核心思想是,任何(多变量)连续函数都可以表示为单变量连续函数和加法运算的组合。无论多变量函数看起来多么复杂,都可以用更简单的单变量函数来表示它。它和傅里叶级数很相似,傅里叶级数是一个连续的周期函数由谐波相关正弦函数的和生成。

下面是Kolmogorov-Arnold表示定理的数学公式:

该定理提供了一种将复杂的多变量函数分解为每次只涉及一个变量的一系列操作的方法,使其更容易理解和计算。这在神经网络等环境中这种分解可以帮助设计架构,使用更简单、更容易训练的组件有效地近似复杂函数。

KAN的数学原理

1、传统MLP层

我们先来看看MLP。mlp基于普遍逼近定理,该定理指出,在对激活函数的温和假设下,具有单个隐藏层的前馈网络包含有限数量的神经元,可以在𝑅_𝑛的紧凑子集上近似连续函数。

这里的𝜎为固定非线性激活函数,𝑤为权重,𝑏为偏差,𝑎为输出权重。

在典型的mlp中,每一层由一个线性变换和一个非线性激活函数组成。这意味着对于任何给定的输入,网络计算输入的加权和,然后应用一个非线性函数,如ReLU, sigmoid等。这样mlp对许多任务都是有效的,但可能受到其转换的固定性质和参数变化的全局影响的限制。

2、KAN层

与标准的线性加非线性方法不同,KAN层使用一维函数矩阵(例如b样条),其中连续层中两个节点之间的每个连接都由一个可以单独调整的单独函数定义。

这种结构为函数逼近过程提供了更高程度的灵活性和局部控制。每个连接学习从输入到输出的整体特征映射的特定部分,这可能导致对数据的更细致的理解和表示。

具有n维输入和无维输出的KAN层可以定义为一维函数的矩阵。

KAN层定义为一维函数𝜙_𝑝的矩阵Φ,𝑞中𝑝表示输入维度,q表示输出维度。每个函数𝜙_𝑝,𝑞都有可训练的参数,并将输入直接映射到输出,而不需要中间的加权和和之后的通用激活。

KANs结构:

与mlp不同,KAN层中的每个连接都由单个1D函数𝜙_𝑙,𝑗,定义,该函数直接将输入映射到输出(l是第l层)。这种体系结构不需要矩阵乘法,而是使用一组函数映射,其中每个函数负责将输入的一个组件转换为输出的一个组件。

整个层可以被描述为这些函数的矩阵Φ,其中每个函数𝜙_𝑙,𝑗,直接从每个输入节点𝑖应用到每个输出节点𝑗。这种设置为数据转换提供了更灵活和定制的方法:

KANs的基础是基于一个监督学习任务,其目标是近似一个函数𝑓,该函数将所有数据点的输入𝑥部关系映射到输出𝑦部关系。该方法使用Kolmogorov-Arnold定理将任意多元函数分解为一系列单变量函数和求和运算:

方程表明,对于每个输入维度𝑥_𝑝,都有一个单变量函数𝜙_𝑞,𝑝和Φ_𝑞是聚合这些单变量函数输出的高级函数。

如果我们展开上面的方程:

计算过程对比

为了理解这些他们的不同之处,我们举一个简单的例子,比较KAN和MLP的输出。如果的从上面的数学原理看有点复杂,所以让我们写一个更简单的版本和MLP对比就更容易理解最后发生了什么。

1、MLP

让我们假设以下配置和值:

  • Input Layer: 3
  • Hidden Layer 1: 4
  • Hidden Layer 2: 2
  • Output Layer: 1

权重矩阵:

输入

MLP的计算如下:

2、KAN

输入

KAN的计算如下:

在MLP中,每个层执行一个加权和,然后是一个非线性激活函数,而在KAN中,每个“连接”应用一个特定的函数(我们在本例中使用随机函数),并将这些函数输出聚合为前馈。

3、对比总结

MLP:矩阵乘法是根据权重调整的线性变换。非线性(本例中的ReLU)允许网络模拟非线性现象。

KAN:每个节点连接应用b样条或其他定义函数,使其高度灵活,并根据每个输入特征所需的特定转换进行定制。

总结

在更少参数的情况下,kan可以达到与mlp相当甚至更高的精度。由于其架构,KAN还提供了增强的可解释性,其中每个权重都被参数化为样条的可学习单变量函数所取代。论文强调了基于Kolmogorov-Arnold表示定理的KANs的数学优雅性,该定理为这些网络提供了强大的理论基础。

KAN这篇论文确实很大,而且涉及了更多的细节,我还在进行更深入的研究,并且我自己的测试与mlp相比它们需要更少的训练样本,但是KAN的拟合速度没有MLP快,而且最终得到的效果我还没有看到比MLP好多少,所以具体是否好用我还在更详细的测试。

但是无论如何KAN为人工智能社区带来了一股新鲜空气,这是非常值得称赞和尊重的。

https://avoid.overfit.cn/post/6ee2307e614b462f9c9aac26ef12252d

作者:Vishal Rajput

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

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

相关文章

为什么 ChatGPT 不火了?

不火了是有原因的,下面我来从大部分人拿到 ChatGPT 之后的两大痛点开始讲起: 很多朋友拿到 ChatGPT 后的第一个痛点就是:用的不好 你经常会感觉到 ChatGPT 回答的好空,没有太多参考价值。 而第二个痛点则是:无处去用…

【Gateway】网关集成Knife4j—swagger接口文档

文章目录 前言一、相关配置1.网关gateway配置①.网关增加配置 pom文件②.网关增加配置 SwaggerHandler③.网关增加配置 SwaggerResourceConfig④.网关增加配置 SwaggerConfig 2.网关过滤器 二、接口文档使用1.访问文档2.查看文档 总结 前言 在日常开发中是需要前后端联调的&am…

加密杂谈:Base 向上,BSC 向下

Aerdrome 价格走过一轮,Base 一己之力扶持起巅峰 1B Mcap, 2B FDV 的百倍币,秀出了肌肉,其所带来的正外部性也进一步盘活了 Base 生态 反观 BSC 本轮哪怕靴子落地依然没个响,差距在哪里?本 Thread 将以此为切入点探讨…

Vue3:menu导航栏出现多个同一跳转路径的菜单处理

文章目录 需求整理实现思路实现过程 需求整理,实现思路 最近公司想将之前老的项目整理出来,因为这个老项目内容太杂什么页面都往里面塞,导致菜单特别多,公司就像将这个老的项目迁出来,这个旧的项目本来是后端PHP写的。…

【保姆级详细步骤教学用DOSBoxV0.74写出一个汇编语言程序输出Hello World!】

使用任何文本编辑器创建一个名为 HELLO.ASM 的文件,并将以下代码粘贴到文件中: .MODEL SMALL .STACK 100H.DATAMSG DB Hello, World!, $PROMPT DB 13, 10, Press any key to exit..., $.CODEMAIN PROCMOV AX, DATAMOV DS, AXMOV AH, 09HLEA DX, MSGINT …

用户页面触发点击事件和 js 执行点击事件的区别

文章目录 情景展示情况一:用户点击页面触发情况二:通过 js 触发点击 结果分析情况一情况二 其实这个谜底揭开之后,第一反应都是,哦~,非常简单,但是细节决定成败,我被这个细节毁掉了,…

docker资源限额

多数的应⽤场景要对Docker容器的运⾏内存进⾏限制,防⽌其使⽤过多的内存。 格式:-m或--memory 正常的内存大小 [rootadmin ~]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS …

硬件设计——滤波器设计_MIC用有源带通滤波器

“在已有的成熟稳定的滤波器基础上,根据业务需要对原设计进行优化调整以得到新的滤波器” 是滤波器设计的一种常用方法。 MIC用有源带通滤波器 介绍一种简单直观的带通滤波器以及计算过程,以作未来可参考的基线设计。该滤波器可用于音频信号&#xff0…

【算法】基础算法004之前缀和

👀樊梓慕:个人主页 🎥个人专栏:《C语言》《数据结构》《蓝桥杯试题》《LeetCode刷题笔记》《实训项目》《C》《Linux》《算法》 🌝每一个不曾起舞的日子,都是对生命的辜负 前言 本篇文章为大家带来前缀和…

【EI会议|投稿优惠】2024年物理化学与应用数学国际会议(IACPCAM 2024)

2024 International Conference on Physical Chemistry and Applied Mathematics 一、大会信息 会议名称:2024年物理化学与应用数学国际会议会议简称:IACPCAM 2024收录检索:提交Ei Compendex,CPCI,CNKI,Google Scholar等会议官网:…

基于树莓派的六足机器人方案设计+源代码+工程内容说明

文章目录 源代码下载地址项目介绍项目内容说明简单预览 项目备注源代码下载地址 源代码下载地址 点击这里下载源码 项目介绍 项目内容说明 hardware为项目相关硬件设计 机械结构为六足机器人的3d建模工程,包括本体和云台遥控器在ESP32最小开发板上集成了MPU605…

Python面向对象编程思想的深入学习

魔术方法的使用 案例体验 class Student:def __init__(self, name, age):self.name nameself.age age# __str__魔术方法, 如果不去写这个方法,那么print输出的则是信息存储的内存地址。def __str__(self):return fStudent类对象,name:{self.name}, ag…

入门视频剪辑:视频合并不再难,批量嵌套合并的简单步骤

在数字媒体时代,视频剪辑已成为一项基本技能。无论是制作家庭电影、公司宣传片还是在线教育内容,视频剪辑都扮演着重要角色。对于初学者来说,视频剪辑可能看起来有些复杂,但掌握了正确的步骤和技巧后,你会发现它其实并…

【资源分享】PyCharm2020安装教程

::: block-1 “时问桫椤”是一个致力于为本科生到研究生教育阶段提供帮助的不太正式的公众号。我们旨在在大家感到困惑、痛苦或面临困难时伸出援手。通过总结广大研究生的经验,帮助大家尽早适应研究生生活,尽快了解科研的本质。祝一切顺利!—…

了解外汇震荡类货币对特征与交易策略

外汇市场是全球最大的金融市场,每天的交易量超过6万亿美元。在这个市场上,货币对之间的价格变动反映了全球经济和政治动态。外汇货币对通常被分为三类:主要货币对、次要货币对和外来货币对。而在交易这些货币对时,市场表现通常分为…

MATLAB实现遗传算法优化同时取送货的车辆路径问题VRPSDP

同时取送货的车辆路径问题VRPSDP的数学模型如下: 模型假设 所有车辆的载重、容量等性能相同。每个客户的需求(送货和取货量)是已知的,且在服务过程中不会改变。车辆的行驶速度恒定,不考虑交通拥堵等实时路况变化。每个客户点只能…

记录一个RSA加密js逆向

network调试就不说了吧 pwd加密参数 搜索pwd参数定位逆向 可以看到有很多关键词 但是我们细心的朋友会发现加密函数关键字 encrypte 打上断点 调试 发现在断点处停止了 并且框选函数发现了一串加密值 虽然不一样但是大概率是这个 并且没你每次放置移开都会刷新 所以如果这个就是…

IP地址定位技术在网络安全中的作用

在当今数字化时代,网络安全已经成为企业、政府和个人面临的重要挑战之一。随着互联网的普及和网络攻击的增加,保护个人隐私和防止网络犯罪变得尤为重要。在这一背景下,IP地址定位技术作为网络安全的重要组成部分之一,发挥着关键作…

citylava:城市场景中VLMs的有效微调

citylava:城市场景中VLMs的有效微调 摘要IntroductionRelated WorkVision-Language ModelsVLMs in Driving Methodology CityLLaVA: Efficient Fine-Tuning for VLMs in City Scenario 摘要 在城市广阔且动态的场景中,交通安全描述与分析在从保险检查到事故预防的各…

C++——list和string

list与string 前言一、listlist.hList的节点类List的迭代器类list类list.h 完整实现 list.cppList的节点类List的迭代器类list类list.cpp 完整实现 二、stringstring.hstring.cpp 总结 前言 C容器的学习开始啦! 大家先来学习list! 紧接着string和vector…