用大模型理解爆火的KAN网络

五一假期的时候,KAN突然成为了热门话题。虽然最初我并没有计划弄懂它,但在老板的要求下,我还是探索了一下。

一、KAN是什么?

Kolmogorov-Arnold 定理是数学领域的一个里程碑,它揭示了多元函数能够通过一组更简单的函数来近似表示的原理。 在神经网络的研究领域,来自 MIT 的杰出研究者 Ziming Liu 将这一定理巧妙地融入,提出了创新的 KANs(Kolmogorov-Arnold Networks)概念。(GitHub地址:https://github.com/KindXiaoming/pykan)。

有兴趣挑战理解这个数学定理的朋友可以看一下这个讲解视频 https://www.youtube.com/watch?v=CkCijaXqAOM 博主徒手画 splines 曲线,并逐步阐释定理,非常引人入胜。

下面是我的理解哦!

如果你知道MLP的话,那可能也会对KAN刮目相看。

图片

上面这个图就说明了为什么KAN很厉害,因为它和MLP是对偶的。

在深度学习中,MLP(多层感知器)是一种基础的神经网络结构,它由多个层组成,每层包含多个节点,节点之间通过边相连。**激活函数位于节点上,**来引入非线性,从而使网络能够学习复杂的函数映射。

KAN沿用了MLP的网络结构,它也由多个层组成,每层包含多个节点,节点之间通过边相连。激活函数位于边上。

这个对偶性让我想起了电里面的**电-磁对偶性。**在经典电磁学中,电场和磁场可以通过麦克斯韦方程组相互关联。在某些情况下,电场和磁场的角色可以互换,而物理定律保持不变。这种对偶性通常会解释定律的深层次结构和统一性。当然物理和AI两个领域不一样,有可能不能做这样的对比。

二、KAN能做什么?

1. KAN能够拟合数学公式。MLP也可以,但是KAN能用更少的参数拟合,准确性也更好。

下图是KAN和MLP拟合同一个表达式的对比。以左边的图为例,可以看出,KANs在参数数量较少的情况下,其准确度和MLPs相比有更快的增长趋势。

图片

2. 强大的可解释性

这是一个很令人激动的地方。在KAN里面,你可以看到线条的形状并且自主选择和锁定激活函数的公式。

首先,我们需要理解激活函数的作用。激活函数是神经网络中的关键组件,它们引入了非线性,使得网络能够学习和模拟复杂的函数映射。

KAN定义了一系列可以选择的激活函数,总共有24种。这些激活函数包括但不限于平方、立方、正弦(sine)、余弦(cosine)、指数(exponential)等函数。

接下来用一个例子来说明它强大的可解释性。

假设现在有如下表达式生成的数据。(在训练的时候并不知道这个表达式)

我们定义一个[2,5,1]的网络。2、5、1表示的是节点。前面说过,activation function是定义在边上的,也就是说节点与节点之间会有activation function。

神奇的是这些activation function是可以学习的——它们会越来越像他们原本的样子。

下面是不同阶段网络结构图。

Figure 1 是初始化,所有激活函数都长一个样子。

Figure2 是网络训练20步之后的结果。可以看到激活函数已经出现正弦函数和平方的线条了。

Figure3 是进行剪枝,去掉不重要的节点和激活函数。

Figure4 是最后的样子,右边三个激活函数基本上符合咱们数据的生成函数。

图片

调参也是一门技术活。同样的例子在官网给出的结果更加准确,因为调参的时候做的更精细。下图是官网的结果,exactly由一个平方函数、一个正弦函数和一个指数函数结合。

图片

KAN还有一些其他的功能,例如能解微分方程、在学习的过程中有记忆力等等。这个先不谈,后面用到了再说吧。

三、 大模型帮你理解KAN网络

如果看前面提到的论文和视频没看懂的话,没有关系,咱不是还有大模型嘛。

注:大模型的部分解释不准确,但是在大体上可以帮助大家理解。

来吧,开整!

请用生动的语言给一个20岁的大朋友解释splines以及Kolmogorov-Arnold

好的,想象一下你是一位艺术家,手里拿着一支画笔,准备在画布上绘制一幅美丽的风景画。但是,你不是简单地画直线,而是要画出一条流畅、优雅的曲线,来描绘远处的山峦或者蜿蜒的河流。在数学和计算机图形学中,我们有一套特殊的工具来帮助我们绘制这样的曲线,这就是所谓的“splines”。

Splines是一种数学曲线,它们非常平滑,没有尖锐的角或突然的转折。你可以把它们想象成一种非常听话的画笔,无论你怎么移动,它都能画出一条完美的曲线。在计算机图形设计中,splines被用来创建复杂的形状和动画路径,使它们看起来非常自然和流畅。

现在,让我们来谈谈Kolmogorov-Arnold。这听起来可能有点复杂,但它实际上是一个关于如何测量和比较不同曲线复杂性的数学概念。想象一下,你面前有两条曲线,一条是简单的圆弧,另一条是复杂的螺旋形。虽然它们的长度可能相同,但它们的复杂性和形状却大不相同。

Kolmogorov-Arnold复杂性(也称为K-复杂性)是衡量一个对象(比如曲线)可以用多简单的规则或算法来描述的度量。就像你可能会问:“我需要多少步骤来画出这条曲线?”或者“这条曲线可以用多简单的数学公式来表示?”K-复杂性越低,意味着曲线可以用更简单的规则来描述。

所以,splines就像是你手中的画笔,帮助你在数学和计算机图形的世界里绘制出平滑而优雅的曲线。而Kolmogorov-Arnold就像是你用来评价这些曲线复杂性的标尺,它帮助你理解这些曲线背后的数学规律和结构。通过这些工具,我们不仅能够创造出美丽的视觉效果,还能够更深入地理解数学和自然界中的形状和模式。

如果还没有理解,放出小学生解释版本吧~

请用生动的语言给一个10岁的小朋友解释splines以及Kolmogorov-Arnold

好的,亲爱的小朋友,让我们一起来想象一些好玩的东西想象一下,你有一个长长的橡皮筋,你可以用它来连接两个点,对吧?现在,如果你想要让这个橡皮筋更有趣一些,你可能会让它弯曲,或者扭来扭去的。在数学里,我们有一个特别的名字来称呼这种弯曲的橡皮筋,叫做“splines”。

想象一下,你把橡皮筋的两端固定在两个点上,然后你想要橡皮筋尽可能平滑地弯曲,就像你在画画时用铅笔画一条优美的曲线一样。这就是splines做的事情,它们是数学家用来模拟平滑曲线的一种工具。

现在,让我们来谈谈Kolmogorov-Arnold。这个名字听起来可能有点复杂,但它其实是一个关于如何测量和比较不同曲线弯曲程度的概念。你可以把它想象成一种特殊的尺子,用来测量你的橡皮筋弯曲得有多厉害。

Kolmogorov-Arnold告诉我们,即使两条曲线看起来弯曲得差不多,它们的弯曲程度也可能完全不同。这就像两个朋友,他们可能看起来一样高,但实际上他们的身高可能相差几厘米。Kolmogorov-Arnold就是帮助我们了解这些微小差别的工具。

所以,splines就像是橡皮筋,用来创造平滑的曲线,而Kolmogorov-Arnold就像是一把尺子,用来测量这些曲线的弯曲程度。数学家们用这些工具来解决很多复杂的问题,就像你用橡皮筋和尺子来创造和测量你的艺术作品一样!

太好了,终于理解了吧!

如何学习AI大模型?

作为一名热心肠的互联网老兵,我决定把宝贵的AI知识分享给大家。 至于能学习到多少就看你的学习毅力和能力了 。我已将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

在这里插入图片描述

一、全套AGI大模型学习路线

AI大模型时代的学习之旅:从基础到前沿,掌握人工智能的核心技能!

img

二、640套AI大模型报告合集

这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。

img

三、AI大模型经典PDF籍

随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。

img

四、AI大模型商业化落地方案

img

作为普通人,入局大模型时代需要持续学习和实践,不断提高自己的技能和认知水平,同时也需要有责任感和伦理意识,为人工智能的健康发展贡献力量。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

希尔排序法

希尔排序为插入排序的优化,即将数组分组,将每一组进行插入排序,每一组排成有序后,最后整体就变有序了。 上面gap2,即5,14,18,27,68为一组;13,20&a…

小程序自动化辅助渗透脚本(2024)

简介 1.还在一个个反编译小程序吗? 2.还在自己一个个注入hook吗? 3.还在一个个查看找接口、查找泄露吗? 现在有自动化辅助渗透脚本了,自动化辅助反编译、自动化注入hook、自动化查看泄露 注:本工具仅用于学习交流&…

【Qt秘籍】[002]-开始你的Qt之旅-下载

一、Qt的开发工具有哪些? Qt的开发工具概述Qt支持多种开发工具,其中最常见的开发工具是 1.QtCreator 【易上手/有少量bug/适合新手】 2.VisualStudio 【功能强大/易出错/需要更多额外配置】 3.Eclipse 【清朝老兵IDE/不建议使用】 【注意&#xff1…

Java | Leetcode Java题解之第118题杨辉三角

题目&#xff1a; 题解&#xff1a; class Solution {public List<List<Integer>> generate(int numRows) {List<List<Integer>> ret new ArrayList<List<Integer>>();for (int i 0; i < numRows; i) {List<Integer> row new…

vxe-form-design 表单设计器的使用

vxe-form-design 在 vue3 中表单设计器的使用 查看官网 https://vxeui.com 安装 npm install vxe-pc-ui // ... import VxeUI from vxe-pc-ui import vxe-pc-ui/lib/style.css // ...// ... createApp(App).use(VxeUI).mount(#app) // ...使用 github vxe-form-design 用…

【MySQL事务(下)(重点)】

文章目录 再次理解MySQL事务一、MVCC机制数据库并发的场景有三种&#xff1a;3个记录隐藏列字段undo日志——由mysql维护的一段内存空间再次理解隔离性和隔离级别 Read View 理论部分RR 和 RC 的本质区别 再次理解MySQL事务 1.每个事务都有自己的事务ID&#xff0c;根据事务的…

蒙特卡洛法求解机械臂工作空间(以IRB4600型工业机械臂为例)

1. 概念 工作空间是衡量机器人工作能力的一个重要的运动学指标&#xff0c;蒙特卡洛法是一种随机模拟方法&#xff0c;用于在计算机上估计某些统计量&#xff0c;对于要估计的统计量&#xff0c;通过模拟大量的随机抽样&#xff0c;并计算这些样本的随机值来估算这个统计量的值…

释放 OSINT 的力量:在线调查综合指南

开源情报 (OSINT) 是从公开信息中提取有价值见解的艺术。无论您是网络安全专业人士、道德黑客还是情报分析师&#xff0c;OSINT 都能为您提供先进的技术&#xff0c;帮助您筛选海量的数字数据&#xff0c;发现隐藏的真相。 在本文中&#xff0c;我们将深入研究大量的OSINT 资源…

【LeetCode刷题】滑动窗口解决问题:串联所有单词的子串(困难)、最小覆盖子串(困难)

【LeetCode刷题】Day 10 题目1&#xff1a;30. 串联所有单词的子串&#xff08;困难&#xff09;思路分析&#xff1a;思路1&#xff1a;滑动窗口哈希map 题目2&#xff1a;LCR 017.最小覆盖子串思路分析思路1&#xff1a;滑动窗口哈希表 题目1&#xff1a;30. 串联所有单词的子…

【论文阅读|cryoET】DeepETPicker:使用弱监督深度学习的快速准确cryoET三维颗粒挑选算法

题目 DeepETPicker: Fast and accurate 3D particle picking for cryo-electron tomography using weakly supervised deep learning 发表期刊&#xff1a; Nature Communications 发表时间&#xff1a;2024.02 Accepted 作者&#xff1a;Guole Liu, Tongxin Niu 中科院自动化…

43-2 Linux入侵排查实验

环境准备: 老规则,我没有靶场就自己搭建了类似, 这里准备一台CentOS 7虚拟机作为受害者,然后使用CS制作木马并在受害者主机上线,具体过程可以看我之前写的一篇文章: 黑客必备利器:如何在系统上安装和使用 CobaltStrike(简称:CS)_cobalt strike-CSDN博客 最终的效果…

FPGA——eMMC验证

一.FPGA基础 1.FPGA烧录流程 (1) 加载流文件 —— bitfile (2) 烧录文件 —— cmm 二.MMC 1.基础知识 (1)jz4740、mmc、emmc、sd之间的关系&#xff1f; jz4740——处理器 mmc——存储卡标准 emmc——mmc基础上发展的高效存储解决方案 sd—— 三.eMMC和SD case验证 1.ca…

【一竞技DOTA2】RAMZES666替补参加裂变联赛

1、根据主办方文件,RAMZES666将继续作为Tundra战队替补参加裂变联赛。该比赛为欧洲线上赛,于5月27日-30日举行,总奖金8万美元。 除此之外,Nigma战队在上个月宣布四号位Matthew离队后,也选择启用老队员GH参赛。而在本月初让ah fu转回教练、携替补Thiolicor出战PGL瓦拉几亚的Secr…

浏览器提示网站不安全怎么办?有什么解决办法吗?

当你在浏览器中访问一个网站时&#xff0c;如果看到提示说该网站不安全&#xff0c;这通常是由于网站没有使用SSL证书或者SSL证书存在问题。SSL证书在这里扮演着非常关键的角色&#xff0c;下面我会详细解释它的作用以及如何解决这类不安全提示。 SSL证书的作用&#xff1a; 1…

JAVA基础----线程池

①什么是线程池&#xff1f; 线程池是对所有线程进行统一的管理和控制&#xff0c;从而提高系统的运行效率。当我们要使用线程的时候可以直接从线程池中拿&#xff0c;用完也不用自己去销毁&#xff0c;省去创建和销毁的时间&#xff0c;提升系统的响应时间。 ②线程池的七大核…

Apache、Nginx、IIS文件解析漏洞

目录 1、文件解析漏洞介绍 2、Apache相关的解析漏洞 &#xff08;1&#xff09;多后缀解析漏洞 &#xff08;2&#xff09;Apache配置问题 &#xff08;3&#xff09;换行符解析漏洞 &#xff08;4&#xff09;罕见后缀解析 3、Nginx相关的解析漏洞 &#xff08;1&…

【安装笔记-20240528-Linux-在 Vultr 云服务器上安装 OpenWRT】

安装笔记-系列文章目录 安装笔记-20240528-Linux-在 Vultr 云服务器上安装测试 OpenWRT 文章目录 安装笔记-系列文章目录安装笔记-20240528-Linux-在 Vultr 云服务器上安装测试 OpenWRT 前言一、软件介绍名称&#xff1a;OpenWRT主页官方介绍 二、安装步骤测试版本&#xff1a…

【SCAU操作系统】实验二页面置换算法的模拟实现及命中率对比python源代码及实验报告参考

一、课程设计目的 通过请求页式管理方式中页面置换算法的模拟设计&#xff0c;了解虚拟存储技术的特点&#xff0c;掌握请 求页式存储管理中的页面置换算法。 二、课程设计内容 模拟实现 OPT &#xff08;最佳置换&#xff09;、 FIFO 和 LRU 算法&#xff0c;并计算缺页…

Linux快速定位日志 排查bug技巧和常用命令

1. 快速根据关键字定位错误信息 grep 在 Linux 系统中&#xff0c;可以使用 grep 命令来查找日志文件中包含特定关键字的行。假设你的日志文件路径为 /var/log/myapp.log&#xff0c;你想要查找包含关键字 "abc" 的日志内容&#xff0c;可以按照以下步骤操作&#…

【浅水模型MATLAB】尝试完成一个数值模拟竞赛题

【浅水模型MATLAB】尝试完成一个数值模拟竞赛题 前言题目描述问题分析理论基础控制方程数值方法边界条件 代码框架与关键代码结果展示写在最后 更新于2024年5月25日 前言 最近看到第四届水科学数值模拟创新大赛的通知&#xff0c;就好奇翻看了前几年的比赛试题。发现去年的一个…