信号处理学习——文献精读与code复现之TFN——嵌入时频变换的可解释神经网络(上)

​​​​​​​​​​​​​​TFN: An interpretable neural network with time-frequency transform embedded for intelligent fault diagnosis - ScienceDirecthttps://www.sciencedirect.com/science/article/abs/pii/S0888327023008609?via%3Dihub

(看看玲娜贝儿,安慰一下自己,

抚平咱们在家还要开电脑干活的情绪……)

一. 文献阅读

1. 引言

本研究的主要贡献可概括如下:

(1)提出了具有优异可解释性的TFconv层,该层能提取时频信息以获得更佳诊断性能;

(2)所有基于内积的时频变换方法均可作为核函数嵌入TFconv层,本文选取三种典型时频变换方法构建对应TFconv层并展开分析;

(3)通过频响分析阐释了时频网络在频域进行特征提取与预测决策的逻辑基础。实验结果表明,所提出的TFconv层在收敛速度、小样本适应性和泛化能力方面具有显著优势。

2.准备工作

输入信号 x(t):表示原始的振动信号(如滚动轴承故障信号),可能包含瞬时冲击与频率变化。

与多个核函数  \psi_f(t)的内积操作:每个 \psi_f(t) 对应一个特定频率;每个内积计算等价于提取该频率分量在该时刻的能量。

Hadamard product、求和与模值操作:模块化(modulo operator)处理实部与虚部能量;得到的是复数形式的时频分布

输出为二维图像 TF(t, f):横轴为时间,纵轴为频率,颜色表示幅值(能量)。

接着文献介绍了一下一维CNN。

3. 方法

3.1. Structure of TFconv layer

图 3 展示了 TFconv 层的完整处理流程:

a. 输入信号:为原始的机械振动信号 x(t),是时间序列数据。

