谢邀。
Kolmogorov-Arnold Networks (KANs) 基于柯尔莫哥洛夫-阿诺德定理,相比传统的MLP(多层感知机),KANs在多个领域表现出了更优秀的性能,特别是在函数逼近和偏微分方程求解等任务中。
但是,说MLP已经被“干掉”可能为时尚早。
MLP由于其简单性和灵活性,在很多应用中仍然非常有效且不可替代。
手把手升级ChatGPT4.0 Turbo详细步骤教程(2024年4月)
而KANs虽然在理论与实验上都显示了巨大潜力,其在实际应用中的广泛性和效率,特别是在神经网络模型中取代MLP层的可能性,还有待观察和深入研究。
KAN具体内容参考之前发布的文章:

关键的挑战包括对KANs参数的优化问题,以及在当前硬件上的计算效率问题。
另外,从技术发展的角度看,每一种新技术的出现不仅仅是为了取代旧有技术,更重要的是为了扩展我们解决问题的能力。
因此,KAN的出现不应该被视为对MLP的简单取代,而是应该看作是机器学习领域中的一个补充和进化,提供了更多的可能性和选择。
项目地址:Welcome to Kolmogorov Arnold Network (KAN) documentation!
通过github安装
git clone https://github.com/KindXiaoming/pykan.git
cd pykan
pip install -e .
# pip install -r requirements.txt # install requirements
通过 PyPI 安装
pip install pykan
开始使用 KAN
初始化KAN
from kan import *
# create a KAN: 2D inputs, 1D output, and 5 hidden neurons. cubic spline (k=3), 5 grid intervals (grid=5).
model = KAN(width=[2,5,1], grid=5, k=3, seed=0)
创建数据集
# create dataset f(x,y) = exp(sin(pi*x)+y^2)
f = lambda x: torch.exp(torch.sin(torch.pi*x[:,[0]]) + x[:,[1]]**2)
dataset = create_dataset(f, n_var=2)
dataset['train_input'].shape, dataset['train_label'].shape
(torch.Size([1000, 2]), torch.Size([1000, 1]))
初始化时绘制 KAN
# plot KAN at initialization
model(dataset['train_input']);
model.plot(beta=100)

推荐文章:
AI教母李飞飞首创业,瞄准“空间智能”! | 斯坦福AI教母首次创业,将学术休假两年,瞄准“空间智能”方向!!!
编辑于 2024-05-06 15:19・IP 属地山东