MIT加州理工等革命性KAN破记录,发现数学定理碾压DeepMind!KAN论文解读

KAN的数学原理

如果f是有界域上的多元连续函数,那么f可以被写成关于单个变量和加法二元操作的连续函数的有限组合。更具体地说,对于光滑函数f:[0, 1]ⁿ → R,有
f ( x ) = f ( x 1 , … , x n ) = ∑ q = 1 2 n + 1 Φ q ∑ p = 1 n ϕ q , p ( x p ) f(x) = f(x_1, \ldots , x_n) = \sum_{q=1}^{2n+1} \Phi_q \sum_{p=1}^n \phi_{q,p}(x_p) f(x)=f(x1,,xn)=q=12n+1Φqp=1nϕq,p(xp)

其中从某种意义上说,他们证明了 ϕ q , p : [ 0 , 1 ] → R  且  Φ q : R → R \phi_{q,p} : [0, 1] → R \text{ 且 } \Phi_q : R → R ϕq,p:[0,1]R  Φq:RR唯一真正的多元函数是加法,因为每个其他函数都可以用一元函数和求和来表示。

  • 不必局限于原始的方程式,其中只有两层非线性和隐藏层中的少量项(2n + 1),我们将将网络泛化为任意宽度和深度。
  • 科学和日常生活中的大多数函数通常是光滑的,并具有稀疏的组合结构,这可能有助于实现平滑的科尔莫戈洛夫-阿诺德表示。

请添加图片描述

KAN的架构

KAN的思想

假设我们有一个监督学习任务,包含输入输出对 {xi, yi},我们希望找到一个函数 f,使得对于所有数据点,yi ≈ f(xi)。方程暗示了如果我们能找到合适的一元函数 ϕq,p 和 Φq,那么任务就完成了。这启发我们设计了一个神经网络,明确地参数化了方程。由于所有需要学习的函数都是一元函数,我们可以将每个一维函数参数化为一个B样条曲线,其中包括可学习的局部B样条基函数的系数。

符号表示

  • KAN的形状表示 [ n 0 , n 1 , … , n L ] [n_0, n_1, \ldots , n_L] [n0,n1,,nL]
  • n i n_i ni 是计算图第 i i i 层中节点的数量。
  • ( l , i ) (l, i) (l,i) 表示第 l l l 层中的第 i i i 个神经元,并用 x l , i x_{l,i} xl,i 表示 ( l , i ) (l, i) (l,i)神经元的激活值
  • 在第 l l l 层和第 l + 1 l + 1 l+1 层之间,有 n l n l + 1 n_l n_{l+1} nlnl+1 个激活函数:连接 ( l , j ) (l, j) (l,j) ( l + 1 , i ) (l + 1, i) (l+1,i) 的激活函数用 ϕ l , i , j \phi_{l,i,j} ϕl,i,j 表示,其中 l = 0 , … , L − 1 l = 0, \ldots , L - 1 l=0,,L1 i = 1 , … , n l + 1 i = 1, \ldots , n_{l+1} i=1,,nl+1 j = 1 , … , n l j = 1, \ldots , n_l j=1,,nl

KAN的前向传播

第 (l + 1, j) 个神经元的激活值简单地是所有传入后激活值的总和:
x l + 1 , j = ∑ i = 1 n l x ~ l , i , j = ∑ i = 1 n l ϕ l , i , j ( x l , i ) , j = 1 , … , n l + 1 . x_{l+1,j} = \sum_{i=1}^{n_l} \widetilde{x}_{l,i,j} = \sum_{i=1}^{n_l} \phi_{l,i,j} (x_{l,i}), \quad j = 1, \ldots , n_{l+1}. xl+1,j=i=1nlx l,i,j=i=1nlϕl,i,j(xl,i),j=1,,nl+1.

