帕金森病(PD)诊断:三种基于语音的深度学习方法

        帕金森病(Parkinson’s disease, PD)是世界上第二大流行的神经退行性疾病,全球影响着超过1000万人,仅次于阿尔茨海默症。人们通常在65岁左右被诊断出患有此病。PD的一些症状包括震颤、肌肉僵硬和运动迟缓。这些症状往往出现在较晚的阶段,使得仅基于这些症状的早期诊断变得困难。PD可以影响语音产生的各个方面,包括发音、声音的音调和响度、韵律以及声音的质量,导致语音障碍特征表现为声音嘶哑(dysphonia)和言语障碍(dysarthria)。声音嘶哑意味着产生声音的能力降低,而言语障碍指的是产生单词的困难。这些语音障碍可能在其他症状出现前长达五年就已发生,表明早期PD诊断实际上是可能的。

       在前面已经有2篇文章针对帕金森病(PD)诊断进行了阐述,有兴趣的朋友可以直接翻阅以下链接:

首次使用回声状态网络 (ESN) 和语音特征进行帕金森病 (PD) 预测

PPINtonus (深度学习音调分析)帕金森病早期检测系统

     本文研究分析了三种基于语音的深度学习方法(端到端学习 (E2E) 、迁移学习 (Transfer Learning, TL) 、深度声学特征 (Deep Acoustic Features, DAF)),讲述各学习方法的性能、挑战及应用情况。

1 端到端学习(E2E)

在E2E方法中,原始语音信号可以直接映射到最终输出,与传统的基于高斯混合模型(GMMs)和隐马尔可夫模型(HMMs)的语音识别流程不同。在传统方法中,必须提取手工设计的特征(如梅尔频率倒谱系数MFCCs),然后使用语言模型将这些特征映射到文本符号,最后进行分类。E2E方法避免了手动特征提取,允许模型学习从输入到输出的直接映射。

1.1 E2E 学习的优势

  • 自动特征提取:E2E 学习可以自动从语音信号中提取具有区分性的特征,无需手动设计特征工程,节省了时间和精力。
  • 减少错误累积:E2E 学习避免了手动特征提取过程中可能出现的错误,例如特征选择不当或特征提取方法不适用等,从而提高了分类的准确率。
  • 模型优化:E2E 学习可以端到端地优化模型参数,使得模型能够更好地学习数据中的规律,并提高分类性能。

1.2 E2E 学习的挑战

  • 数据需求量大:E2E 学习需要大量的训练数据来训练模型,而 PD 语音数据集相对较小,这限制了模型的训练效果和泛化能力。
  • 模型复杂度高:E2E 模型通常比较复杂,需要大量的计算资源进行训练和推理,这增加了模型的部署难度。
  • 可解释性差:E2E 模型的决策过程难以解释,难以理解模型是如何进行分类的,这限制了模型的实际应用。

1.3 E2E 学习在 PD 语音分类中的应用

  • CNN 架构:卷积神经网络 (CNN) 是 E2E 学习中最常用的模型架构之一,它可以有效地学习语音信号中的局部特征,例如声谱图中的频谱特征。
  • LSTM 架构:长短期记忆网络 (LSTM) 可以有效地学习语音信号中的长期依赖关系,例如音节的时序特征。
  • Transformer 架构:Transformer 架构在自然语言处理领域取得了突破性的成果,近年来也被应用于语音信号处理领域,并展现出强大的潜力。

2 迁移学习 (Transfer Learning, TL)

TL方法通过利用在一个大型数据库上预训练的深度神经网络(DNN),然后将这些网络应用到另一个通常数据量较小的任务上。这种方法可以解决数据可用性问题,因为它允许模型利用在源领域学到的知识来提高在目标领域的性能。特别是跨语言的TL方法,已被证明可以增强诊断系统的稳健性,并在不同语言之间提高适用性。

