独家首发 | 基于 KAN、KAN卷积的轴承故障诊断模型

往期精彩内容:

Python-凯斯西储大学(CWRU)轴承数据解读与分类处理

基于FFT + CNN - BiGRU-Attention 时域、频域特征注意力融合的轴承故障识别模型-CSDN博客

基于FFT + CNN - Transformer 时域、频域特征融合的轴承故障识别模型-CSDN博客

Python轴承故障诊断 (11)基于VMD+CNN-BiGRU-Attenion的故障分类-CSDN博客

Python轴承故障诊断 (13)基于故障信号特征提取的超强机器学习识别模型-CSDN博客

Python轴承故障诊断 (14)高创新故障识别模型-CSDN博客

Python轴承故障诊断 (15)基于CNN-Transformer的一维故障信号识别模型-CSDN博客

Python轴承故障诊断 (16)高创新故障识别模型(二)-CSDN博客

轴承故障全家桶更新 | 基于时频图像的分类算法-CSDN博客

Python轴承故障诊断 (17)基于TCN-CNN并行的一维故障信号识别模型-CSDN博客

独家原创 | SCI 1区 高创新轴承故障诊断模型!-CSDN博客

基于 GADF+Swin-CNN-GAM 的高创新轴承故障诊断模型-CSDN博客

Python轴承故障诊断 (18)基于CNN-TCN-Attention的创新诊断模型-CSDN博客

注意力魔改 | 超强轴承故障诊断模型!-CSDN博客

轴承故障全家桶更新 | 基于VGG16的时频图像分类算法-CSDN博客

轴承故障全家桶更新 | CNN、LSTM、Transformer、TCN、串行、并行模型、时频图像、EMD分解等集合​都在这里-CSDN博客

Python轴承故障诊断 (19)基于Transformer-BiLSTM的创新诊断模型-CSDN博客

Python轴承故障诊断 (20)高创新故障识别模型(三)-CSDN博客

视觉顶会论文 | 基于Swin Transformer的轴承故障诊断-CSDN博客

Python轴承故障诊断 | 多尺度特征交叉注意力融合模型-CSDN博客

SHAP 模型可视化 + 参数搜索策略在轴承故障诊断中的应用-CSDN博客

速发论文 | 基于 2D-SWinTransformer+1D-CNN-SENet并行故障诊断模型-CSDN博客

Python轴承故障诊断 (21)基于VMD-CNN-BiTCN的创新诊断模型-CSDN博客

1DCNN-2DResNet并行故障诊断模型-CSDN博客

基于改进1D-VGG模型的轴承故障诊断和t-SNE可视化-CSDN博客

基于K-NN + GCN的轴承故障诊断模型-CSDN博客

模型简介:

火遍AI圈的最新论文 KAN: Kolmogorov-Arnold Network 大家应该听说过了,那咱们基于 KAN 的轴承故障诊断还会远吗?发论文的核心点就是紧跟前沿,跟着大牛喝口汤!这一轮热点来袭,有论文需求的同学可要把握住机会!

在 KAN 和 CKAN ( Convolutional Kolmogorov-Arnold Network ) 的基础上,我们提供了五种轴承故障诊断模型的对比

  • MLP: 两层 MLP (第一层神经元 64, 第二层神经元32)

  • KAN: 两层优化后的 KANLinear (第一层神经元 64, 第二层神经元32)

  • CNN-1D: 3 层的普通 1D 卷积池化层 + 1 层线性层

  • CNN-1D-KAN: 3 层的普通 1D 卷积池化层 + 1 层 KANLinear

  • KAN-Conv: 2 层的KANConv + 1 层线性层

五种模型实验效果对比如下:(注意!此代码也比较容易和我们往期推出的模型进行融合,在这个基础上,进一步增加一些实验或者模块,就可以直接拿去发文章!)

从对比实验可以看出, 在轴承故障诊断任务中:

KAN的准确率 要优于 MLP,我们可以进一步尝试在常规模型的最后一层线性层都替换为 KAN 层来进行对比;KAN 卷积 比常规卷积准确率有略微的提升!

相关学习资料和完整的数据、五种分类代码如下:

● 数据集:CWRU西储大学轴承数据集

● 环境框架:python 3.9  pytorch 2.0 及其以上版本均可运行

● 输出结果:训练过程损失、准确率曲线图、测试集准确率报告、混淆矩阵

● 使用对象:论文需求、毕业设计需求者

● 代码保证:代码注释详细、即拿即可跑通。

