深入理解 Kolmogorov–Arnold Networks (KAN)

深入理解 Kolmogorov–Arnold Networks (KAN)

在这里插入图片描述

最近,一篇名为 KAN: Kolmogorov–Arnold Network 的论文在机器学习领域引起了广泛关注。这篇论文提出了一种全新的神经网络视角,并提出了一种可以替代现有多层感知器(MLP)的新方案。要知道,多层感知器是当前机器学习技术的基石,如果 KAN 方案证明有效,将极大地推动深度学习的发展。

KAN 的设计灵感来源于 Kolmogorov-Arnold 表示定理,与传统的多层感知器(MLP)不同,它们通过使用可学习的函数替代固定的激活函数,从根本上消除了对线性权重矩阵的依赖。

本文将带你快速理解 KAN 的核心概念。

文章目录

    • 理论基础
      • 这个定理如何与机器学习结合?
      • KAN 如何摆脱维度诅咒?
    • 什么是 Kolmogorov–Arnold Networks (KAN)?
      • KAN 架构
      • B-样条:KAN 的核心
      • 结合两者的优势
    • 网络简化
    • KAN 的创新性
    • 四个引人入胜的例子
      • 拟合符号公式
      • 特殊函数
      • 持续学习
      • 偏微分方程求解
    • 最后的思考
      • KAN 的热议是否值得?
      • KAN + 大语言模型
    • 结论

理论基础

KAN 的理论基础,源自两位苏联数学家 Vladimir Arnold 和 Andrey Kolmogorov 的研究成果。

他们的理论研究基于多变量连续函数的概念,根据这一理论,任何多变量连续函数 f f f​ 都可以表示为有限个单变量连续函数的组合。
f ( x ) = f ( x 1 , … , x n ) = ∑ q = 0 2 n Φ q ( ∑ p = 1 n ϕ q , p ( x p ) ) f(\textbf{x}) = f(x_1, \dots ,x_n)=\sum_{q=0}^{2n}\Phi_q\bigg(\sum_{p=1}^n \phi_{q,p}(x_p)\bigg) f(x)=f(x1,,xn)=q=02nΦq(p=1nϕq,p(xp))
其中 ϕ q , p : [ 0 , 1 ] → R \phi_{q,p}:[0,1] \to \mathbb{R} ϕq,p:[0,1]R Φ q : R → R \Phi_q:\mathbb{R} \to \mathbb{R} Φq:RR

这个定理如何与机器学习结合?

在机器学习中,随着数据维度的增加,高效精确地近似复杂函数显得尤为重要。目前的主流模型,如多层感知器(MLP),常常难以应对高维数据,这种现象被称为维度诅咒

然而,Kolmogorov-Arnold 定理为构建能够克服这一挑战的网络(如 KAN)提供了理论支撑。

在这里插入图片描述

KAN 与 MLP 的对比

KAN 如何摆脱维度诅咒?

该定理允许将复杂的高维函数分解为简单的一维函数组合。通过集中优化这些一维函数而非整个多变量空间,KAN 大幅降低了实现精确建模所需的复杂性和参数数量。此外,由于这些函数较为简单,KAN 也因此成为了模型简单且易于解释的代表。

什么是 Kolmogorov–Arnold Networks (KAN)?

Kolmogorov-Arnold Networks(简称 KAN)是一种新型神经网络架构,灵感来源于 Kolmogorov-Arnold 表示定理。与传统使用固定激活函数的神经网络不同,KAN 在网络的边缘采用可学习的激活函数。这种设计使得 KAN 中每个权重参数都可以被一个单变量函数替换,这些函数通常以样条函数形式参数化,从而提供了极高的灵活性,并能够用更少的参数来模拟复杂的函数,增强了模型的可解释性。

在这里插入图片描述

KAN 兼具 MLP 结构和样条的优势

KAN 架构

