(2024)KAN: Kolmogorov–Arnold Networks:评论

KAN: Kolmogorov–Arnold Networks: A review

公和众与号:EDPJ(进 Q 交流群:922230617 或加 VX:CV_EDPJ 进 V 交流群)

目录

0. 摘要

1. MLP 也有可学习的激活函数

2. 标题的意义

3. KAN 是具有样条基激活函数的 MLP

4. 关于 KAN 打破维度灾难的说法是错误的

5. 参考文献


0. 摘要

为什么要评论这篇文章?2024 年 4 月 30 日,KAN [Liu et al., 2024] 出现在 ArXiV 上,到 5 月 7 日,我已经从多位学生那里听说了这篇论文,而这些学生平时并不会告诉我新论文。这一定很特别,我想。我决定看看。

如果我在专业上审查这篇论文,我会接受这篇论文,但需要做重大修改。这篇论文有足够的贡献,值得发表。但一些声明需要弱化,解释需要澄清,并且需要与基于样条(spline)的神经网络进行比较。

大纲:我对这篇论文提出了四个主要批评:

  1. 多层感知机(MLP)也有可学习的激活函数
  2. 论文的内容不符合其标题,Kolmogorov-Arnold networks(KANs)
  3. KANs是使用样条基函数作为激活函数的MLP
  4. KANs并没有打破维度灾难

页面:https://vikasdhiman.info/reviews/2024/05/08/review-KAN/  

(2024,KAN,MLP,可训练激活函数,样条函数,分层函数)Kolmogorov–Arnold 网络

1. MLP 也有可学习的激活函数

作者在摘要中声称: “虽然 MLP 在节点(“神经元”)上有固定的激活函数,但 KANs 在边(“权重”)上有可学习的激活函数。KANs 根本没有线性权重——每个权重参数都被一个参数化为样条的单变量函数所取代。”

这不是一个有用的描述,因为也可以将 MLP 解释为有 “可学习的激活函数”;这取决于你如何定义“激活函数”。考虑一个两层的 MLP,输入 x ∈ R^n,权重 W1, W2(暂时忽略偏置)和激活函数σ,

如果我定义 ϕ1(x) = σ(W_1·x) 并将 ϕ1(.) 称为激活函数,那么我在 MLP 中有一个可学习的激活函数。与图 0.1 相同,这是一种重新解释,而不是如所声称的那样重新设计 MLP。

2. 标题的意义

KANs 实际如何使用 Kolmogorov-Arnold Theorem(KAT)?该定理在 KANs 的开发中并没有实际作用。KANs 只是受到 KAT 的启发,而不是基于它。

那么 KAT 是什么?论文将其描述为,将任何光滑函数 f : [0, 1]^n → R 分解为有限基函数 ϕ^(2)_ q: R → R 和 ϕ_(q,p) : [0, 1] → R。

如果你打算使用 KAT,你需要理解 KAT 定理的中心论点,以及该定理与最接近的竞争对手通用逼近定理(Universal Approximation Theorem,UAT)有何不同。UAT 表明,任何函数都可以通过足够宽的两层神经网络来逼近。

我以求和的方式写了 MLP,而不是矩阵乘法,以便在 UAT 和 KAT 之间画出相似之处。UAT 和 KAT 之间有两个主要区别:

  1. UAT 处理具有常见激活函数的线性层(如 sigmoid [Cybenko, 1989]、ReLU、tanh),而 KAT 处理任意函数,可能是 “非平滑甚至分形的”。
  2. UAT 可能需要无限的隐藏单元(hidden units)进行精确逼近,而 KAT 只需要 2n+1 个隐藏单元。

我认为 KAT 的中心点在于只需要 2n + 1 个隐藏单元,否则它是一个比 UAT 弱的定理。KAN 论文是否一致使用了 2n + 1 个隐藏单元?没有。但他们通过说以下内容来证明论文的其余部分基于 KAT, “然而,我们对 KAT 在机器学习中的有用性更加乐观。首先,我们不需要坚持只有两层非线性和隐藏层中少量项(2n + 1)的原始公式(2.1):我们将网络推广到任意宽度和深度。”

好吧。但那我们不就回到了 UAT 了吗?

作者强调了 KAT 的一个方面,“从某种意义上说,他们表明唯一真正的多变量函数是加法,因为每个其他函数都可以使用单变量函数和求和来表示。” 这是一个很酷的解释,但这种解释并不能将 KAT 与已经在 MLP 中使用的 UAT 区分开来。

3. KAN 是具有样条基激活函数的 MLP

实际上,作者最终提出了一个 KAN 残差层,其每个标量函数写为,

什么是样条?【https://personal.math.vt.edu/embree/math5466/lecture10.pdf】对于本节的目的,你不需要了解样条。顺便说一句,一些样条在神经网络中使用的论文 [Bohra et al., 2020, Aziznejad et al., 2020] 没有在 KAN 论文中引用 。

现在,假设样条是特定类型基函数 B_i(x) 的线性组合 c_i·B_i(x) 的结果。为了将这个标量函数重新解释为 MLP,让我们重新写成如下,