2.1 迁移学习的优势

  • 解决数据稀缺问题:PD 语音数据集通常规模较小,难以训练大型深度学习模型。
  • TL 允许我们利用在其他大规模语音数据集(如 ImageNet)上预训练的模型,并将其迁移到 PD 语音数据集上进行微调。这样可以显著减少对大量标注数据的依赖,并提高模型的泛化能力。
  • 跨语言应用:不同语言之间存在差异,例如发音、语调等。TL 可以帮助我们将在一个语言上训练好的模型迁移到另一个语言上,从而实现跨语言 PD 分类。
  • 这对于开发通用的 PD 诊断系统具有重要意义,可以方便不同语言人群使用。
  • 提高模型性能:通过迁移学习,模型可以学习到更通用的特征,从而提高在目标语言或任务上的性能。一些研究表明,使用 TL 的模型在 PD 分类任务中取得了比仅使用目标语言数据训练的模型更好的性能。

2.2 迁移学习的挑战

  • 如何选择合适的基础模型和微调策略。
  • 如何处理不同语言之间的差异。
  • 如何评估 TL 模型的性能。

3 深度声学特征 (Deep Acoustic Features, DAF)

DAF方法旨在通过使用深度学习模型从音频信号中自动提取特征,来提高结果的可解释性和解释性。这些特征可以在深度学习模型的最后层中使用,也可以用作更传统机器学习方法的输入。尽管DAF方法可能在性能上不如E2E和TL方法,但它们通过检查深度特征对PD分类的影响,提供了对模型决策过程的更多洞察。

3.1 DAF 的提取方式

  • 从端到端 (E2E) 模型中学习: 将原始语音信号输入 E2E 模型,例如卷积神经网络 (CNN) 或 Transformer,模型会自动学习并提取特征,并在最终层进行分类。
  • 使用预训练模型: 使用已经在大规模数据集上预训练的模型,例如 Wav2Vec2.0、VGGish 或 SoundNet,生成 DAF。
  • 使用自编码器: 使用自编码器学习并提取音频信号的低维表示,作为 DAF。

3.2 DAF 的优势

  • 无需手动特征工程: DAF 的提取过程完全自动化,无需手动设计特征,节省了时间和精力。
  • 更鲁棒: DAF 能够更好地捕捉音频信号中的细微变化,对噪声和说话人差异更鲁棒。
  • 更抽象: DAF 能够捕捉到更高层次的特征,例如说话人的语音风格、语调等,这些特征对 PD 诊断更有价值。

3.3 DAF 的挑战

  • 解释性差: 由于 DAF 是自动学习的,其背后的原理和特征含义难以解释,这限制了 DAF 在临床应用中的推广。
  • 性能不如 E2E 和 TL: 目前 DAF 的性能通常不如 E2E 和迁移学习 (TL) 方法,这可能是因为 DAF 缺乏对特定任务的针对性。

4 实际应用情况

  • E2E 学习: CNN 架构通常可以达到 90% 以上的准确率,Transformer 架构也展现出与 CNN 相当的性能。
  • TL: TL 方法通常可以达到 60% 到 90% 的准确率,跨语言 TL 可以进一步提高准确率。
  • DAF: DAF 方法可以达到 87% 以上的准确率,并且比传统特征(如 MFCC)表现更好。

5 数据集

数据集名称(年份)

来源 #参与者

语言

总语音时长

数据质量

语音任务

备注

Saarbruecken Voice Database (2006)

1002参与者

德语

±300分钟

麦克风录音

1. 正常、高和低音的元音(i, a, u)。2. 音高变化的元音(i, a, u)。3. "Guten Morgen, wie geht es Ihnen?"句子。

851名健康对照组(HC),平均年龄9-84岁。

PC-GITA (2014)

100

西班牙语

±900分钟

麦克风录音

1. 持续元音。2. 快速重复单词和音节(DDK)。3. 单词和句子的重复。4. 对话阅读。5. 强调特定单词的句子阅读。

50名PD患者,平均年龄33-77岁。

Parkinson Speech Dataset with Multiple Types of Recordings (2014)

68 (40训练,28测试)

土耳其语

未提供

麦克风录音

1. 持续元音(/a/, /o/, /u/)。2. 数字(1到10)。3. 单词。4. 短句。

20名PD患者,平均年龄43-79岁。

Italian Parkinson’s Voice and Speech (2017)

65

意大利语

±116分钟

麦克风录音

1. 阅读语音平衡文本。2. 发音/pa/和/ta/音节。3. 元音/a/, /e/, /i/, /o/和/u/的音调。4. 阅读语音平衡单词。5. 阅读语音平衡句子。

28名PD患者,平均年龄40-89岁。

