论文学习——THE USTC SYSTEM FOR ADRESS-M CHALLENGE

news2024/11/26 20:44:53

文章目录

    • 引言
    • 正文
      • Abstract
            • 模型基本结构
            • 模型效果汇总
      • Introduction介绍
            • 跨语言任务的独特性
            • 思路启发和变化
            • 如何使用预定义好的音频特征
            • 如何使用预定义好的语言模型——语言模型中获取韵律信息
            • 结果说明
      • Dataset数据集
      • Mthods方法
        • 使用设计好的特征进行AD检测
          • 使用的特征
          • 分类和训练方法
        • 3.2 微调预训练的语言模型实习AD检测
      • Submission description and results
      • Conclusion
        • 问题
    • 总结
    • 引用

引言

  • 这篇文章在整个排名中,位列第三,是少有的性能比baseline效果要好的,需要好好阅读一下。

正文

Abstract

模型基本结构
  • 这篇文章是介绍根据自发语音实现多语种AD检测,我们的方法主要有两部分构成:
    • 使用不同的音频特征和静音相关的信息,进行AD检测和MMSE预测
    • 调整wav2vec2.0语言识别模型,将之应用在不同的频段上
模型效果汇总
  • 整体性能是好于baseline模型的,主要分两个方面进行介绍
  • AD检测方面,准确率是73.9%,通过在 0-1000Hz 频段语音上微调我们的双语 wav2vec2.0 预训练模型
  • MMSE回归阶段,RMSE的值为4.610,主要是融合eGeMAPS和静音特征

Introduction介绍

跨语言任务的独特性
  • 目前根本没有任何研究是探索有哪些语音特征,能够转换并且应用在Ad检测上的。ICASSP2023年的信号处理挑战SPGC就是今年就是专门探索这个的,提出了一个基于自发语音的多语言AD检测比赛。
  • 这个比赛主要分为两类,分别是分类任务和MMSE回归任务,都是在英语上进行训练,然后使用希腊语进行训练的。
思路启发和变化
  • 《Disfluencies and Fine-Tuning Pre-Trained Language Models for Detection of Alzheimer’s Disease》这篇文章已经验证过了,对于单模态AD检测而言,语言不流利和预训练的语言模型是十分有效的。
  • 基于此,为了应对这个挑战,我们尝试了两种方法:
    • 使用预先定义好的音频特征
    • 使用预训练的大语言模型
如何使用预定义好的音频特征
  • 第一种方式是使用设计好的音频特征,进行AD检测。静音相关的音频特征和语言是独立的,并且适合别的特征进了融合,在这里,我们是用XGBoost进行Ad分类,使用SVR和XGBoost进行MMSE回归任务。
  • XGBoost
  • SVR
如何使用预定义好的语言模型——语言模型中获取韵律信息
  • 第二种方法是微调预训练的语言模型,用来进行AD检测。我们在原始的英语和希腊语数据集上预训练了wav2vec2.0模型,然后使用低通滤波处理语音信号,保留语言通用韵律信息,这些信息是低频的,然后过滤那些高频的信息,比如说特定于语言的音素信息
结果说明
  • 通过对预训练的wav2vec模型进行微调,使之适应0-1000hz频段的语音,模型在Ad分类的准确率上达到了73.9%
  • 通过将静音特征和eGeMAPS信息进行融合,对于MMSE的回归任务的RMSE分数达到了4.610

Dataset数据集

  • 数据集使用的是ADReSS-M,包括了希腊语和英语两种语言的语音录音。
    • 训练集:237段英语样例,8段希腊语样例
    • 测试集:46段希腊语样例
  • 训练过程中,37段英语数据作为验证集,200段音频作为训练集
  • 8段希腊语作为我们希腊语的验证数据集
  • 然后希腊语和英语的验证集会被同时用来进行训练

Mthods方法