b. 卷积操作:用到两个卷积核,实部核虚部核(分别代表时频核函数的实部虚部

分别与输入信号卷积,得到实部特征 h_{\text{real}}和虚部特征 ​h_{\text{imag}}

c. 双向传播(forward & back-forward) 表示在训练过程中进行梯度反向传播更新核函数中的可训练参数。

d. 合并操作:对实部与虚部进行 模长计算 h = \sqrt{h_{\text{real}}^2 + h_{\text{imag}}^2}​​,对应于复数信号的模,用以得到最终的 时频分布图,即输出特征。

e. 最终输出得到类似于时频图的 2D 特征图,既包含时域信息,又具备频域分布结构,可直接用于下游分类任务。

对比

传统卷积层TFconv 层(创新点)

实虚

结构

实值卷积核拆分为实部核和虚部核,输出合成采用模长运算
核函数生成卷积核权重随机初始化并训练卷积核由具有物理意义的核函数(如 STFT/小波)构造,训练的是核函数的控制参数
可训练参数每个卷积核的所有参数(如每个权重)均为可训练仅训练核函数的结构控制参数(如频率因子 f,尺度因子 s,时间平移等)

3.2 Kernel function of TFconv layer

该部分主要解释了 TFconv 层中的核函数来自于传统时频变换(TFT)中的内积窗口函数(inner product window function),并介绍了三种典型的时频核函数(STFT、chirplet、Morlet wavelet)及其参数含义和区别。

本文考虑三种典型的时频核函数来构造 TFconv 卷积核:

  • STFT(Short-Time Fourier Transform)核函数
  • CT(Chirplet Transform)核函数

  • Morlet WT(Wavelet Transform)核函数

它们的核函数在 TFconv 中用于构造可调卷积核,并拥有各自独立的可调参数,后文将表格中说明。

核函数中心频率调节带宽调节方式控制参数
STTF(图4a)固定中心频率固定带宽f:频率因子
Chirplet(图4b)可调中心频率由调频因子 α\alpha 控制线性扩展f0,α:调频参数
Morlet Wavelet(图4c)中心频率可调由尺度因子 ss 控制可伸缩带宽s:尺度因子

3.3 Interpretability of TFconv layer

内容说明
5(a)传统卷积层的 C-FR,响应图呈现随机分布,没有明确频率偏好,解释性差。
5(b)TFconv + STFT核的 C-FR,具有明确的频率聚焦,响应集中在某些频带,受核函数调控。
5(c)TFconv + Morlet核的 C-FR,响应更光滑,带宽受核函数参数控制。
5(d)O-FR 对比图:实线为 TFconv 层,虚线为传统卷积层。可见 TFconv 在0.2~0.3附近有明显响应峰值,表示其能更好“关注”故障频率所在频段。

TFconv层中的O-FR可以视为模型关注频率的指示器,揭示CNN“关注了哪些频段”,对模型输出影响最大的频段即是关键故障频带。相比传统卷积层,TFconv层具有“可控核函数”和“频域解释性”,对频谱进行结构化选择而非盲目学习。

推论: 若TFconv层输出的 O-FR 与实际机械故障频谱吻合,表明模型确实学会关注关键特征频率。

为验证TFconv层的有效性,本研究选用相对较浅的CNN作为主干网络,所得TFN架构如表3所示。其中𝑛𝑐、𝑁和𝑛𝑝分别代表预处理层通道数、TFconv层长度以及分类类别数。𝑛𝑐和𝑁在TFconv层设计过程中确定,𝑛𝑝则由诊断任务决定。

Part层编号网络结构输出维度
TFconv1TFconv(xtx_t),输入尺寸为1×1024nc×1024
Backbone2卷积(16卷积核,步长1)+BN+ReLU16×1010
3卷积(32核,步长1)+BN+ReLU+最大池化(步长2)32×504
4卷积(64核,步长1)+BN+ReLU64×502
5卷积(128核,步长1)+BN+ReLU+自适应池化128×4
6Flatten512
7Dense(256)+ReLU+Dense(npn_p)np

代码复现已更新!

信号处理学习——文献精读与code复现之TFN——嵌入时频变换的可解释神经网络(下)-CSDN博客

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

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

相关文章

Panda3D实战:从入门到精通

Panda3D基础实例 创建一个简单的Panda3D场景,加载一个模型并显示: from direct.showbase.ShowBase import ShowBaseclass MyApp(ShowBase):def __init__(self):ShowBase.__init__(self)self.scene = self.loader.loadModel("models/environment")self.scene.repa…

Galera集群:高可用MySQL同步复制方案

目录 Galera Cluster 概述 核心架构与组件 WSREP API Group Communication System (GCP) 同步复制机制 复制流程详解 冲突检测算法 关键特性 多主架构实现 强一致性保障 自动成员管理 性能优化策略 并行复制实现 流控机制详解 批处理与压缩 部署与监控 详细配…

MybatisPlus-03.快速入门-常用注解

一.MP的原理 mp究竟是如何知道我们需要对哪个表进行操作,并且又是如何知道要操作哪些字段的呢?这是因为mp使用到了反射机制,我们在定义mapper接口时使其继承了BaseMapper接口,并指定了BaseMapper接口泛型为User,因此m…

ABAP+记录一个BDC的BUG修改过程

问题背景: 业务顾问反馈在使用BDC 进行MEQ1进行供应商配额时,由于以前录屏时用例只有3行数据,导致现在有5行数据的时候,代码仍然只获取了3行数据进行录入,现在需要更改代码,使其按照实际情况自动调整行数。…

github上传代码步骤(http)

github上传步骤(http) 之前github上传不了代码,总是报错。后面发现自己用的ssh上传需要秘钥,现在我介绍一个最简单的http上传方法(虽然没有ssh安全。。。但简单嘛~),现在我做个例子&#xff0c…

深入理解Nginx-以实际http通信例子改造带ssl配Nginx的实战-优雅草卓伊凡|麻子

深入理解Nginx-以实际http通信例子改造带ssl配Nginx的实战-优雅草卓伊凡|麻子 SSL/TLS在Nginx中的底层实现原理 Nginx的SSL模块架构 Nginx通过ngx_http_ssl_module模块实现SSL/TLS功能,该模块基于OpenSSL库构建。根据Nginx官方文档,SSL模块在Nginx架构…

AT6558R-5N32介绍

作为单芯片SOC方案,AT6558R在片上整合了射频前端、数字基带处理器与32位RISC CPU,并具备电源管理能力。该芯片兼容北斗、GPS、GLONASS三大卫星导航系统,可实现多模协同定位‌。 主要特征 支持 BDS/GPS/GLONASS 多系统联合定位 和单系统独立定…

“对象创建”模式之原型模式

目录 Prototype 原型模式动机 Motivation引例模式定义结构 Structure要点总结 Prototype 原型模式 动机 Motivation 在软件系统中,经常面临着“某些结构复杂的对象”的创建工作;由于需求的变化,这些对象经常面临着剧烈的变化,但…

Tomcat服务概述

前言: 作为Apache软件基金会Jakarta项目的核心成果,Tomcat凭借其轻量级、开源免费的特性,已成为Java Web应用服务的行业基准。它实现了完整的Servlet与JSP规范,通过模块化架构(Connector请求处理层与Container业务逻辑…

HarmonyOS应用开发高级认证知识点梳理 (一) 布局与样式

以下是 HarmonyOS 应用开发中 ‌布局与样式‌ 的核心知识点梳理(针对高级认证备考),结合官方文档与高频考点: 一、布局系统核心知识点 布局容器类型‌ 线性布局‌:Column(纵向)、Row&#xf…

【Ragflow】30.离线环境迁移方案

前言 之前的 Ragflow-Plus 在服务器上稳定运行一段时间后,接到任务,要把服务迁移到一台古老的,离线的windows台式机上。 起初认为,下载离线安装包,加载离线镜像,迁移下数据就可以了。 结果坑多得意想不到…

nrf52840蓝牙学习(定时器的应用)

和其他 MCU 处理器一样,在 nrf52840 中定时器的功能是十分强大的。其内部包含了 5 个定时 器 TIMER 模块 :TIMER0 、 TIMER1 、 TIMER2 、 TIMER3 、 TIMER4 ,如下表 10.1 所示。 1. 时钟源 首先定时器 TIMER 工作在高频时钟源&#xff08…

【Bluedroid】蓝牙启动之BTM_reset_complete源码解析

当蓝牙控制器完成硬件重置后,协议栈需通过一系列初始化操作恢复各模块状态。本文深入分析BTM_reset_complete核心函数及其调用链,详解 L2CAP 连接清理、安全模块重置、扫描参数恢复、BLE 隐私功能初始化等关键流程,揭示蓝牙设备在重置后如何通过标准化状态恢复确保互操作性、…

containerd 项目主要目录简要说明

containerd 项目结构清晰,核心代码分布在若干主目录下。以下是 client、cmd、core、internal、pkg、plugins 这六个主要包/目录的简要作用说明: 1. client 作用:封装与 containerd 守护进程通信的 Go 客户端 API,主要基于 gRPC。…

有线转无线工具,轻松创建WiFi热点

软件介绍 今天为大家推荐一款实用的无线网络共享工具——MyPublicWiFi。这款软件能够将电脑的有线网络转换为无线WiFi,方便其他设备连接使用。 安装与设置 该软件为安装版程序,安装完成后会自动识别当前电脑的IP地址。用户可在软件界面中自定义设…

Linux下,通过标准I2C驱动读取Sensor ID

sensor型号&#xff1a;OS04L10&#xff0c;sensor引脚以及时钟要先配置好&#xff0c;源码如下&#xff1a; #include <fcntl.h> #include <linux/i2c-dev.h> #include <linux/i2c.h> #include <stdint.h> #include <stdio.h> #include <sy…

人工智能基石:SVM支持向量机全解析(附Python实战)

大家好&#xff01;今天我们来深入探讨支持向量机&#xff08;Support Vector Machine, SVM&#xff09;——这个在​​图像识别、文本分类​​等领域广泛应用的强大算法。既能处理分类问题&#xff0c;又能解决回归任务&#xff0c;甚至在非线性数据面前也能游刃有余。本文将带…

mysql查看数据库

在 MySQL 中查看当前数据库的创建语句&#xff0c;使用 SHOW CREATE DATABASE 命令&#xff0c;以下是详细操作指南&#xff1a; 1. 查看当前数据库的创建语句 SHOW CREATE DATABASE database_name; 替换 database_name 为你的数据库名使用反引号 包裹特殊名称或保留字 2.…

ArrayList剖析

大家天天在用List&#xff0c;ArrayList一般来讲应该是程序员用的最多的集合类了。 我们今天研究一下ArrayList。 总体来讲&#xff0c;从底层数据结构或者源码的角度看&#xff0c;List比Map或者Set要简单。 底层数据结构 ArryList其实就是可变长数组。 初始化的时候&…

回顾JAVA中的锁机制

Java中的锁机制 在Java中&#xff0c;锁机制是多线程编程里保障数据一致性与线程安全的关键技术。 1. 内置锁&#xff1a;synchronized关键字 synchronized是Java的内置锁机制&#xff0c;能够保证在同一时刻&#xff0c;只有一个线程可以执行被其修饰的代码块或方法。 用法…