||
麻省理工和加州理工等机构提出的KAN(参考资料[1]),在过去7~8天中,受到了国内外媒体关注。KAN是“Kolmogorov-Arnold Network(柯尔莫哥洛夫-阿尔诺德网络)”英语首字母缩写。海外有媒体称之为:“深度学习中可解释性和准确性的新时代”、“深度学习的新前沿”。国内也有的评论说:“全新神经网络架构KAN一夜爆火!”、“用了几十年的MLP迎来挑战者KAN”、“MLP一夜被干掉!”等。
MLP(多层感知机)是当今深度学习的基础构件,是逼近非线性函数的基石。但它也有其局限性。两个显著的缺点是:它们缺乏可解释性和参数量巨大。另外,人们还希望不断提高精度。KAN是一种有希望的MLP替代方案。
MLP的设计灵感来源于通用逼近定理,而KAN的设计灵感则来源于柯尔莫哥洛夫-阿尔诺德表示定理。与MLP类似,KAN拥有全连接的结构。然而,MLP在节点(神经元)上放置固定激活函数,KAN则在边(权重)上放置可学习的激活函数。图1和图2简明揭示了KAN特征及其与MLP比对。
图1 KAN示意图
图2 MLP与KAN
什么是柯尔莫哥洛夫-阿尔诺德表示定理(KAT)?什么是于柯尔莫哥洛夫-阿尔诺德网络(KAN)?附图3和4依据参考资料[2],给出极简要的数学描述。
图3 KAT简要描述
图4 KAN简要描述
简单地说,KAN代表了深度学习范式的转变,利用数学原理来增强可解释性和准确性。
麻省理工学院Ziming Liu(刘子鸣,注1)等人的论文中提到,“我们提出的柯尔莫哥洛夫-阿尔诺德网络,是为了纪念两位伟大的已故数学家安德雷·柯尔莫哥洛夫和弗拉基米尔·阿尔诺德”。安德雷·柯尔莫哥洛夫(1903年4月25日-1987年10月20日),俄国数学家,他的工作影响了现代数学的许多分支,尤其是对概率论、集合论、信息论、数论、算法和拓扑学做出了重大贡献。弗拉基米尔·阿尔诺德(1937年6月12日—2010年6月3日),出生于前苏联敖德萨(现在是乌克兰第四大城市),主要致力于动力系统、微分方程和奇点理论方面的研究。
前面提到的论文的配套的程序代码,已经开源。可以通过github安装,也可以通过PyPI安装。其文档可以在GitHub(世界领先的软件开发、协作和安全平台)上找到(参考资料[2]),包括Hello KAN!、API、API Demos、EXAMPLES。
据介绍,虽然之前的研究已经探索了柯尔莫哥洛夫-阿尔诺德定理(KAT)和神经网络的交叉,但大部分研究都局限于有限的网络架构和简单的实验。这项研究通过将KAN的范围,扩展到任意大小和深度,从而使其与当代深度学习要求保持一致。此外,深入研究了机械可解释性(MI),展示了在KAN中持续学习激活函数的潜力。特别是,在物理信息神经网络和数学人工智能应用等领域(如,纽结理论),KAN显示出了前景。
KAN被提议作为深度学习中MLP的替代方案。KAN在边上引入了可学习的激活函数,在准确性和可解释性方面超过了MLP。利用柯尔莫哥洛夫-阿尔诺德表示定理,采用单变量B样条曲线进行函数表示。与传统的MLP架构比较,KAN能用更少的参数在数学、物理问题上取得更高精度。在各种任务中,包括回归、解偏微分方程和持续学习,KAN的表现都优于MLP。KAN通过揭示组成结构和拓扑关系提供了可解释性,为科学发现带来了希望。可解释性和准确性至关重要。
目前KAN训练速度比较慢,这是未来需要改进的工程问题。前几天(5月4日),GitHub的另外一个存储库(参考资料[3])声称包含了“一个高效的柯尔莫哥洛夫-阿尔诺德网络(KAN)实现”,对原来的实现做了一点改进(注2)。
注:
[注1] Ziming Liu(刘子鸣),2016年9月至2020年6月,北京大学物理学本科生,2021年2月至今,麻省理工学院物理学博士生,导师是Max Tegmark,他的研究兴趣主要集中在人工智能和物理学的交叉领域。
[注2] 据参考资料[3]介绍,最初实现的性能问题主要是因为它需要扩展所有中间变量来执行不同的激活函数。对于具有in_features输入和out_features输出的图层,原始实现需要将输入扩展为具有形状(batch_size, out_features, in_features)的张量来执行激活功能。然而,所有的激活函数都是一组固定的B样条基函数的线性组合;鉴于此,他们将计算重新表述为用不同的基函数激活输入,然后将它们线性组合。这种重构可以显著降低内存成本,并使计算成为直接的矩阵乘法,并且可以自然地向前和向后传递。
参考资料:
[1] Ziming Liu, Yixuan Wang, Sachin Vaidya, Fabian Ruehle, James Halverson, Marin Soljačić, Thomas Y. Hou, Max Tegmark. KAN: Kolmogorov-Arnold Networks. arXiv:2404.19756 (cs). Submitted on 30 Apr 2024 (v1), last revised 2 May 2024 (this version, v2)。https://arxiv.org/pdf/2404.19756
[2] Kolmogorov Arnold Network (KAN) documentation. https://kindxiaoming.github.io/pykan/
[3 ] https://github.com/Blealtan/efficient-kan/tree/master
[4] Johannes Schmidt-Hieber. The Kolmogorov–Arnold representation theorem revisited.Neural Networks 137 (2021) 119–126
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-12-21 20:18
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社