其中,w 包含样条的可学习参数,一旦样条网格固定,b(x) 是确定的,尽管它可以变得可学习。让我们将其代入(2),

如果我们将 w 视为线性权重,将基函数视为激活函数,这与 MLP 非常接近,有以下几个区别:

  • 激活函数 b() 应用在输入侧,这通常不是 MLP 的一部分。然而,将输入转换为一组特征向量作为预处理步骤,而不是直接提供原始输入给 MLP,是很常见的。
  • 不像(3)中 w^(1)_(p,q) 是标量,(10) 中的 w^(1)_(p,q) 是向量。这不是问题,因为它仍然是通过基函数 b(x) 处理后的输入值的线性组合。为了明确这一点,我们将(10)写成矩阵向量乘法,后跟激活函数。

为了将(10)写成矩阵向量乘积,只考虑第一层项,

你可以重复应用这种解释,

其中,B(x) 与其他激活函数不同。它不是从一个标量产生一个标量,而是为输入中的每个标量值产生 G 个不同的值。

4. 关于 KAN 打破维度灾难的说法是错误的

作者声称,“KAN 具有有限网格大小,可以很好地逼近函数,其残差率与维度无关,因此打破了维度灾难!”

这是一个巨大的声明,需要大量的证据。正如前一节所述,如果所有 KAN 都可以写成 MLP,那么要么 MLP 和 KAN 都打破了维度灾难,要么都没有。

我的第一个反对意见是对 “维度灾难” 的解释。通常,机器学习中的维度灾难是通过训练一个函数达到所需误差所需的数据量来衡量的。

我不理解定理 2.1 的证明,尤其是第一步。不清楚这一结果是如何从 [de Boor, 2001] 中的哪个定理得出的。如果能提供页码或章节那就更好了。

这也违反直觉,因为假定所有 n 个输入维度都有相同的网格大小 G。如果 x 的每个维度被划分为不同的网格大小,界限会是什么样子。

5. 参考文献

[Aziznejad et al., 2020] Aziznejad, S., Gupta, H., Campos, J., and Unser, M. (2020). Deep neural networks with trainable activations and controlled lipschitz constant. IEEE Transactions on Signal Processing, 68:4688–4699.

[Bohra et al., 2020] Bohra, P., Campos, J., Gupta, H., Aziznejad, S., and Unser, M. (2020). Learning activation functions in deep (spline) neural networks. IEEE Open Journal of Signal Processing, 1:295–309.

[Cybenko, 1989] Cybenko, G. (1989). Approximation by superpositions of a sigmoidal function. Mathematics of control, signals and systems, 2(4):303–314.

[de Boor, 2001] de Boor, C. (2001). A Practical Guide to Splines. Applied Mathematical Sciences. Springer New York.

[Liu et al., 2024] Liu, Z., Wang, Y., Vaidya, S., Ruehle, F., Halverson, J., Soljaˇci´c, M., Hou, T. Y., and Tegmark, M. (2024). Kan: Kolmogorov-arnold networks. arXiv preprint arXiv:2404.19756. 

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

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

相关文章

基于Python爬虫的城市二手房数据分析可视化

基于Python爬虫的城市二手房数据分析可视化 一、前言二、数据采集(爬虫,附完整代码)三、数据可视化(附完整代码)3.1 房源面积-总价散点图3.2 各行政区均价3.3 均价最高的10个小区3.4 均价最高的10个地段3.5 户型分布3.6 词云图四、如何更换城市一、前言 二手房具有价格普…

《安全行业大模型技术应用态势发展报告(2024)》

人工智能技术快速迭代发展,大模型应用场景不断拓展,随着安全行业对人工智能技术的应用程度日益加深,大模型在网络安全领域的应用潜力和挑战逐渐显现。安全行业大模型技术的应用实践不断涌现,其在威胁检测、风险评估和安全运营等方…

idm下载慢怎么回事 idm批量导入下载使用方法

IDM (Internet Download Manager)是一款兼容性大,支持多种语言的下载管理软件,它可以自动检测并下载网页上的内容,这正是这一优点,使得它受到了广大用户的喜爱。在日常使用互联网的过程中,快速下载文件对我们来说非常重…

Patch SCN使用说明---惜分飞

