Kolmogorov-Arnold——代替 MLP以提高模型的代表性和性能

前言

论文地址:https://arxiv.org/abs/2409.10594
源码地址:https://github.com/Adamdad/kat.git
传统的变压器模型使用多层感知器(MLP)来混合通道间的信息,而本文则使用了科尔莫哥罗德网络(KAN),从而提高了模型的表现力和性能。

KAT 在大规模图像识别任务以及物体检测和语义分割等视觉任务中表现尤为出色;KAN 擅长高效逼近数学函数,理论上有可能以比 MLP 更少的参数为复杂函数建模。然而,将 KAN 集成到变换器中面临着一些技术挑战。

三个具体挑战是

  • 基函数问题:KAN 中使用的标准 B-样条函数未针对现代 GPU 进行优化,难以进行并行计算,从而导致计算速度缓慢的问题。
  • 参数和计算效率低下:面临的挑战是,KANs 的计算成本非常高,因为它们需要为每对输入输出使用单独的函数。
  • 权重初始化问题:与 MLP 不同,KAN 权重的初始化有一个可学习的激活函数,这就要求特别小心地进行初始化,以便收敛。

为了克服这些挑战,KAT 推出了三种解决方案

  • 有理基函数:使用有理函数代替 B 样条函数,计算效率高,适合现代 GPU。
  • 组 KAN:每组神经元共享激活权重,以减少计算负荷,同时保持性能。
  • 方差保持初始化:权重的初始化可保持各层激活的方差,从而确保稳定的学习。

因此,KAT 比传统的基于 MLP 的变压器具有更好的性能。

模型架构

本文提出的 Kolmogorov-Arnold 变换器(KAT)用 Kolmogorov-Arnold 网络(KAN)取代了传统变换器中使用的 MLP(多层感知器)。它是一种新的架构,通过引入以下功能提高了模型的表达能力和性能

KAT 的一个主要特点是采用了多项创新设计,将 KAN 有效地集成到变换器中。具体来说,为了提高 KAN 层的计算效率,它使用了有理函数,而不是传统的 B-样条函数,后者是在 CUDA 上实现的。这就提高了 GPU 的计算速度,使训练更复杂函数的速度可与传统 MLP 相媲美。

此外,为了减少 KAN 层的计算负荷,还采用了 "组 KAN "方法,即多个边缘共享激活函数的权重。这提高了模型的可扩展性,即使是大型模型也能高效运行。此外,权重的初始化设计还能使各层之间的激活方差保持一致。这种设计提高了训练的稳定性,并能更有效地训练模型。

与传统的变换器模型相比,KAT 实现了更高的准确率,尤其是在 ImageNet-1K 数据集的图像分类任务中,KAT-B 模型以 82.3% 的准确率比 ViT 模型高出 3.1%。这些改进使 KAT 成为一种优于基于 MLP 的简单变换器的新方法。

试验

KAT 针对三大视觉任务(图像分类、物体检测和语义分割)进行了实验,并对每项任务的性能进行了评估。

首先,在图像分类方面,我们使用 ImageNet-1K 数据集来比较 KAT 与其他模型(如 ViT、DeiT 等)的性能。KAT 采用了一种名为 GR-KAN 的新型通道混合器,其性能优于传统的 MLP。例如,KAT-S 模型的准确率达到 81.2%,比传统的 DeiT-S 模型高出 2.4%。此外,KAT 的扩展版本 KAT-B 比 ViT-B 模型的准确率高出约 3.1%,显示出 KAT 在模型大小相同的情况下的优越性。

接下来,在物体检测任务中,使用 MS-COCO2017 数据集将 KAT 纳入 Mask R-CNN,以测量物体检测和实例分割的准确性。在该实验中,KAT 的表现再次优于传统的 ViTDet,尤其是对于较小的模型,APbox 提高了 3.0 个百分点。这证明 KAT 在物体检测方面也能提供高效、准确的结果。

