WavRx:新型语音健康诊断模型

      近年来,语音作为一种有前景的疾病诊断和远程健康监测手段已经出现。语音健康诊断通常基于这样一个假设:即影响发音和/或呼吸系统的疾病会导致人类语音信号中出现非典型模式。这种异常可能由多种原因造成,例如神经肌肉控制受损或声道和肺部发炎。虽然人类有时可能察觉不到语音信号中的影响,但机器学习(ML)模型可以被训练来检测某些与疾病相关的声学生物标记。多年来,已经有大量研究探索了语音处理在诊断中的使用,包括但不限于COVID-19、言语障碍、帕金森病和阿尔茨海默病,以及许多其他一般性呼吸症状我的博客声纹识别专栏也有几篇文章介绍了此类研究,

  • 首次使用回声状态网络 (ESN) 和语音特征进行帕金森病 (PD) 预测
  • PPINtonus (深度学习音调分析)帕金森病早期检测系统
  • 声学特征在膝关节健康诊断中的应用分析
  • ECM和MEMS技术在心肺声学监测中的应用

    随着深度学习的影响日益显现,与基于语音的健康诊断相关的几个挑战也随之而来现有模型主要局限性如下:

现有模型的局限性:

  • 疾病依赖性: 现有的语音健康诊断模型通常针对特定类型的疾病进行设计,缺乏泛化能力。这意味着一个针对某种疾病设计的模型可能无法有效地诊断其他疾病,限制了其在实际应用中的价值。
  • 泛化能力不足: 现有模型在跨数据集测试时,性能往往会出现显著下降。这可能是因为模型过度拟合了特定数据集的特征,而忽略了通用的诊断信息。
  • 隐私问题: 由于语音包含个人身份信息,例如性别、年龄和种族等,将语音信号上传到在线平台进行模型训练和评估存在安全隐患,尤其是在语音克隆技术日益发达的今天。

    本文提出了一个新的语音健康诊断模型WavRx,该模型与疾病无关,能够跨数据集泛化,并且保护隐私建立在WavLM模型之上,并结合了一个新颖的调制动态模块,该模块混合了高分辨率的时间WavLM表示和语音的长期调制动态。而WavLM表示可以在50 Hz的速率下承载语言和副语言属性,这些属性更侧重于瞬时时间变化。另一方面,与发音和呼吸相关的异常可能以更低的速率调节这些短时间特征

1 WavRx模型

1.1 理论及技术基础

1.1.1 语音健康诊断模型

早期研究主要基于人工设计的特征来表征语音病理特征,例如梅尔频率倒谱系数 (MFCCs) 和开放SMILE特征等。这些特征虽然具有一定的解释性和泛化能力,但难以捕捉复杂的语音病理特征。

  • 深度学习模型: 基于深度学习的语音健康诊断模型逐渐兴起,例如卷积神经网络 (CNN) 和循环神经网络 (RNN) 等。这些模型能够自动学习语音特征,并取得了较好的诊断效果。然而,现有的深度学习模型通常针对特定疾病进行设计,缺乏泛化能力。
  • 自监督学习模型: 自监督学习 (SSL) 模型在语音表示学习方面取得了突破性进展,例如 Wav2vec 和 Hubert 等。这些模型能够学习通用的语音表示,并应用于多种下游任务,包括语音健康诊断。然而,现有的 SSL 模型通常采用短时分析,难以捕捉语音的长时变化特征。

1.1.2 语音调制动态

语音是由声带的振动产生的,这种振动通过声道传输并被发音运动和呼吸所调制,从而产生人类可听到的语音。典型的语音分析侧重于短时间分析,以捕捉由音素变化引起的瞬态变化。例如,短时傅里叶变换(STFT)的窗口大小通常为8到32毫秒。然而,这种潜在的调制并不被频谱图很好地捕捉,几十年来一直使用delta和double-delta倒谱参数作为倒谱参数变化速度和加速度的度量。

为了解决这个问题,一些研究人员依赖调制谱,调制谱是一种用于分析语音调制动态的技术,它将语音信号进行短时傅里叶变换 (STFT),并计算每个频率分量的调制频率。 语音调制动态在语音健康诊断中具有重要意义,例如可以用于检测喉部疾病、说话速度异常和情绪变化等

1.2 模型架构

WavRx 模型架构包含三个主要组件:

1.2.1 预训练编码器(Temporal representation encoder)

  • WavRx 使用 WavLM 模型作为预训练编码器,提取语音波形的时间表示。
  • WavLM 模型首先将原始语音波形输入到一个包含 7 个时间卷积层(512 个通道)的 CNN 块中,并进行层归一化和 GELU 激活。
  • CNN 输出的每个时间步代表 25 毫秒的音频,时间步长为 20 毫秒。
  • CNN 输出随后输入到一个包含 13 层的 transformer 后端,每个隐藏状态维度为 768。
  • 为了获取 utterance-level 特征,WavRx 对 WavLM 所有 12 层(排除第一层输入层)的输出进行加权求和,并学习每层的权重。