软件说明 该软件是惜分飞(https://www.xifenfei.com)开发,仅用来查看和修改Oracle数据库SCN(System Change Number),主要使用在数据库因为某种原因导致无法正常启动的情况下使用该工具进行解决.特别是Oracle新版本中使用隐含参数,event,orad…

RH850系列芯片深度剖析 1.8-内存管理之MPU

RH850系列芯片深度剖析 1.8-内存管理之MPU 文章目录 RH850系列芯片深度剖析 1.8-内存管理之MPU一、MPU简介1.1 功能特性1.2 系统保护标识符(SPID)二、保护区域设置2.1 保护区域属性设置2.2 保护区域设置注意事项2.2.1 跨越保护区域边界2.2.2 无效的保护区域设置2.2.3 保护违规…

2-3 图像分类数据集

MNIST数据集是图像分类任务中广泛使用的数据集之一,但作为基准数据集过于简单,我们将使用类似但更复杂的Fashion-MNIST数据集。 %matplotlib inline import torch import torchvision # pytorch模型关于计算机视觉模型实现的一个库 from torch.utils i…

【Unity 人性动画的复用性】

Unity的动画系统,通常称为Mecanim,提供了强大的动画复用功能,特别是针对人型动画的重定向技术。这种技术允许开发者将一组动画应用到不同的角色模型上,而不需要为每个模型单独制作动画。这通过在模型的骨骼结构之间建立对应关系来…

【Odoo开源ERP】别把ERP与进销存软件混为一谈

导读:企业使用ERP软件能够实现管理升级,多方信息集成,按照既定策略逻辑运算,生成计划建议,减少人力成本,提高准确率的同时提高经营能力。 ERP,是MRP II的下一代软件,除了MRP II已有的…

JAVA 获取客户端信息工具类

获取客户端信息工具类 import com.wangyao.common.constant.ConstantNumeral; import jakarta.annotation.Nullable; import jakarta.servlet.http.HttpServletRequest; import jakarta.validation.constraints.NotNull; import lombok.extern.slf4j.Slf4j;import java.io.IOEx…

[单master节点k8s部署]18.监控系统构建(三)Grafana安装

Grafana是一个跨平台的开源的度量分析和可视化工具。支持多种数据源,比如OpenTSDB,Prometheus,ElasticResearch,Cloudwatch等。 Grafana安装 通过yaml配置grafana的pod和service,grafana工作在kube-system的命名空间…

【C++】 解决 C++ 语言报错:Memory Leak

文章目录 引言 内存泄漏(Memory Leak)是 C 编程中常见且严重的内存管理问题之一。当程序分配了内存而没有正确释放,导致内存无法被重新利用时,就会发生内存泄漏。这种错误会导致程序占用越来越多的内存,最终可能导致系…

NFT音乐版权系统的主要功能

NFT音乐版权系统是指利用区块链技术和NFT技术来管理和交易音乐版权的系统。该系统的主要功能包括以下几个方面。北京木奇移动技术有限公司,专业的软件外包开发公司,欢迎交流合作。 1. 音乐版权确权 NFT音乐版权系统可以为音乐作品的版权提供独特的标识和…

FineBI在线学习资源-数据处理

FineBI在线学习资源汇总: 学习资源 视频课程 帮助文档 问答 数据处理学习文档: 相关资料: 故事背景概述-https://help.fanruan.com/finebi6.0/doc-view-1789.html 基础表处理-https://help.fanruan.com/finebi6.0/doc-view-1791.html …

什么是数字化产科管理平台?

什么是数字化产科管理平台? 数字化产科管理平台是为医院产科量身定制的信息管理系统,旨在提高医院产科的服务质量和管理效率。该平台全面覆盖了孕妇从怀孕开始到生产结束以及产后42天以内的一系列医院保健服务信息。以下是数字产科管理平台的详细介绍&a…

LLM - 神经网络的训练过程

1. 对于回归问题,用损失函数来计算预测值和真实值的差异,一种常用的公式是如下图所示(Mean Square Error),如果损失函数的值越小说明神经网络学习越准确,所以神经网络训练目标是减小损失函数的值, 2. 对于分类问题&…

Django学习第五天

启动项目命令 python manage.py runserver 图像验证码生成随机字母或者数字 import random from PIL import Image, ImageDraw, ImageFont, ImageFilterdef check_code(width120, height40, char_length5, font_fileZixunHappyBold.ttf, font_size28):code []img Image.new…

19C 单机文件系统安装文档

准备工作 1)查看系统版本、内核参数 more /etc/redhat-release more /etc/redflag-releaseuname -a2)查看当前系统是否配置了HugePages。在下面的查询中,HugePages的几个相关值都为0,表明当前未配值HugePages,其次可以看到该版本的大页大小为…

wsl安装Linux系统到指定位置

默认情况下,wsl安装的系统,会安装到系统C盘,长期下去,很容易把C盘的空间消耗完,从而影响系统的正常运行,所以我建议是将wsl所有的系统都安装到其它磁盘中,便于维护。 1、导出镜像 通过wsl -l -v 查看当前已安装的系统版本。 导出到当前目录位置,也可以指定目录位置。 w…

【并发编程JUC】AQS详解

定义理解 AQS,全称为AbstractQueuedSynchronizer,是Java并发包(java.util.concurrent)中的一个框架级别的工具类,用于构建锁和同步器。它是许多同步类的基础,如ReentrantLock、Semaphore、CountDownLatch等…

如何在 SwiftUI 中熟练使用 sensoryFeedback 修饰符

文章目录 前言背景介绍平台支持仅支持watchOS支持watchOS和iOS 基本用法预定义样式根据触发器值选择样式使用场景当值更改时触发使用条件闭包触发使用反馈闭包触发 可以运行 Demo总结 前言 SwiftUI 引入了新的 sensoryFeedback 视图修饰符,使我们能够在所有 Apple …