Kolmogorov-Arnold Networks (KAN) 的架构围绕一个创新的概念:传统的权重参数在网络的边缘被单变量函数参数所取代。在 KAN 中,每个节点汇总这些函数的输出时不进行任何非线性变换,这与 MLP 中的做法(线性变换后跟非线性激活函数)形成了鲜明对比。
KAN ( x ) = ( Φ L − 1 ∘ Φ L − 1 ∘ ⋯ ∘ Φ 1 ∘ Φ 0 ) MLP( x ) = ( W L − 1 ∘ σ ∘ W L − 1 ∘ σ ⋯ ∘ W 1 ∘ σ ∘ W 0 ∘ σ ) KAN vs. MLP 公式 \begin{align*} \text{KAN}(\textbf{x}) &= (\Phi_{L-1} \circ \Phi_{L-1} \circ \dots \circ \Phi_1 \circ \Phi_0) \\ \text{MLP(\textbf{x})} &= (W_{L-1} \circ \sigma \circ W_{L-1} \circ \sigma \dots \circ W_1 \circ \sigma \circ W_0 \circ \sigma)\\ \quad \end{align*}\\ \text{KAN vs. MLP 公式} KAN(x)MLP(x)=(ΦL1ΦL1Φ1Φ0)=(WL1σWL1σW1σW0σ)KAN vs. MLP 公式
其中 MLP 中, W W W 表示线性权重参数, σ \sigma σ 表示非线性激活函数。

B-样条:KAN 的核心

论文中一个容易被忽略的重要部分是对样条的描述。样条是 KAN 学习机制的核心,它们取代了神经网络中通常使用的传统权重参数。

在这里插入图片描述

样条结构细节

样条的灵活性使其能够通过调整其形状来适应性地建模数据中的复杂关系,从而最小化近似误差,增强了网络从高维数据集中学习细微模式的能力。

KAN 中样条的通用公式可以用 B-样条来表示:
spline ( x ) = ∑ i c i B i ( x ) \text{spline}(x) = \sum_i c_iB_i(x) spline(x)=iciBi(x)

这里, spline ( x ) \text{spline}(x) spline(x) 表示样条函数。 c i c_i ci 是训练期间优化的系数,而 B i ( x ) B_i(x) Bi(x) 是定义在网格上的 B-样条基函数。网格点定义了每个基函数 B i B_i Bi 活跃并显著影响形状平滑度的区间。你可以将它们视为影响网络准确性的超参数。更多的网格意味着更多的控制更高的精度,同时也意味着需要学习更多的参数。

在这里插入图片描述

通过多个步骤训练 KAN (来源: GitHub)

在训练期间,这些样条的 c i c_i ci 参数(基函数 B i ( x ) B_i(x) Bi(x) 的系数)通过优化以最小化损失函数,从而调整样条的形状以最佳地适应训练数据。这种优化通常涉及梯度下降等技术,每次迭代都会更新样条参数以减少预测误差。

结合两者的优势

虽然 KAN 基于Kolmogorov-Arnold 表示定理,但它也从 MLP 中汲取灵感,结合了各自的优势,避免了各自的缺点。KAN 在外部结构上借鉴了 MLP,而在内部则采用了样条。

因此,KAN 不仅能学习特征(得益于与 MLP 的外部相似性),还能通过优化这些学到的特征达到更高的精度(得益于与样条的内部相似性)。

网络简化

在这里插入图片描述

网络符号概述

论文进一步解释了一些网络简化的方法。我将只介绍其中两种我认为非常有趣的方法。

  1. 符号化:KAN 通过使用组合的更简单、通常可解释的函数来近似函数,从而能够提供可解释的数学公式,如上图所示。
  2. 修剪:论文中还讨论了通过在网络训练后移除不太重要的节点或连接来优化网络架构的另一个方面。这个过程有助于降低复杂性和规模。修剪侧重于识别并消除对输出贡献最小的网络部分,使网络更加轻便,也可能更易于解释。

KAN 的创新性

Kolmogorov-Arnold 表示定理本身并不是新的**,**那么为什么之前没有在机器学习中广泛使用它呢?正如论文所解释的:

