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,一经查实,立即删除!

相关文章

Akka框架:Scala并发编程的瑞士军刀

Akka框架:Scala并发编程的瑞士军刀 引言 在多核处理器时代,编写高效的并发应用程序变得越发重要。Scala语言凭借其强大的函数式编程特性和类型系统,为并发编程提供了天然的优势。Akka框架,作为Scala生态系统中的佼佼者&#xff…

C# as

以下是as关键字的一些使用场景:安全类型转换:接口到实现类的转换:基类到派生类的转换:使用as运算符时,重要的是要检查转换的结果是否为null,以确保代码的健壮性。 在 C#编程语言中, as关键字是…

【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%。假…

Android13.0 修改屏幕显示方向

Android13默认显示方向是0, 大屏幕产品是固定方向放置的,由于接口走向差异有些屏幕按照0度方向显示是倒的,需要旋转180 可以修改这些默认显示方向 diff --git a/services/core/java/com/android/server/wm/DisplayRotation.java b/services/…

Python sorted 函数:Key参数,以及lambda 函数与常规写法区别

Python sorted 函数:Key参数,以及lambda 函数与常规写法区别 第一种方式: ous sorted(ouFilter.ous, keylambda ou:ou.path)使用 lambda 函数作为排序的关键字,这是一个简洁、明了的方式。lambda 函数在 Python 中表示一个简 单…

【面试系列】后端开发工程师 高频面试题及详细解答

欢迎来到我的博客,很高兴能够在这里和您见面!欢迎订阅相关专栏: ⭐️ 全网最全IT互联网公司面试宝典:收集整理全网各大IT互联网公司技术、项目、HR面试真题. ⭐️ AIGC时代的创新与未来:详细讲解AIGC的概念、核心技术、…

游戏心理学Day28

独立游戏团队架构 独立游戏工作室是一个包括编程美术设计院校项目管理和运营等各种职能的团队找到可以共同奋斗。数月甚至数年的合适人选并不是一件容易的事情。游戏开发过程中要涉及多种常规工作。小团队的每个成员通常都要身兼数职,而且有些角色常由多人担任。 …

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

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

AutoCAD笔记

基础知识 基本问题 Q&A: Q:菜单栏不见了 A:输入命令MENUBAR,值改为1,或者点击 “顶部的下三角-显示菜单栏”即可 Q:做好了图框,怎么让每次都是用这个图框 A:打开你做好的图框,另存为“图…

真正的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电脑里,那么,我们要怎么来实…

Reflector简介-archlinux更新镜像列表工具

Reflector 是一个用于 Arch Linux 的 Python 脚本,它能够自动从 Arch Linux 的镜像状态页面获取最新的镜像列表,并根据速度、国家和最后更新时间等因素对镜像进行排序和筛选。用户可以根据自己的需求选择不同的参数来定制镜像列表,并将结果写…

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

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

Java集合实例

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

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

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

软件设计师笔记-系统开发和运行知识(三)

软件质量保证 软件质量保证(SQA)是确保软件开发和维护活动遵循预定计划、标准和规程的过程。在软件质量保证中,应用技术方法、进行正式的技术评审、测试软件、实施标准、控制变更、度量、记录保存和报告都是关键的活动。以下是对这些活动的详…