最后,语义分割实验使用 ADE20K 数据集测试了 KAT 的性能。在这项任务中,KAT 被用作 UperNet 的骨干,并与其他传统模型进行了比较:KAT-S 与 DeiT-S 相比,mIoU 提高了约 2.4%,在实现更高精度的同时,由于模型较小,性能损失最小。

这些实验结果证实,与传统的 Transformer 架构相比,KAT 具有更好的表达能力和性能。KAT 的计算效率也特别高,与传统方法相比,通过 CUDA 优化,KAT 的计算速度更快。这样的设计表明,KAT 是各种视觉任务的有力选择。

总结

本文的结论表明,Kolmogorov-Arnold 变换器(KAT)是传统的基于 MLP 变换器的一种有前途的替代方案。(KAT 有效地利用了 Kolmogorov-Arnold 网络(KAN)的特性,在视觉任务中表现出色。KAT 有效地利用了 Kolmogorov-Arnold 网络(KAN)的特性,在视觉任务中表现出色。与传统的变换器架构相比,KAT 在保持计算效率的同时提高了准确性。

此外,KAT 在理论和实践上都有超越 MLP 的潜力,预计在未来的研究中会有更多的应用可能性。特别是其灵活的表达能力和通过使用有理函数实现的学习稳定性,为未来的发展提供了途径,有望扩展到视觉以外的任务。

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

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

相关文章

golang操作mysql利器-gorm

1、傻瓜示例 GORM通过将数据库表中的数据映射到面向对象的模型中,简化了数据库操作,使得开发者可以很方便的使用代码来操作数据库,而无需编写SQL语句。 目前有个mysql表:miniprogram_orders,其存储了所有用户对应的订…

Go容器化微服务系统实战

1-1 本课的go微服务有什么不同? 聚焦于容器化可观测的购物微服务系统实战,通过介绍Go语言的应用趋势、容器化优势及微服务适用性,旨在解决学习微服务过程中遇到的难点。课程内容涵盖微服务整体架构、技术工具框架及容器平台等关键技术&#…

GPT-4o在matlab编程中性能较好,与智谱清言相比

边标签由矩阵给出 s [1 2 3 3 3 3 4 5 6 7 8 9 9 9 10]; t [7 6 1 5 6 8 2 4 4 3 7 1 6 8 2]; G graph(s,t); plot(G) ------------------- GPT-4o给出的代码可用, clc;clear; % 定义边的起点和终点 s [1 2 3 3 3 3 4 5 6 7 8 9 9 9 10]; t [7 6 1 5 6 8 2 …

百度amis框架经验分享

百度amis框架经验分享 官方文档 amis - 低代码前端框架 这篇文章讲了amis的设计 为什么说百度AMIS框架是一个优秀的设计_百度前端框架-CSDN博客 学习方法: 最好的学习方法就是GPT官方文档 不要去很大力气通读官方文档,大概浏览一遍就行, 以你…

JS面试真题 part6

JS面试真题 part6 26、如何判断一个元素是否在可视区域中27、什么是单点登录?如何实现28、 如何实现上拉加载,下拉刷新29、说说你对正则表达式的理解?应用场景?30、说说你对函数式编程的理解?优缺点 26、如何判断一个元…

MySQL 主从复制部署与优化

文章目录 前言 在现代数据库管理中,MySQL 主从复制是一种关键技术,用于提高数据的可用性和性能。随着 Docker 容器技术的普及,利用 Docker 搭建 MySQL 主从复制环境已成为一种趋势,它提供了一种简便、高效且可扩展的解决方案。本…

某建筑市场爬虫数据采集逆向分析

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 目标网站 aHR0cHM6Ly9qenNjLm1vaHVyZC5nb3YuY24vZGF0YS9jb21wYW55P2NvbXBsZXhuYW1lPSVFNiVCMCVCNA 提示:以下是本篇文章正文内容,下面…

应用层 I(C/S模型、P2P模型、域名系统DNS)【★★】

(★★)代表非常重要的知识点,(★)代表重要的知识点。 一、网络应用模型 在网络边缘的端系统之间的通信方式通常可划分为两大类:客户 - 服务器方式(C/S 方式 [Client/Server] )和对等…

Linux:编译,调试和Makefile

一丶vim编译器 ### 基本概念 模式:Vim有几种不同的模式,包括: 命令/正常/普通模式:控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode 插入模…

【Vision Transformer】辅助理解笔记

注:本文主要是对 PPT 部分内容的补充与拓展,建议结合使用(当然也完全可以单看)。 一、基础知识 1、从向量表示到词嵌入 这部分主要是参考如下文章,大部分图片均来自此文:The Illustrated Word2vec – Jay…

visio 2021入门直通车(一天全搞定)

安装Visio 2021 (64bit)安装教程 1.1. 模板类型 1.2. 界面布局 1.3. 插入对象 1.4. 添加页面 1.5. 全屏演示|页面自适应|visio文件切换 1.6. 快捷键 快捷键说明 Shift 鼠标滚轮 按下shift,点击鼠标滚轮水平页面滚动 鼠标滚轮 垂直页面滚动 Ctrl 鼠标滚轮 按…

Shiro-550—漏洞分析(CVE-2016-4437)

文章目录 漏洞原理源码分析加密过程解密过程 漏洞复现 漏洞原理 Shiro-550(CVE-2016-4437)反序列化漏洞 在调试cookie加密过程的时候发现开发者将AES用来加密的密钥硬编码了,并且所以导致我们拿到密钥后可以精心构造恶意payload替换cookie,然后让后台最…

海康HIK IN客户端使用帮助说明

HIK IN客户端是海康威视推出的一款配套公司USB相机的工具客户端。该软件不仅可以轻松的帮助用户实现画面的实时预览,而且支持用户USB接口连接,同时拥有AI参数配置等功能。 HIK IN提供了丰富的相机参数设置选项,能够帮助摄影师优化相机的性能&…

Redis技术解析(基础篇)

1.初识Redis Redis是一种键值型的NoSql数据库,这里有两个关键字: 键值型 Redis-server NoSql 其中键值型,是指Redis中存储的数据都是以key、value对的形式存储,而value的形式多种多样,可以是字符串、数值、甚至jso…

ad14转cadence17.4

一、原理图转换 将原理图文件拖入到新建工程中

云栖3天,云原生+ AI 多场联动,新产品、新体验、新探索

云栖3天,云原生 AI 20场主题分享,三展互动,为开发者带来全新视听盛宴 2024.9.19-9.21 云栖大会 即将上演“云原生AI”的全球盛会 展现最新的云计算技术发展与 AI技术融合之下的 “新探索” 一起来云栖小镇 见证3天的云原生AI 前沿探索…

SpringCloud Alibaba五大组件之——Sentinel

SpringCloud Alibaba五大组件之——Sentinel(文末附有完整项目GitHub链接) 前言一、什么是Sentinel二、Sentinel控制台1.下载jar包2.自己打包3.启动控制台4.浏览器访问 三、项目中引入Sentinel1.在api-service模块的pom文件引入依赖:2.applic…

JavaEE——多线程的状态及线程安全问题

目录 一、线程的状态 1、NEW 2、 TERMINATED 3、RUNNABLE 4、TIMED_WAITING 5、 BLOCKED 6、WAITING 二、线程安全问题 1、线程不安全的原因 2、一个线程不安全的实例 3、加锁操作 4、产生线程不安全的原因 什么是内存可见性呢? 解决方案? 5、指令重排序…

精密制造与质量控制:保障滚珠丝杆重载运行精度

滚珠丝杆作为精密机械传动领域的重要零部件,能够将旋转动力精准地转化为流畅的直线运动。在数控机床、精密制造及高度自动化生产线上扮演着不可或缺的角色。在应对温度波动、负载突变及严苛环境条件的考验中,都有很好的表现。那么,应该如何确…

【多线程】面试高频考点!JUC常见类的详细总结,建议收藏!

💐个人主页:初晴~ 📚相关专栏:多线程 / javaEE初阶 JUC是“Java Util Concurrency”的缩写,指的是Java并发工具包,它位于java.util.concurrent包及其子包中。JUC包提供了大量用于构建并发应用程序的工具和…