虽然已经进行了多次尝试……然而,大多数研究都坚持使用原始的深度- 2 2 2 ,宽度- ( 2 n + 1 ) (2n + 1) (2n+1) 表示,并没有机会利用更现代的技术(例如,反向传播)来训练网络。

这篇论文的创新之处在于,它调整了这一理念并将其应用于当前的机器学习环境。通过使用任意的网络架构(深度、宽度)并采用反向传播和修剪等技术,KAN 比以往的研究更接近实际应用。

在机器学习中,Kolmogorov-Arnold 表示定理基本上被视为理论上可行但实际上无用。

因此,尽管之前已经有尝试在机器学习中使用 Kolmogorov-Arnold 表示定理,但可以说 KAN 提供了一种全新的方法,因为它考虑到了机器学习目前的状况。这是对之前有限探索的一个重要更新。

四个引人入胜的例子

论文比较了 KAN 和 MLP 在多个方面的性能,其中大多数都非常引人注目。在这一部分,我将列举一些特别有趣的例子。这些例子的详细内容和更多信息可以在论文中找到。

拟合符号公式

这是一个例子,展示了训练不同的 MLP 和一个 KAN 来拟合不同输入维度的函数。从下面的描述可以看出,与 MLP 相比,KAN 在这个参数数量范围内具有更好的扩展性

这突出了更深层次的 KAN 拥有更大的表达能力,这一点对于 MLP 也是如此:更深的 MLP 比较浅的具有更强的表达能力。

在这里插入图片描述

特殊函数

论文中的另一个例子是比较 KAN 和 MLP 在拟合 15 个数学和物理中常用的特殊函数上的表现。结果显示,在几乎所有这些函数中,KAN 在具有相同数量的参数的情况下,实现了更低的训练/测试损失

在这里插入图片描述

持续学习

持续学习是指网络如何随时间适应新信息而不忘记已经学到的知识。这在神经网络训练中是一个重大挑战,特别是在避免所谓的灾难性遗忘问题上,后者指的是新知识的获取导致之前的信息迅速丧失。

得益于样条函数的局部性,KAN 展示了保持已学习信息并适应新数据的能力,而不会发生灾难性遗忘。与依赖全局激活的 MLP 不同,后者可能无意中影响模型远处的部分,KAN 仅修改每个新样本附近的有限组样条系数。这种集中调整保持了样条其他部分中存储的先前信息。

在这里插入图片描述

偏微分方程求解

在偏微分方程求解的应用中,一个 2 2 2 层宽度- 10 10 10 的 KAN 的准确度比 4 4 4 层宽度- 100 100 100 的 MLP 高 100 100 100 倍( 1 0 − 7 10^{-7} 107 vs 1 0 − 5 10^{-5} 105 MSE),并且在参数效率上也高出 100 100 100 倍( 1 0 2 10^2 102 vs 1 0 4 10^4 104 参数)。

在这里插入图片描述

论文还展示了更多的实验。其中一个实验涉及将 KAN 应用于 几何扭结不变量(geometric knot invariant) 问题,实现了 81.6% 的测试准确率,而 Google Deepmind 开发的一个 MLP 模型实现了 78% 的准确率,拥有约 3 × 1 0 5 3 \times 10^5 3×105参数。

最后的思考

KAN 的热议是否值得?

这取决于你的视角。之所以广泛讨论 KAN,是因为它被视为机器学习领域的一线希望。我在之前的文章中讨论了我们需要新的创新来帮助我们克服机器学习未来的障碍,特别是在数据计算方面。尽管 KAN 并非刻意为此设计,但它可能成为一种解决方案。

KAN 主要针对 AI 在科学应用中的使用而设计,但现在已有人将其用于混合各种机器学习技术,包括多头注意力机制。

KAN + 大语言模型

由于 KAN 能够有效地建模和发现复杂的科学规律和模式,因此特别适用于AI + 科学应用。KAN 特别适合那些需要理解解释基础原理的任务,因为它们的结构允许将函数分解为符号数学表达式。这使得它们非常适合科学研究,这些研究需要发现这类关系,而不像大语言模型(LLM)那样,主要任务通常涉及处理庞大的数据集以进行自然语言理解和生成。