矩阵形式
x l + 1 = ( ϕ l , 1 , 1 ( ⋅ ) ϕ l , 1 , 2 ( ⋅ ) ⋯ ϕ l , 1 , n l ( ⋅ ) ϕ l , 2 , 1 ( ⋅ ) ϕ l , 2 , 2 ( ⋅ ) ⋯ ϕ l , 2 , n l ( ⋅ ) ⋮ ⋮ ⋱ ⋮ ϕ l , n l + 1 , 1 ( ⋅ ) ϕ l , n l + 1 , 2 ( ⋅ ) ⋯ ϕ l , n l + 1 , n l ( ⋅ ) ) x l , x_{l+1} = \begin{pmatrix} \phi_{l,1,1}(·) & \phi_{l,1,2}(·) & \cdots & \phi_{l,1,n_l}(·) \\ \phi_{l,2,1}(·) & \phi_{l,2,2}(·) & \cdots & \phi_{l,2,n_l}(·) \\ \vdots & \vdots & \ddots & \vdots \\ \phi_{l,n_{l+1},1}(·) & \phi_{l,n_{l+1},2}(·) & \cdots & \phi_{l,n_{l+1},n_l}(·) \end{pmatrix} x_l, xl+1= ϕl,1,1()ϕl,2,1()ϕl,nl+1,1()ϕl,1,2()ϕl,2,2()ϕl,nl+1,2()ϕl,1,nl()ϕl,2,nl()ϕl,nl+1,nl() xl,

一个通用的 KAN 网络是 L 层的组合,则输出
KAN ( x ) = ( Φ L − 1 ∘ Φ L − 2 ∘ ⋯ ∘ Φ 1 ∘ Φ 0 ) x . \text{KAN}(x) = (\Phi_{L-1} \circ \Phi_{L-2} \circ \cdots \circ \Phi_1 \circ \Phi_0)x. KAN(x)=(ΦL1ΦL2Φ1Φ0)x.

原始的科尔莫戈洛夫-阿诺德表示方程(2.1)对应于一个形状为[n,2n + 1,1]的2层KAN。所有操作都是可微分的,因此我们可以使用反向传播来训练KAN。

KAN与MLP的比较

请添加图片描述

优化技巧

  • 残差激活函数:在文中公式(2.10)中,每个激活函数 ϕ(x) 被设计为残差形式,即包括一个基函数 𝑏(𝑥) 和一个B-样条函数。这里的 𝑏(𝑥)通常选择为 SiLU 函数,提供了非线性的基本变换,而B-样条部分允许进一步的细粒度调整。这种组合提高了模型对非线性关系的适应性和表达力。
  • 激活函数的尺度初始化:为了确保网络在初始化阶段具有合理的行为,激活函数的部分,特别是B-样条部分,通常初始化为接近零的小值,而权重 𝑤 使用 Xavier 初始化。这种初始化方法帮助避免训练初期的梯度爆炸或消失问题,促进了更稳定的学习过程。
  • 动态更新样条网格:由于B-样条是定义在有限区间的,但激活值可能在训练过程中超出这些区间,因此提出了动态更新网格的方法。这意味着根据激活函数输入的实际分布,调整定义样条函数的网格点,确保模型能够适应输入数据的变化,维持优化性能。

KAN的参数复杂度

我们考虑一个网络:

  • 深度为 L,
  • 每一层的宽度都相等,即 n0 = n1 = · · · = nL = N,
  • 每个样条函数的阶数为 k(通常 k = 3),在 G 个区间上(即 G + 1 个网格点)。

那么总共有大约 O(N^2L(G + k)) ∼ O(N^2LG) 个参数。相比之下,深度为 L,宽度为 N 的MLP只需要大约 O(N^2L) 个参数,这似乎比KAN更为高效。

幸运的是,KAN通常需要的 N 要比MLP小得多,这不仅节省了参数,而且实现了更好的泛化能力(见例如图3.1和3.3),并促进了可解释性。我们将KAN的泛化行为进行了以下的定理刻画。

KAN的逼近能力和缩放定律

逼近理论(KAT)

