Kolmogorov–Arnold Networks (KAN) 即将改变 AI 世界

2024-06-06 08:04

本文主要是介绍Kolmogorov–Arnold Networks (KAN) 即将改变 AI 世界,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

一、说明

二、KAN介绍 

2.1 什么是 Kolmogorov-Arnold Networks (KAN):

2.2 KAN 的秘诀,Splines!

2.3 了解KAN工作的最简单方法

三、KAN的主要优点 

四、KAN 的 Python 实现 (PyKAN) 

4.1 创建数据集

4.2 输出(数据集可视化)

4.3 创建和训练 KAN

4.4 从模型中获取符号公式

4.5 计算精度

4.6 输出

五、结论


关键词:Kolmogorov–Arnold Networks

一、说明

        在人工智能中,多层感知器(MLP)是基石,其神经架构塑造了无数应用的格局。然而,Kolmogorov-Arnold Networks(KAN)试图通过重新构想神经元在神经网络中工作的本质来突破这一基础。

忘记你所知道的关于神经网络的一切,KAN 在这里改写规则

二、KAN介绍 

        在不断发展的机器学习领域,最近一篇名为“KAN:Kolmogorov-Arnold Network”的研究论文在爱好者中引发了一波兴奋。这种创新方法挑战了多层感知器(MLP)的传统智慧,为神经网络架构提供了新的视角。

2.1 什么是 Kolmogorov-Arnold Networks (KAN):

        这一开创性概念的核心是科尔莫戈罗夫-阿诺德表示定理,这是弗拉基米尔·阿诺德和安德烈·科尔莫戈罗夫提出的数学理论。该定理断言,复杂的多元函数可以分解为更简单的一维函数,为KAN的独特结构奠定了基础。

        现在,显而易见的问题变成了这些“更简单的一维函数”是什么。 对于任何对数学或计算图形学有一点了解的人来说,我们谈论的是古老的,并且由称为样条多项式分段信任

B 样条曲线示例 (Google.com)

2.2 KAN 的秘诀,Splines!

        样条曲线是数学函数,可以通过连接一系列控制点来创建平滑曲线。样条曲线可以灵活地调整曲线的形状,同时确保相邻线段之间的连续性和平滑性

        要创建样条曲线,通常从一组定义曲线路径的控制点开始。 然后,通过使用基函数(例如 B 样条曲线或贝塞尔曲线)对这些控制点之间的路径进行插值或逼近来构建曲线。

图片来源: Unity Manual |样条曲线入门

从本质上讲,样条曲线提供了一种通用工具,用于精确、灵活地表示复杂的曲线或曲面,使其在各个领域中都非常宝贵。

但是,这些样条曲线是如何在 KAN 架构中使用和利用的?

2.3 了解KAN工作的最简单方法

        KAN与传统的MLP不同,它沿着网络边缘用可学习的函数(B样条曲线)取代了固定的激活函数这种自适应架构使 KAN 能够有效地对复杂函数进行建模,同时保持可解释性并减少所需参数的数量。