Parkinson’s Disease Classification (2018)

252

土耳其语

未提供

麦克风录音

持续元音/a/。

188名PD患者,平均年龄33-87岁。

Synthetic Vowels of Speakers with Parkinson’s Disease and Parkinsonism (2019)

83

捷克语

±385分钟

麦克风录音

持续元音/a/和/i/。

22名PD患者,21名多系统萎缩(MSA)患者,18名进行性核上性麻痹(PSP)患者,22名健康对照组。

NeuroVoz (2024)

108

西班牙语

±106分钟

麦克风录音

1. 持续元音3秒。2. DDK 10秒。3. 听后重复的语句。4. 自由独白30秒。

53名PD患者,平均年龄71.13岁。55名健康对照组,平均年龄64.04岁。

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

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

相关文章

MySQL之视图和索引实战

1.新建数据库 mysql> create database myudb5_indexstu; Query OK, 1 row affected (0.01 sec) mysql> use myudb5_indexstu; Database changed 2.新建表 1.学生表student,定义主键,姓名不能重名,性别只能输入男或女,所在…

Linux-Centos-改密码(单用户登陆)

笔记一: centos7单用户修改root密码 在CentOS 7中,如果您是唯一的用户或者您确信其他用户不会登录,您可以按照以下步骤来修改root密码: 1.重启系统。 2.启动时出现引导界面时,按任意键进入GRUB菜单。 3.选择要启动的内…

在线教育数仓项目(数据采集部分1)

文章目录 数据仓库概念项目需求及架构设计项目需求分析系统数据流程设计框架版本选型集群规模估算集群资源规划设计 数据生成模块目标数据页面事件曝光启动播放错误 数据埋点主流埋点方式(了解)埋点数据上报时机埋点数据日志结构 服务器和JDK准备服务器准…

缝缝补补的生活

工作之后荒废了生活,工作成了主旋律,没有兴趣、没有爱好、没有增长知识、没有丰富阅历浑浑噩噩的度过了工作后的近几年时间。有志之人立长志无志之人常立志,经常说重新开始,从头来过但是我们的生活从出生就是一直向前的&#xff0…

白鲸开源CEO郭炜荣获「2024中国数智化转型升级先锋人物」称号

2024年7月24日,由数据猿主办,IDC协办,新华社中国经济信息社、上海大数据联盟、上海市数商协会、上海超级计算中心作为支持单位,举办“数智新质力拓未来 2024企业数智化转型升级发展论坛——暨AI大模型趋势论坛”数据猿“年中特别策…

c语言(7.27)

今天学习了利用索引遍历第二种格式的二维数组 #include<stdio.h> int main() {//定义三个一维数组int arr1[3] { 1,2,3 };int arr2[5] { 1,2,3,4,5 };int arr3[9] { 1,2,3,4,5,6,7,8,9 };//分别算出每个一维数组的长度int len1 sizeof(arr1) / sizeof(int);int len2 …

探索 Electron:构建用户友好的登录页面流程

Electron是一个开源的桌面应用程序开发框架&#xff0c;它允许开发者使用Web技术&#xff08;如 HTML、CSS 和 JavaScript&#xff09;构建跨平台的桌面应用程序&#xff0c;它的出现极大地简化了桌面应用程序的开发流程&#xff0c;让更多的开发者能够利用已有的 Web 开发技能…

指针的面试题

这里写目录标题 判断链表中是否有环描述代码检测链表中是否存在环链表中存在环想检测链表中是否存在环&#xff0c;而不需要找到环的入口 判断链表中是否有环 题目 描述 判断给定的链表中是否有环。如果有环则返回true&#xff0c;否则返回false。 数据范围&#xff1a;链表…

精准制导:选择适合的Memcached缓存策略

&#x1f3af; 精准制导&#xff1a;选择适合的Memcached缓存策略 Memcached是一个广泛使用的高性能分布式内存缓存系统&#xff0c;它的缓存策略对于优化应用性能至关重要。正确的缓存策略可以显著减少数据库访问次数&#xff0c;降低延迟&#xff0c;提高响应速度。本文将深…

Spring Boot集成canal快速入门demo