结论

从我的角度来看,最好的做法是根据 KAN 本身的特性来评价它,而不是基于我们希望它成为什么。这并不意味着将 KAN 整合入大语言模型是不可能的,事实上,已经有了一个高效的PyTorch 实现的 KAN。但必须注意,现在称 KAN 为革命性改变游戏规则还为时尚早。KAN 还需要更多由社区专家进行的实验。

尽管 KAN 在特定环境下提供了显著的优势,但它们也带来了一些限制和需要谨慎考虑的因素:

  1. 复杂性和过拟合:KAN 可能会过拟合,特别是在数据有限的情况下。它们形成复杂模型的能力可能会将噪声误认为是重要模式,导致泛化能力差。
  2. 计算需求:由于其专门化的性质,KAN 可能在 GPU 优化方面面临挑战,这可能会影响并行处理的效率。这种架构可能导致 GPU 上的操作速度较慢,需要进行序列化处理,从而导致内存利用效率低下,可能使 CPU 成为这些网络的更合适的平台。
  3. 适用性:KAN 主要设计用于科学和工程任务,其中理解底层函数至关重要。它们可能不那么适用于需要大规模模式识别或分类的领域,如图像识别或自然语言处理,这些领域可能更适合使用更简单或更抽象的模型。

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

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

相关文章

19 分页:快速地址转换(TLB)

通过上一节中的知识,可以知道使用分页作为核心机制来实现虚拟内存是比较不错的,但是因为复杂的查询和转换逻辑,导致性能开销比较大。这里就要使用硬件来提升了,便出现了地址转换旁路缓冲存储器(TLB)&#x…

中职智慧校园建设内容规划

1. 渠道先行 1) IT根底设施渠道是支撑智慧学校使用体系所必需的运转环境,是首要需求建造的内容,但是要遵从有用准则,IT设备开展很快,更新很快,不要片面追求全而新; 2) 使用根底渠道是支撑智慧学校使用体系作…

动态多目标优化算法:基于自适应启动策略的混合交叉动态约束多目标优化算法(MC-DCMOEA)求解DCP1-DCP9(提供MATLAB代码)

