【论文笔记】KAN: Kolmogorov-Arnold Networks 全新神经网络架构KAN,MLP的潜在替代者

KAN: Kolmogorov-Arnold Networks

image-20240506010853167

code:https://github.com/KindXiaoming/pykan

Background

​ 多层感知机(MLP)是机器学习中拟合非线性函数的默认模型,在众多深度学习模型中被广泛的应用。但MLP存在很多明显的缺点:

  1. **参数量大:**Transformer中,MLP几乎消耗了所有非嵌入参数。
  2. **缺乏可解释性:**在没有后期分析工具的情况下,相较于注意力层通常难以解释。

Novelty

​ 受到Kolmogorov-Arnold 表示定理启发,提出了一种有希望的MLP替代方案,称为Kolmogorov-Arnold Networks(KANs)。

​ MLP将固定的激活函数放在节点(“神经元”)上,而KAN将可学习的激活函数放在边缘(“权重”)上。

image-20240506011519381

​ 对于PDE求解,2x10 的KAN比4x100 MLP精确100倍(10−7 vs 10−5 MSE),参数效率高100倍( 1 0 2 10^2 102 vs 1 0 4 10^4 104参数)。

Method

Kolmogorov-Arnold表示定理

基本形式:

image-20240506015839202

​ 这个公式仅仅包含两层非线性和少量的隐藏层项(2n+1)。这意味着原始的表示方法虽然理论上是完备的,但在处理实际问题时可能因表达能力受限而不够有效。

​ 本文将把网络泛化到任意宽度和深度,可以增加模型的复杂度和学习能力,使得网络能够更好地逼近和表达各种复杂的函数。

KAN结构

image-20240506160236584

把网络泛化到任意宽度和深度:

image-20240506162506239

激活函数:

image-20240506163333689 image-20240506163405974

c i c_i ci是可训练的。原则上w是多余的,因为它可以被包括到b(x)和spline(x)中。然而,KAN中仍使用了w,以更好地控制激活函数的总体大小。

初始化:

​ 每个激活函数初始化为 s p l i n e ( x ) ≈ 0 spline(x)≈0 spline(x)0。w根据Xavier初始化进行初始化。

网格扩展

​ 增加MLP的宽度和深度可以提高性能,但不同大小的MLP训练是独立的,训练这些模型的成本很高。

​ KAN可以先用一个参数较少的模型进行训练,然后通过使其样条网格更精细,将其扩展到具有更多参数的KAN,而不需要从头开始重新训练更大的模型。通过以下公式利用最小二乘法来获得细网格的参数:

image-20240506182029612

简化KAN

​ 从一个足够大的KAN开始,用稀疏性正则化训练它,然后进行修剪。

稀疏化

​ 在训练MLP时通常使用L1范数来鼓励模型的权重向量中有更多的零,从而达到稀疏化的效果。但L1不足以使KAN稀疏化,需要一个额外的熵正则化。

​ 定义每一个激活函数的L1范数为:

image-20240506232127164

​ KAN的每一层的L1范数为所有激活函数的L1范数之和:

image-20240506232234530

​ 定义KAN的每一层的熵为:

image-20240506232532546

​ 总的训练损失为预测损失与所有KAN层的L1和熵正则化之和:

image-20240506232710358
剪枝

​ 对于每个节点来对KAN进行剪枝,定义每个结点的传入和传出分数为:

image-20240506233641471

如果传入和传出的分数都小于0.01,则认为该神经元时不重要的,将其修剪。

符号化

​ 一些激活函数实际上是符号函数(如cos、log等),作者提供了一个接口来将他们设置为制定的符号函数f的形式。但激活函数的输出和输出可能有偏移和缩放,因此从样本中获取预激活值x和后激活值y,并拟合仿射函数 y ≈ c f ( a x + b ) + d y≈cf(ax+b)+d ycf(ax+b)+d

截屏2024-05-07 01.14.32

人类用户可以通过观察KAN可视化的激活函数,猜出这些符号公式,并将这些激活函数直接设置为该公式,再去拟合仿射函数。通过这样注入人类的归纳偏差或领域知识使得拟合的结果更加精准。