1.什么是canal&#xff1f; canal 是阿里开源的一款 MySQL 数据库增量日志解析工具&#xff0c;提供增量数据订阅和消费。 工作原理 MySQL主备复制原理 MySQL master 将数据变更写入二进制日志&#xff08;binary log&#xff09;, 日志中的记录叫做二进制日志事件&#xff…

二叉树_堆(下卷)

前言 接前面两篇的内容&#xff0c;接着往下讲二叉树_堆相关的内容。 正文 那么&#xff0c;回到冒泡排序与堆排序的比较。 我们知道冒泡排序的时间复杂度为 O ( N 2 ) O(N^2) O(N2)&#xff0c;这个效率是不太好的。 那么&#xff0c;我们的堆排序的时间复杂度如何呢&…

017、Vue动态tag标签

文章目录 1、先看效果2、代码 1、先看效果 2、代码 <template><div class "tags"><el-tag size"medium"closable v-for"item,index in tags":key"item.path":effect"item.title$route.name?dark:plain"cl…

特征工程的自动化革新:Mojo模型中的动态应用策略

特征工程的自动化革新&#xff1a;Mojo模型中的动态应用策略 在机器学习领域&#xff0c;特征工程是提升模型性能的黄金钥匙。Mojo模型&#xff0c;作为一个代表任何机器学习模型的术语&#xff0c;其性能在很大程度上依赖于特征的有效性。随着数据的不断变化和业务需求的演进…

数据结构 - AVL树

文章目录 一、AVL树的介绍二、AVL树的实现1、基本框架2、查找3、插入4、删除5、测试6、总代码 三、AVL树的性能 一、AVL树的介绍 1、概念 AVL树&#xff08;Adelson-Velsky and Landis Tree&#xff09;是一种自平衡的二叉搜索树。它得名于其发明者G. M. Adelson-Velsky和E. M…

Vue 状态管理 Vue CLI

Vue 状态管理 & Vue CLI 1、状态管理2、集中状态管理2.1 Vuex2.1.1 Vuex核心概念2.1.2 Vuex Store实例2.1.3 Vuex Getter2.1.4 Vuex Mutation2.1.4 Vuex Actions2.1.4 Vuex Module 2.2 Pinia2.2.1功能增强 3、Vuex 实现原理4、Pinia 实现原理5、CLI5.1 实现 1、状态管理 将…

【CG】计算机图形学(Computer Graphics)基础(其贰)

0 学习视频 B站GAMES101-现代计算机图形学入门-闫令琪 ※ 接上文【CG】计算机图形学&#xff08;Computer Graphics&#xff09;基础&#xff08;其壹&#xff09; 7 光线追踪 7.1 为什么需要光线追踪&#xff1f; 光栅化无法妥善处理全局效果 &#xff08;软&#xff09;阴…

一天搞定React(5)——ReactRouter(下)【已完结】

Hello&#xff01;大家好&#xff0c;今天带来的是React前端JS库的学习&#xff0c;课程来自黑马的往期课程&#xff0c;具体连接地址我也没有找到&#xff0c;大家可以广搜巡查一下&#xff0c;但是总体来说&#xff0c;这套课程教学质量非常高&#xff0c;每个知识点都有一个…

excel中的时间格式通过js转化为正常时间

在JavaScript中&#xff0c;如果有一个类似44419.40592592592这样的数字&#xff0c;它通常不代表直接可用于Date对象的格式&#xff0c;因为JavaScript的Date对象期望的是从1970年1月1日UTC开始的毫秒数&#xff08;时间戳&#xff09;。 但是&#xff0c;如果知道这个数字是…

MATLAB基础:函数与函数控制语句

今天我们继续学习Matlab中函数相关知识。 API的查询和调用 help 命令是最基本的查询方法&#xff0c;可查询所有目录、指定目录、命令、函数。 我们直接点击帮助菜单即可查询所需的API函数。 lookfor 关键字用于搜索相关的命令和函数。 如&#xff0c;我们输入lookfor inpu…

初学Mybatis之 Limit 或 RowBounds 实现分页

Limit 分页&#xff1a; startIndex 起始位置&#xff0c;pageSize 每页显示个数 select * from mybatis.user limit startIndex,pageSize; 比如 limit 0,2; 从第零个开始查&#xff0c;每页显示两个&#xff08;如果第一个数字是 1&#xff0c;其实是从第二条数据开始展示…