本文主要是介绍KAN vs MLP,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
KAN基于表示定理:任意一个多元函数,可以用多个单元函数复合(例如+法)表示出来。
不需要用特别深的神经网络。
定理的不好的点:没有描述单元函数本身有多复杂。
原作者如何基于定理设计KAN
kan = 残叉分枝+样条分支
(spline branch)样条函数是一个分段多项式函数
基础储备:
本文关注于:KAN和MLP的比较,关注于算法的计算复杂度,参数量+forward float。
结论如原文:KAN在符号公式拟合上好
MLP:省略掉的内容是与非线性激活函数操作有关的flops。
KAN:对于每一个样条内…代表一阶和常数项
复杂性与优化器无关(没啥差别)
在不同数据集上各有优劣,那为什么呢?
从结构上,分析MLP如何一步一步转换成KAN,然后分析。
使用样条函数作为MLP的激活函数,可以使得MLP和KAN的性能相当。说明了样条函数本身更适用于某些数据集。
这篇关于KAN vs MLP的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!