一、动态多目标优化问题 1.1问题定义 1.2 动态支配关系定义 二、 基于自适应启动策略的混合交叉动态多目标优化算法 基于自适应启动策略的混合交叉动态多目标优化算法(Mixture Crossover Dynamic Constrained Multi-objective Evolutionary Algorithm Based on Se…

Git系列:git tag 使用技巧

💝💝💝欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:「stormsha的主页」…

机器学习:葡萄酒品质预测

说明,此项目是我的期末大作业,包括了对数据集探索,预处理以及分类的各个详细过程与描述,代码简单,主要是一个分类项目的流程,并没有对模型进行深度研究,因此我写在这里。 目录 一、问题介绍 …

分层存储无法拯救 Kafka

01 引言 Apache Kafka 自诞生之日起,就以其卓越的设计和强大的功能,成为了流处理领域的标杆。它不仅定义了现代流处理架构,更以其独特的分布式日志抽象,为实时数据流的处理和分析提供了前所未有的能力。Kafka 的成功&#xff0…

nacos命名空间的配置

给微服务配置namespace 给微服务配置namespace只能通过修改配置来实现。 例如,修改order-service的application.yml文件: spring:cloud:nacos:server-addr: localhost:8848discovery:cluster-name: HZnamespace: 492a7d5d-237b-46a1-a99a-fa8e98e4b0f…

NodeMCU ESP8266 获取I2C从机地址

文章目录 前言关于地址位读写位程序总结前言 I2C总线上可以挂载很多的从设备,每个设备都会有一个自己唯一的一个地址; 关于地址位 通常地址位占7位数据,主设备如果需要向从机发送/接收数据,首先要发送对应从机的地址,然后会匹配总线上挂载的从机的地址; 读写位 该位…

windows编译opencv4.9

opencv很多人在windows上编译感觉特别麻烦,没有linux下方便,设定以下三点,我们几乎会无障碍。 1 安装cuda,cudnn 安装好cuda,cudnn,把cudnn的头文件,库等等拷贝到cuda的安装目录下面&#xff…

实现红黑树

目录 红黑树的概念 红黑树的节点结构定义 红黑树的插入 红黑树的验证 实现红黑树完整代码 红黑树的概念 红黑树 ,是一种 二叉搜索树 ,但 在每个结点上增加一个存储位表示结点的颜色,可以是 Red 或 Black 。 通过对 任何一条从根到叶子的…

1-2亿条数据需要缓存,如何合理设计存储

单机是不可能的,肯定是分布式存储 数据怎么落? 一般业界有三种解决方案 哈希取余分区 一致性哈希算法分区 哈希槽分区(大厂专用,都在用)最终的选择

信息检索(37):Query-as-context Pre-training for Dense Passage Retrieval

Query-as-context Pre-training for Dense Passage Retrieval 标题摘要1 引言2 初步:上下文监督预训练2.1 coCondenser2.2 CoT-MAE 3 查询即上下文预训练3.1 预训练3.2 微调 4 实验4.1 预训练4.2 微调4.3 基线4.4 主要结果4.5 域外评估 5 分析5.1 生成的查询数量的影…

面向电商家居行业3D室内场景合成中的空间感知

本文主要介绍了3D场景合成技术在电商领域,尤其是家居家装行业的应用。它解释了如何使用3D场景合成创建逼真的室内设计,让消费者能够交互式地查看和体验产品,提高购物的趣味性和效率。文章提到了两种主要的3D室内场景生成算法:传统…

RN开发搬砖经验之—分析与定位图片文件被清空的原因

如题 最近工作上处理的一个BUG,先讲下结论/原因,然后再分享该主题相关的东西 结论是:copy图片文件时,源路径与目标路径相同—输入输出流同时操作同一个文件,导致文件清空了! copy文件的主要源码如下&#…

OFDM802.11a的FPGA实现(十二)使用FFT IP核添加循环前缀

原文链接(相关文章合集):OFDM 802.11a的xilinx FPGA实现 目录 1.前言2.循环前缀3.硬件实现4.ModelSim仿真 1.前言 为了能够消除传输过程当中的符号间干扰,在IFFT处理完毕之后还要加上循环前缀。 2.循环前缀 实际通信信道中,由于接…

深度学习设计模式之单例模式

一、单例模式简介 一个类只能有一个实例,提供该实例的全局访问点; 二、单例模式实现步骤 使用一个私有构造函数、一个私有静态变量以及一个公有静态函数来实现。 私有构造函数保证了不能通过构造函数来创建对象实例,只能通过公有静态函数返…

【计算机网络】物理层 通信基础、奈氏准则、香农公式 习题2

下列说法中正确的是( )。 A. 信道与通信电路类似,一条可通信的电路往往包含一个信道 B.调制是指把模拟数据转换为数字信号的过程 C. 信息传输速率是指通信信道上每秒传输的码元数 D.在数值上,波特率等于比特率与每符号所含的比特数的比值 信息传输速率&a…

65-CPLD电路设计(安路为例)

视频链接 CPLD电路设计(安路为例)01_哔哩哔哩_bilibili CPLD电路设计(以安路为例) 浅谈板级电源设计的三种方法_哔哩哔哩_bilibili 参考【浅谈板级电源设计的三种方法】 FPGA板级硬件实战S1~7课 实战Power2-电…

^_^填坑备忘^_^C#自动化编程实现STK+Exata对卫星互联网星座进行网络仿真

C#实际选择 STK11版本 or STK12版本的问题备注。 【C#自动化客户端调用STK时,实际选择 STK11版本 or STK12版本 的调试运行备注】 以下代码“更新并重新打包备份为”〔testSTKQualNetInterface备份08.1_★避坑★【种子卫星:天线直接安装在卫星上&#…