柯尔莫哥洛夫-阿诺德网络的并行训练方法:独立数据集与FPGA实现
《Neurocomputing》:Concurrent training methods for kolmogorov-arnold networks: Disjoint datasets and FPGA implementation
【字体:
大
中
小
】
时间:2026年08月12日
来源:Neurocomputing 6.7
编辑推荐:
摘要
本文提出了基于并发机制的改进方法,用于优化基于牛顿-卡茨马兹方法的柯尔莫戈洛夫-阿诺德网络训练算法。先前的研究表明,采用该方法的KAN在准确率和训练时间方面均优于传统神经网络——多层感知器。目前,该算法的主要局限在于更新值的顺序计算,每个更新都依赖于前一步的结果,这阻碍
摘要
本文提出了基于并发机制的改进方法,用于优化基于牛顿-卡茨马兹方法的柯尔莫戈洛夫-阿诺德网络训练算法。先前的研究表明,采用该方法的KAN在准确率和训练时间方面均优于传统神经网络——多层感知器。目前,该算法的主要局限在于更新值的顺序计算,每个更新都依赖于前一步的结果,这阻碍了并行化进程;尽管已有针对算法部分环节(如基函数评估)的并行化方案被提出并测试,但仍有较大的加速空间。本文提出了三种互补的并发驱动新策略:(i) 专为牛顿-卡茨马兹更新结构设计的预训练流程;(ii) 对数据子集进行独立训练后再合并模型;(iii) 为现场可编程门阵列定制无整数除法的算法实现,并直接在该硬件上进行了测试。通过计算实验评估了这些方法的扩展性,并将本文提出的KAN实现方案与常见的多层感知器工具包进行了比较。所有实验结果均可复现,完整源代码已在线发布。
引言
柯尔莫戈洛夫-阿诺德网络是一种非线性回归模型,即一种将输入向量转换为输出向量的“黑箱”,可作为传统神经网络——多层感知器的替代方案。KAN与多层感知器之间存在显著差异,相关讨论可见大量文献。KAN近年来的流行可追溯至[1],但其起源可追溯到2003年Igelnik和Parikh的开创性工作[2]。关于KAN发展的简要历史概述可见[3]及其中的参考文献。
要构建基于KAN的模型,需要做出多项选择。具体而言,KAN包含基函数(可类比为多层感知器中的激活函数),这些基函数可以是样条函数、高斯函数、分段线性函数或其他多项式等。随后还需选择一种训练方法(也称为“优化器”),用于将模型参数拟合到给定数据集上。其他重要选择还包括模型层数(可类比多层感知器的层数)、每层中的块数,以及每个块对应的基函数数量。
根据[1],目前人们倾向于将样条基函数与“Adam”或LBFGS训练方法结合使用。然而,这种选择的后果是训练时间相对较长。早期的研究[4][5]则提倡使用分段线性基函数,这类基函数能够在显著缩短的训练时间内达到相同的精度(适用于那些不要求输出对输入的导数连续性的模型)。在[5]中,提出了一种基于卡茨马兹方法的训练算法(即用于求解线性方程组的算法);该算法在[3]中得到了改进,同时也有研究证明该方法具有显著的性能优势。不过,该方法依赖于一系列顺序步骤,至今尚未实现完全并行化。
本文旨在提出四种以并发为导向的新策略,用于优化基于牛顿-卡茨马兹方法的高效KAN训练算法的训练时间。这四种策略分别是:(i) 自适应数值阻尼算法;(ii) 新的预训练流程;(iii) 利用数据子集进行并行训练后再合并模型的方法;(iv) 为现场可编程门阵列定制的无整数除法KAN及训练算法。本文展示了KAN在FPGA上的首次训练实现——2026年1月,用SystemVerilog语言编写的初始演示版本已在GitHub上发布。本文的整体创新点在于两方面:(a) 实现了基于牛顿-卡茨马兹方法的算法并行化;(b) 该算法在FPGA上的适配与实现。
策略(ii)至(iv)专门针对并行化问题,而策略(i)至(iii)则具有通用性,适用于任何类型的基函数选择。不过,FPGA上的实现依赖于分段线性基函数。虽然对于某些应用(如物理信息建模)来说,具有连续导数的基函数是必要的,但它们并非普遍要求。此外,训练过程中使用的基函数无需与最终模型中的基函数一致。实际上,模型可以先使用分段线性表示高效训练,之后再进行少量后续处理,将其升级为样条函数或其他类型的基函数,从而在大幅缩短训练时间的同时仍保持完整的描述能力[2]。因此,选择分段线性函数并不意味着退化为更简单的模型,反而能实现更快的训练速度,同时保留完整的描述功能。
KAN的一个显著特性是,正如多位作者[6][7][8][9]所观察到的,并且在本文中也得到了利用,即可以简单地将基于不同数据集训练得到的模型进行合并。相比之下,传统神经网络通常缺乏如此简单的合并机制。目前,这一特性主要在联邦学习的背景下被研究,而本文则探讨其在不同数据子集并行训练中的应用。
人们关注FPGA实现的原因是集成电路具备高效的大规模并行处理能力。与CPU和GPU架构不同,FPGA上的并行和顺序操作链无需在每个并行阶段后进行显式同步。目前,关于使用FPGA进行KAN训练的研究仍处于早期阶段。据作者所知,目前仅有两篇相关研究[10][11]。第一篇论文仅涉及推理过程,模型训练则在另一设备上进行;第二篇则报道了在FPGA上直接训练KAN的成功案例。
本文在FPGA方面的贡献与[11]有某些相似之处——两者采用的训练方法都与2020年和2023年的预印本中最初为KAN提出的方法概念相关,这些预印本后来被整理为[3][5]。不过,本文的独特之处在于其为FPGA硬件量身定制了模型及训练算法。下文将详细介绍该实现方案,并提供配套的寄存器传输级源代码链接,这些代码可作为可重用模板使用。而[11]的相应RTL源代码并未公开,这使得独立复现变得极为困难。
章节节选
该方法的核心理念
作者在2020年的一篇预印本中提出了基于卡茨马兹方法的、适用于分段线性基函数KAN的训练方法,该预印本后来被发表为[5];2023年,他们又将该方法推广到适用于任意基函数的KAN的牛顿-卡茨马兹训练方法,相关预印本后来被发表为[3]。详细内容可参考上述文献,但为便于理解,下文简要概述(仅针对分段线性基函数)。
通过动态缩放实现自适应数值阻尼
在训练之前,必须初始化KAN中所有函数的定义域,即每一层的 和 。经证明(见附录A):
• 和 可以是任意的;
• 存在最优的 和 值,能够实现最快的训练速度;
• 修改 和 等价于在不同层中以不同的方式调整缩放因子。
基于以上三点,可以制定两种加速训练的策略。第一种策略是为每一层手动微调缩放因子。
数值实验
本节的目的是通过简单且易于理解的示例,展示所提出的训练改进方法。这些示例基于合成数据,因为合成数据能够精确控制误差来源和不确定性。具体而言,这些数据是确定性的、代数的且连续的,因此从理论上讲,可以构建出非常精确的模型。此外,每次程序运行时数据的随机生成也避免了针对性调整的问题。
结论
本文提出了四种新的并发驱动策略,用于优化KAN的训练过程。其中三种策略适用于具有任意基函数的KAN,而专为FPGA设计的无整数除法KAN实现则依赖分段线性基函数。作者对基于CPU的实现方案进行了弱缩放测试和强缩放测试,结果表明,当处理量达到一定程度时,其计算效率几乎呈线性增长。
CRediT作者贡献说明
Andrew Polar:写作——审稿与编辑,写作——初稿撰写,验证,软件开发,方法论,研究设计,形式分析,概念构建。Michael Poluektov:写作——审稿与编辑,写作——初稿撰写,验证,软件开发,方法论,研究设计,形式分析,概念构建。
利益冲突声明
作者声明没有已知的财务利益或个人关系可能影响本文的研究工作。
致谢
MP获得了英国研究委员会“英格兰卓越发展计划”(E3)下的“多尺度多学科建模以实现影响力”项目(M34Impact)的资助。Mikhail Poluektov目前担任英国格林威治大学的高级讲师,他的研究领域涵盖计算数学和应用数学,涉及多种模型和方法。最近的研究包括用于非线性偏微分方程的虚拟域方法和多尺度方法,以及逼近理论方法。他的研究成果已发表在《计算机方法在应用力学与工程学中的应用》等期刊上。
Andrew Polar | Michael Poluektov
美国乔治亚州德卢斯市,独立软件顾问
生物通微信公众号
生物通新浪微博
今日动态 |
人才市场 |
新技术专栏 |
中国科学人 |
云展台 |
BioHot |
云讲堂直播 |
会展中心 |
特价专栏 |
技术快讯 |
免费试用
版权所有 生物通
Copyright© eBiotrade.com, All Rights Reserved
联系信箱:
粤ICP备09063491号