用正弦函数替换 B-spline 之后
把 KAN (Kolmogorov-Arnold Networks) 里的激活函数从 B-spline 换成正弦函数 (sinusoid),这在直觉上其实挺合理的,因为正弦波具有天然的周期性和平滑度。SineKAN 的核心逻辑就是利用正弦激活函数来逼近复杂函数,这样不仅避开了 B-spline 极其繁琐的网格计算,还显著降低了参数量,但在拟合能力上却没怎么打折扣。
具体的论文细节可以参考这个路径:
最关键的性能差异在于计算开销。传统的 KAN 因为要维护大量的样条曲线,内存占用和计算延迟一直是个痛点,而 SineKAN 直接用简单的三角函数代替,在实操中你会发现训练速度快了很多,而且在处理某些具有周期性特征的数据集时,收敛速度明显高于原版 KAN。
如果你想在自己的项目里实操一下,可以通过以下方式快速部署:
一、环境准备与安装
先确保安装了 PyTorch,然后直接从仓库克隆代码。
git clone https://github.com/ereinha/SineKAN.git
cd SineKAN
pip install -r requirements.txt二、模型构建实战
在代码中定义一个简单的 SineKAN 层,你会发现它比 B-spline 版本简洁得多。
from sinekan.layers import SineKANLayer
import torch
# 定义一个输入维度为 2,输出维度为 1 的 SineKAN 层
kan_layer = SineKANLayer(input_dim=2, output_dim=1)
x = torch.randn(10, 2)
output = kan_layer(x)
print(output.shape) # torch.Size([10, 1])三、性能分析
- 参数效率: 相比 B-spline,SineKAN 极大地压缩了权重存储,不再需要为每个区间存储系数。
- 拟合速度: 在函数逼近任务中,正弦激活函数的梯度传播更直接,避免了样条函数在节点处的复杂计算。
- 鲁棒性: 面对高频信号时,SineKAN 的表达能力明显更强,这应该是正弦函数的固有特性决定的。
具体的论文细节可以参考这个路径:
https://arxiv.org/abs/2407.04149 事件追踪 · 相关报道
把 TB 级数据喂给大模型时最容易卡死在 IO 瓶颈上
23小时前
大模型产生幻觉这事儿真的有解吗
2天前
2026年夏天看开源模型现在的局势真的挺有意思
3天前
DeepMind 这个 WeatherNext 预测气旋的精度居然能
9天前
Meta 的 AI 模型在测试阶段竟然能自己潜入另一家公司
10天前
Meta 的 AI 竟然能自己学会黑进别的公司,这事儿有点离谱
11天前
免费 AI 工具箱 · 全部完全免费