前言

本文基于凯斯西储大学(CWRU)轴承数据,先经过数据预处理进行数据集的制作和加载,最后通过Pytorch实现优化的KAN模型和KAN卷积模型对故障数据的分类。凯斯西储大学轴承数据的详细介绍可以参考下文:

Python-凯斯西储大学(CWRU)轴承数据解读与分类处理

1 KAN 网络介绍

1.1 KAN 网络三大特征

  • 数学上有据可依

  • 准确性高

  • 可解释性强

1.2 传统 MLP 的本质

多层感知机(MLPs),也称为全连接前馈神经网络,是深度学习模型的基础构建块。MLPs 的重要性不言而喻,因为它们是机器学习中用于逼近非线性函数的默认模型,其表达能力由普适逼近定理保证。

(1)容易产生梯度消失和梯度爆炸:

  • 梯度消失:梯度趋近于零,网络权重无法更新或更新的很微小,网络训练再久也不会有效果;

  • 梯度爆炸:梯度呈指数级增长,变的非常大,然后导致网络权重的大幅更新,使网络变得不稳定。

(2)参数效率低:

    MLP 通常使用全连接层,意味着每层的每个神经元都与前一层的所有神经元相连接,导致参数数量迅速增加,尤其是对输入维度很高的数据;这不仅增加了计算负担,也增加了模型过拟合的风险。

(3)可解释性差:

尽管 MLPs 的使用普遍,但它们有着显著的缺点。例如,在Transformer中,MLPs 几乎消耗所有非嵌入参数,并且通常在没有后续分析工具的情况下(相对于注意力层)不太可解释。其可解释性比较差,和一个黑盒模型一样,无法探究是怎么进行学习的。

1.3 MLP 与 KAN 对比

(1)Kolmogorov-Arnold 定理:

任何一个多变量连续函数都可以表示为一些单变量函数的组合!(在数学的视角,任何问题的核心都是在拟合函数)

(2)激活函数可学习的:

神经网络中每一层的输入输出都是一个线性求和的过程,所以如果没有激活函数,那么无论你构造的神经网络多么复杂,有多少层,最后的输出都是输入的线性组合,纯粹的线性组合并不能够解决更为复杂的问题。而引入激活函数之后,我们会发现常见的激活函数都是非线性的,使得神经网络可以逼近其他的任何非线性函数。与MLP不同激活函数固定 ,而 KAN 激活函数可学习的, 是可变的!

  • MLP: 激活函数固定, 输入先相加再激活

  • KAN: 激活函数可学习的,输入先激活再相加

(3)样条函数:

KAN 中的每层非线性函数 Ф 都采用同样的函数结构,只是用不同的参数来控制其形状,文章选择了数值分析中的样条函数 spline ,样条理论是函数逼近的有力工具。

样条函数是由多个多项式片段组成的函数,每个片段在相邻节点之间定义。这些片段在节点处连接,以确保整体函数的光滑性。

b样条曲线有一个优势就是有明显的几何意义。通过砍角算法(嵌套的线性插值)可以方便的进行曲线的细分、导矢计算、曲线分割、逼近(消去节点),不仅可以方便的进行各种操作,而且精度比采用幂基函数的多项式样条高。

(4)MLP 与 KAN 对比:

MPL 是固定的非线性激活 + 线性参数学习,KAN 则是直接对参数化的非线性激活函数的学习。KAN 实现了使用更少的节点,更小的网络,来实现同样的效果,甚至更优的效果!

1.4 KAN 执行过程

1.5 可解释性

运行代码文件中的 hellokan.ipynb 实现上述可视化过程

2 KAN 卷积(CKAN)

2.1 CKAN 

最近,有研究者将 KAN 创新架构的理念扩展到卷积神经网络,将卷积的经典线性变换更改为每个像素中可学习的非线性激活函数,提出并开源 KAN 卷积(CKAN)

KAN 卷积与卷积非常相似,但不是在内核和图像中相应像素之间应用点积,而是对每个元素应用可学习的非线性激活函数,然后将它们相加。KAN 卷积的内核相当于 4 个输入和 1 个输出神经元的 KAN 线性层。

2.2 CKAN 中的参数

假设有一个 KxK 内核,对于该矩阵的每个元素,都有一个 ϕ,其参数计数为:gridsize + 1,ϕ 定义为:

这为激活函数 b 提供了更多的可表达性,线性层的参数计数为 gridsize + 2。因此,KAN 卷积总共有 K^2(gridsize + 2) 个参数,而普通卷积只有 K^2。

