全新神经网络架构KAN一夜爆火!200参数顶30万,MIT华人一作 | 最新快讯

白交衡宇发自凹非寺

  量子位公众号 QbitAI

  一种全新的神经网络架构 KAN,诞生了!

  与传统的 MLP 架构截然不同,且能用更少的参数在数学、物理问题上取得更高精度。

  比如,200 个参数的 KANs,就能复现 DeepMind 用 30 万参数的 MLPs 发现数学定理研究。

  不仅准确性更高,并且还发现了新的公式。要知道后者可是登上 Nature 封面的研究啊~

  在函数拟合、偏微分方程求解,甚至处理凝聚态物理方面的任务都比 MLP 效果要好。

  而在大模型问题的解决上,KAN 天然就能规避掉灾难性遗忘问题,并且注入人类的习惯偏差或领域知识非常容易。

  来自 MIT、加州理工学院、东北大学等团队的研究一出,瞬间引爆一整个科技圈:Yes We KAN!

  甚至直接引出关于能否替代掉 Transformer 的 MLP 层的探讨,有人已经准备开始尝试……

  有网友表示:这看起来像是机器学习的下一步。

  让机器学习每个特定神经元的最佳激活,而不是由我们人类决定使用什么激活函数。

  还有人表示:可能正处于某些历史发展的中间。

  GitHub 上也已经开源,也就短短两三天时间就收获 1.1kStar。

  对 MLP“进行一个简单的更改”

  跟 MLP 最大、也是最为直观的不同就是,MLP 激活函数是在神经元上,而 KAN 把可学习的激活函数放在权重上。

  在作者看来,这是一个“简单的更改”。

  从数学定理方面来看,MLP 的灵感来自于通用近似定理,即对于任意一个连续函数,都可以用一个足够深的神经网络来近似。

  而 KAN 则是来自于 Kolmogorov-Arnold 表示定理 (KART),每个多元连续函数都可以表示为单变量连续函数的两层嵌套叠加。

  KAN 的名字也由此而来。

  正是受到这一定理的启发,研究人员用神经网络将 Kolmogorov-Arnold 表示参数化。

  为了纪念两位伟大的已故数学家 Andrey Kolmogorov 和 Vladimir Arnold,我们称其为科尔莫格罗夫-阿诺德网络(KANs)。

  而从算法层面上看,MLPs 在神经元上具有(通常是固定的)激活函数,而 KANs 在权重上具有(可学习的)激活函数。这些一维激活函数被参数化为样条曲线。

  在实际应用过程中,KAN 可以直观地可视化,提供 MLP 无法提供的可解释性和交互性。

  不过,KAN 的缺点就是训练速度较慢。

  对于训练速度慢的问题,MIT 博士生一作 Ziming Liu 解释道,主要有两个方面的原因。

  一个是技术原因,可学习的激活函数评估成本比固定激活函数成本更高。

  另一个则是主观原因,因为体内物理学家属性抑制程序员的个性,因此没有去尝试优化效率。

  对于是否能适配 Transformer,他表示:暂时不知道如何做到这一点。

  以及对 GPU 友好吗?他表示:还没有,正在努力中。

  天然能解决大模型灾难性遗忘

  再来看看 KAN 的具体实现效果。

  神经缩放规律:KAN 的缩放速度比 MLP 快得多。除了数学上以 Kolmogorov-Arnold 表示定理为基础,KAN 缩放指数也可以通过经验来实现。

  在函数拟合方面,KAN 比 MLP 更准确。

  而在偏微分方程求解,比如求解泊松方程,KAN 比 MLP 更准确。

  研究人员还有个意外发现,就是 KAN 不会像 MLP 那样容易灾难性遗忘,它天然就可以规避这个缺陷。

  好好好,大模型的遗忘问题从源头就能解决。

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

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

  研究人员利用 KANs 还重新复现了 DeepMind 当年登上 Nature 的结果,并且还找到了 Knot 理论中新的公式,并以无监督的方式发现了新的结不变式关系。

  △DeepMind 登 Nature 研究成果

  Deepmind 的 MLP 大约 300000 个参数,而 KAN 大约只有 200 个参数。KAN 可以立即进行解释,而 MLP 则需要进行特征归因的后期分析。并且准确性也更高。

  对于计算要求,团队表示论文中的所有例子都可以在单个 CPU 上 10 分钟内重现。

  虽然 KAN 所能处理的问题规模比许多机器学习任务要小,但对于科学相关任务来说就刚刚好。

  比如研究凝固态物理中的一种相变:安德森局域化。

  好了,那么 KAN 是否会取代 Transformer 中的 MLP 层呢?

  有网友表示,这取决于两个因素。

  一点是学习算法,如 SGD、AdamW、Sophia 等—能否找到适合 KANs 参数的局部最小值?

  另一点则是能否在 GPU 上高效地实现 KANs 层,最好能比 MLPs 跟快。

  最后,论文中还贴心的给出了“何时该选用 KAN?”的决策树。

  那么,你会开始尝试用 KAN 吗?还是让子弹再飞一会儿~

  项目链接:

  Welcome to Kolmogorov Arnold Network (KAN) documentation! — Kolmogorov Arnold Network documentation

  论文链接:

  https://arxiv.org/abs/2404.19756

  参考链接:

  [1]https://twitter.com/ZimingLiu11/status/1785483967719981538

  [2]https://twitter.com/AnthropicAI/status/1785701418546180326

