前几天火爆的Kolmogorov-Arnold Networks是具有开创性,目前整个人工智能社区都只关注一件事LLM。我们很少看到有挑战人工智能基本原理的论文了,但这篇论文给了我们新的方向。
mlp或多层感知位于AI架构的最底部,几乎是每个深度学习架构的一部分。而KAN直接挑战了这一基础,并且也挑战了这些模型的黑箱性质。
也许你看到了很多关于KAN的报告,但是里面只是简单的描述性介绍,对于他的运行原理还是不清楚,所以我们这篇文章将涉及大量的数学知识,主要介绍KAN背后的数学原理。
KAN
Kolmogorov-Arnold Networks引入了一种基于Kolmogorov-Arnold表示定理的新型神经网络架构,为传统的多层感知器(mlp)提供了一种有前途的替代方案。
mlp在节点(“神经元”)上有固定的激活函数,而kan在边缘(“权重”)上有可学习的激活函数。kan根本没有线性权重,每个权重参数都被参数化为样条的单变量函数。这个看似简单的改变使得KANs在准确性和可解释性方面优于mlp。KANs是mlp的有希望的替代品,为进一步改进当今严重依赖mlp的深度学习模型提供了机会。
上面论文的原文,根据论文在数据拟合和PDE求解方面,更小的kan与更大的mlp相当或更好。所以kan可能比mlp拥有更快的神经缩放定律。并且KANs可以直观地可视化,大大提高了可解释性。
论文围绕函数逼近的Kolmogorov-Arnold表示定理的性质展开,这是这篇论文的全部前提。
表示定理基础:函数被分解成更简单的函数,然后使用神经网络进行近似。
平滑性和连续性:目标是确保原始多元函数的平滑性有效地转化为神经网络近似。
空间填充曲线:函数跨维度的属性,特别是关注在近似过程中如何保持连续性和其他函数属性或转换。
什么是样条?为什么KAN需要样条?
上面进行了简单的介绍,下面我们开始深入理解论文的数学基础,这是其他报道中没有的。
样条是一种数学函数,用于通过一组控制点创建光滑和灵活的曲线或曲面。在数学术语中,样条是一个分段多项式函数,它在多项式块相交的地方(结点)保持高度平滑。
样条有几种类型,包括:
线性样条:用直线连接点,简单但不流畅。这在点上是不可微的。
二次和三次样条:二次或三次多项式创建曲线。三次样条曲线被广泛使用,因为它在灵活性和计算复杂性之间提供了很好的平衡。
b样条(基样条):对曲线形状提供更好的控制,特别是在边界附近,并在一组控制点上定义,这些控制点不一定位于曲线本身。
论文则是将b样条用于kan:与基本样条不同,b样条不一定通过其控制点。而是通过这些点从远处引导曲线的形状,提供了一种更灵活的方式来描述复杂的形状和图案。
b样条在kan中特别有用,因为它们在处理高维数据时具有鲁棒性,并且能够形成光滑的多维表面。对于神经网络,在高维数据中学习是标准的,b样条可以用来管理模型的复杂性,并且持计算效率,同时不会失去可解释性。
Kolmogorov-Arnold表示定理
Kolmogorov-Arnold表示定理背后的核心思想是,任何(多变量)连续函数都可以表示为单变量连续函数和加法运算的组合。无论多变量函数看起来多么复杂,都可以用更简单的单变量函数来表示它。它和傅里叶级数很相似,傅里叶级数是一个连续的周期函数由谐波相关正弦函数的和生成。
下面是Kolmogorov-Arnold表示定理的数学公式:
该定理提供了一种将复杂的多变量函数分解为每次只涉及一个变量的一系列操作的方法,使其更容易理解和计算。这在神经网络等环境中这种分解可以帮助设计架构,使用更简单、更容易训练的组件有效地近似复杂函数。
KAN的数学原理
1、传统MLP层
我们先来看看MLP。mlp基于普遍逼近定理,该定理指出,在对激活函数的温和假设下,具有单个隐藏层的前馈网络包含有限数量的神经元,可以在𝑅_𝑛的紧凑子集上近似连续函数。
这里的𝜎为固定非线性激活函数,𝑤为权重,𝑏为偏差,𝑎为输出权重。
在典型的mlp中,每一层由一个线性变换和一个非线性激活函数组成。这意味着对于任何给定的输入,网络计算输入的加权和,然后应用一个非线性函数,如ReLU, sigmoid等。这样mlp对许多任务都是有效的,但可能受到其转换的固定性质和参数变化的全局影响的限制。
2、KAN层
与标准的线性加非线性方法不同,KAN层使用一维函数矩阵(例如b样条),其中连续层中两个节点之间的每个连接都由一个可以单独调整的单独函数定义。
这种结构为函数逼近过程提供了更高程度的灵活性和局部控制。每个连接学习从输入到输出的整体特征映射的特定部分,这可能导致对数据的更细致的理解和表示。
具有n维输入和无维输出的KAN层可以定义为一维函数的矩阵。
KAN层定义为一维函数𝜙𝑝的矩阵Φ,𝑞中𝑝表示输入维度,q表示输出维度。每个函数𝜙𝑝,𝑞都有可训练的参数,并将输入直接映射到输出,而不需要中间的加权和和之后的通用激活。
KANs结构:
与mlp不同,KAN层中的每个连接都由单个1D函数𝜙_𝑙,𝑗,定义,该函数直接将输入映射到输出(l是第l层)。这种体系结构不需要矩阵乘法,而是使用一组函数映射,其中每个函数负责将输入的一个组件转换为输出的一个组件。
整个层可以被描述为这些函数的矩阵Φ,其中每个函数𝜙_𝑙,𝑗,直接从每个输入节点𝑖应用到每个输出节点𝑗。这种设置为数据转换提供了更灵活和定制的方法:
KANs的基础是基于一个监督学习任务,其目标是近似一个函数𝑓,该函数将所有数据点的输入𝑥部关系映射到输出𝑦部关系。该方法使用Kolmogorov-Arnold定理将任意多元函数分解为一系列单变量函数和求和运算:
方程表明,对于每个输入维度𝑥𝑝,都有一个单变量函数𝜙𝑞,𝑝和Φ_𝑞是聚合这些单变量函数输出的高级函数。
如果我们展开上面的方程:
计算过程对比
为了理解这些他们的不同之处,我们举一个简单的例子,比较KAN和MLP的输出。如果的从上面的数学原理看有点复杂,所以让我们写一个更简单的版本和MLP对比就更容易理解最后发生了什么。
1、MLP
让我们假设以下配置和值:
- Input Layer: 3
- Hidden Layer 1: 4
- Hidden Layer 2: 2
- Output Layer: 1
权重矩阵:
输入
MLP的计算如下:
2、KAN
输入
KAN的计算如下:
在MLP中,每个层执行一个加权和,然后是一个非线性激活函数,而在KAN中,每个“连接”应用一个特定的函数(我们在本例中使用随机函数),并将这些函数输出聚合为前馈。
3、对比总结
MLP:矩阵乘法是根据权重调整的线性变换。非线性(本例中的ReLU)允许网络模拟非线性现象。
KAN:每个节点连接应用b样条或其他定义函数,使其高度灵活,并根据每个输入特征所需的特定转换进行定制。
总结
在更少参数的情况下,kan可以达到与mlp相当甚至更高的精度。由于其架构,KAN还提供了增强的可解释性,其中每个权重都被参数化为样条的可学习单变量函数所取代。论文强调了基于Kolmogorov-Arnold表示定理的KANs的数学优雅性,该定理为这些网络提供了强大的理论基础。
KAN这篇论文确实很大,而且涉及了更多的细节,我还在进行更深入的研究,并且我自己的测试与mlp相比它们需要更少的训练样本,但是KAN的拟合速度没有MLP快,而且最终得到的效果我还没有看到比MLP好多少,所以具体是否好用我还在更详细的测试。
但是无论如何KAN为人工智能社区带来了一股新鲜空气,这是非常值得称赞和尊重的。
https://avoid.overfit.cn/post/6ee2307e614b462f9c9aac26ef12252d
作者:Vishal Rajput