没有很认真地将文章全部读下来,因为确实有点太长了,并且写作方式不是固定的领域内文章写作格式。这是一篇类似于读后感的笔记,强烈的表达了我自己的bias,而不是对于文章内容的客观解读。
希望在经过后续的学习之后,我能对这篇文章有一些新的认识,从而转变态度……
接连两天从不同的大V公众号上刷到KAN即将替代MLP的推送,将KAN吹的天花乱转,但如果点开知乎就会对KAN的工作有全新的认识【doge
文章的摘要中说,KAN与MLP相比,在accuracy和predictability方面都有很大的提升。在accuracy方面,smaller KANs 和 much larger MLPs可以在数据拟合和PDE求解应用上可以比较。在interpretability方面,KANs can be intuitively visualized and can easily interact with human users。
KAN和MLP的不同在于,KAN对于每一个node的激活函数是可以学习的,也就是可以表示不同的函数。
补一点背景知识:
从数学定理方面来看,MLP的灵感来自于通用近似定理,即对于任意一个连续函数,都可以用一个足够深的神经网络来近似。而KAN则是来自于 Kolmogorov-Arnold 表示定理 (KART),每个多元连续函数都可以表示为单变量连续函数的两层嵌套叠加。
全文读下来有三个令我不认可/不喜欢/觉得并不完善的地方。
第一,也是最重要的一点是,取代MLP的定义是如何得来的?众所周知,MLP是很多复杂神经网络的基础单元,你没有和复杂网络进行嵌套进行测试,同时KAN的源代码在cpu上的效率比GPU上要更好,没有针对GPU进行优化且小参数量下显存异常大。也许在一些特定任务,例如PDE求解/方程拟合方面有较MLP更为优越,但我不个人认为用“取代”纯属宣传噱头,远远没有达到这类效果。
第二,和symbolic regression的区别不大。并且在很多情况下需要假设对PDE的解/函数的组成部分有一定的经验和猜测,以此为基础选取KAN的堆叠层数。但没有SR的树状结构直观。
第三,是否真的可以解释?KAN求解出来的数值解,可能是易于理解的数值解的变体,而非其本身。如果对物理意义本身不是很了解,往往会因为KAN得到的复杂的数值解而忽略数值解的物理意义。