全新神经网络架构KAN一夜爆火

概括

KAN网络结构思路来自Kolmogorov-Arnold表示定理。MLP 在节点(“神经元”)上具有固定的激活函数,而 KAN 在边(“权重”)上具有可学习的激活函数。在数据拟合和 PDE 求解中,较小的 KAN 可以比较大的 MLP 获得更好的准确性。

相对MLP,KAN也具备更好的可解释性,适合作为数学和物理研究中的辅助模型,帮助发现和寻找更基础的数值规律。
在这里插入图片描述

在这里插入图片描述

与MLP对比

与传统的MLP 相比,KAN 有4个主要特点:
1)激活函数位于“边”而不是节点(Node)上;
2)激活函数是可学习的而不是固定的;
3)可以使用非线性核函数来替代MLP“边”(Edge)上的线性函数;
4)可以设定细粒度的结点(Knot)来提高逼近精度。

动机

多层感知器 (MLP)
优点:表征能力强且已由通用逼近定理证明。
缺点:参数量大,且通常不具备可解释性。
—>
KAN = MLP + Spline
在这里插入图片描述

KAN定理

Kolmogorov-Arnold表示定理 Vladimir Arnold与 Andrey Kolmogorov提出
如果f是多元连续函数,则f可以写成有限数量的单变量连续函数的两层嵌套叠加。其数学表达式就是
在这里插入图片描述
这表明在实数域上,唯一真正的多元函数是求和,因为所有其他函数都可以使用单变量函数求和来表征。

KAN的架构设计来自一个数学问题:对一个由输入输出对 {xi, yi} 组成的有监督学习任务,寻找函数f 使得所有数据点的 yi≈ f (xi)。其核心在于找到合适的外部函数和内部函数。

方法:使用B-spline(B样条,Basic Spline)来构建
对于B-spline,函数在其定义域内、在结点(Knot)都具有相同的连续性。其多项式表达可由Cox-de Boor 递推公式表达:
在这里插入图片描述
根据KA定理,理论上只要2个KAN层就可以充分表征实数域的各类有监督学习任务。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

KAN资源分享:

Papers

  • KAN: Kolmogorov-Arnold Networks : Inspired by the Kolmogorov-Arnold representation theorem, we propose Kolmogorov-Arnold Networks (KANs) as promising alternatives to Multi-Layer Perceptrons (MLPs). While MLPs have fixed activation functions on nodes (“neurons”), KANs have learnable activation functions on edges (“weights”). KANs have no linear weights at all – every weight parameter is replaced by a univariate function parametrized as a spline. We show that this seemingly simple change makes KANs outperform MLPs in terms of accuracy and interpretability. For accuracy, much smaller KANs can achieve comparable or better accuracy than much larger MLPs in data fitting and PDE solving. Theoretically and empirically, KANs possess faster neural scaling laws than MLPs. For interpretability, KANs can be intuitively visualized and can easily interact with human users. Through two examples in mathematics and physics, KANs are shown to be useful collaborators helping scientists (re)discover mathematical and physical laws. In summary, KANs are promising alternatives for MLPs, opening opportunities for further improving today’s deep learning models which rely heavily on MLPs.
  • Chebyshev Polynomial-Based Kolmogorov-Arnold Networks : The document discusses a novel neural network architecture called the Chebyshev Kolmogorov-Arnold Network (Chebyshev KAN) for approximating complex nonlinear functions. It combines the theoretical foundations of the Kolmogorov-Arnold Theorem with the powerful approximation capabilities of Chebyshev polynomials. The Chebyshev KAN layer approximates a target multivariate function by representing it as a weighted sum of Chebyshev polynomials, leveraging the Kolmogorov-Arnold Theorem’s guarantee of the existence of a superposition of univariate functions to represent any continuous multivariate function. The paper provides a detailed mathematical explanation of the implementation, training, and optimization of the Chebyshev KAN layer, as well as experimental results demonstrating its effectiveness in approximating complex fractal-like functions.