使用设计好的特征进行AD检测
使用的特征
  • 为了获取跨语言的音频表示,基于**《Multilingual Alzheimer’s Dementia Recognition through Spontaneous Speech: a Signal Processing Grand Challenge》**,我们设计了10种静音特征,具体构成如下

    • 每秒钟的静音次数
    • 静音时间和语音持续时间的比率
    • 静音和语音持续时间的统计特征(最大值、最小值、平均值和标准偏差
  • 使用两个声音活动检测工具来定位静音段落的位置,具体使用的工具如下

    • pyannote的递归神经网络
    • 查询概率结束分类器:Improved end-of-query detection for streaming speech recognition

其他声音特征

  • 使用OpenSmile工具来提取ComParE2016(CPE)和eGeMAPS(eGM)作为低频语音特征

其他语言特征

  • 使用Huggingface中的"facebook/wav2vec2-base-960h" model (WB)和"facebook/hubert-base-ls960" model (HB)来提取预训练的语音embedding
  • 然后还有其他的人口统计特征
分类和训练方法
  • 这里使用XGBoost作为AD检测任务,然后使用SVR和XGBoost进行组合,实现MMSE的回归任务
  • 将基于单个特征的分类模型任务进行集成学习,提高模型额准确率。
  • 对于特征分类,这里使用了集成学习策略,包括了早期融合、特征拼接还有后期融合,甚至还有权重投票等多种方式进行测试
  • 对于MMSE的回归任务,这里是平均多个预测回归模型输出,然后将平均结果作为最终的输出,这些效果要好于特征融合和权重投票的方式
3.2 微调预训练的语言模型实习AD检测
  • 看了这个不禁开始感叹,这是什么条件,我靠!他用了8张A100GPU来训练600,000次。

  • 为了能够尽快提高跨语言音频表示的学习,我们预训练了一个基于希腊语和英语的双语wav2vec-base模型,主要是引用了Facebook的开源的wav2vec模型。使用100个小时的双语数据进行预训练,英语和希腊语各50个小时

  • 现有的(“facebook/wav2vec2-large-xlsr-53”)和我们的双语 wav2vec2-base 模型在 200 个不同频段的英语训练样本上使用序列分类头进一步微调(平均汇集输出上具有 Sigmoid 激活函数的线性层)。这些微调模型的 8 个希腊样本的 AD 检测结果如表 1 所示。我们可以看到,对于大多数频率 epoch 配置,我们的预训练模型的性能与在多语言语音数据但没有希腊语上训练的现有模型相同或更好。两个预训练模型都展示了利用低通滤波语音进行跨语言 AD 分类的优势。最后,采用 0-1kHz 和 epoch30 的配置在 237 个英语和 8 个希腊样本上微调我们的双语预训练模型以生成一组提交的结果。

  • 这里没有使用facebook公开的XSLR进行训练,而是自己进行微调的wav2vec模型进行训练

Submission description and results

  • 对于AD检测和MMSE回归任务,分别提交了5次。Ad检测是ID从1到5,MMSE回归任务是ID从6到10.

  • 关于Ad检测任务的结果如下

  • 最终ID5的结果最好,说明基于平衡的双语数据的预训练模型效果最好,能够有效实现跨语言检测。

在这里插入图片描述

  • 回归任务这里就不细看了,又没有相关的数据集,不值得。

Conclusion

  • 通过微调我们预训练的双语模型wav2vec2.0,在0-1000Hz波段的音频数据,我们在分类人中的准确率到达了73.9%,最终的结果表明,使用平衡过后的多语言数据集,并且使用低通率的过滤的语音能够显著调高Ad检测准确性。
  • 回归任务使用了eGeMAPS和静音特征,效果比基本的模型要好,说明这两个指标的效果很好。
问题

总结

引用

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

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

相关文章

【原创】java+swing+mysql通讯录管理系统设计与实现

前言: 通讯录管理系统是一个设计和实现个人或组织之间联系人信息管理的系统。该系统可能涵盖了联系人的详细信息,如姓名、电话号码、电子邮件地址、地址等,并提供了对联系人信息进行添加、删除、修改、查询等操作的功能。通讯录管理系统旨在…

Android设计模式--状态模式

真知即所以为行,不行不足谓之知 一,定义 当一个对象的内在状态改变时,允许改变其行为,这个对象看起来像是改变了其类。 这么说可能很难理解,通俗来讲就是当一个对象它有多种状态的时候,把每一种状态的行为…

【科普】储能EMS的嵌入式系统该如何选择?

来源:飞凌嵌入式官网 引言 储能EMS(能源管理系统)是专门针对储能系统设计和实施的管理系统,它在新型储能系统领域起到了至关重要的作用。储能EMS能够帮助企业或者机构实现储能设备的高效、安全和可靠管理,优化能源的储…

LeetCode热题100——二分查找

二分查找 1. 搜索插入位置2. 搜素二维矩阵3. 在排序数组中查找第一个和最后一个元素位置 1. 搜索插入位置 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 // 题…

vue-router配置

1、路由安装 npm install vue-router4 2、创建router目录 3、编辑文件且引入router包 4、main.js引入

【C++面向对象】13. 接口 / 抽象类*

文章目录 【 1. 抽象类 】1.1 抽象类的定义1.2 抽象类的应用条件1.3 实例 【 2. 设计策略 】 接口描述了类的行为和功能,而不需要完成类的特定实现。C 接口是使用 抽象类(abstract base class,也称为ABC) 来实现的。 【 1. 抽象类…

《C++避坑神器·二十》C++智能指针简单使用

智能指针&#xff0c;自动释放所指向的对象。 头文件 #include <memory>shared_ptr 允许多个指针指向同一个对象 unique_ptr 独占所指向的对象 weak_ptr 指向shared_ptr所管理的对象 作用原理&#xff1a;在函数作用域结束时调用析构函数自动释放资源。 shared_ptr: …

数据结构-二叉树力扣题

目录 1.相同的树 2.二叉树中查找值为x的节点 3.单值二叉树 4.对称二叉树 5.二叉树的前序遍历 6.另一颗树的子树 层序遍历&#xff1a; 7.二叉树遍历 8.判断二叉树是否是完全二叉树 一个特殊的性质&#xff1a; 1.相同的树 题目链接&#xff1a;力扣&#xff08;LeetC…

基于操作系统讨论Java线程与进程、浅谈Go的线程与管程

文章目录 操作系统中的进程进程概念进程的状态 Java中的进程Java进程的概念Java进程的特性Java进程的状态Java进程与操作系统进程的通信 操作系统的进程和Java进程的区别联系操作系统进程Java 进程区别和联系 操作系统中的线程动机优点多核编程 Java中的线程定义&#xff1a;特…

ping命令使用示例解析

【一】ping命令简介 ping &#xff08;Packet Internet Groper&#xff09;是一种因特网包探索器&#xff0c;用于测试网络连接量的程序。ping的一般用途有&#xff1a; ①【测试网络物理链路是否正常】&#xff1a;通过将ICMP(Internet控制消息协议)回显数据包发送到网络终端&…

Unity中Shader图形流水线中的纹理

文章目录 前言一、图形流水线中的纹理1、我们的纹理一般用于&#xff1a;2、纹理的获取方式&#xff1a; 二、纹理的分类1、颜色纹理2、几何纹理 三、纹理管线四、纹理的作用1、纹理可以 替换 漫反射模型中的 漫反射系数Kd2、纹理还有的作用 前言 Unity中Shader图形流水线中的…

【入门篇】1.3 redis客户端之 jedis 高级使用示例

文章目录 0.前言1. 发布和订阅消息2. 事务操作3. 管道操作4. jedis 支持哨兵模式5. jedis 支持集群模式5. 参考链接 0.前言 Jedis是Redis的Java客户端&#xff0c;它支持所有的Redis原生命令&#xff0c;使用方便&#xff0c;且可以与Java项目无缝集成。 该库的最新版本支持Re…

C#创建并调用dll

文章目录 1.VS2019创建C#主程序2.编译主程序3.添加类库工程&#xff0c;并添加计算逻辑4.给主程序添加引用项5.重新编译主程序6.主程序添加测试逻辑 1.VS2019创建C#主程序 2.编译主程序 debug目录下生成exe&#xff1a; 3.添加类库工程&#xff0c;并添加计算逻辑 添加计算逻…

ROS 多机器人导航RVIZ环境的配置

文章目录 前言一、添加多个2D Pose Estimate/2D nav Goal二、RVIZ的其他配置1.RobotModel 总结 前言 前文ROS Turtlebot3多机器人编队导航仿真写了多机器人呢导航的代码实现&#xff0c;本文主要说明&#xff0c;RVIZ导航环境的配置&#xff0c;如何添加多个2D Pose Estimate/…

CODING DevOps产品认证笔记

1.敏捷&精益&瀑布概述 1.1 敏捷软件开发 第一章敏捷软件开发背景 背景&#xff1a;乌卡时代 易变性:当今世界的变化越来越多越来越快&#xff0c;越来越不可预测。不确定性:历史上的任何一个时代所带来的经验已经无法为当今世界的所有变化提供参照。复杂性:事物间的…

Uniapp连接iBeacon设备——实现无线定位与互动体验(实现篇)

export default { data() { return { iBeaconDevices: [], // 存储搜索到的iBeacon设备 deviceId: [], data: [], url: getApp().globalData.url, innerAudioContext: n…

【MATLAB源码-第79期】基于蚯蚓优化算法(EOA)的栅格路径规划,输出做短路径图和适应度曲线。

操作环境&#xff1a; MATLAB 2022a 1、算法描述 蚯蚓优化算法&#xff08;Earthworm Optimisation Algorithm, EOA&#xff09;是一种启发式算法&#xff0c;灵感来源于蚯蚓在自然界中的行为模式。蚯蚓优化算法主要模仿了蚯蚓在寻找食物和逃避天敌时的行为策略。以下是蚯蚓…

Python Numpy.einsum

、 见 https://zhuanlan.zhihu.com/p/27739282

程序员如何悄悄拔尖,然后惊艳四座?

谁最初还不是个血气方刚、胸怀抱负的有志青年了&#xff1f; 渐渐的&#xff0c;被岁月磨平棱角&#xff0c;被生活冲淡理想&#xff0c;如今的你还有几分似从前&#xff1f; 你是否&#xff0c;不安现状、焦虑未来、忙忙碌碌没有方向&#xff1f; 不甘平庸?不想摸鱼&#…