谷歌做新媒体运营的网站,阜阳室内设计学校,西安网站建设网络推广,网上商城网站设计1 基本思路
1.1 MLP与Spline的优缺点
多层感知器 (MLP)是深度学习的基础理论模块#xff0c;是目前可用于逼近非线性函数的默认模型#xff0c;其表征能力已由通用逼近定理证明。但MLP也有明显的缺点#xff0c;例如在 Transformer中#xff0c;MLP 的参数量巨大#xf…
1 基本思路
1.1 MLP与Spline的优缺点
多层感知器 (MLP)是深度学习的基础理论模块是目前可用于逼近非线性函数的默认模型其表征能力已由通用逼近定理证明。但MLP也有明显的缺点例如在 Transformer中MLP 的参数量巨大且通常不具备可解释性。
为了提升表征能力MIT提出了KAN。KAN本质上是样条Spline曲线和 MLP 的组合吸收了两者的优点。即
KAN MLP Spline
在数学中样条曲线是由多项式分段定义的函数。一般的Spline可以是特定区间的3阶多项式。在插值问题中样条插值通常优于多项式插值因为即使使用低次多项式也能产生类似的精度结果同时避免了高次多项式的Runges phenomenon在一组等距插值点上使用高次多项式进行多项式插值时出现的区间边缘振荡问题。 1.2 Kolmogorov-Arnold表示定理
Vladimir Arnold与 Andrey Kolmogorov证明了实分析中的如下表示定理
如果f是多元连续函数则f可以写成有限数量的单变量连续函数的两层嵌套叠加。其数学表达式就是 该定理解决了希尔伯特第十三问题的一个更受约束但更一般的形式。在数学上Φq称外部函数outer functionsΦq,p称为内部函数inner functions。
这表明在实数域上唯一真正的多元函数是求和因为所有其他函数都可以使用单变量函数求和来表征。
换个形象的说法就是你家里做个复杂的事包含多个任务你爸你妈和你可以分别干活然后汇总并不需要三个人同时忙一个任务。
顺带八卦下Vladimir 是位前苏联神童 Andrey则是他的导师。
2 KAN架构与缩放
2.1 KAN架构
KAN的架构设计来自一个数学问题对一个由输入输出对 {xi, yi} 组成的有监督学习任务寻找函数f 使得所有数据点的 yi≈ f (xi)。其核心在于找到合适的单变量函数 Φq,p外部函数和 Φq内部函数。
在KAN中使用B-splineB样条来构建。B-spline是基础样条Basic Spline的缩写。
对于B-spline函数在其定义域内、在结点Knot都具有相同的连续性。其多项式表达可由Cox-de Boor 递推公式表达 例如KA定理的内部函数可以定义为带有参数的矩阵计算。矩阵中的每个元素事实上是一个函数或算子。其中KAN层可以定义为 那么根据KA定理理论上只要2个KAN层就可以充分表征实数域的各类有监督学习任务。2层的KAN中激活函数放置在边缘而不是节点上在节点上进行简单求和并且2层中间有2n1个变量。当然为了保证数值逼近的精度实际设计中可以构建2层以上或者任意层数的KAN。 2层KAN的结构作者团队修改自MIT
更为一般的的KAN表征形式是 其中Φ l是第l个KAN层所对应的函数矩阵B-spline函数矩阵x为输入矩阵。
最简的KAN可以写为
由于B-spline函数具备很好的可导性因此在这里可以使用大家习惯的反向传播BP方法来进行KAN的训练。
2.2 架构细节
为了确保KAN实用MIT团队还做了一些关键优化。
包括
1残差激活函数
使用一个基础basis函数 b(x)类似于残差连接使激活函数 Φ (x) 是基础函数 b(x) 和样条函数的和。 2初始化方式 每个激活函数都被初始化为 spline(x) ≈ 0^2。 而w根据MLP 中的线性层的初始化方式进行。
3Spline网格的更新
据输入激活动态更新每个网格以解决Spline在有界区域上定义但激活值在训练期间可能超出出固定区域的问题。
2.3 KAN的逼近与神经缩放
关于KAN缩放的基本观点浓缩为以下2点
12层的KAN表征可能是非平滑的更深的KAN表征可以获得更平滑的逼近。
2有限维度的KAN就可以很好的逼近样本函数。
下面我们来看看缩放定律
神经缩放定律是测试损失Loss随着模型参数的增加而减小的现象即 ℓ ∝ N_−α_其中 ℓ 是测试 RMSE均方根差N 是参数数量α 是缩放指数。也就是说参数量越大误差越小精度越高。
由于数据域的网格可以以任意的刻度进行细粒度化。因此B-spline曲线可以任意精确的达到逼近目标函数而且这一优势被KAN继承了。
相比之下MLP 没有“细粒度”的概念。MLP一般不按数据分区进行训练
对于 KAN可以先训练一个参数较少的 KAN然后通过使Spline网格粒度更细使其扩展到参数较多的 KAN这一方式降低了复杂度。
当然这一点可能也有一些问题因为实际的AI芯片中并未对粒度计算提供太多的设计激活函数个数越多区间越细事实上会造成更大的存储带宽瓶颈。
3 KAN的可解释性
在解释之前先通过稀疏正则化对KAN进行训练然后剪枝。剪枝后的 KAN更容易解释。
MIT团队给出了解释KAN的基本流程 KAN的解释流程
1稀疏化Sparsification预处理
对于KAN来说
a) 线性权重被可学习的激活函数取代因此需定义这些激活函数的 L1 范数激活函数的 L1 范数定义为其 Np个输入的平均幅度
b) 单独 L1范数 不足以实现 KAN 的稀疏化还需要额外的熵正则化。 2可视化Visualization 将激活函数 Φl,i,j的透明度设置为与 tanh(βAl,i,j) 成正比其中 β 3 。小幅度的函数被忽略以聚焦重要函数。
3剪枝Pruning 经过稀疏化惩罚训练后一般还需要将网络修剪成更小的子网。在节点级别对 KAN 进行稀疏化所有不重要的神经元都被修剪。
4符号化Symbolification 如果猜测某些激活函数实际上是符号函数例如 cos 或 log则提供一个接口将其设置为指定的符号形式例如fix_symbolic(l,i,j,f) 可以设置 (l , i, j) 激活为 f 。从样本中获得预激活Preactivation x 和后激活Postactivation y并拟合仿射参数 (a, b, c, d)使得 y ≈ cf (ax b) d。这里的拟合可通过 a、b 的迭代搜索和线性回归来完成。
4 小结
4.1 KAN的发展空间
KAN还有进一步优化的巨大空间包括
1) 准确性。KAN的精度优于传统MLP结构。一些替代方案有可能进一步提高准确性例如Spline激活函数可能被径向基函数或其他核函数替换或者使用自适应网格策略。
2) 计算效率。 目前KAN 计算效率较低的主要原因是不同的激活函数进行批量计算通过同一函数处理大量数据。如果通过将激活函数分组为多个组可以在全部相同MLP和不同KAN的激活函数之间进行插值组内的成员共享相同的激活函数。 KAN准确性优于MLP
4.2 KAN的瓶颈
目前看尽管KAN有很多优点但其的最大瓶颈在于训练速度慢。根据MIT团队提供的信息在参数数量相同的情况下KAN 通常比 MLP 慢 10 倍。
由于训练算力限制短期看KAN还是很难代替MLP的。如果想要获得类似Transformer架构的类似效果走的路会更长训练代价也要大很多。
长远看KAN可能逐渐在数学物理研究中广泛采用然后逐渐进入主流舞台。
总体来说KAN的作者构建了一个非常好的基于KA定理的模型框架体系并给出了足够的理论支撑该文章估计会成为一代经典。 最后
如果你想要进一步了解更多的相关知识可以关注下面公众号联系~会不定期发布相关设计内容包括但不限于如下内容:信号处理、通信仿真、算法设计、matlab appdesignergui设计、simulink仿真......希望能帮到你