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

news2024/11/23 11:30:33

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):
    将一些激活函数设置为特定的数学函数(如正弦、指数等),而不是完全依赖数据驱动的方式。这种方法有助于提升模型的数学解释性,使其输出更加可预测。

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

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

相关文章

web 基础之 HTTP 请求

web 基础 网上冲浪 就是在互联网(internet)上获取各种信息,进行工作,或者娱乐,他的英文表示surfing the Internet,因 “surfing”d的意思是冲浪,即成为网上冲浪,这是一种形象说法, 也是一个非…

数据交换和异步请求(JSONAjax))

目录 一.JSON介绍1.JSON的特点2.JSON的结构3.JSON的值JSON示例4.JSON与字符串对象转换5.注意事项 二.JSON在Java中的使用1.Javabean to json2.List to json3.Map to JSONTypeToken底层解析 三.Ajax介绍1.介绍2.Ajax经典应用场景 四.Ajax原理示意图1. 传统web应用2.Ajax方法 五.…

贪吃蛇大作战(C语言--实战项目)

朋友们!好久不见。经过一段时间的沉淀,我这篇文章来和大家分享贪吃蛇大作战这个游戏是怎么实现的。 (一).贪吃蛇背景了解及效果展示 首先相信贪吃蛇游戏绝对称的上是我们00后的童年,不仅是贪吃蛇还有俄罗斯⽅块&…

YAML如何操作Kubernetes核心对象

Pod Kubernetes 最核心对象Pod Pod 是对容器的“打包”,里面的容器(多个容器)是一个整体,总是能够一起调度、一起运行,绝不会出现分离的情况,而且 Pod 属于 Kubernetes,可以在不触碰下层容器的…

Day 63:单调栈 LeedCode 84.柱状图中最大的矩形

84. 柱状图中最大的矩形 给定 n 个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1 。 求在该柱状图中,能够勾勒出来的矩形的最大面积。 示例 1: 输入:heights [2,1,5,6,2,3] 输出:10 解释&a…

Linux系统使用Docker安装青龙面板并实现远程访问管理面板

文章目录 一、前期准备本教程环境为:Centos7,可以跑Docker的系统都可以使用。本教程使用Docker部署青龙,如何安装Docker详见: 二、安装青龙面板三、映射本地部署的青龙面板至公网四、使用固定公网地址访问本地部署的青龙面板 青龙…

Codeforces Round 942 (Div. 2) A-D1

题目&#xff1a; Codeforces Round 942 (Div. 2) D2有缘再补吧… A. Contest Proposal 题意 两个升序&#xff08;不降&#xff09;的序列a和b&#xff0c;可以在a的任意位置插入任意数&#xff08;要保持升序&#xff09;&#xff0c;使对任意i&#xff0c;有a[i] < b[…

ENVI下实现遥感矿物蚀变信息提取

蚀变岩石是在热液作用影响下&#xff0c;使矿物成分、化学成分、结构、构造等发生变化的岩石。由于它们经常见于热液矿床的周围&#xff0c;因此被称为蚀变围岩&#xff0c;蚀变围岩是一种重要的找矿标志。利用围岩蚀变现象作为找矿标志已有数百年历史&#xff0c;发现的大型金…

ldap对接jenkins

ldap结构 配置 - jenkins进入到 系统管理–>全局安全配置 - 安全域 选择ldap - 配置ldap服务器地址&#xff0c;和配置ldap顶层唯一标识名 配置用户搜索路径 - 配置管理员DN和密码 测试认证是否OK

Java | Leetcode Java题解之58题最后一个单词的长度

题目&#xff1a; 题解&#xff1a; class Solution {public int lengthOfLastWord(String s) {int index s.length() - 1;while (s.charAt(index) ) {index--;}int wordLength 0;while (index > 0 && s.charAt(index) ! ) {wordLength;index--;}return wordL…

《设计一款蓝牙热敏打印机》

主控芯片用易兆威蓝牙ic&#xff0c;通讯接口&#xff1a;蓝牙、串口、usb 安卓apk用java kotlin编写、上位机用Qt编写。

基于51单片机的自动售货机系统

一、项目概述 本文设计了一款以AT89C51单片机为核心的自动售货机系统&#xff0c;并且着重详细地介绍了自动售货机的整体系统设计方案、硬件选择基础、软件使用方法及技巧。 以AT89C51作为CPU处理单元连接各个功能模块&#xff1b;以44矩阵键盘作为输入控制模块对货物进行种类…

一文了解栈

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、栈是什么&#xff1f;二、栈的实现思路1.顺序表实现2.单链表实现3.双向链表实现 三、接口函数的实现1.栈的定义2.栈的初始化3.栈的销毁4.入栈5.出栈6.返回栈…

爆赞好文之java反序列化之CB超详细易懂分析

java反序列化之CB超详细易懂分析 CB1环境搭建前言分析PropertyUtilsBeanComparatorPriorityQueue CB2环境搭建前言exp CB1 环境搭建 pom.xml <dependencies><dependency><groupId>commons-beanutils</groupId><artifactId>commons-beanutils&l…

回归预测 | Matlab实现基于CNN-SE-Attention-ITCN多特征输入回归组合预测算法

回归预测 | Matlab实现基于CNN-SE-Attention-ITCN多特征输入回归组合预测算法 目录 回归预测 | Matlab实现基于CNN-SE-Attention-ITCN多特征输入回归组合预测算法预测效果基本介绍程序设计参考资料 预测效果 基本介绍 【模型简介】CNN-SE_Attention结合了卷积神经网络&#xff…

12V系统车灯电源口浪涌过压防护方案及保护器件选型推荐

12V系统车灯驱动电源口浪涌过压防护方案图 12V系统车灯驱动电源口浪涌过压防护方案详解 从图中可知&#xff0c;方案针对车灯驱动电路电源输入口的浪涌过压保护。在车载12V系统中&#xff0c;电源线上面的瞬态浪涌主要来源于抛负载。在12V系统车灯驱动电源输入端&#xff0c;东…

Scroll生态项目Penpad,再获Presto Labs的投资

Penpad是Scroll生态的LaunchPad平台&#xff0c;其整计划像收益聚合器以及RWA等功能于一体的综合性Web3平台拓展&#xff0c;该平台在近期频获资本市场关注&#xff0c;并获得了多个知名投资者/投资机构的支持。 截止到本文发布前&#xff0c;Penpad已经获得了包括Scroll联合创…

6.移除元素

文章目录 题目简介题目解答解法一&#xff1a;双指针代码&#xff1a;复杂度分析&#xff1a; 解法二&#xff1a;双指针优化代码&#xff1a;复杂度分析&#xff1a; 题目链接 大家好&#xff0c;我是晓星航。今天为大家带来的是 相关的讲解&#xff01;&#x1f600; 题目简…

【计组OS】访存过程以及存储层次化结构

苏泽 本专栏纯个人笔记作用 用于记录408 学习的笔记记录&#xff08;敲了两年码实在不习惯手写笔记了&#xff09; 如果能帮助到大家当然最好 但由于是工作后退下来备考 很多说法和想法都会结合实际开发的思想 可能不是那么的纯粹应试哈 希望大家挑选自己喜欢的口味食用…

语音识别--光谱门控降噪

⚠申明&#xff1a; 未经许可&#xff0c;禁止以任何形式转载&#xff0c;若要引用&#xff0c;请标注链接地址。 全文共计7267字&#xff0c;阅读大概需要3分钟 &#x1f308;更多学习内容&#xff0c; 欢迎&#x1f44f;关注&#x1f440;【文末】我的个人微信公众号&#xf…