本文介绍了一种通过非侵入性脑记录(MEG/EEG)解码语音感知的模型,利用对比学习和自监督预训练语音模型(wav2vec 2.0),实现对自然语音的高效解码。
代码链接:github.com/facebookresearch/brainmagick
一、方法与模型架构
模型主要由 “大脑模块” 和 “语音模块” 组成。通过对比学习(contrastive learning)来对齐两者的表示,使得模型能够从非侵入性脑记录中解码出感知语音的自我监督表示。
1、大脑模块
输入:原始 MEG/EEG 时间序列数据以及对应参与者的独热编码。(参与者的独热编码用于告知模型当前输入的脑信号属于哪一个参与者,以便后续模型通过参与者特定层调用对应的个体参数)输出:与语音表示对齐的潜在大脑表征。
(1)空间注意力层:
目标:动态学习每个传感器的权重,突出对语音解码最相关的脑区信号,抑制噪声或无关区域的干扰。适应不同数据集的传感器配置(如 MEG 的 273 通道 vs. EEG 的 60 通道),增强模型的跨数据集泛化能力。(注:传感器是指分布在头皮用于记录脑电活动的仪器,不同传感器对应不同脑区的信号)
用 MNE-Python 库的find_layout
函数,将三维传感器位置投影到二维平面,保留传感器间的相对距离,再进行坐标归一化。每个输出通道的注意力权重通过傅里叶基函数建模,捕捉传感器位置的周期性空间模式(如脑区活动的空间频率特征)。
对每个输入传感器 i,计算其二维坐标 对应的注意力分数
,表示该传感器对输出通道 j 的重要性。再用softmax 函数进行归一化。为增强泛化能力,计算注意力权重时,随机选择一个二维坐标
,并移除距离该坐标小于
的传感器权重(设为 0)(空间随机失活)
(2)参与者特定层
参与者特定层(Subject-Specific Layer) 是实现模型跨个体适应性的核心组件。
(在不改变时间维度的前提下,对通道维度进行线性变换,等价于对每个通道的特征进行加权组合。)
不同参与者的完全独立,训练时仅更新当前批次数据对应的参与者参数,其他参与者的参数保持不变。
(3)残差扩张卷积块
由五个卷积块堆叠而成,每个卷积块包含三个卷积层。前两个卷积层采用扩张卷积,并用残差跳跃连接(将输入直接添加到前两层卷积的输出),进行批归一化和 GELU 激活;第三个卷积层使用门控线性单元(GLU)激活,以减半通道数量。最后通过两个 1×1 卷积层输出与语音表示维度匹配的结果。
2、语音模块
目标:提取语音的潜在表示,为对比学习提供语音特征
方法:文章提到了两种方法
(1)Deep Mel 模块:使用与大脑模块类似的深度卷积架构(不含参与者块),试图同时学习提取语音和 MEG、EEG 的表示,使它们最大程度对齐。但该方法效率不如基于 wav2vec 2.0 的方法,原因在于它仅能看到 MEG 和 EEG 数据集里的音频,学习到的语音特征可能不够全面和通用。
(2)wav2vec 2.0:是一种自监督学习的语音模型,在大量语音数据上进行预训练。它通过卷积和 Transformer 块对原始波形进行变换,预测自身潜在表示的掩码部分,能有效编码多种语言特征。在本研究中,使用 wav2vec2-large-xlsr-53 模型,将其最后四层 Transformer 的激活进行平均,作为语音的潜在表示。这一模型的优势在于其在大规模数据上的预训练,能够学习到丰富的语音语义和语法结构,为语音解码提供更强大的特征表示。
3、对比学习
对比学习(Contrastive Learning)是一种无监督 / 自监督学习方法,其目标是让同一类样本的特征在特征空间中紧密聚集,不同类样本的特征尽可能分离。
二、训练
1、数据集:整合 4 个公开的 MEG/EEG 数据集,涵盖 175 名健康参与者,包括:
- MEG 数据集:Schoffelen 2019(荷兰语,96 人)、Gwilliams 2022(英语,27 人)。
- EEG 数据集:Broderick 2019(英语,19 人)、Brennan and Hale 2019(英语,33 人)。
2、多参与者联合训练:模型的主体结构(如卷积层、注意力层、大部分参数)在所有参与者之间共享,在共享的主体结构之外,为每个参与者引入一个独立的参数层
三、结果
MEG数据:在超过1000个候选语音片段中,模型通过3秒MEG信号识别对应语音片段的top-1准确率最高达41.3%(平均),最佳参与者达80%。例如,Gwilliams数据集的最佳参与者top-1准确率超过80%。
EEG数据:性能较低(top-10准确率17.7%-25.7%),但显著高于随机基线(<1%)。