利用深度学习模型进行语音障碍自动评估

       语音的产生涉及器官的复杂协调,因此,语音包含了有关身体各个方面的信息,从认知状态和心理状态到呼吸条件。近十年来,研究者致力于发现和利用语音生物标志物——即与特定疾病相关的语音特征,用于诊断。随着人工智能(AI)的进步,这些生物标志物的学习关联和临床预测变得更加可行。自动语音评估利用语音生物标志物、AI和移动技术进行远程患者健康评估,预期将为早期识别和远程监测带来许多好处。

    研究人员对将深度学习应用于自动语音评估,主要有两种方法:

  • 端到端训练: 模型直接从音频中做出临床预测,但需要大量手动标注数据。
  • 预训练模型微调: 使用在大型语音语料库上预训练的深度学习模型作为特征提取器,并用少量标注数据进行微调。这种模型学习了一组特征,即表示,以捕获语音的属性,并可用于各种语音识别任务。

     语音表示捕获了人类感知理解,并在语音中保持了一致的属性,如说话者、语言、情感和年龄。由于语音包含了有关几个重要器官状况的丰富信息,随着这些模型的兴起,已有几项工作探索并评估了它们在识别疾病方面的潜力。然而,深度学习模型缺乏可解释性,这限制了它们在医疗领域的应用。为了解决这个问题,研究人员开发了工具来理解模型的工作原理,这些工具通常分为两大类:白盒方法和黑盒方法。

  • 白盒方法:这类方法通过分析数学关系来提供模型如何在特定情况下从输入推断输出的局部解释。通常需要特定的模型架构和属性,例如激活函数的存在。在神经网络中,有基于梯度的方法,如Grad-CAM和Integrated Gradient以及基于注意力的方法,如注意力流和注意力展开。
  • 黑盒方法:这些方法系统地使用各种任务和数据探测模型,以估计其在一般情况中的行为,这被称为全局解释。虽然黑盒方法与模型无关,但也有一些方法如LIME和SHAP允许提供局部解释。

1 方法论

1.1 数据选择

      本研究使用Saarbrücken语音数据库,该数据库包含来自1002名说话者的录音,其中454名男性,548名女性,以及851名对照组(423名男性,428名女性)。

  • 说话者的年龄从6岁到94岁不等(病理组),以及9岁到84岁(对照组)。
  • 每个录音会话包含/i/、/a/和/u/元音的中性、高、低、上升和下降音调的录音,以及简短短语“Guten Morgen, wie geht es Ihnen?”的录音。
  • 音频以16位50kHz的采样率使用专业录音设备录制。
  • 将参与者按性别和病理状态分组,病理状态分为三类:有机、无机和健康。
  • 仅选择简短短语的录音,并将所有样本下采样到16kHz供模型使用。

1.2 模型训练

      使用Audio Spectrogram Transformer (AST),一种无卷积、纯基于注意力机制的音频分类模型。它通过将音频转换为频谱图来处理音频数据,并使用视觉变换器(Vision Transformer,ViT)的架构来进行音频分类任务

  • 模型输入是t秒的音频波形,将其填充到模型的最大尺寸T秒,并转换为128维的log Mel滤波器组(fbank)特征序列,然后将其分割成16x16的块,并使用线性投影层将其展平,生成768维的嵌入序列。
  • 每个嵌入都添加了可训练的位置嵌入(大小为768),以提供语谱图的空间结构,并在序列的开头添加了类别标记[CLS]嵌入(大小为768),并将其输入到Transformer编码器中。
  • 编码器在类别标记[CLS]处的输出被提取为语音表示。
  • 使用的模型在AudioSet上进行预训练,并在HuggingFace Transformers中实现和提供。
  • 训练模型进行二元分类:病理(有机和无机)或健康受试者。
  • 数据集按分层方式划分为训练集、开发集和测试集,比例为80%、10%和10%。
  • 本研究比较了两种模型配置:

ast_freeze: AST模型设置为不可训练,并在模型顶部添加一个线性层,将嵌入投影到分类输出。

ast_finetuned: 与ast_freeze的构建相同,但AST模型设置为可训练,并对整个模型进行微调。