来自: 网易科技

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

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

相关文章

Linux 进程间通信之匿名管道

💓博主CSDN主页:麻辣韭菜💓   ⏩专栏分类:Linux知识分享⏪   🚚代码仓库:Linux代码练习🚚   🌹关注我🫵带你学习更多Linux知识   🔝 目录 前言 一. 进程间通信介绍 1.进程间通…

C#知识|WinForm项目结构Partial部分类与窗体控件介绍

哈喽,你好啊,我是雷工! 在我国上位机开发,医院里的HIS开发、ERP开发、很多二次开发、GIS开发等,相当一部分都是由C#开发的。 目前很多企业应用是C/S+B/S架构,WinForm作为经典的框架,还是很有必要学习的,特别是对于初学者比较友好。 要想学好WinForm需要着重以下几个方面…

遍历JavaScript对象(字典)

在JavaScript中,对象通常被用来作为字典使用,因为它们是由键值对组成的。当我们需要遍历这些键值对时,有几种常用的方法。 使用for...in循环 for...in循环是JavaScript中用于遍历对象属性的常用方式。它会遍历对象所有可枚举的属性&#xf…

【linuxC语言】stat函数

文章目录 前言一、stat函数二、示例代码总结 前言 在Linux系统编程中,stat() 函数是一个非常重要的工具,用于获取文件的元数据信息。无论是在系统管理、文件处理还是应用开发中,都可能会用到 stat() 函数。通过调用 stat() 函数,…

AI视频教程下载:用ChatGPT提示词开发AI应用和GPTs

在这个课程中,你将深入ChatGPT的迷人世界,学习如何利用其能力构建创新和有影响力的工具。你将发现如何创建不仅吸引而且保持用户参与度的应用程序,将流量驱动到你的网站,并开辟新的货币化途径。 **课程的主要特点:** …

Hive优化以及相关参数设置

1.表层面设计优化 1.1 表分区 分区表实际上就是对应一个 HDFS 文件系统上的独立的文件夹,该文件夹下是该分区所有的数据文件。Hive 中的分区就是分目录,把一个大的数据集根据业务需要分割成小的数据集。在查询时通过 WHERE 子句中的表达式选择查询所需要…

抖音小店运营实战班,全新升级 从零到进阶精通 分享月销百万小店核心秘密