3.3 CKAN 在轴承故障诊断中的应用

通过前面的对比实验可以看出,基于 KAN 的卷积网络比传统卷积网络在轴承故障分类任务上效果会好一些,但是训练时间较长。后续可以考虑融合其他模块,做进一步优化;同时基础的 KAN 层完全可以替代分类任务中的全连接层,效果显著,可以在其他数据集上做进一步的对比实验。总的来说,KAN 卷积的实现是一个很有前景的想法,在轴承故障诊断任务上也存在一定的应用前景,值得我们去探索!

3 轴承故障数据的预处理

3.1 导入数据

参考之前的文章,进行故障10分类的预处理,凯斯西储大学轴承数据10分类数据集:

train_set、val_set、test_set 均为按照7:2:1划分训练集、验证集、测试集,最后保存数据

上图是数据的读取形式以及预处理思路

3.2 数据预处理,制作数据集

4 基于 Pytorch的 KANConv 的轴承故障诊断

4.1 定义 KANConv 分类网络模型,设置参数,训练模型

100个epoch,训练集、验证集准确率98%,用改进 KAN 卷积 网络分类效果显著,模型能够充分提取轴承故障信号中的故障特征,收敛速度快,性能优越,精度高,效果明显!(代价是运行时间比传统CNN网络要慢)

4.2 模型评估

准确率、精确率、召回率、F1 Score

故障十分类混淆矩阵:

5 代码、数据整理如下:

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

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

相关文章

【总结·反思·汇报·思考02】裸辞后,我的一些感想和感悟。

Hello,大家好! 首先,我需要向大家道个歉,对不起!因为最近发生了一些事情,博客文章一直没有更新。(90度鞠躬道歉) 那么,最近到底发生了什么呢?相信大家已经从…

解密分布式锁:保障系统一致性的关键

作者:后端小肥肠 🍇 我写过的文章中的相关代码放到了gitee,地址:xfc-fdw-cloud: 公共解决方案 🍊 有疑问可私信或评论区联系我。 🥑 创作不易未经允许严禁转载。 目录 1. 前言 2. 为何要使用分布式锁&…

HarmonyOS-高级(一)

文章目录 一次开发、多端部署自由流转 🏡作者主页:点击! 🤖HarmonyOS专栏:点击! ⏰️创作时间:2024年12月09日12点19分 一次开发、多端部署 布局能力 自适应布局 拉伸能力均分能力占比能力缩放…

河工oj第七周补题题解2024

A.GO LecturesⅠ—— Victory GO LecturesⅠ—— Victory - 问题 - 软件学院OJ 代码 统计 #include<bits/stdc.h> using namespace std;double b, w;int main() {for(int i 1; i < 19; i ) {for(int j 1; j < 19; j ) {char ch; cin >> ch;if(ch B) b …

开源架构安全深度解析:挑战、措施与未来

开源架构安全深度解析&#xff1a;挑战、措施与未来 一、引言二、开源架构面临的安全挑战&#xff08;一&#xff09;代码漏洞 —— 隐藏的定时炸弹&#xff08;二&#xff09;依赖项安全 —— 牵一发而动全身&#xff08;三&#xff09;社区安全 —— 开放中的潜在危机 三、开…

Ubuntu上使用system()函数运行不需要输入密码

使用system()运行一些终端命令的时候&#xff0c;需要sudo权限&#xff0c;也就是必须输入密码&#xff0c;那么在程序自启动的时候就无法成功启动。如果设置Ubuntu下所有操作都不需要密码&#xff0c;安全性太低&#xff0c;所以我们可以将需要用到的终端指令给予无需输入密码…

HBuilderX(uni-app)Vue3路由传参和接收路由参数!!

uni-app搭建小程序时候Vue3语法接收路由参数&#xff0c;去官方文档查看&#xff0c;是onLoad的option接收参数&#xff0c;我试过&#xff0c;接收不到&#xff0c;上网查各种方法也是不太行&#xff0c;最后自己琢磨出来了&#xff0c;这参数藏得还挺深&#xff01;&#xff…

操作系统(1)OS的基本概念

一、定义 操作系统&#xff08;OS&#xff09;是控制和管理整个计算机系统的硬件与软件资源&#xff0c;并合理地组织、调度计算机的工作与资源的分配&#xff0c;进而为用户和其他软件提供方便接口与环境的程序集合。它是计算机系统中最基本的系统软件。 二、功能 资源管理&am…

