Nature Machine Intelligence 纽约大学团队提出基于深度学习和语音生成技术的脑电-语音解码

由于神经系统的缺陷导致的失语会导致严重的生活障碍,它可能会限制人们的职业和社交生活。近年来,深度学习和脑机接口(BCI)技术的飞速发展为开发能够帮助失语者沟通的神经语音假肢提供了可行性。开发神经-语音解码器的尝试大多数依赖于一种特殊的数据:通过皮层电图(ECoG)记录获取接受癫痫手术患者的数据。利用患有癫痫的患者植入的电极,在发音时收集大脑皮层数据,这些数据具有高时空分辨率,已经在语音解码领域帮助研究者获得了一系列很显著的成果,帮助推动了脑机接口领域的发展。

神经信号的语音解码面临着两大挑战。首先,用于训练个性化神经到语音解码模型的数据在时间上是非常有限的,通常只有十分钟左右,而深度学习模型往往需要大量的训练数据来驱动。其次,人类的发音非常多样,哪怕是同一个人重复说出相同的单词,语速、语调和音调等也会有变化,这给模型构建的表征空间增加了复杂性。早期的解码神经信号到语音的尝试主要依赖于线性模型,模型通常不需要庞大的训练数据集,可解释性强,但是准确率很低。近期的基于深度神经网络,尤其是利用卷积和循环神经网络架构,在模拟语音的中间潜在表示和合成后语音质量两个关键维度上展开。例如,有研究将大脑皮层活动解码成口型运动空间,然后再转化为语音,虽然解码性能强大,但重建的声音听起来不自然。另一方面,一些方法通过利用wavenet声码器、生成对抗网络(GAN)等,虽然成功重建了自然听感的语音,但准确度有限。最近,在一个植入了设备的患者的研究中,通过使用量化的HuBERT特征作为中间表示空间和预训练的语音合成器将这些特征转换成语音,实现了既准确又自然的语音波形。然而,HuBERT特征不能表示发音者特有的声学信息,只能生成固定统一的发音者声音,因此需要额外的模型将这种通用声音转换为特定患者的声音。此外,这项研究和大多数先前的尝试采用了非因果(non-causal)架构,这可能限制其在需要时序因果(causal)操作的脑机接口实际应用中的使用。

01

论文概要

在这里插入图片描述

为应对这些挑战,研究者在这篇文章中介绍了一个新型的从脑电(ECoG)信号到语音的解码框架,研究人员构建了一个低维度的中间表示(low dimension latent representation),该表示通过仅使用语音信号的语音编解码模型生成(图 1)。研究提出的框架由两部分组成:一部分是ECoG解码器,它能将ECoG信号转化为我们可以理解的声学语音参数(比如音高、是否发声、响度、以及共振峰频率等);另一部分是语音合成器,它将这些语音参数转化为频谱图。研究人员构建了一个可微分语音合成器,这使得在训练ECoG解码器的过程中,语音合成器也可以参与训练,共同优化以减少频谱图重建的误差。这个低维度的潜在空间具有很强的可解释性,加上轻量级的预训练语音编码器生成参考用的语音参数,帮助研究者构建了一个高效的神经语音解码框架,克服了数据稀缺的问题。

该框架能产生非常接近说话人自己声音的自然语音,并且ECoG解码器部分可以插入不同的深度学习模型架构,也支持因果操作(causal operations)。研究人员共收集并处理了48名神经外科病人的ECoG数据,使用多种深度学习架构(包括卷积、循环神经网络和Transformer)作为ECoG解码器。该框架在各种模型上都展现出了高准确度,其中以卷积(ResNet)架构获得的性能最好,原始与解码频谱图之间的皮尔森相关系数(PCC)达到了0.806。研究者提出的框架仅通过因果操作和相对较低的采样率(low-density, 10mm spacing)就能实现高准确度。研究者还展示了能够从大脑的左右半球都进行有效的语音解码,将神经语音解码的应用扩展到了右脑。