1.3 模型决策解释

     本研究使用注意力回放方法可视化模型的决策过程。

  • 该方法使用模型的注意力层生成相关图,以可视化语谱图区域的相关性分数。
  • 通过将相关图与语谱图拼接成一个图像,并用色调表示相关性分数,用亮度表示频谱功率,从而可视化模型的注意力分布。
  • 为了更好地理解语谱图区域,本研究使用Montreal Force Aligner生成与音频对应的语音音素标注,并将其添加到图像中。
  • 根据两个模型的预测结果手动选择样本,分为四种情况:

O:ast_freeze和ast_finetuned都预测正确。

X:ast_freeze和ast_finetuned都预测错误。

A:ast_finetuned预测错误,ast_freeze预测正确。

B:ast_finetuned预测正确,ast_freeze预测错误。

2 结果

2.1 模型性能

下表显示了模型的性能指标,包括:

  • 加权平均召回率 (UAR):不考虑类别样本大小的情况下,所有类别的平均召回率。
  • ROC曲线下面积 (AUC):曲线衡量模型在不同分类阈值下的真正例率和假正例率。

与基础AST模型相比,ast_finetuned模型具有更好的性能,表明微调对模型预测的改善作用。

2.2 分析

当基础AST模型未完全训练(A, ast_freeze)时,表示显示出性别之间的分离而不是病理状态(病理性与健康),换句话说,语音表示包含更多关于说话者性别而不是潜在声音病理状态的信息。另一方面,当基础AST模型完全训练(B, ast_finetuned)时,显示出相反的趋势。两个模型都无法清晰地分离有机和无机病理。

上图展示了两个女性语音样本的频谱图(左)和ast_freeze(中)与ast_finetuned(右)的相关性图(顶部:健康,底部:病理性):这两个样本的预测结果被标记为B,即ast_finetuned预测正确,而ast_freeze预测错误。

从可用的可视化中,我们可以看到最高相关性分数并不一定分配给最高强度区域,如基频和谐波。在两种模型中都出现的更常见模式是,它们给音素“/ɔ/”和音段“/e/ /s/ /i/ /n/”更高的分数。当模型微调后,我们发现更多的集中度,位置经常改变/移动,然而,没有得出明显一致的模式。

    本研究训练和比较了两种Audio Spectrogram Transformer (AST) 配置,用于语音障碍检测,并使用注意力回放方法生成了模型的相关图。

    通过分析相关图,发现模型无法完全识别有机和无机语音障碍之间的差异,并且模型对音素“/ɔ/”和片段“/e/ /s/ /i/ /n/”给予更高的分数。

    当模型进行微调时,发现注意力范围往往会减少,这表明模型更加关注特定的音素区域。

3 模型配置

3.1 ast_freeze

  • 模型类: ASTForAudioClassification
  • 模型路径: MIT/ast-finetuned-audioset-10-10-0.4593
  • 类别数量: 2
  • 冻结: TRUE
  • 评估策略: epoch
  • 保存策略: epoch
  • 学习率: 0.001
  • 每个设备训练批次大小: 8
  • 梯度累积步骤: 4
  • 每个设备评估批次大小: 8
  • 训练周期数量: 10
  • 预热比率: 0.1
  • 日志记录步骤: 50
  • 评估步骤: 50
  • 推送到Hub: FALSE
  • 移除未使用的列: FALSE
  • 早停耐心: 5
  • 早停阈值: 0

3.2 ast_finetuned

  • 模型类: ASTForAudioClassification
  • 模型路径: MIT/ast-finetuned-audioset-10-10-0.4593
  • 类别数量: 2
  • 冻结: FALSE
  • 评估策略: epoch
  • 保存策略: epoch
  • 学习率: 0.00025
  • 每个设备训练批次大小: 8
  • 梯度累积步骤: 4
  • 每个设备评估批次大小: 8
  • 训练周期数量: 40
  • 预热比率: 0.1
  • 日志记录步骤: 50
  • 评估步骤: 50
  • 推送到Hub: FALSE
  • 移除未使用的列: FALSE
  • 早停耐心: 8
  • 早停阈值: 0

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

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

