近年来,语音作为一种有前景的疾病诊断和远程健康监测手段已经出现。语音健康诊断通常基于这样一个假设:即影响发音和/或呼吸系统的疾病会导致人类语音信号中出现非典型模式。这种异常可能由多种原因造成,例如神经肌肉控制受损或声道和肺部发炎。虽然人类有时可能察觉不到语音信号中的影响,但机器学习(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 在大多数病理语音数据集上取得了最先进的性能,并展现出良好的泛化能力和隐私保护特性。
调制动态模块对模型性能的提升起到了关键作用,它可以帮助模型更好地捕捉疾病相关生物标志物,并减少说话人身份信息的泄漏。