在这里插入图片描述

该研究的重要创新是提出了一个可微分的语音合成器(speech synthesizer),这使得语音的重合成任务变得非常高效,可以用很小的语音合成高保真的贴合原声的音频。可微分语音合成器的原理借鉴了人的发生系统原理,将语音分为Voice(用于建模元音)和Unvoice(用于建模辅音)两部分,Voice部分可以首先用基频信号产生谐波,由F1-F6的共振峰组成的滤波器滤波得到元音部分的频谱特征,对于Unvoice部分,研究者则是将白噪声用相应的滤波器滤波得到对应的频谱,一个可学习的参数可以调控两部分在每个时刻的混合比例,在此之后通过响度信号放大,加入背景噪声来得到最终的语音频谱。

基于该语音合成器,本文设计了一个高效的语音重合成框架以及神经-语音解码框架,相应的框架结构可以参考原文图6.

02

研究结果分析

在这里插入图片描述

首先,研究者直接比较不同模型架构(卷积(ResNet)、循环(LSTM)和Transformer(3D Swin)在语音解码性能上的差异。值得注意的是,这些模型都可以执行时间上的非因果(non-causal)或因果操作。研究结果表明,ResNet模型在所有模型中表现最佳,在48位参与者中达到了最高的皮尔森相关系数(PCC),非因果和因果的平均PCC分别为0.806和0.797,紧随其后的是Swin模型(非因果和因果的平均PCC分别为0.792和0.798)(图2a)。通过STOI+指标的评估也得到了相似的发现。解码模型的因果性对大脑-计算机接口(BCI)应用具有重大意义:因果模型仅利用过去和当前的神经信号生成语音,而非因果模型还会使用未来的神经信号。过去的研究通常采用非因果模型,这在实时应用中不可行。因此,研究者专注于比较相同模型在执行非因果和因果操作时的性能。研究发现,即使是因果版本的ResNet模型也能与非因果版本媲美,二者之间没有显著差异。同样,因果和非因果版本的Swin模型性能相近,但因果版本的LSTM模型性能显著低于非因果版本,因此研究者后续主要关注ResNet和Swin模型。

为确保本文提出的框架能够很好地泛化于未见过的单词,研究者进行了更为严格的单词级交叉验证,这意味着相同单词的不同试验不会同时出现在训练集和测试集中。如图2b所示,对未见单词的性能与文中的标准试验方法相当,表明即使在训练期间未见过的单词,模型也能够很好地进行解码,这主要得益于本文构建的模型在进行音素(phoneme)或类似水平的语音解码。

进一步,研究者展示了ResNet因果解码器在单个单词级别上的性能,展示了两位参与者(低密度采样率ECoG)的数据。解码后的频谱图准确保留了原始语音的频谱-时间结构(图2c,d)。研究人员还对比了神经解码器预测的语音参数与语音编码器编码的参数(作为参考值),研究者展示了几个关键语音参数的平均PCC值(N=48),包括声音权重(用于区分元音和辅音)、响度、音高f0、第一共振峰f1和第二共振峰f2。准确重建这些语音参数,尤其是音高、声音权重和前两个共振峰,对于实现精确的语音解码和自然地模仿参与者声音的重建至关重要。研究发现表明,无论是非因果还是因果模型,都能得到合理的解码结果,这为未来的研究和应用提供了积极的指引。

在这里插入图片描述

研究者进一步对左右大脑半球的语音解码结果进行了比较。多数研究集中关注主导语音和语言功能的左脑半球。然而,我们对于如何从右脑半球解码语言信息知之甚少。针对这一点,研究者比较了参与者左右大脑半球的解码表现,以此验证使用右脑半球进行语音恢复的可能性。在研究收集的48位受试者中,有16位受试者的ECoG信号采集自右脑。通过对比 ResNet 和 Swin 解码器的表现,研究者发现右脑半球也能够稳定地进行语音解码(ResNet 的 PCC值为 0.790,Swin 的 PCC值为 0.798),与左脑半球的解码效果相差较小(如图 3a 所示)。这一发现同样适用于 STOI+ 的评估(参见补充图 1b)。这意味着,对于左脑半球受损、失去语言能力的患者来说,利用右脑半球的神经信号恢复语言也许是一个可行的方案。

接着,研究者探讨了电极采样密度对语音解码效果的影响。之前的研究多采用较高密度的电极网格(0.4 mm),而临床中通常使用的电极网格密度较低(LD 1 cm)。有五位参与者使用了混合类型(HB)的电极网格(见图 3b),这类网格虽然主要是低密度采样,但其中加入了额外的电极。剩余的四十三位参与者都采用低密度采样。这些混合采样(HB)的解码表现与传统的低密度采样(LD)相似,但在 STOI+ 上表现稍好(参见补充图 3b)。研究者比较了仅利用低密度电极与使用所有混合电极进行解码的效果,发现两者之间的差异并不显著(参见图 3d),这表明模型能够从不同空间采样密度的大脑皮层中学习到语音信息,这也暗示临床通常使用的采样密度对于未来的脑机接口应用也许是足够的。

在这里插入图片描述

最后,研究者考察了大脑的语音相关区域在语音解码过程中的贡献程度,这对于未来在左右脑半球植入语音恢复设备提供了重要的参考。研究者采用了遮挡技术(occlusion analysis)来评估不同大脑区域对语音解码的贡献度。简而言之,如果某个区域对解码至关重要,那么遮挡该区域的电极信号(即将信号设为零)会降低重构语音的准确率(PCC值)。通过这种方法,研究者测量了遮挡每个区域时,PCC值的减少情况。通过对比 ResNet 和 Swin 解码器的因果与非因果模型,研究发现,听觉皮层在非因果模型中的贡献更大,这强调了在实时语音解码应用中,必须使用因果模型,因为在实时语音解码中,我们无法利用神经反馈信号。此外,无论是在右脑还是左脑半球,传感运动皮层尤其是腹部区域的贡献度相似,这暗示在右半球植入神经假肢也许是可行的。

03

结论和展望

研究者开发了一个新型的可微分语音合成器,可以利用一个轻型的卷积神经网络将语音编码为一系列可解释的语音参数(如音高,响度,共振峰频率等)并通过可微分语音合成器重新合成语音。通过将神经信号映射到这些语音参数,研究者构建了一个高度可解释且可应用于小数据量情形的神经语音解码系统,可生成听起来自然的语音。此方法在参与者间高度可复现(共48人),研究者成功展示了利用卷积和Transformer(3D Swin)架构进行因果解码的有效性,均优于循环架构(LSTM)。该框架能够处理高低不同空间采样密度,并且可以处理左、右半球的脑电信号,显示出了强大的语音解码潜力。

大多数之前的研究没有考虑到实时脑机接口应用中解码操作的时序因果性。许多非因果模型依赖于听觉感觉反馈信号。研究者的分析显示,非因果模型主要依赖于颞上回(superior temporal gyrus)的贡献,而因果模型则基本消除了这一点。研究者认为,由于过分依赖反馈信号,非因果模型在实时BCI应用中的通用性受限。有些方法尝试避开训练中的反馈,如解码受试者想象中的语音。尽管如此,大多数研究依然采用非因果模型,无法排除训练和推断过程中的反馈影响。此外,文献中广泛使用的循环神经网络通常是双向的,导致非因果行为和预测延迟,而研究者的实验表明,单向训练的循环网络表现最差。尽管该研究并没有测试实时解码,但研究者实现了从神经信号合成语音小于50毫秒的延迟(补充表 1),几乎不影响听觉延迟,允许正常语音产出。

研究中探讨了是否更高密度的覆盖能改善解码性能。研究者发现低密度和高(混合)密度网格覆盖都能实现高解码性能(见图 3c)。此外,研究者发现使用所有电极的解码性能与仅使用低密度电极的性能没有显著差异(图3d)。这证明了只要围颞覆盖足够,即使在低密度参与者中,研究者提出的ECoG解码器也能够从神经信号中提取语音参数用于重建语音。另外一个显著的发现是右半球皮质结构以及右围颞皮层对语音解码的贡献。尽管以前的一些研究展示了对元音和句子的解码中,右半球可能提供贡献,研究者的结果提供了右半球中鲁棒的语音表示的证据。

研究者还提到了目前模型的一些限制,比如解码流程需要有与ECoG记录配对的语音训练数据,这对失语患者可能不适用。未来,研究者也希望开发能处理非网格数据的模型架构,以及更好地利用多病人、多模态脑电数据。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【树莓派初始化】教你从0开始搭建树莓派的使用环境

文章目录 前言1.什么是树莓派?1.1什么用户适合购买树莓派学习编程? 2.如何初始化一个树莓派2.1 烧录系统2.2 测试开机2.3 设置树莓派显示输出的分辨率2.4 网络链接2.5 Putty链接树莓派2.6 VNC链接树莓派2.7 使用filezilla软件传输文件到树莓派 3.使用Xsh…

相关性气泡图-数据模拟到作图(自备)

目录 普通气泡图ggplot2 相关性气泡图 数据处理1:生成两个dataframe 数据处理2:计算相关性R和P 数据处理3:添加细节 绘图 核心:气泡的信息主要体现在气泡大小和气泡颜色变化。 普通气泡图ggplot2 rm(list ls()) librar…

【Golang学习笔记】从零开始搭建一个Web框架(三)

文章目录 分组控制分组嵌套中间件 前情提示: 【Golang学习笔记】从零开始搭建一个Web框架(一)-CSDN博客 【Golang学习笔记】从零开始搭建一个Web框架(二)-CSDN博客 分组控制 分组控制(Group Control)是 Web 框架应提供…

Linux系统——Zookeeper集群

目录 一、Zookeeper概述 1.Zookeeper简介 2.Zookeeper工作机制 3.Zookeeper数据结构 4.Zookeeper应用场景 4.1统一命名服务 4.2统一配置管理 4.3统一集群管理 4.4服务器动态上下线 4.5软负载均衡 5.Zookeeper选举机制 5.1第一次启动选举机制 5.2非第一次启动选举机…

006Node.js cnpm的安装

百度搜索 cnpm,进入npmmirror 镜像站https://npmmirror.com/ cmd窗口输入 npm install -g cnpm --registryhttps://registry.npmmirror.com

ESP32系统监测(基于ESP-IDF)

主要参考资料: CSDN文章《ESP32 IDF开发调试奇技淫巧》: https://blog.csdn.net/qq_43332314/article/details/131859971 目录 查询系统剩余堆/最小堆大小查询线程剩余栈大小方法一方法二 查询CPU占用率 查询系统剩余堆/最小堆大小 查询系统剩余堆、最小堆大小的 A…

K8s下部署grafana

1. 系统要求 最小化的软硬件要求 最小化硬件要求 磁盘空间: 1 GB内存: 750 MiB (approx 750 MB)CPU: 250m (approx 2.5 cores) 2. k8s部署grafana步骤 1) 创建名字空间 kubectl create namespace my-grafana 2) 创建yaml vim grafana.yaml yaml包含如下三个资源对象 Ob…