1.2.2 调制动态块(Modulation dynamics block)

  • 该块旨在捕捉编码时间表示的长期动态,提供与时间细节互补的信息。
  • 给定 WavLM 输出 T(m, n),其中 m 表示时间窗口的数量,n 表示特征的数量,该块对每个特征通道应用短时傅里叶变换 (STFT)。
  • STFT 窗口长度设置为 256 毫秒,以捕获低频调制动态。
  • STFT 结果是一个三维的调制动态表示 Dn(j, fj),其中 j 表示 STFT 的时间帧数量,fj 表示调制频率通道的数量。
  • 调制动态块不包含任何参数,仅通过 STFT 操作来捕捉长期动态。

1.2.3下游组件(Downstream components)

  • 为了将时间表示和调制动态表示转换为 utterance-level 特征,模型使用 attentive statistic pooling (ASP) 层对每个表示进行时间池化。
  • ASP 首先计算时间轴上的平均值,然后对不同频率通道应用注意力机制,并计算 attentive mean 和 attentive standard deviation。
  • 时间和动态向量首先连接,然后输入到一个全连接 (FC) 层,映射到一个 768 维向量,作为健康嵌入。
  • 最后,第二个 FC 层将健康嵌入映射到一个值,作为最终的预测结果。
  • 为了提高模型泛化能力,模型在最后一个 FC 层上应用了剪枝操作。

1.2.4 模型优势

  • 疾病无关性: WavRx 使用预训练的 WavLM 模型,能够提取通用的语音表示,使其能够应用于多种疾病的诊断。
  • 泛化能力强: 调制动态块能够捕捉低频调制动态,更好地表示疾病相关的生物标志物,从而提高模型在跨数据集和跨疾病场景下的泛化能力。
  • 隐私保护: 调制动态块能够显著降低健康嵌入中包含的说话人身份信息,从而保护用户隐私。

2 实验设置

2.1 实验目标

  • 评估 WavRx 在不同病理语音数据集上的诊断性能。
  • 探究模型在不同数据集和疾病之间的泛化能力。
  • 分析模型在保护用户隐私方面的表现。
  • 解释调制动态模块对模型性能的影响。         

2.2 数据集

为了验证模型的通用性和泛化能力,实验使用了六个公开的病理语音数据集,涵盖了四种不同的语音异常:

  • 呼吸症状数据集:包括由呼吸道感染引起的症状,如咳嗽、发烧、喉咙痛等。使用的最大公开可用的语音数据库是COVID-19 Sounds,包含来自全球36,116名个体通过应用程序接口远程记录的552小时音频数据。数据集被分为两个子集:CS-Res和CS-Res-L,分别用于不同的实验。
  • DiCOVA2数据集包含在印度组织的第二次使用声学诊断COVID-19挑战中使用的多模态声学数据。DiCOVA2收集了965名参与者的远程数据,包括语音、咳嗽和呼吸的录音。
  • TORGO数据集:包含来自健康对照组和患有脑瘫或肌萎缩侧索硬化症(这两种是最常见的言语障碍原因)的语音记录和同步的3D发音特征。
  • Nemours数据集:包含12名男性的语音记录,其中11名患有不同程度的言语障碍和1名健康对照。数据集收集了814个简短的无意义句子,每个受试者说了74个句子。此外,数据还包括每个受试者生产的两个连贯的语音段落。这些数据旨在测试言语障碍在增强各种信号处理技术前后的可理解性
  • NCSC数据集:包含55名接受头颈部癌症放化疗的说话者的语音记录和感知评估。

2.3 基线模型   

为了比较 WavRx 的性能,实验选择了五个最新的语音分类基线模型:

2.3.1 基于 SSL 的编码器

  • Wav2vec: 一种基于Transformer的自监督预训练模型,通过掩码预测隐藏单元来学习语音表示。
  • Hubert: 另一种基于Transformer的自监督预训练模型,与 Wav2vec 类似,但使用了不同的预测任务。
  • ASTspeech: 基于Transformer的自监督预训练模型,专门用于语音识别任务。
  • ASTaudio: 与 ASTspeech 类似,但使用音频数据进行预训练,而不是语音数据。

2.3.2 监督学习预训练模型

  • ECAPA-TDNN: 基于TDNN的监督学习预训练模型,用于说话人验证任务。  

2.3. 模型修改