相关文章

js基础学习

1、js概述 js是javascript的简称&#xff0c;作用是实现页面和用户的交互 js由浏览器解析运行&#xff0c;不需要编译 js由es基础语法&#xff0c;bom浏览器相关&#xff0c;dom文档操作相关 三大部分组成 2、html引入js <!DOCTYPE html> <html lang"zh-CN&qu…

Vue项目打包上线

Nginx 是一个高性能的开源HTTP和反向代理服务器&#xff0c;也是一个IMAP/POP3/SMTP代理服务器。它在设计上旨在处理高并发的请求&#xff0c;是一个轻量级、高效能的Web服务器和反向代理服务器&#xff0c;广泛用于提供静态资源、负载均衡、反向代理等功能。 1、下载nginx 2、…

k8s学习--k8s群集ELK日志收集部署最详细的过程与应用(收集k8s群集日志)(图形化界面手把手教学)

文章目录 FilebeatFilebeat主要特点Filebeat使用场景 ELK简介Elasticsearch简介Elasticsearch主要特点Elasticsearch使用场景 Logstash简介Logstash主要特点Logstash使用场景 Kibana简介Kibana主要特点Kibana使用场景 简单理解 环境一、ELK集群部署1.软件安装2.软件配置及启动(…

Webpack: Loader开发 (2)

概述 在上一篇文章中&#xff0c;我们已经详细了解了开发 Webpack Loader 需要用到的基本技能&#xff0c;包括&#xff1a;Loader 基本形态、如何构建测试环境、如何使用 Loader Context 接口等。接下来我们继续拓展学习一些 Loader 辅助工具&#xff0c;包括&#xff1a; 了…

telegram支付

今天开始接入telegram支付,参考教程这个是telegram的官方说明,详细介绍了机器人支付API。 文章公开地址 新建机器人 因为支付是一个单独的系统,所以在做支付的时候单独创建了一个bot,没有用之前的bot了,特意这样将其分开。创建bot的方法和之前不变,这里不过多介绍。 获…

Linux文件数据写入

结构体 fd fd也就是文件描述符&#xff0c;用于标识已经打开的文件、管道、socket等。是进程和内核的桥梁&#xff0c;允许进程执行各种文件操作 struct fd {struct file *file;unsigned int flags; };file Linux内核中表示打开文件的结构体&#xff0c;包含了文件操作所需…

什么是自然语言处理(NLP)?详细解读文本分类、情感分析和机器翻译的核心技术

什么是自然语言处理&#xff1f; 自然语言处理&#xff08;Natural Language Processing&#xff0c;简称NLP&#xff09;是人工智能的一个重要分支&#xff0c;旨在让计算机理解、解释和生成人类的自然语言。打个比方&#xff0c;你和Siri对话&#xff0c;或使用谷歌翻译翻译一…

2024广州国际米粉产业展览会暨米粉节

2024广州国际米粉产业展览会 时间&#xff1a;2024年11月16-18日 地点&#xff1a;广州中国进出口商品交易会展馆 主办单位&#xff1a;企阳国际会展集团 【展会简介】 米粉作为一种历史悠久&#xff0c;人们日常食用的食物&#xff0c;其市场需求稳定&#xff0c;且随着人…

学习.NET 8 MiniApis入门

介绍篇 什么是MiniApis&#xff1f; MiniApis的特点和优势 MiniApis的应用场景 环境搭建 系统要求 安装MiniApis 配置开发环境 基础概念 MiniApis架构概述 关键术语解释&#xff08;如Endpoint、Handler等&#xff09; MiniApis与其他API框架的对比 第一个MiniApis…

WSL2安装ContOS7并更新gcc

目录 WSL2安装CentOS7下载安装包安装启动CentOS7 CentOS7更换国内源gcc从源码安装gcc卸载gcc CMake中使用gcc关于linux配置文件参考 WSL2安装CentOS7 Windows11官方WSL2已经支持Ubuntu、Open SUSE、Debian。但是没有centos&#xff0c;所以centos的安装方式略有不同。 下载安…

【面试题】网络IP协议(第六篇)

1.简述IP协议的作用。 IP协议&#xff08;Internet Protocol&#xff09;是TCP/IP协议族中的核心协议之一&#xff0c;主要用于在互联网上进行数据传输。它的主要作用包括&#xff1a; 寻址&#xff1a;IP协议通过IP地址来唯一标识网络中的每一台设备&#xff0c;确保数据包能…

家政小程序的开发:打造现代式便捷家庭服务

随着现代生活节奏的加快&#xff0c;人们越来越注重生活品质与便利性。在这样的背景下&#xff0c;家政服务市场迅速崛起&#xff0c;成为许多家庭日常生活中不可或缺的一部分。然而&#xff0c;传统的家政服务往往存在信息不对称、服务效率低下等问题。为了解决这些问题&#…

mindspore打卡之量子测量

mindspore打卡之量子测量 我们可以看到&#xff0c;采样1000中&#xff0c;00’出现了503次&#xff0c;11’出现了497次&#xff08;由于测量具有随机性&#xff0c;每次运行结果会略有不同&#xff09;&#xff0c;采样结果符合概率分布&#xff0c;细微的误差是由模拟器噪声…

【D3.js in Action 3 精译】1.2.2 可缩放矢量图形(三)

当前内容所在位置 第一部分 D3.js 基础知识 第一章 D3.js 简介 1.1 何为 D3.js&#xff1f;1.2 D3 生态系统——入门须知 1.2.1 HTML 与 DOM1.2.2 SVG - 可缩放矢量图形 ✔️ 第一部分第二部分【第三部分】✔️ 1.2.3 Canvas 与 WebGL&#xff08;精译中 ⏳&#xff09;1.2.4 C…

gameui C++的代码

gameui C的代码 #include <graphics.h> #include "gameboard.h" const int WIDTH 560; const int HEIGHT 780; const int GRID_SIZE 120; class GameUi { private: public:GameUi(GameBoard& gb) {// 初始化图形窗口initgraph(WIDTH, HEIGHT);// 设置…

小米内推官

小米硬件提前批开始啦&#xff01;&#xff01;&#xff01;&#xff01; 请使用小米公司内推码: Q9BN21S 招聘对象&#xff1a;25届秋招 中国内地:毕业时间2025.01-2025.12 中国港澳台及海外:毕业时间2025.07-2025.12 工作地点&#xff1a;北京、南京、武汉、深圳、上海等…

C++中Ranges库的基本用法,如何简化和增强对集合的操作。

Ranges库的基本用法 什么是Ranges库&#xff1f; C20引入的Ranges库&#xff08;<ranges>&#xff09;是一个强大的工具集&#xff0c;旨在简化和增强对集合&#xff08;如数组、向量等序列容器&#xff09;的操作。它提供了一套用于操作序列的功能性接口&#xff0c;使…

独立站新风口:TikTok达人带货背后的双赢合作之道

TikTok以其庞大的用户基础、高度互动性和创新的内容形式&#xff0c;为独立站带来了前所未有的发展机遇。独立站与TikTok达人的合作&#xff0c;不仅能够帮助独立站快速提升品牌知名度和销售额&#xff0c;还能为TikTok达人带来更多商业机会和影响力。本文Nox聚星将和大家探讨独…

Android sdk 安装已经环境配置

&#x1f34e;个人博客&#xff1a;个人主页 &#x1f3c6;个人专栏&#xff1a;Android ⛳️ 功不唐捐&#xff0c;玉汝于成 目录 正文 一、下载 二、安装 三、环境配置 我的其他博客 正文 一、下载 1、大家可去官网下载 因为需要魔法 所以就不展示了 2、去下面这…

经典shell运维实用脚本~

以下脚本可谓日常工作常用到的经典脚本案例。希望可以帮助大家提升提升自动化能力&#xff01; 1、监控100台服务器磁盘利用率脚本 #!/bin/bashHOST_INFOhost.infofor IP in $(awk /^[^#]/{print $1} $HOST_INFO); do USER$(awk -v ip$IP ip$1{print $2} $HOST_INFO) P…