当前位置:   article > 正文

MLP一夜被干掉?革命性新网络KAN【第一篇-base】

MLP一夜被干掉?革命性新网络KAN【第一篇-base】

要看完哦,文末彩蛋

用“极市平台”的导读语来说:新网络KAN基于柯尔莫哥洛夫-阿诺德定理,带着更少的参数、更强的性能、更好的可解释性来了,深度学习架构革新进入新时代!

目录

导语 ​编辑

KAN的基础理论

KAN架构

实现细节(Implementation details)

参数 (Parameter count)


导语 

论文链接:https://arxiv.org/pdf/2404.19756

Code link:GitHub - KindXiaoming/pykan: Kolmogorov Arnold Networks

值得一提的是:KAN名字的由来是为了纪念两位伟大的已故数学家:Andrey Kolmogorov和Vladimir Arnold。

相比MLP,KAN model将可学习的激活函数从节点(神经元)移动至边(权重)上。
实验结果显示,KAN比传统的MLP有更加优越的性能,提升了神经网络的准确性和可解释性

事实证明,Kolmogorov-Arnold表示对应两层网络,在边上,而非节点上,有可学习的激活函数。
正是从表示定理得到启发,研究人员用神经网络显式地,将Kolmogorov-Arnold表示参数化。

此外,KAN的可视化和交互性让其在科学研究中具有潜在的应用价值,能够帮助科学家发现新的数学和物理规律。
作者用KAN重新发现了纽结理论(knot theory)中的数学定律。而且,KAN以更小的网络和自动化方式,复现了DeepMind在2021年的结果。

谷歌DeepMind研究科学家称,「Kolmogorov-Arnold再次出击!一个鲜为人知的事实是:这个定理出现在一篇关于置换不变神经网络(深度集)的开创性论文中,展示了这种表示与集合/GNN聚合器构建方式(作为特例)之间的复杂联系」。

下面,让我们一起看看KAN是如何实现的?

KAN的基础理论

柯尔莫哥洛夫-阿诺德定理(Kolmogorov–Arnold representation theorem)指出,如果f是一个定义在有界域上的多变量连续函数,那么该函数就可以表示为多个单变量、加法连续函数的有限组合。对于ML来说,该问题可以被描述为:学习高维函数的过程可以简化成学习多项式数量的一维函数。但这些一维函数可能是非光滑的,甚至是分形的(fractal),在实践中可能无法学习。

柯尔莫哥洛夫-阿诺德表示定理在机器学习领域基本上被判了“死刑”,即理论正确,但实际无用。
在这篇文章中,研究人员仍然对该定理在机器学习领域的应用持乐观态度,并提出了两点改进:

 

1、原始方程中,只有两层非线性和一个隐藏层(2n+1),可以将网络泛化到任意宽度和深度;

2、科学和日常生活中的大多数函数大多是光滑的,并且具有稀疏的组合结构,可能有助于形成平滑的柯尔莫哥洛夫-阿诺德表示。类似于物理学家和数学家的区别,物理学家更关注典型场景,而数学家更关心最坏情况。

KAN架构

柯尔莫哥洛夫-阿诺德网络(KAN)设计的核心思想是将多变量函数的逼近问题转化为学习一组单变量函数的问题。在这个框架下,每个单变量函数可以用B-spline曲线来参数化,其中B-spline是一种局部的、分段的多项式曲线,其系数是可学习的。

为了把原始定理中的两层网络扩展到更深、更宽,研究人员提出了一个更「泛化」的定理版本来支持设计KAN:

受MLPs层叠结构来提升网络深度的启发,文中同样引入了一个类似的概念,KAN层,由一个一维函数矩阵组成,每个函数都有可训练的参数。

其中,Φl为第1个KAN层对应的函数矩阵。

根据柯尔莫哥洛夫-阿诺德定理,原始的KAN层由内部函数和外部函数组成,分别对应于不同的输入和输出维度,这种堆叠KAN层的设计方法不仅扩展了KANs的深度,而且保持了网络的可解释性和表达能力,其中每个层都是由单变量函数组成的,可以对函数进行单独学习和理解。

下式中的f就等价于KAN:

实现细节(Implementation details)

虽然KAN的设计理念看起来简单,纯靠堆叠,但优化起来也并不容易,研究人员在训练过程中也摸索到了一些技巧。

1、残差激活函数:通过引入基函数b(x)和样条函数的组合,使用残差连接的概念来构建激活函数ϕ(x),有助于训练过程的稳定性。

 

2、初始化尺度:激活函数的初始化设置为接近零的样条函数,权重w使用Xavier初始化方法,有助于在训练初期保持梯度的稳定。

3、更新样条网格 (spline grids):由于样条函数定义在有界区间内,而神经网络训练过程中激活值可能会超出这个区间,因此动态更新样条网格可以确保样条函数始终在合适的区间内运行。

参数 (Parameter count)

1、网络深度:L

2、每层的宽度:N

3、每个样条函数是基于G个区间(G+1个网格点)定义的,k阶(通常k=3)

所以KANs的参数量约为

作为对比,MLP的参数量为O(L*N^2),看起来比KAN效率更高,但KANs可以使用更小的层宽度(N),不仅可以提升泛化性能,还能提升可解释性。

彩蛋

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/680685
推荐阅读
相关标签
  

闽ICP备14008679号