为了与 WavRx 的任务兼容,对基准模型进行了一些修改:

  • Wav2vec 和 Hubert: 在这两个模型的编码器后添加了与 WavRx 相同的 ASP 层和分类头。
  • ECAPA-TDNN: 使用单个全连接层将预训练表示映射到二进制输出。

3 任务与结论

3.1 域内诊断性能

  • WavRx 在 4 个数据集上取得了最高的测试 F1 分数,平均 F1 分数也最高,达到 0.744。
  • 与基线模型相比,WavRx 在三个官方基准数据集(CS-Res、DiCOVA2 和 NCSC)上取得了显著的性能提升。
  • 调制动态模块的加入显著提升了模型的整体性能,证明了其互补性。

3.2 消融实验

  • 使用所有层输出而不是最后一层输出可以显著提升性能,这与现有 SSL 模型层分析结果一致。
  • 调制动态模块的加入可以显著提升模型性能,证明了其重要性。

3.3 零样本诊断性能

  • WavRx 在跨数据集测试中表现出良好的泛化能力,尤其是在呼吸异常数据集上。
  • 调制动态模块的加入可以显著提升模型在不同疾病之间的泛化能力。

3.4  健康嵌入的隐私性

  • 使用仅基于时间表示的健康嵌入进行说话人验证时,准确率较高,说明其包含说话人身份信息。
  • 调制动态表示可以显著降低说话人验证准确率,同时保持较高的诊断性能。
  • 调制动态表示可以更好地隐藏说话人身份信息,从而提高模型的隐私性。

3.5 调制动态分析

  • F-ratio 分析显示,调制频率低于 2 Hz 的区域对于区分病理样本至关重要,这与慢速呼吸和构音运动有关。
  • 健康嵌入的稀疏性分析表明,调制动态表示可以更有效地编码疾病相关信息,从而提高模型的泛化能力和隐私性。
  • 层分析显示,调制动态模块可以引导模型关注构音相关属性,而不是说话人身份信息,从而提高模型的隐私性。

结论

WavRx 在大多数病理语音数据集上取得了最先进的性能,并展现出良好的泛化能力和隐私保护特性。

调制动态模块对模型性能的提升起到了关键作用,它可以帮助模型更好地捕捉疾病相关生物标志物,并减少说话人身份信息的泄漏。

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

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

相关文章

【Android面试八股文】Framework面试:Handler怎么进行线程通信的?原理是什么?

文章目录 Handler整体思想Handler工作流程Handler工作流程图总结Handler整体思想 在多线程的应用场景中,将工作线程中需更新 UI 的操作信息 传递到 UI 主线程,从而实现 工作线程对 UI 的更新处理,最终实现异步消息的处理。 Handler工作流程 Handler 机制的工作流程主要包括…

【云服务器介绍】选择指南 腾讯云 阿里云全配置对比 搭建web 个人开发 app 游戏服务器

​省流目录:适用于博客建站(2-4G)、个人开发/小型游戏[传奇/我的世界/饥荒](4-8G)、数据分析/大型游戏[幻兽帕鲁/雾锁王国]服务器(16-64G) 1.京东云-618专属活动 官方采购季专属活动地址&#x…

Ubuntu多显示器设置不同缩放比例

Ubuntu多显示器设置不同缩放比例 设备问题解决方案 设备 笔记本屏幕分辨率为2560 \times 1600,外接显示器的分辨率为3840 \times 2160。 问题 Ubuntu默认的显示器设置中,缩放仅能选择100%,200%,300%,400%。假…

页分裂和页合并——Java全栈知识(33)

上篇文章我们讲到了 MySQL 的数据页,我们说到了 InnoDB 的索引是以 B树的形式构建的,而且 B树的节点都是一个数据页。 但是 B树在使用过程中难免会有节点分裂和节点合并的过程。 因为我们是以数据页为基本单位构造的 B树,那么 B树的节点分裂和…

真正的IDEA在线版有多好用

前言 在上一篇文章使用过TitanIDE的VS Code在线版以后,尝到了不少甜头,紧接着又去使用了他的在线版IntelliJ IDEA,同样非常惊艳,不需要任何时间去适应这款云原生开发工具,事不宜迟,马上开整 这才是真正的VS Code在线版…

Qt | windows Qt6.5.3安卓环境搭建成功版(保姆级教程)

01、第一章 Qt6.5.3安装 资源 Qt 国内下载地址清华大学开源软件镜像站https://mirrors.tuna.tsinghua.edu.cn/qt/archive/online_installers/Qt 阿里云盘下载Qt 安卓开发https://www.alipan.com/s/kNaues6CHaG点击链接保存,或者复制本段内容,打开「阿里云盘」APP ,无需下载极…

锂电池的串并联特性