资料来源:PyKAN Github (https://github.com/KindXiaoming/pykan)

        与MLP中的神经元不同,MLP中的神经元是传输信号的被动管道,KAN中的神经元是学习过程的积极参与者,旨在动态地塑造它们的行为,以响应它们遇到的数据。

        这种变革性转变是通过采用位于网络边缘的可学习激活函数来实现的。

        资料来源:PyKAN Github (https://github.com/KindXiaoming/pykan)

        利用 B-Splines 的表现力,这些功能赋予 KAN 无与伦比的灵活性和适应性,使他们能够轻松驾驭复杂的数据环境。

三、KAN的主要优点 

1 增强的可扩展性

        与MLP相比,KAN具有出色的可扩展性,特别是在高维数据场景中。它们能够将复杂的函数分解为更简单的组件,从而能够高效处理大型数据集,使其成为具有大量信息的任务的理想选择。

2 提高准确性

        尽管使用较少的参数,但 KAN 在各种任务中比传统 MLP 具有更高的精度和更低的损耗。这归因于它们能够自适应地对数据中的关系进行建模,从而实现更精确的预测和对看不见的例子的更好泛化。

3 可解释模型

        KAN 的结构有助于可解释性,使研究人员能够推导出有效表示学习模式的符号公式。与黑盒模型不同,KAN 提供了对输入特征如何在整个网络中转换的见解,从而增强了透明度和理解力。

        N我们知道什么是KAN,为什么它们在人工智能领域如此重要,但世界并不仅仅靠论文中看起来不错的理论和模型来发展。

        但 KAN 最好的一点是,它们与使用新的 Python 库“PyKAN在您自己的数据科学问题中扩展和利用非常相似。

        让我们用一个如何在 Python 中实现这些架构的示例来结束我们的讨论

四、KAN 的 Python 实现 (PyKAN) 

让我们使用分类问题进行演示。

4.1 创建数据集

我们将使用 sklearn 库的“make_moons”函数创建一个合成数据集。

import matplotlib.pyplot as plt
from sklearn.datasets import make_moons
import torch
import numpy as npdataset = {}
train_input, train_label = make_moons(n_samples=1000, shuffle=True, noise=0.1, random_state=None)
test_input, test_label = make_moons(n_samples=1000, shuffle=True, noise=0.1, random_state=None)dataset['train_input'] = torch.from_numpy(train_input)
dataset['test_input'] = torch.from_numpy(test_input)
dataset['train_label'] = torch.from_numpy(train_label)
dataset['test_label'] = torch.from_numpy(test_label)X = dataset['train_input']
y = dataset['train_label']
plt.scatter(X[:,0], X[:,1], c=y[:])

4.2 输出(数据集可视化)

4.3 创建和训练 KAN

from kan import KANodel = KAN(width=[2,2], grid=3, k=3)def train_acc():return torch.mean((torch.argmax(model(dataset['train_input']), dim=1) == dataset['train_label']).float())def test_acc():return torch.mean((torch.argmax(model(dataset['test_input']), dim=1) == dataset['test_label']).float())results = model.train(dataset, opt="LBFGS", steps=20, metrics=(train_acc, test_acc), loss_fn=torch.nn.CrossEntropyLoss())

4.4 从模型中获取符号公式

在此之后,将派生一个符号公式,该公式表示模型从数据中学习的内容。

formula1, formula2 = model.symbolic_formula()[0]

4.5 计算精度

最后,可以从学习的公式中获得准确性

def acc(formula1, formula2, X, y):batch = X.shape[0]correct = 0for i in range(batch):logit1 = np.array(formula1.subs('x_1', X[i,0]).subs('x_2', X[i,1])).astype(np.float64)logit2 = np.array(formula2.subs('x_1', X[i,0]).subs('x_2', X[i,1])).astype(np.float64)correct += (logit2 > logit1) == y[i]return correct/batch# Print Accuracy
print('train acc of the formula:', acc(formula1, formula2, dataset['train_input'],  dataset['train_label']))print('test acc of the formula:', acc(formula1, formula2, dataset['test_input'], dataset['test_label']))

4.6 输出

train acc of the formula: tensor(0.9700)
test acc of the formula: tensor(0.9660)

五、结论

        总之,Kolmogorov-Arnold 网络 (KAN) 代表了神经网络架构的范式转变。 虽然需要进一步的研究和实验来充分释放其潜力,但 KAN 有望成为未来几年推进机器学习和科学发现的宝贵工具。

        随着该领域的不断发展,KAN 站在创新的最前沿,塑造智能系统的未来,并彻底改变我们处理复杂数据分析和建模的方式。

这篇关于Kolmogorov–Arnold Networks (KAN) 即将改变 AI 世界的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1035533

相关文章

Ilya-AI分享的他在OpenAI学习到的15个提示工程技巧

Ilya(不是本人,claude AI)在社交媒体上分享了他在OpenAI学习到的15个Prompt撰写技巧。 以下是详细的内容: 提示精确化:在编写提示时,力求表达清晰准确。清楚地阐述任务需求和概念定义至关重要。例:不用"分析文本",而用"判断这段话的情感倾向:积极、消极还是中性"。 快速迭代:善于快速连续调整提示。熟练的提示工程师能够灵活地进行多轮优化。例:从"总结文章"到"用

AI绘图怎么变现?想做点副业的小白必看!

在科技飞速发展的今天,AI绘图作为一种新兴技术,不仅改变了艺术创作的方式,也为创作者提供了多种变现途径。本文将详细探讨几种常见的AI绘图变现方式,帮助创作者更好地利用这一技术实现经济收益。 更多实操教程和AI绘画工具,可以扫描下方,免费获取 定制服务:个性化的创意商机 个性化定制 AI绘图技术能够根据用户需求生成个性化的头像、壁纸、插画等作品。例如,姓氏头像在电商平台上非常受欢迎,

从去中心化到智能化:Web3如何与AI共同塑造数字生态

在数字时代的演进中,Web3和人工智能(AI)正成为塑造未来互联网的两大核心力量。Web3的去中心化理念与AI的智能化技术,正相互交织,共同推动数字生态的变革。本文将探讨Web3与AI的融合如何改变数字世界,并展望这一新兴组合如何重塑我们的在线体验。 Web3的去中心化愿景 Web3代表了互联网的第三代发展,它基于去中心化的区块链技术,旨在创建一个开放、透明且用户主导的数字生态。不同于传统

AI一键生成 PPT

AI一键生成 PPT 操作步骤 作为一名打工人,是不是经常需要制作各种PPT来分享我的生活和想法。但是,你们知道,有时候灵感来了,时间却不够用了!😩直到我发现了Kimi AI——一个能够自动生成PPT的神奇助手!🌟 什么是Kimi? 一款月之暗面科技有限公司开发的AI办公工具,帮助用户快速生成高质量的演示文稿。 无论你是职场人士、学生还是教师,Kimi都能够为你的办公文

Andrej Karpathy最新采访:认知核心模型10亿参数就够了,AI会打破教育不公的僵局

夕小瑶科技说 原创  作者 | 海野 AI圈子的红人,AI大神Andrej Karpathy,曾是OpenAI联合创始人之一,特斯拉AI总监。上一次的动态是官宣创办一家名为 Eureka Labs 的人工智能+教育公司 ,宣布将长期致力于AI原生教育。 近日,Andrej Karpathy接受了No Priors(投资博客)的采访,与硅谷知名投资人 Sara Guo 和 Elad G

揭秘世界上那些同时横跨两大洲的国家

我们在《世界人口过亿的一级行政区分布》盘点全球是那些人口过亿的一级行政区。 现在我们介绍五个横跨两州的国家,并整理七大洲和这些国家的KML矢量数据分析分享给大家,如果你需要这些数据,请在文末查看领取方式。 世界上横跨两大洲的国家 地球被分为七个大洲分别是亚洲、欧洲、北美洲、南美洲、非洲、大洋洲和南极洲。 七大洲示意图 其中,南极洲是无人居住的大陆,而其他六个大洲则孕育了众多国家和

AI hospital 论文Idea

一、Benchmarking Large Language Models on Communicative Medical Coaching: A Dataset and a Novel System论文地址含代码 大多数现有模型和工具主要迎合以患者为中心的服务。这项工作深入探讨了LLMs在提高医疗专业人员的沟通能力。目标是构建一个模拟实践环境,人类医生(即医学学习者)可以在其中与患者代理进行医学

AI行业应用(不定期更新)

ChatPDF 可以让你上传一个 PDF 文件,然后针对这个 PDF 进行小结和提问。你可以把各种各样你要研究的分析报告交给它,快速获取到想要知道的信息。https://www.chatpdf.com/

【北交大信息所AI-Max2】使用方法

BJTU信息所集群AI_MAX2使用方法 使用的前提是预约到相应的算力卡,拥有登录权限的账号密码,一般为导师组共用一个。 有浏览器、ssh工具就可以。 1.新建集群Terminal 浏览器登陆10.126.62.75 (如果是1集群把75改成66) 交互式开发 执行器选Terminal 密码随便设一个(需记住) 工作空间:私有数据、全部文件 加速器选GeForce_RTX_2080_Ti

AI Toolkit + H100 GPU,一小时内微调最新热门文生图模型 FLUX

上个月,FLUX 席卷了互联网,这并非没有原因。他们声称优于 DALLE 3、Ideogram 和 Stable Diffusion 3 等模型,而这一点已被证明是有依据的。随着越来越多的流行图像生成工具(如 Stable Diffusion Web UI Forge 和 ComyUI)开始支持这些模型,FLUX 在 Stable Diffusion 领域的扩展将会持续下去。 自 FLU