Experiment

神经标度律(scaling law):KAN比MLP有着更快的标度变化速度。在求解偏微分方程任务中,KANs也展现出更快的收敛速度、达到更低的损失,并有着更陡峭的标度率表现。

image-20240507005939835

**函数拟合:**KAN比MLP更准确,具有更好的Pareto边界

**偏微分方程求解:**在求解泊松方程时,KAN比MLP更准确,敛速度更快,损失更低,并且具有更陡峭的神经标度率表现。

image-20240507010553330

**持续学习:**借助样条设计的局部性天然优势,KAN可以在新数据上实现持续学习,规避了机器学习中存在的灾难性遗忘问题。

**可解释性:**KAN能通过符号公式揭示合成数据集的组成结构和变量依赖性。

截屏2024-05-07 01.10.31

人类用户可以与 KANs 交互,使其更具可解释性。在 KAN 中注入人类的归纳偏差或领域知识非常容易。

Limitation

​ KAN最大的瓶颈在于训练速度慢。在参数数量相同的情况下,KAN通常比MLP慢10倍,这需要在未来加以改善。

image-20240507002857233

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/834085.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

跨协议通讯无缝对接:Modbus-BACnet楼宇智能转换器深度解析

在现代化的建筑群里,智能楼宇管理系统如同神经系统,协调着各设备的运行。某大型商业综合体,集购物中心、办公区、酒店于一体,面对着来自不同供应商的设备,如何实现统一管理和高效通讯成了首要挑战。特别是其内部既有采…

ADC模-数转换原理与实现

1. 今日摸鱼计划 今天来学习一下ADC的原理,然后把ADC给实现 ADC芯片:ADC128S102 视频: 18A_基于SPI接口的ADC芯片功能和接口时序介绍_哔哩哔哩_bilibili 18B_使用线性序列机思路分析SPI接口的ADC芯片接口时序_哔哩哔哩_bilibili 18C_基于线性序列机的S…

neo4j-5.11.0安装APOC插件or配置允许使用过程的权限

在已经安装好neo4j和jdk的情况下安装apoc组件,之前使用neo4j-community-4.4.30,可以找到配置apoc-4.4.0.22-all.jar,但是高版本neo4j对应没有apoc-X.X.X-all.jar。解决如下所示: 1.安装好JDK与neo4j 已经安装对应版本的JDK 17.0…

MySQL数据库及数据表的创建

1.创建一个名叫 db_classes 的数据库: 创建一个叫 db_classes 的数据库MySQL命令: create database db_classes; 运行效果: 创建数据库后查看该数据库基本信息MySQL命令: show create database db_classes; 运行效果&#xff…

力扣刷题--数组--第三天

今天再做两道二分查找的题目,关于二分查找的知识可看我前两篇博客。话不多说,直接开干! 题目1:69.x 的平方根 题目详情:   给你一个非负整数 x ,计算并返回 x 的 算术平方根 。由于返回类型是整数&#…

VScode通过ssh远程连接服务器被拒绝:permission denied, please try again

使用场景: 使用windows系统下的vscode远程连接服务器的linux系统,终端提示permission denied, please try again,但是使用cmd是可以远程登录的。 解决办法: 前提条件windows端的vscode安装了ssh远程连接的相关插件Remote - SSH,…

Django之rest_framework(六)

一、GenericViewSet类的使用 继承自GenericAPIView,作用也与GenericAPIVIew类似,提供了get_object、get_queryset等方法便于视图的开发 1.1、代码 from rest_framework.viewsets import GenericViewSet from rest_framework.response import Response from rest_framework …

Duplicate File Finder Pro for Mac激活版:重复文件清理软件

在繁杂的文件管理中,你是否曾为重复文件而烦恼?Duplicate File Finder Pro for Mac,正是你不可或缺的得力助手。这款专业级工具,能够迅速扫描并定位Mac系统中的重复文件,让你的存储空间恢复清爽。 通过强大的算法支持&…

[C/C++] -- 代理模式

代理模式是一种结构型设计模式,允许一个对象(代理)控制另一个对象的访问。代理对象通常充当客户端和实际目标对象之间的中间人,从而控制对目标对象的访问,可以在访问前后进行一些额外的处理。 代理模式的优点包括&…

