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

本文涉及的产品
实时计算 Flink 版,5000CU*H 3个月
智能开放搜索 OpenSearch行业算法版,1GB 20LCU 1个月
实时数仓Hologres,5000CU*H 100GB 3个月
简介: Kolmogorov-Arnold Networks (KANs) 是一种新型神经网络架构,挑战了多层感知器(mlp)的基础,通过在权重而非节点上使用可学习的激活函数(如b样条),提高了准确性和可解释性。KANs利用Kolmogorov-Arnold表示定理,将复杂函数分解为简单函数的组合,简化了神经网络的近似过程。与mlp相比,KAN在参数量较少的情况下能达到类似或更好的性能,并能直观地可视化,增强了模型的可解释性。尽管仍需更多研究验证其优势,KAN为深度学习领域带来了新的思路。

前几天火爆的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

目录
相关文章
|
4月前
|
安全 算法 网络协议
解析:HTTPS通过SSL/TLS证书加密的原理与逻辑
HTTPS通过SSL/TLS证书加密,结合对称与非对称加密及数字证书验证实现安全通信。首先,服务器发送含公钥的数字证书,客户端验证其合法性后生成随机数并用公钥加密发送给服务器,双方据此生成相同的对称密钥。后续通信使用对称加密确保高效性和安全性。同时,数字证书验证服务器身份,防止中间人攻击;哈希算法和数字签名确保数据完整性,防止篡改。整个流程保障了身份认证、数据加密和完整性保护。
|
3月前
|
机器学习/深度学习 数据可视化 PyTorch
深入解析图神经网络注意力机制:数学原理与可视化实现
本文深入解析了图神经网络(GNNs)中自注意力机制的内部运作原理,通过可视化和数学推导揭示其工作机制。文章采用“位置-转移图”概念框架,并使用NumPy实现代码示例,逐步拆解自注意力层的计算过程。文中详细展示了从节点特征矩阵、邻接矩阵到生成注意力权重的具体步骤,并通过四个类(GAL1至GAL4)模拟了整个计算流程。最终,结合实际PyTorch Geometric库中的代码,对比分析了核心逻辑,为理解GNN自注意力机制提供了清晰的学习路径。
354 7
深入解析图神经网络注意力机制:数学原理与可视化实现
|
3月前
|
机器学习/深度学习 缓存 自然语言处理
深入解析Tiktokenizer:大语言模型中核心分词技术的原理与架构
Tiktokenizer 是一款现代分词工具,旨在高效、智能地将文本转换为机器可处理的离散单元(token)。它不仅超越了传统的空格分割和正则表达式匹配方法,还结合了上下文感知能力,适应复杂语言结构。Tiktokenizer 的核心特性包括自适应 token 分割、高效编码能力和出色的可扩展性,使其适用于从聊天机器人到大规模文本分析等多种应用场景。通过模块化设计,Tiktokenizer 确保了代码的可重用性和维护性,并在分词精度、处理效率和灵活性方面表现出色。此外,它支持多语言处理、表情符号识别和领域特定文本处理,能够应对各种复杂的文本输入需求。
444 6
深入解析Tiktokenizer:大语言模型中核心分词技术的原理与架构
|
3月前
|
传感器 人工智能 监控
反向寻车系统怎么做?基本原理与系统组成解析
本文通过反向寻车系统的核心组成部分与技术分析,阐述反向寻车系统的工作原理,适用于适用于商场停车场、医院停车场及火车站停车场等。如需获取智慧停车场反向寻车技术方案前往文章最下方获取,如有项目合作及技术交流欢迎私信作者。
231 2
|
4月前
|
开发框架 监控 JavaScript
解锁鸿蒙装饰器:应用、原理与优势全解析
ArkTS提供了多维度的状态管理机制。在UI开发框架中,与UI相关联的数据可以在组件内使用,也可以在不同组件层级间传递,比如父子组件之间、爷孙组件之间,还可以在应用全局范围内传递或跨设备传递。
115 2
|
3月前
|
负载均衡 JavaScript 前端开发
分片上传技术全解析:原理、优势与应用(含简单实现源码)
分片上传通过将大文件分割成多个小的片段或块,然后并行或顺序地上传这些片段,从而提高上传效率和可靠性,特别适用于大文件的上传场景,尤其是在网络环境不佳时,分片上传能有效提高上传体验。 博客不应该只有代码和解决方案,重点应该在于给出解决方案的同时分享思维模式,只有思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
|
7月前
|
监控 Java 应用服务中间件
高级java面试---spring.factories文件的解析源码API机制
【11月更文挑战第20天】Spring Boot是一个用于快速构建基于Spring框架的应用程序的开源框架。它通过自动配置、起步依赖和内嵌服务器等特性,极大地简化了Spring应用的开发和部署过程。本文将深入探讨Spring Boot的背景历史、业务场景、功能点以及底层原理,并通过Java代码手写模拟Spring Boot的启动过程,特别是spring.factories文件的解析源码API机制。
204 2
|
3月前
|
算法 测试技术 C语言
深入理解HTTP/2:nghttp2库源码解析及客户端实现示例
通过解析nghttp2库的源码和实现一个简单的HTTP/2客户端示例,本文详细介绍了HTTP/2的关键特性和nghttp2的核心实现。了解这些内容可以帮助开发者更好地理解HTTP/2协议,提高Web应用的性能和用户体验。对于实际开发中的应用,可以根据需要进一步优化和扩展代码,以满足具体需求。
356 29
|
3月前
|
前端开发 数据安全/隐私保护 CDN
二次元聚合短视频解析去水印系统源码
二次元聚合短视频解析去水印系统源码
108 4
|
3月前
|
JavaScript 算法 前端开发
JS数组操作方法全景图,全网最全构建完整知识网络!js数组操作方法全集(实现筛选转换、随机排序洗牌算法、复杂数据处理统计等情景详解,附大量源码和易错点解析)
这些方法提供了对数组的全面操作,包括搜索、遍历、转换和聚合等。通过分为原地操作方法、非原地操作方法和其他方法便于您理解和记忆,并熟悉他们各自的使用方法与使用范围。详细的案例与进阶使用,方便您理解数组操作的底层原理。链式调用的几个案例,让您玩转数组操作。 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~

推荐镜像

更多
  • DNS