AIGC 探究:人工智能生成内容的技术原理、广泛应用、创新应用、版权问题与未来挑战

AIGC(Artificial Intelligence Generated Content)即人工智能生成内容,其核心在于利用深度学习技术,尤其是基于神经网络的模型,来模拟人类创作过程,自主生成高质量的文本、图像、音频、视频等各类内容。神经…

test4141

欢迎关注博主 Mindtechnist 或加入【Linux C/C/Python社区】一起学习和分享Linux、C、C、Python、Matlab,机器人运动控制、多机器人协作,智能优化算法,滤波估计、多传感器信息融合,机器学习,人工智能等相关领域的知识和…

软考高级架构师:随机函数模型

一、AI 讲解 随机函数模型是理解各种随机过程和算法的一个重要概念,在软件工程、算法设计以及系统分析中有着广泛的应用。简而言之,随机函数模型是一种用于描述具有随机性的系统或过程的数学模型,它能够帮助我们预测和分析在不确定性下的系统…

Day18_学点儿设计模式_MVC和三层架构

0 优质文章 MVC与三层架构 什么是MVC?什么是三层架构? 三层架构与MVC详细讲解 MVC三层架构(详解) 1 MVC MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写…

01、ArcGIS For JavaScript 4.29对3DTiles数据的支持