逼近理论(KAT):定理2.1(近似理论,KAT)说明了在KAN中使用有限网格大小时,可以用B-样条函数近似函数,并给出了逼近的误差上界。这个误差上界依赖于网格大小,但与函数的维度无关,这意味着KAN在处理高维数据时具有优势,可以避免维度诅咒。

神经网络缩放定律
神经网络的缩放定律描述了测试损失如何随着模型参数数量的增加而减少。这种关系通常表示为 ℓ ∝ N^(-α),其中 ℓ 是测试的均方根误差(RMSE),N 是模型参数的数量,α 是缩放指数。更大的 α 值意味着通过增加模型规模可以获得更大的性能改进。

  • Intrinsic dimensionality by Sharma & Kaplan: 此理论提出缩放指数 𝛼 从数据拟合的本征维度 𝑑 派生,缩放律为 ℓ∝𝑁−𝛼,其中 𝛼=(𝑘+1)/𝑑。
  • Maximum arity by Michaud et al.: 此理论考虑了计算图中最大的分支数(arity),并提出了一个与分支数相关的缩放指数 𝛼=(𝑘+1)/2。
  • Compositional sparsity by Poggio et al.: 此理论基于组合稀疏性,提出了缩放指数 𝛼=𝑚/2,其中 𝑚 是函数类中导数的阶。
  • KAN by Liu et al.: KAN 理论则是基于Kolmogorov-Arnold表示,其中提出的缩放指数是 𝛼=𝑘+1。这是因为 KAN 能够分解高维函数为多个一维函数,每个一维函数由样条来近似,从而实现高效的缩放。

在这些理论中,KAN(Kolmogorov-Arnold 网络)提出了一种全新的方法。KAN 将高维函数分解为多个一维函数,并利用光滑的 Kolmogorov-Arnold 表示来近似复杂函数。根据 KAN 的理论,缩放指数 α 取决于样条多项式的分段阶数,与其他工作相比缩放指数更大,拥有更好的拟合效果。

KAT和UAT的比较

  • 通用逼近定理(UAT):UAT表明,具有足够神经元数量的两层神经网络可以以任意精度近似任何函数。然而,它未提供关于所需神经元数量随误差容限的变化方式的界限,且在高维空间中存在维度诅咒的问题,导致神经元数量可能呈指数增长。

  • 近似理论(KAT):相比之下,KAT针对KANs(Kolmogorov-Arnold网络)提供了一种更为优化的逼近方法。KAT利用了函数的低维表示,使得神经网络在逼近时更有效率。KANs能够将高维函数分解成多个一维函数,这种分解方式有助于克服维度诅咒,并且使得神经网络更符合符号函数。

综上所述,KAT提供了一种更加灵活和高效的逼近方法,相比之下,UAT在高维空间中的逼近效果可能会受到限制,并且可能需要大量的神经元来达到所需的精度。

网格扩展

请添加图片描述

如何扩展,待更新

为了可解释性:简化 KAN 并使其具有交互性

  • 稀疏化(Sparsification):
    对于KAN中的激活函数进行稀疏化处理,通常通过L1正则化来实现。由于KAN中没有传统的线性权重,而是使用一维函数,因此需要对这些函数的稀疏性进行特别定义和优化。
  • 可视化(Visualization):
    通过将激活函数的重要性(例如,它们的输出影响程度)可视化,可以帮助研究者和开发者更好地理解模型的工作原理。这种可视化通常包括调整激活函数图像的透明度来反映其相对重要性。
  • 剪枝(Pruning):
    在训练过程中或训练后对模型进行剪枝,移除不重要的节点或激活函数,从而减少模型的复杂性。剪枝后的模型通常更加高效,且更易于分析和部署。
  • 符号化(Symbolification):
    将一些激活函数设置为特定的数学函数(如正弦、指数等),而不是完全依赖数据驱动的方式。这种方法有助于提升模型的数学解释性,使其输出更加可预测。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

解决Pyppeteer下载chromium慢或者失败的问题[INFO] Starting Chromium download.