课程内容: 1 2024抖音电商发展趋势及抖店运营策略(直播2024 0412).mp4 2 1-1抖音小店入驻流程(直播2024 04 12),mp4 3 1-2个体店铺VS企业店铺有什么区别(直播20240412).mp4 4 1-3抖音小店店铺搭建(直播2024 04 12).mp4 5 2-1-如何避免违禁词(附违禁词大全)(直播…

微软如何打造数字零售力航母系列科普07 - Azure PlayFab:你从未想过的世界上最大的开发工具(平台)

Azure PlayFab:你从未想过的世界上最大的开发工具 微软的James Gwertzman告诉GamesIndustry.biz Academy他帮助开发者成功的使命 制作游戏比以往任何时候都更容易上手。现在有无数的游戏引擎可供选择,其中大多数是免费的,PC空间的店面也同样重…

链表经典面试题上

目录 创作不易,如若对您有帮助,还望三连,谢谢!!! 题目一:203. 移除链表元素 - 力扣(LeetCode) 题目二:206. 反转链表 - 力扣(LeetCode&#xff…

python学习笔记----安装pycharm(1)

一、安装pycharm 1. 下载并安装pycharm https://www.jetbrains.com/pycharm/download2.汉化pycharm 安装插件并重启IDE完成汉化 二、 第一个python程序

【机器学习】机器学习在教育领域的应用场景探索

🧑 作者简介:阿里巴巴嵌入式技术专家,深耕嵌入式人工智能领域,具备多年的嵌入式硬件产品研发管理经验。 📒 博客介绍:分享嵌入式开发领域的相关知识、经验、思考和感悟,欢迎关注。提供嵌入式方向…

【设计模式】17、iterator 迭代器模式

文章目录 十七、iterator 迭代器模式17.1 user_slice17.1.1 collection_test.go17.1.2 collection.go17.1.3 iterator.go17.1.4 user.go 十七、iterator 迭代器模式 https://refactoringguru.cn/design-patterns/iterator 为了集合数据的安全性, 或方便迭代, 可以用迭代器接口…

axios 中文文档 翻译

0.18.0的版本更新有一段时间了,使用起来跟原先基本没有什么变化。但是增加了一些功能,例如错误处理的辨别,于07-06-2018重新翻译和校验了该翻译,更正了一些错别字和表达不准的地方,但是难免仍有错误,欢迎指…

GitLab服务器的搭建

GitLab服务器的搭建 为公司搭建一台代码托管服务器 服务器规格:2vCPUs4GiB20G 操作系统:RockyLinux8.8 下载软件 gitlab官网:http://about.gitlab.com 在官网下载比较麻烦,推荐从《清华大学开源软件镜像站》下载 清华大学开…

DRF序列化器基本使用

DRF序列化器基本使用 对用户提交的数据进行校验从数据库中取到数据进行序列化,转化为JSON格式返还给前端 1 序列化数据 1.1 Serializer # models.py from django.db import modelsclass Depart(models.Model):"""部门表"""title …

[前端] Bearer令牌

Bearer令牌是一种常用的认证方式,特别是在实现OAuth 2.0协议时。Bearer令牌本质上是一个安全字符串,可以是任意的字符序列,用以证明持有者(Bearer)有权访问特定的资源。其名称“Bearer”意味着任何持有该令牌的人都可以…

38-3 Web应用防火墙 - 安装配置WAF

首先需要安装Centos 7 虚拟机:Centos7超详细安装教程_centos7安装教程-CSDN博客 安装配置WAF 在桌面环境中,右键点击打开终端,首先执行以下步骤: 1)安装必要的工具: 输入命令: sudo su yum install -y wget epel-release 2)第二步,安装依赖工具,输入以下命令: y…

阿里云CentOS7 打开/关闭防火墙 开放端口

#查看防火墙状态# systemctl status firewalld #关闭防火墙# systemctl stop firewalld #打开防火墙# systemctl start firewalld #添加开放2375端口# firewall-cmd --add-port2375/tcp --permanent #重载入添加的端口# firewall-cmd --reload #查询2375端口是否开启成…

【嵌入式AI开发】轻量化卷积神经网络Mnasnet(神经架构搜索)详解

前言:谷歌轻量化卷积神经网络Mnasnet,介于MobileNet V2和V3之间。使用多目标优化的目标函数,兼顾速度和精度,其中速度用真实手机推断时间衡量。提出分层的神经网络架构搜索空间,将卷积神经网络分解为若干block,分别搜索各自的基本模块,保证层结构多样性。 CVPR2019论文…

深入理解网络原理1

文章目录 前言一、网络初识1.1 IP地址1.2 端口号1.3 协议1.4 五元组1.5 协议分层 二、TCP/IP五层协议三、封装和分用四、客户端vs服务端4.1 交互模式4.2 常见的客户端服务端模型4.3 TCP和UDP差别 前言 随着时代的发展,越来越需要计算机之间互相通信,共享…