综述 Cesium从1.99版本开始支持I3S服务的加载,到目前位置,已经支持I3S的倾斜模型、3D Object模型以及属性查询的支持。Cesium1.115又对I3S标准的Building数据实现了加载支持。而ArcGIS之前一直没有跨越对3DTiles数据的支持,所以在一些开发过…

[附带黑子定制款鸽鸽版素材包]更改文件夹图标,更改系统音效,更改鼠标指针及样式。

更改文件夹图标 1.选择图片在线格式转换网站转换为ico格式 2.右键文件夹选择属性 3.点击自定义,点击更改图标超链接 4.点击预览选择生成的ico文件 5.点击打开,点击确定,点击应用 更改系统音效(真爱粉强烈推荐) 1…

【七 (4)FineBI FCP模拟试卷-电站数据分析】

目录 文章导航一、字段解释1、电站基础信息表2、电站事实表 二、需求三、操作步骤1、将新增一列日期12、以左关联的形式增加装机容量3、年度发电总量4、年度售电完成率4、发电量及发电效率5、年售电完成比、售电回款比、管理费用比、运维费用比5、总装机容量6、最近日期7、最近…

【PG-1】PostgreSQL体系结构概述

1. PostgreSQL体系结构概述 代码结构 其中,backend是后端核心代码,包括右边的几个dir: access:处理数据访问方法和索引的代码。 bootstrap:数据库初始化相关的代码。 catalog:系统目录(如表和索引的元数据…

Golang | Leetcode Golang题解之第27题移除元素

题目&#xff1a; 题解&#xff1a; func removeElement(nums []int, val int) int {left, right : 0, len(nums)for left < right {if nums[left] val {nums[left] nums[right-1]right--} else {left}}return left }

人脸识别业务(基于腾讯人脸识别接口)

使用腾讯云人脸识别接口&#xff0c;基于优图祖母模型。 一、准备工作 人脸识别账号 申请腾讯云服务器账号&#xff0c;生成自己的秘钥。记录秘钥和秘钥ID。 创建人员库 记下人员库id 在配置文件application.yml中添加配置。 plateocr:SecretId: 秘钥IDSecretKey: 秘钥ser…

LeetCode34:在排序数组中查找元素的第一个和最后一个位置(Java)

目录 题目&#xff1a; 题解&#xff1a; 方法一&#xff1a; 方法二&#xff1a; 题目&#xff1a; 给你一个按照非递减顺序排列的整数数组 nums&#xff0c;和一个目标值 target。请你找出给定目标值在数组中的开始位置和结束位置。 如果数组中不存在目标值 target&…

软考高级架构师:运筹方法(线性规划和动态规划)

一、AI 讲解 运筹学是研究在给定的资源限制下如何进行有效决策的学问。其中&#xff0c;线性规划和动态规划是两种重要的运筹方法&#xff0c;它们在解决资源优化分配、成本最小化、收益最大化等问题上有着广泛的应用。 线性规划 线性规划是一种数学方法&#xff0c;用于在满…

C语言 | Leetcode C语言题解之第27题移除元素

题目&#xff1a; 题解&#xff1a; int removeElement(int* nums, int numsSize, int val) {int left 0, right numsSize;while (left < right) {if (nums[left] val) {nums[left] nums[right - 1];right--;} else {left;}}return left; }