基于CNN和双向gru的心跳分类系统

CNN and Bidirectional GRU-Based Heartbeat Sound Classification Architecture for Elderly People是发布在2023 MDPI Mathematics上的论文,提出了基于卷积神经网络和双向门控循环单元(CNN + BiGRU)注意力的心跳声分类,论文不仅显示了模型还构建了完整的系统。

以前的研究

论文总结了以前的研究

数据集和预处理

应用层显示了应用区域,包括医院、政府办公室、救护车、养老院和体育馆。

数据层,处理实时数据采集,如数字或模拟听诊器,机电薄膜(EMFi)传感器,智能手机。

智能层是包含深度学习模型的层。

CirCor数据集

使用CirCor数据集,总共从942名患者中获得3007个录音,包含499个杂音和2508个正常录音。为了解决这个类不平衡问题,论文进行了欠采样。对于欠采样,杂音类使用489个录音,正常类使用489个随机选择的录音。然后将该数据集按70:30的比例分为训练数据和测试数据。

数据增强

时间拉伸:音高移动和音频移动使得总的训练数据变成了原来684个片段大小的3倍。

调高音高:在不改变节奏的情况下,调高或调低音高。半音在-4到+4的范围内随机选择。应用此转换的概率设为0.5。

音频移位:用于向前或向后移动音频样本,有或没有任何翻转。

预处理

数据预处理包括对给定音频信号进行滤波、归一化和下采样。

对给定的音频数据集进行滤波,可以去除录制过程中由于各种环境条件而产生的噪声。

归一化是通过归一化+1到-1范围内的每一类心跳声音来改进训练过程。

信号的下采样率为22050,频率范围为30至1200 Hz。

CNN + BiGRU

作者试图直接在原始时间序列数据上进行训练,但是这导致梯度消失问题和非常长的训练时间。另一种选择是使用色谱图[56],这也是一种与MFCC类似的特征提取方法,但会导致训练不稳定。所以作者最终决定使用MFCC。

CNN + BiGRU模型

由CNN + BiGRU组成的深度学习模型,并使用注意力模型对音频样本进行推理。

在通过GRU单元对时间序列数据进行处理之前,对二维卷积层进行批处理归一化和概率为0.3的Dropout,防止过拟合和泄漏

CNN层期望提取关键的MFCC系数,并以时间序列数据的形式提供给BiGRU层。

BiGRU学习重要的特征,并通过Dropout(防止过拟合)将它们传递给另一个BiGRU层,以提供从mfc中提取的最终特征给前馈神经网络(FFNN)进行预测。FFNN的第一层使用tanh激活,而第二层使用sigmoid激活,因为它是一个二元分类问题。

结果

方法性能对比

采用注意模型的CNN+BiGRU整体验证精度优于其他模型。

与其他模型相比,所提出的体系结构具有更少的训练计算时间复杂度。

消融研究

Adam优化器产生最佳结果。

用MFCC训练非常稳定,收敛速度很快。

数据增强在很大程度上提高了验证的准确性,并有助于对抗过拟合。

论文地址:https://avoid.overfit.cn/post/91ab2a0758e24fe98158f47cabff2468

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

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

c语言-位操作符练习题

文章目录 前言一、n&(n-1)的运用场景(n为整数)二、&1 和 >>的应用场景总结 前言 本篇文章介绍利用c语言的位操作符解决一些练习题,目的是掌握各个位操作符的使用和应用场景。 表1.1为c语言中的位操作符 操作符含义&按位与|按位或^按位异或~按位…

电脑报错缺失vcomp140.dll无法执行代码怎么解决?快速的修复vcomp140.dll方案

vcomp140.dll无法执行代码怎么解决?vcomp140.dll是常见的系统文件,许多用户遇到它缺失导致程序无法运行的问题。本文旨在提供彻底解决此问题的方法,并对vcomp140.dll文件本身进行了简要说明。 以下是几种修复缺失的vcomp140.dll文件的方法 第…

【HBuilder + IDEA + XFtp + XShell】打包部署上线

简述 前后端分离:需要将前后端的程序包打包发送至应用Linux服务器上Linux服务器 (1)需要启用SSHD服务,该服务会监听22号端口(一般是开启的) (2)搭建:MYSQL、Nginx、jdk、…

函数式编程的妙用

前言 我们平常项目中维护的比较多的就是实体类中的数量问题,我们最常见的做法就是通过get方法读取旧数据,然后进行新数据的set 。这套方法相对来说是比较统一固定的,如果有多处地方使用,我们可以想着通过Function和BiConsumer的函…

证明:切线垂直于半径

证明: 切线垂直于过切点的半径。 下面是网上最简单的证明方法。 证明: 利用反证法。如下图所示,直线AB和圆O切于点A,假设OA 不垂直于 AB,并且 O B ⊥ A B OB \perp AB OB⊥AB,则 ∠ O B A 90 \angle O…

实习知识整理14:确认从购物车中下单的订单信息并实现相关的逻辑处理