《铁路出行更便捷:火车票预定审批系统的设计与应用》

在现代化的铁路交通管理中,火车票预定审批系统扮演着至关重要的角色。它不仅能够有效管理员工出差、培训等需要乘坐火车的行程,还能够提高审批效率,减少人力成本,确保出行安全。本文将探讨火车票预定审批系统的设计原则和应用场景…

图片压缩和尺寸调节工具@图像压缩@分辨率调节@降低图片文件体积和磁盘占用

文章目录 abstract降低图片文件大小的方式相关原理 跨平台免费的压缩工具离线运行的软件在线工具👺windows 系统上的压缩方法windows 照片程序(photo)powertoys image-resizer(分辨率/尺寸调整) windows mspaint(画图工具调整分辨率) abstract 提到图片压缩时&#…

一款支持几分钟视频生成,免费无限制AI视频生成网站

前言 AI可以生成原创中视频了! 不是4秒,而是最长达6分钟,官方名为白日梦,将白日梦变成现实! 他不是简单的文生图/图生视频 而是将文生图、图生视频、配音字幕、后期剪辑等,打包封装成一条AI视频生产工作…

Axure PR 10 下拉三级菜单设计图

在线预览地址:Untitled Document 程序员必备资源网站:天梦星服务平台 (tmxkj.top) 需要源码设计图联系我wx:19948765606,3块钱拿走

Maven+Junit5 + Allure +Jenkins 搭建 UI 自动化测试实战

文章目录 效果展示Junit 5Junit 5 介绍Junit 5 与 Junit 4 对比PageFactory 模式编写自动化代码公共方法提取测试用例参数化Jenkins 搭建及配置参数化执行生成 Allure 报告Maven 常用命令介绍POM 文件效果展示 本 chat 介绍 UI 自动化测试框架的搭建: 运用 page factory 模式…

文章解读与仿真程序复现思路——电力自动化设备EI\CSCD\北大核心《基于V2G潜力模糊评估与移动储能协调调度的灾后供电恢复策略》

本专栏栏目提供文章与程序复现思路,具体已有的论文与论文源程序可翻阅本博主免费的专栏栏目《论文与完整程序》 论文与完整源程序_电网论文源程序的博客-CSDN博客https://blog.csdn.net/liang674027206/category_12531414.html 电网论文源程序-CSDN博客电网论文源…

第12章 软件测试基础(第三部分)测试类型、测试工具

七、测试类型(按工程阶段划分) 单集系确收 (一)单元测试 1、单元测试/模块测试 单元就是软件中最小单位(或模块)。可以是一个函数、一个过程、一个类。主要依据是模块的详细设计文档。价值在于尽早发现…

spring模块(六)spring监听器(1)ApplicationListener

一、介绍 1、简介 当某个事件触发的时候,就会执行的方法块。 当然,springboot很贴心地提供了一个 EventListener 注解来实现监听。 2、源码: package org.springframework.context;import java.util.EventListener; import java.util.fu…

游戏理解入门:Rust+Bracket开发一个小游戏

1. Game loop 使用game loop可以使得游戏运行更加流畅和顺滑,它可以: 初始化窗口、图形和其他资源;每当屏幕刷新他都会运行(通常是每秒30,60 );每次通过循环,他都会调用游戏的tick()函数。 大致的原理流程如下&…

如何查看公网IP开放端口?

在计算机网络中,公网IP是指能够直接访问互联网的IP地址,而开放端口则是指外部网络可以访问的服务端口。查看公网IP开放端口可以帮助我们了解当前网络环境中哪些服务可以被外部网络访问,对于网络安全和远程连接非常重要。 天联组网 天联组网是…

2024蓝桥杯网络安全部分赛题wp

爬虫协议 题目给了提示访问robots.txt 会出三个目录 访问最后一个 点进去就flag{22560c15-577c-4c8b-9944-815473758bad} packet 下载附件,这个是流量包 放wireshark流量分析 搜http协议 发现有cat flag命令,直接看他返回的流量 最后base64解码即可…