gridcontrol多行表头

效果如下 只需这样做,设置该属性为对应的值

Formality:set_svf命令

相关阅读 Formalityhttps://blog.csdn.net/weixin_45791458/category_12841971.html?spm1001.2014.3001.5482 svf文件的全称是Setup Verification for Formality&#xff0c;即Design Compiler提供给Formality的设置验证文件&#xff0c;它的作用是为Formality的指导模式(Gui…

【蓝桥杯每日一题】重新排序

重新排序 2024-12-8 蓝桥杯每日一题 重新排序 前缀和 差分 题目大意 给定一个数组 A 和一些查询 L i , R i Li_,R_i Li,​Ri​, 求数组中第 L i L_i Li​至第 R i R_i Ri​个元素之和。 小蓝觉得这个问题很无聊, 于是他想重新排列一下数组, 使得最终每个查 询结果的和尽可能…

LabelImg使用教程

(yolov5scondaPython3123) D:\PyCharm20240724\20240724PyCharmProject>conda.bat deactivate D:\PyCharm20240724\20240724PyCharmProject>conda activate labelimg_env (labelimg_env) D:\PyCharm20240724\20240724PyCharmProject> labelimg 创建快捷键方式

洛谷 P1179 [NOIP2010 普及组] 数字统计 C语言

题目&#xff1a; https://www.luogu.com.cn/problem/P1179 思路&#xff1a;直接暴力过 代码&#xff1a; #include<iostream> using namespace std; int cnt(int x) {int sum 0;while(x){int temp x %10;if(temp 2){sum;}x x/10;}return sum; } int main(void) …

练9:进制转换

欢迎大家订阅【蓝桥杯Python每日一练】 专栏&#xff0c;开启你的 Python数据结构与算法 学习之旅&#xff01; 文章目录 1 进制转换2 例题分析 1 进制转换 ①任意制转为十进制 【示例】 ②十进制转为任意制 【法一】 【法二】 2 例题分析 题目地址&#xff1a;https:/…

【ComfyUI+多视图生成】MV-Adapter:多视图一致性图片生成(2024.12.09基于SDXL开源)

源码&#xff1a;https://github.com/huanngzh/MV-Adapter ComfyUI扩展&#xff1a;https://github.com/huanngzh/ComfyUI-MVAdapter 项目主页&#xff1a;https://huanngzh.github.io/MV-Adapter-Page/ 论文&#xff1a;2412.MV-Adapter: Multi-view Consistent Image Generat…

《机器学习》2.4假设检验 t分布 F分布

目录 t发布 注意是这个东西服从t分布 数据服从t分布通常是在以下情况下&#xff1a; 以下是一些具体的例子&#xff0c;说明在何种情况下数据会服从t分布&#xff1a; t检验 交叉验证t检验 样本方差​编辑 F分布&#xff08;fisher Friedman检验是一种非参数统计方法&a…

图像识别 | Matlab基于卷积神经网络(CNN)的宝可梦识别源程序,GUI界面。附详细的运行说明。

图像识别 | Matlab基于卷积神经网络(CNN)的宝可梦识别源程序&#xff0c;GUI界面。附详细的运行说明。 目录 图像识别 | Matlab基于卷积神经网络(CNN)的宝可梦识别源程序&#xff0c;GUI界面。附详细的运行说明。预测效果基本介绍程序设计参考资料 预测效果 基本介绍 Matlab基…

全国青少年信息学奥林匹克竞赛(信奥赛)备考实战之计数器与累加器(一)

学习背景&#xff1a; 在现实生活中一些需要计数的场景下我们会用到计数器&#xff0c;如空姐手里记录乘客的计数器&#xff0c;跳绳手柄上的计数器等。累加器是累加器求和&#xff0c;以得到最后的结果。计数器和累加器它们虽然是基础知识&#xff0c;但是应用广泛&#xff0…

计算机毕业设计Python动物图像识别分类系统 机器学习 深度学习 数据可视化 爬虫 卷积神经网络CNN 预测算法 图像识别

温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 作者简介&#xff1a;Java领…

ASP.NET Core API + MySql

环境 数据库&#xff1a; mysql8.0 后端&#xff1a; vs2022 ASP.NET Core API .net 8 前端&#xff1a; Hbuilderx bootstrap 5.3.0 jquery v3.7.1 bootstrap-table 1.23.5 创建项目 添加资源包 AutoMapper Microsoft.EntityFrameworkCore.Tools 8.0.0 Pomelo.EntityFramew…