1. 确认订单信息 分析:这个和之前的直接购买的确认订单的信息是一致的,就是需要前端向后端传递数据表中需要的信息,唯一的区别就是在购物车中购买,可能会购买多种商品,用户订单表还是需要插入一条数据,而订…

风电机叶片表面损坏检测数据集(1万多张+txt标签)

用于深度学习模型训练。有需要的朋友可以和我私聊 数据集信息部分截图 :

写给工程师的 MacBook 商用级大模型知识库部署方案

本文介绍了如何在自己的 MacBook 上部署一套知识库方案辅助自己的知识管理工作,希望能给每位计划自己搭建大模型知识库应用的工程师一点参考。 背景 历史的车轮滚滚向前,大模型技术发展日新月异,每天都有新鲜的技术出炉,让人目不暇…

活动快讯 | 万博智云受邀参加上海经信委,港澳办,香港贸发局主办的沪港主题活动

12月28日下午,上海市经信委、上海市人民政府港澳事务办公室、香港贸发局联合于上海城市数字化转型体验馆三楼会客厅举办沪港主题活动。万博智云CEO Michael受邀参加此次活动,探讨数字经济未来发展局势。 本次主题活动聚焦数据领域,邀请两地政…

J1 - ResNet-50实战

🍨 本文为🔗365天深度学习训练营 中的学习记录博客🍖 原作者:K同学啊 | 接辅导、项目定制 目录 环境步骤环境设置数据准备图像信息查看 模型设计模型训练模型效果展示 总结与心得体会 环境 系统: Linux语言: Python3.8.10深度学习…

UniApp小程序使用vant引入vant weapp

HBuilder X里新建项目指路 HBuilderX新建项目 安装node.js指路 安装node.js 1.通过npm安装 查看npm环境 //打开终端输入命令查看版本 npm -version 1.1.右键打开外部终端窗口 1.2.输入npm init -y命令 1.3.通过命令安装 npm i vant/weapp1.3.3 -S --production 1.4.打开工具…

蓝桥杯单片机进阶教程1——代码书写格式,继电器和蜂鸣器

一、比赛过程中的参考资料 SCH_硬件原理图V30 二、分析考题 通用的考题是正式程序前加上关闭无关外设 还有就是考继电器的吸合,关键点是不要影响到蜂鸣器 三、实验 关闭无关外设,继电器每隔500ms吸合,断开 参考代码: https…

macos Jetbrains IDEA用户自定义vm配置信息存储路径, IDEA点击无反应 无法打开问题解决

Jetbrains Clion, IDEA 用户在应用里面修改了自定义的VM配置后的存储路径为 ~/Library/Application Support/JetBrains/xxx2023.3/xxx.vmoptions xxx为你安装的APP名称, 如 Clion .IntelliJIdea 这里的自定义配置如果配置有误就会直接导致JetBrains软件无法打开, 即 点击打开…

[电磁学]大学物理陈秉乾老师课程笔记

主页有博主其他上万字的精品笔记,都在不断完善ing~ 第一讲 绪论,库仑定律 主要讲解了电磁学中的库伦定律和电场的相关概念,介绍了电荷和电磁相互作用的规律,并讲解了电场强度和电势的概念。 03:14 🎓 库伦定律:电势能与电荷的关…

攻防技术-单包攻击防范:扫描、畸形、特殊(HCIP)

单包攻击类型介绍 一、扫描窥探攻击 1、地址扫描攻击防范 攻击介绍 运用ping程序探测目标地址,确定目标系统是否存活。也可使用TCP/UDP报文对目标系统发起探测(如TCP ping)。 防御方法 检测进入防火墙的ICMP、TCP和UDP报文,根…

【C语言深度剖析——第一节(关键字1)】《C语言深度解剖》+蛋哥分析+个人理解

你未曾见过火光,难怪甘愿漂泊寒夜 本文由睡觉待开机原创,未经允许不得转载。 本内容在csdn网站首发 欢迎各位点赞—评论—收藏 如果存在不足之处请评论留言,共同进步! 首先简单介绍一下《C语言深度解剖》: 全书特点&am…

深度解析高防产品---游戏盾

游戏盾是针对游戏行业所推出的高度可定制的网络安全解决方案,游戏盾是高防产品系列中针对游戏行业的安全解决方案。游戏盾专为游戏行业定制,针对性解决游戏行业中复杂的DDoS攻击、游戏CC攻击等问题。游戏盾通过分布式的抗D节点,可以防御TB级大…

【教程】自动检测和安装Python脚本依赖的第三方库

转载请注明出处:小锋学长生活大爆炸[xfxuezhang.cn] 背景说明 对于新python环境,要运行某个脚本,可能需要安装很多库,一般可以通过提供的requirements.txt来自动安装。但如果没有这个txt,那就得手动一个一个安装&#…

限流,熔断,降级分析

写在前面 本文一起看下限流,熔断,降级的概念。 1:限流 限制单位时间内的请求数,超过的则拒绝或其他。常用的算法有滑动时间窗口,漏桶算法,令牌桶算法。 2:熔断 在分布式的场景中,一个请求可能涉及到多…