本月初,来自 MIT 等机构的研究者提出了一种非常有潜力的 MLP 替代方法 ——KAN。
KAN 在准确性和可解释性方面表现优于 MLP,而且它能以非常少的参数量胜过以更大参数量运行的 MLP。比如,作者表示,他们用 KAN 以更小的网络和更高的自动化程度重现了 DeepMind 的结果。具体来说,DeepMind 的 MLP 有大约 300000 个参数,而 KAN 只有大约 200 个参数。
KAN 与 MLP 一样具有强大的数学基础,MLP 基于通用逼近定理,而 KAN 基于 Kolmogorov-Arnold 表示定理。
如下图所示,KAN 在边上具有激活函数,而 MLP 在节点上具有激活函数。KAN 似乎比 MLP 的参数效率更高,但每个 KAN 层比 MLP 层拥有更多的参数。
最近,有研究者将 KAN 创新架构的理念扩展到卷积神经网络,将卷积的经典线性变换更改为每个像素中可学习的非线性激活函数,提出并开源 KAN 卷积(CKAN)。
项目地址:https://github.com/AntonioTepsich/Convolutional-KANs
KAN 卷积
KAN 卷积与卷积非常相似,但不是在内核和图像中相应像素之间应用点积,而是对每个元素应用可学习的非线性激活函数,然后将它们相加。KAN 卷积的内核相当于 4 个输入和 1 个输出神经元的 KAN 线性层。对于每个输入 i,应用 ϕ_i 可学习函数,该卷积步骤的结果像素是 ϕ_i (x_i) 的总和。
KAN 卷积中的参数
假设有一个 KxK 内核,对于该矩阵的每个元素,都有一个 ϕ,其参数计数为:gridsize + 1,ϕ 定义为:
这为激活函数 b 提供了更多的可表达性,线性层的参数计数为 gridsize + 2。因此,KAN 卷积总共有 K^2(gridsize + 2) 个参数,而普通卷积只有 K^2。
初步评估
作者测试过的不同架构有:
- 连接到 KAN 线性层的 KAN 卷积层(KKAN)
- 与 MLP 相连的 KAN 卷积层(CKAN)
- 在卷积之间进行批量归一化的 CKAN (CKAN_BN)
- ConvNet(连接到 MLP 的经典卷积)(ConvNet)
- 简单 MLP
作者表示,KAN 卷积的实现是一个很有前景的想法,尽管它仍处于早期阶段。他们进行了一些初步实验,以评估 KAN 卷积的性能。
值得注意的是,之所以公布这些「初步」结果,是因为他们希望尽快向外界介绍这一想法,推动社区更广泛的研究。
卷积层中列表每个元素都包含卷积数和相应的内核大小。
基于 28x28 MNIST 数据集,可以观察到 KANConv & MLP 模型与 ConvNet(大)相比达到了可接受的准确度。然而,不同之处在于 KANConv & MLP 所需的参数数量是标准 ConvNet 所需的参数数量的 7 倍。此外,KKAN 的准确率比 ConvNet Medium 低 0.04,而参数数量(94k 对 157k)几乎只有 ConvNet Medium 的一半,这显示了该架构的潜力。我们还需要在更多的数据集上进行实验,才能对此得出结论。
在接下来的几天和几周里,作者还将彻底调整模型和用于比较的模型的超参数。虽然已经尝试了一些超参数和架构的变化,但这只是启发式的,并没有采用任何精确的方法。由于计算能力和时间的原因,他们还没有使用大型或更复杂的数据集,并正在努力解决这个问题。
未来,作者将在更复杂的数据集上进行实验,这意味着 KANS 的参数量将会增加,因为需要实现更多的 KAN 卷积层。
结论
目前,与传统卷积网络相比,作者表示并没有看到 KAN 卷积网络的性能有显著提高。他们分析认为,这是由于使用的是简单数据集和模型,与尝试过的最佳架构(ConvNet Big,基于规模因素,这种比较是不公平的)相比,该架构的优势在于它对参数的要求要少得多。
在 2 个相同的卷积层和 KAN 卷积层与最后连接的相同 MLP 之间进行的比较显示,经典方法略胜一筹,准确率提高了 0.06,而 KAN 卷积层和 KAN 线性层的参数数量几乎只有经典方法的一半,准确率却降低了 0.04。
作者表示,随着模型和数据集复杂度的增加,KAN 卷积网络的性能应该会有所提高。同时,随着输入维数的增加,模型的参数数量也会增长得更快。