1节锂电池电芯的规格是10000mah,4v(总能量10000*4) 那么3节电芯串联电池的规格是10000mah,12v(总能量10000*12)注意,这里电池的规格不是30000mah 3节电芯并联的规格是30000mah,4v …

【Linux进阶】windows和linux文件互传的两种方式

前言 我们在windows电脑上使用ssh工具(比如Xshell)来远程登录并使用linux云服务器的时候,难免要将我们的文件传输到linux服务器上,或者将linux服务器的文件传输到我们的windows电脑里,那么,我们要怎么来实…

Springboot Mybatis 多数据源配置以及使用

在Spring Boot中配置MyBatis的多数据源是一个常见需求,尤其是在需要连接多个数据库时,下面是详细的步骤指南。 引入依赖 首先,在你的pom.xml文件中添加Spring Boot、MyBatis和数据库连接的相关依赖。例如,如果你使用的是MySQL数…

Java集合实例

一、什么是Java集合实例: 指的是在 Java 程序中创建和使用的集合对象,这些对象用于存储和操作数据。Java 集合框架提供了一系列的接口和实现类,用于管理不同类型的数据集合。 二、Java集合的主要实例类型: 1. List(列…

激光与相机融合标定汇总:提升融合算法的精度与可靠性(附github地址)

前言 随着科技的飞速发展,激光技术与相机技术的融合已成为推动智能化影像发展的重要力量。这种融合不仅提高了成像的精度和效率,还为相关行业带来了革命性的变革。在这篇博客中,我们将深入探讨激光与相机融合标定的原理及其在各个领域的应用…

蒙特卡洛法求定积分方

对于连续函数密度函数,求某一个区间的概率时,理论上通过积分获取, 以求曲线围成的面积为例 当我们在[a,b]之间随机取一点x时,它对应的函数值就是f(x)。接下来我们就可以用f(x)*(b-a)来粗略估计曲线下方的面积,也就是我…

Logback-打印方法名及代码行号

背景 公司产品使用了logback作为日志输出框架,日志输出的pattern里配置了打印调用方法名及代码行号的配置,但是实际输出的日志方法名总是显示? 在强迫症的驱使下,开启了探秘之旅 Logback版本 1.2.3 项目中Logging.pattern配置如下&#xff1…

Flutter循序渐进==>与基金mysql数据库交互

导言 债基基金的注意事项,别看收益不高,注意事项可真不少。最近买了CS一支基金,三周时间就亏掉两三个点(水平全网最差、赎回费和管理费全网最高)。就是冲着它的历史成绩去的,突然发现已经换了基金经理&…

【PHP项目实战训练】——后台-RBAC权限管理原理

👨‍💻个人主页:开发者-曼亿点 👨‍💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍💻 本文由 曼亿点 原创 👨‍💻 收录于专栏&#xff1a…

awk的用法

目录 awk简述 awk的用法 选项 内置变量 命令格式 打印行号 打印指定行 打印奇偶行 按行取列 BEGIN打印模式 乘法计算 awk -v 变量赋值 awk的条件判断 面试题awk的三元表达式 awk的精确筛选 逻辑且、或关系 awk做小数运算 curl 练习 1.获取其中的所有子域名…

vivo 互联网自研代码评审 VCR 落地实践

作者:vivo 互联网效能平台团队- Chi Wei 本文介绍了vivo工程效能团队基于 Gitlab、Gerrit等开源工具搭建的VCR平台,代码评审idea插件开发及开发过程中遇到的挑战、困难,并分享了相应的应对策略和优化方案。 代码评审是软件质量保证一种活动&…

墨刀原型--多tab切换显示对应页面场景交互步骤

一般我们画原型页面,PC端或者APP端或小程序端,都会有页面会切换多个tab或状态,同时对应页面显示对应的页面数据。 设计思路如下: 以订单列表页面为例: 可以将订单列表页面分为3部分,固定的头部、状态栏、…

java和网络安全,哪个就业前景更大?

常年以来,Java一直占据着程序语言的前三名,因此也就成了许多进入IT行业的首选语言。但随着5G时代的兴起,网络安全也成了当今最火热的“风口行业”。导致很多年轻人不知如何选择,一直处于纠结徘徊的状态。下面盾叔就带大家了解一下…

Qt—贪吃蛇项目(由0到1实现贪吃蛇项目)

用Qt实现一个贪吃蛇项目 一、项目介绍二、游戏大厅界面实现2.1完成游戏大厅的背景图。2.2创建一个按钮,给它设置样式,并且可以跳转到别的页面 三、难度选择界面实现四、 游戏界面实现五、在文件中写入历史战绩5.1 从文件里提取分数5.2 把贪吃蛇的长度存入…