文章目录 1.进入网址2.选择上面对应自己系统的文件夹进去3. 然后找到自己的python环境中的site-packages中pyppeteer中的chromium_downloader.py文件并打开 在首次使用Pyppeteer时需要下载chromium 1.进入网址 https://registry.npmmirror.com/binary.html?pathchromium-bro…

贪心算法应用例题

最优装载问题 #include <stdio.h> #include <algorithm>//排序int main() {int data[] { 8,20,5,80,3,420,14,330,70 };//物体重量int max 500;//船容最大总重量int count sizeof(data) / sizeof(data[0]);//物体数量std::sort(data, data count);//排序,排完数…

品高虚拟化后端存储的发展演进

在品高虚拟化技术不断发展的过程中&#xff0c;虚拟化的后端存储一直是关注的焦点之一。 本文将从最初的文件存储和NFS开始&#xff0c;追溯到集中式存储SAN&#xff0c;然后选择了Ceph的RBD方式&#xff0c;并最终抵达选择支持vhost协议的后端存储的现状&#xff0c;我们将探…

使用wxPython和pandas模块生成Excel文件

介绍&#xff1a; 在Python编程中&#xff0c;有时我们需要根据特定的数据生成Excel文件。本文将介绍如何使用wxPython和pandas模块来实现这个目标。我们将创建一个简单的GUI应用程序&#xff0c;允许用户选择输出文件夹和输入的Excel文件&#xff0c;并根据Excel文件中每个单…

图像处理技术与应用(四)

图像处理技术与应用入门 颜色空间及其转换 颜色空间是一种用于在数字图像中表达和指定颜色的方法。不同的颜色空间使用不同的方式来定义颜色&#xff0c;每种方式都有其特定的用途和优势。以下是一些常见的颜色空间及其特点&#xff1a; RGB&#xff08;红绿蓝&#xff09;&a…

每日一题(PTAL2):列车调度--贪心+二分

选择去维护一个最小区间 代码1&#xff1a; #include<bits/stdc.h> using namespace std; int main() {int n;cin>>n;int num;vector <int> v;int res0;for(int i0;i<n;i){cin>>num;int locv.size();int left0;int rightv.size()-1;while(left<…

AIGC技术带给我们什么?基于AIGC原理及其技术更迭的思考

AIGC技术带给我们什么&#xff1f;基于AIGC原理以及技术更迭的思考 前言 AI&#xff0c;这个词在如今人们的视野中出现频率几乎超过了所有一切其他的事物&#xff0c;更有意思的是&#xff0c;出现频率仅次于这个词的&#xff0c;几乎都会加上一个修饰亦或是前缀——AI&#…

快速排序找出第K大的元素

有序数组里第 K 大的元素就是index 为 array.length - k 的元素。 快速排序的思路主要就是选一个基准值p&#xff0c;然后将小于p的值放在p的左右&#xff0c;大于p的值放在p的右边&#xff0c;然后对左右数组进行递归。 利用这个思路&#xff0c;当我们找到这个基准值对应的 i…

【教学类-50-14】20240505“数一数”图片样式12:数一数(12个“人物”图案)

作品展示 背景需求&#xff1a; 前文做了“”材料”图片的数一数学具&#xff0c;效果不错&#xff0c; https://blog.csdn.net/reasonsummer/article/details/138466325https://blog.csdn.net/reasonsummer/article/details/138466325 为了让图案内容更丰富&#xff0c;我又…

Python Dash库:一个Web应用只需几行代码

大家好&#xff0c;在数据科学领域&#xff0c;数据可视化是将数据以图形化形式展示出来&#xff0c;帮助我们更直观地理解数据。Python中有一个非常流行的数据可视化库叫做Dash&#xff0c;Dash以其简洁、高效和强大的功能而闻名&#xff0c;它允许开发者快速构建交互式Web应用…

【智能算法】人类进化优化算法(HEOA)原理及实现