Library

  • pykan : Offical implementation for Kolmogorov Arnold Networks
  • efficient-kan : An efficient pure-PyTorch implementation of Kolmogorov-Arnold Network (KAN).
  • Convolutional-KANs : This project extends the idea of the innovative architecture of Kolmogorov-Arnold Networks (KAN) to the Convolutional Layers, changing the classic linear transformation of the convolution to non linear activations in each pixel.
  • 13
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 基于遗传算法的神经架构搜索(Genetic Algorithm for Neural Architecture Search,简称GANAS)是一种通过遗传算法来优化神经网络结构的方法。GANAS 的主要思想是将神经网络的结构表示成一个染色体,然后通过基因的交叉和变异来产生新的神经网络结构,最终选择最优的神经网络结构作为最终结果。 GANAS 的具体实现方法包括以下几个步骤: 1. 确定神经网络结构的搜索空间,包括网络层数、每层的神经元数、激活函数等。 2. 将神经网络结构表示成一个染色体,染色体的每个基因表示神经网络中的一个结构参数。 3. 通过基因交叉和变异来产生新的神经网络结构,交叉和变异的过程中需要保证新的结构能够满足预定义的约束条件。 4. 使用遗传算法来评估每个新的神经网络结构的性能,并选择性能最好的结构作为最终结果。 GANAS 的优点是可以自动搜索最优的神经网络结构,不需要手动设计网络结构,可以节省大量的时间和人力。但是,GANAS 的计算复杂度很高,需要大量的计算资源和时间来搜索最优的神经网络结构。 ### 回答2: 基于遗传算法的神经架构搜索是一种通过遗传算法来搜索最优神经网络结构的方法。神经架构搜索是深度学习中的一个重要研究方向,它旨在自动发现适合特定任务的最优神经网络结构,从而提高模型的准确性和性能。传统的神经网络结构往往需要大量的人工设计和调整,而基于遗传算法的神经架构搜索则可以通过进化算法自动地搜索和优化神经网络结构。 遗传算法是一种模拟自然进化过程的算法,它模拟了基因的遗传、变异和适应度选择过程。在基于遗传算法的神经架构搜索中,首先通过一定的编码方式将神经网络结构表示为染色体,然后使用遗传算法来搜索最优的染色体。每个染色体代表一个神经网络结构,包括网络层数、节点连接方式、激活函数等信息。 在搜索过程中,通过计算神经网络结构的性能指标(如准确率、损失函数等),评估每个染色体的适应度。然后,根据适应度对染色体进行选择、交叉和变异操作,生成下一代染色体。通过多次迭代,不断优化染色体的适应度,最终得到最优的神经网络结构。 基于遗传算法的神经架构搜索具有一定的优势。首先,它能够自动化地搜索神经网络结构,减轻了人工设计的负担。其次,遗传算法能够全局搜索,有助于发现更加优秀的神经网络结构。另外,该方法还具有一定的鲁棒性,能够应对数据和任务的变化。 然而,基于遗传算法的神经架构搜索也存在一些挑战。首先,搜索空间庞大,需要大量的计算资源和时间。其次,搜索结果不一定能够取得最好的性能,往往需要人工进行后续的调整和优化。此外,神经网络结构的解释性较差,不易理解其中的内在机制。因此,在实际应用中,需要综合考虑时间、计算资源和性能等因素,选择适合的搜索方法和策略。 ### 回答3: 基于遗传算法的神经架构搜索是指利用遗传算法来搜索最优的神经网络架构或设计。神经网络是一种模仿人脑神经元连接方式的复杂数学模型,它在许多机器学习和人工智能应用中具有重要作用。 在神经架构搜索中,遗传算法被用来生成、变异和选择神经网络的不同架构。首先,通过随机生成一组初始神经网络架构,每个架构都有不同的层数、神经元数量和连接方式。然后,用一种适应度函数评估每个神经网络的性能。适应度函数可以根据具体问题来设计,常用的评估标准有准确率、损失函数、计算效率等。 接下来,根据适应度评估结果,采用遗传算法的操作来改进神经网络架构。首先,选择适应度高的神经网络作为优秀个体,将其保留在下一代中,以确保优秀基因的传递。然后,进行交叉操作,将不同神经网络架构的部分特征进行混合,生成新的神经网络架构。最后,通过变异操作,在新一代中引入一些随机性,以保持探索性。 这个搜索过程会不断进行多代,直到达到停止条件。一般来说,停止条件可以是达到预设的最大迭代次数,或者当神经网络的性能已经达到可接受的阈值时。 基于遗传算法的神经架构搜索具有以下优点:可以自动搜索到最优的神经网络架构,无需人工设计;具备较强的探索性,可以在大量可能的神经网络结构中进行搜索,提高了搜索空间的覆盖率;适用于各种复杂的机器学习和人工智能问题。 总之,基于遗传算法的神经架构搜索是一种有效的方法,可以自动找到最佳的神经网络架构,提高模型的性能和泛化能力。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值