目录 1.背景2.算法原理2.1算法思想2.2算法过程 3.结果展示4.参考文献5.代码获取 1.背景 2024年&#xff0c;J Lian受到人类进化启发&#xff0c;提出了人类进化优化算法&#xff08;Human Evolutionary Optimization Algorithm, HEOA&#xff09;。 2.算法原理 2.1算法思想 …

JavaWEB 框架安全:Spring 漏洞序列.(CVE-2022-22965)

什么叫 Spring 框架. Spring 框架是一个用于构建企业级应用程序的开源框架。它提供了一种全面的编程和配置模型&#xff0c;可以简化应用程序的开发过程。Spring 框架的核心特性包括依赖注入&#xff08;Dependency Injection&#xff09;、面向切面编程&#xff08;Aspect-Or…

Springboot项目学习之各组件的用法和逻辑结构

1.Controller层&#xff08;Controller&#xff09;&#xff1a; 也称为前端控制器或请求处理器&#xff0c;它是项目与用户交互的入口。Controller接收HTTP请求&#xff0c;解析请求参数&#xff0c;调用Service层处理业务逻辑&#xff0c;并返回响应给客户端。 Controller通…

IP证书能免费申请吗

IP SSL证书是一种数字证书&#xff0c;用于保护网络服务器和网络浏览器之间的通信。该证书是一种主要保护公网IP地址的专属信任SSL证书。 IP类型的SSL证书对于直接用IP地址传输数据的技术人员来说&#xff0c;十分重要&#xff01;无论是防洪还是防劫持还是数据加密都起到了关…

【C 数据结构-动态内存管理】4. 无用单元收集(垃圾回收机制)

文章目录 【 1. 问题描述与解决方法 】【 2. 中断回收机制 】 【 1. 问题描述与解决方法 】 问题描述 动态存储管理的运行机制可以概括为&#xff1a;当用户发出申请空间的请求后&#xff0c;系统向用户分配内存&#xff1b;用户运行结束释放存储空间后&#xff0c;系统回收内…

【FL常用插件#1】Ozone11臭氧的安装和使用

本文内容收集自互联网&#xff0c;仅供个人学习参考使用&#xff0c;不允许用于商业用途&#xff0c;造成的侵权行为与本文作者无关 安装 VST2、VST3、AAX和NKS是音频技术界常见的几种插件格式&#xff0c;它们在功能和兼容性上有所不同&#xff1a; VST2 (Virtual Studio Tec…

用户管理中心——数据库设计用户注册逻辑设计

用户管理中心——数据库设计&用户注册逻辑设计 规整项目目录1. 数据库自动生成器的使用实现基本的数据库操作&#xff08;操作user表&#xff09; 2. 注册逻辑的设计(1) 写注册逻辑(2) 实现(3) 测试代码 3. 遇到的问题 规整项目目录 utils–存放工具类&#xff0c;比如加密…

关系型数据库MySQL开发要点之多表设计案例详解代码实现

什么是多表设计 项目开发中 在进行数据库表结构设计时 根据数据模型和业务关系 会根据业务需求和业务模块之间的关系分析设计表结构 由于业务之间互相关联 所以表结构之间也存在着各种联系 主要分为以下三种 一对多 每个部门下是有多个员工的 但是一个员工只能归属一个部…

京东JD商品详情API返回值揭秘:精准掌握商品信息

在当今电子商务繁荣的时代&#xff0c;对于电商平台来说&#xff0c;提供准确、详尽的商品信息对于满足用户需求、提升购物体验至关重要。京东作为中国领先的电商平台&#xff0c;通过其开放的API接口&#xff0c;为开发者提供了获取商品详情的强大工具。本文将深入探讨京东JD商…

FastDFS-单机扩容

描述 周一上班收到用户反馈系统异常&#xff0c;紧急排查日志发现报错&#xff1a;FdfsServerException:错误:28&#xff0c;错误信息:没有足够的存储空间。 解决 根据异常信息判断是文件服务器可用内存不够了&#xff0c;首先登录文件服务器&#xff0c;使用df -h命令查看一…