距离首次从人脑中解码语言至今已有十年之久,但解码语言的准确性和速度仍然远远低于自然语言。本研究展示了一种通过解码皮层脑电获得高准确率、高自然程度语言的方法。根据机器翻译的最新进展,我们训练了一个递归神经网络,将每个句子长度下诱发的神经活动序列编码为一个抽象的表达,然后逐字逐句地将这个抽象表达解码成一个英语句子。对每个参与者来说,数据包括一系列句子(由30-50个句子多次重复而来)以及约250个置于大脑皮层的电极记录到的同步信号。对这些句子的解码正确率最高可以达到97%。最后,本研究利用迁移学习的方法改进对有限数据的解码,即利用多名参与者的数据训练特定的网络层。本研究发表在Nature neuroscience杂志。
研究背景
在过去的十年中,脑-机接口(BMIs, brain–machineinterfaces)的对象已经从动物转向人类,可以帮助四肢瘫痪的病人恢复一定程度的运动能力。尽管将此类操控装置与虚拟键盘结合使用可以生成文本,但即使是理想的光标控制装置(尚未实现),生成词的速率也仍然慢得像用一根手指打字;另外一种方法是直接解码语音,但到目前为止,这类BMIs几乎一直局限于解码孤立的音位或单音节词,而对于中等词汇量的连续语音(约100个单词),只能正确解码其中不足40%的单词。
图1 解码过程
每个参与者阅读一个数据集中的句子(两个数据集二选一,数据集为MOCHA-TIMIT,如图),同时用覆盖大脑皮层的ECoG阵列(120-250个电极)记录神经信号。high-gamma信号(70-150Hz)的解析振幅在200Hz左右提取,截取的长度与口语句子的长度一致,并作为输入提供给人工神经网络。神经网络的早期阶段学习时间卷积滤波,并有效地对这些信号进行降采样。每次滤波从12个采样范围的窗口映射所有电极上的数据(例如,红色的high-gamma信号窗口中的绿色部分)到一个特征序列的单个样本(突出显示在绿色方块上的蓝色特征序列);然后滑动12个输入样本,生成下一个特征序列样本,如此反复。以这种方式产生100个特征序列,然后传递给编码RNN(循环神经网络),RNN学习将它们归纳成一个hidden state(隐藏状态)。此外,编码RNN也被训练来预测语音音频信号的梅尔倒谱频率系数(MFCCs),这些音频信号与ECoG数据在时间上是一致的,但这些信号不在测试阶段使用。最后的编码hiddenstate初始化解码RNN,这一解码RNN根据前一个单词以及当前状态学习预测序列中的下一个单词。在测试阶段,使用先前预测的单词。
小编注:此处的RNN是循环神经网络RecurrentNeural Network,这是一类以序列(sequence)数据为输入,在序列的演进方向进行递归(recursion)且所有节点(循环单元)按链式连接的递归神经网络(recursiveneural network)。
为了提高神经活动到语音的解码精度,我们利用了机器翻译的知识,机器翻译也就是从一种语言文本到另一种语言文本的算法。从概念上讲,语音解码和机器翻译的目标都是在相同分析单元的两种不同表达之间构建一个映射。更具体地说,这两种方法的目的都是将一个任意长度的序列转换成另一个任意长度的序列,之所以是“任意的”,是因为输入和输出序列的长度是变化的,而不是确定相关的。在这项研究中,我们试图一次解码一个句子(就像在大多数现代机器翻译算法中一样)。因此,实际上这两个任务都映射到同一种输出,即可以对应一个句子的单词序列。然而,这两个任务的输入却是截然不同的:一种是神经信号而另一种为文本。现代机器翻译可以直接从人工神经网络的数据中学习它们的特征,这表明,机器翻译的端-端的学习算法不需要做什么调整就可以应用于语音解码。
为了验证这一假设,我们在语音生成过程中,根据ECoG获得的神经信号和对应的口语转录,训练了一种这样的“序列-序列”结构。这项任务与机器翻译之间最重要的区别在于机器翻译的数据集可以包含超过100万个句子,但这项研究中的参与者通常只能提供几千个句子(受参与者的条件限制)。在这种相对稀少的训练数据背景下,为了充分利用端-端学习的优点,我们选用了一种有限的“语言”,这种“语言”由30-50个不同的句子组成。
方法
本研究的参与者在加州大学旧金山分校(UCSF)医学中心接受癫痫治疗。通过外科手术将皮层脑电(ECoG)阵列植入每位患者的皮质表面,以定位其癫痫发作的病灶。手术前,患者签署书面的知情同意书,并按照UCSF人体研究委员会批准的方案执行。本研究的4名参与者都是女性,右利手,确定以左半球语言为主。在录音时,她们的年龄分别为47岁(a)、31岁(b)、29岁(c)和49岁(d)。数据收集和分析是在考虑实验条件的情况下进行的。
任务
参与者逐句大声朗读句子,每个句子都会在计算机屏幕上短暂显示以供朗诵,句子间有几秒的间隔(空白屏)。其中两名参与者(a和b)朗读MOCHA-TIMIT数据集中的460个句子,这些句子基本上涵盖了英语中全部形式的协同发音,平均长度为9±2.3个单词,包含约1800个不重复的单词。句子以每组50句的形式随机呈现(第9组为60个)。另外两名参与者(c和d)阅读30个句子的一个数据集,句子是对三幅卡通图片的描述(看不见图片),平均长度为6.4±2.3个单词,包含约125个单词。
数据采集和预处理
神经数据
参与者被植入4毫米间距的ECoG阵列,以临床目的确定阵列放置的位置。其中3名参与者在大脑外侧裂皮层周围植入了256通道的阵列;1名参与者在大脑侧裂背侧植入128通道的阵列,主要分布在前运动皮层、运动皮层和初级感觉皮层(见图5)。除a患者外,所有参与者均在左半球植入。
图5. 电极分布与贡献
a-d代表四名参与者的解剖重建,ECoG电极的位置用彩色圆点表示。每个圆点的面积代表该电极对解码的贡献程度,颜色代表不同脑区。
对模拟ECoG信号进行放大,采样率在3kHz左右,去除可见伪影或噪声过大的通道。然后对这些数字信号进行抗混叠(200Hz低通滤波)并降采样至400Hz。接下来,在剩余的N个电极上,通过双极参考法生成2N个通道。具体地说,从每个电极的活动中减去它下方相邻(第一通道)和在其右侧相邻(第二通道)的活动。这恰好对应于二维空间的导数,即一个高通滤波器会去除掉阵列上缓慢变化的信息(我们将其视为噪声)。
最后,分别在70到150Hz之间的八个相邻频带中提取解析振幅,在整个频带中取平均值并降采样到200Hz左右。更准确地说,high-gamma带滤波器在频域中被设计为平均值为±s.d.,频率为73.0±4.68、79.5±4.92、87.8±5.17、96.9±5.43、107.0±5.70、118.1±5.99、130.4±6.30、144.0±6.62Hz的高斯窗。通过在频域中对负频率分量进行归零,直接计算出解析信号。参与者a和参与者b的解析信号降采样至200Hz,而参与者c和参与者d的信号降采样至58∕211≈190Hz,以保证与同一参与者的数据处理与另一项研究相一致。随后在30s的滑动窗口的基础上对解析信号的幅度进行z分数转换,从而生成high-gamma信号。
语音合成
语音是在单词层面上手动转录的,或者在“语音-文本”软件的帮助下手动校正。参与者并不总是能够正确地阅读句子,因此实际的口语词汇通常超出MOCHA-TIMIT或“图片-描述”语句集的词汇范围,甚至会出现假词。然而解码器通过“one-hot”编码表示单词,这需要固定大小的词汇表。人工提取句子的开始时间和偏移时间,并利用这一信息将神经数据剪切为与对应句子等长的序列。
语音音频信号
通过专用麦克风通道,以约24kHz的频率同时记录参与者的语音与神经数据,并进行时间对齐。
MFCCs是为了使语言(音位)内容更清晰而从语音音频中提取的特征。简而言之,每一“帧(frame)”处的系数表示对数间隔的局部功率谱,该间隔反映了人类听觉的频率辨别。我们按照传统的做法使用了前13个系数并替换第一个系数,通过Python的python_speech_features包提取MFCCs。
网络
编码-解码是一个人工神经网络,本质上是一个极其复杂的,参数化的函数,由简单的函数组成,并通过更改这些参数进行“训练”,以逐步减少其输出的惩罚。在我们的例子中,单个句子的输入,输出和惩罚是:
输入:在句子生成过程中记录的high-gamma向量序列(每个向量的长度与记录电极的数量)。
输出:从语音音频信号中提取的预测MFCC序列,以及预测的单词序列。
惩罚:预测值与观察到的MFCC和单词序列的偏差。
使用交叉熵来量化偏差。对于序列中的每个单词,交叉熵根据解码器的输出,猜测正确单词所需要的是/非问题的平均数量。对于假定为正态分布的MFCC(梅尔倒谱频率系数)序列的每个元素(向量),交叉熵只是观察到的向量与预测向量之间的均方误差(加上一个常数项)。在训练过程的每个步骤中,在所有句子的随机选择子集上计算交叉熵,并且网络的参数(权重)向着减少这些惩罚的方向改变。需要注意的是,我们实际上并没有在测试阶段使用预测的MFCC,因为训练网络以预测语音音频信号的目的仅是引导网络朝着解决主要目标的方向发展,从而预测单词的正确排序。
数学介绍
符号的使用遵从惯例:大写字母表示随机变量,小写表示实例,加粗表示矢量,斜体表示标量,将<·>严格用于样本平均值。对于生成数据的经验概率分布保留P,对于模型下的分布,保留Q。所有的集合模型参数用Θ表示。
图6.解码过程的图形模型。
圆圈代表随机变量;双圈是其输入的确定性函数。
a.真正的生成过程(上)和编码-解码模型(下)。神经活动(N)、语音音频信号(A)和单词序列(W)之间的真实关系(图中P(a, w∣n)表示)是未知的(尽管我们已经绘制了图形,表明给定N, W和A是独立的)。然而,我们可以观察来自所有三个变量的样本,我们使用这些样本来拟合条件模型Q(a, w, sd (se), se (n)∣n;Θ)作为神经网络实现。该模型将直接生成音频序列的编码状态Se与生成单词序列的解码状态Sd分离开来。在训练期间,更改模型参数Θ,以使A和W上的模型分布Q看起来更像真实分布P。
b.解码器图形模型的详细信息,按顺序逐步展开。每个解码状态都是根据其前一个状态和先前生成的单词或最终的编码状态和初始化令牌来确定性地计算的。
小编注:相对熵(relative entropy),又被称为Kullback-Leibler散度(Kullback-Leibler divergence)或信息散度(informationdivergence),是两个概率分布(probability distribution)间差异的非对称性度量。在在信息理论中,相对熵等价于两个概率分布的信息熵(Shannon entropy)的差值。
实施:数据
这些向量正是参与者产生单词序列和MFCC的那段时间。因此,这个序列的长度K取决于这个时间,同时也取决于采样频率。在进入神经网络之前,这个序列在时间上反转,以减少将输入序列的初始元素与输出序列的初始元素分离的计算次数。这个序列中每个向量的长度等于ECoG通道的数量。
同样,单词序列的长度J简单来说就是句子中的单词数,加上一个额外的终止标记〈EOS〉。这个序列中一个要素,wj,也就是说,一个“单词”也是一个向量,长度等于词汇量。这包括一个词汇表外标记〈OOV〉,用于覆盖不在实际句集中的单词。
MFCC序列的长度M乍一看似乎与神经序列的长度K完全相同,因为编码器神经网络将输入序列的每个元素映射到输出。但是编码器RNN之前的时间卷积层有效地将神经序列抽取12倍。由于输入序列最初以大约200Hz的频率采样,数据因此以约16Hz的频率进入编码器RNN。为获得相同的音频信号采样率,从第0个序列元素开始,MFCC序列被简单地以12倍的因子进行抽取。事实上,MFCC序列应该先进行低通滤波以防止混叠,但由于制作高保真MFCCs并不是我们网络的最终需求,实际上我们使用了简单丢弃样本的粗略近似。MFCC序列的单个元素的长度为13。
因为说话时间和每个句子的字数因例句而异。然而,网络是小批量训练,只需将数据零填充到每个小批量中最长的序列,并确保在每个小批量中读取RNN输出序列的真实长度,而不是名义长度。很明显,如果小批量产出都是以填充为主的话,那么训练将是低效的,这可能发生在一个输入序列比其他输入序列长得多的情况下。为了缓解这种情况,可以尝试把句子分成同样长度的小批量,但我们没有尝试这样做。相反,我们只是强制执行了6.25秒的最大句子长度,这在实际中被截掉少于例子的1%,然后简单地通过随机化产生小批量,在每个开始,以序列的顺序,然后将结果分成连续的256个例子。
实现:架构。
如图7所示,网络的基本架构模仿自Sutskever等人的机器翻译编码-解码器神经网络,尽管有较大的修改。
图7.网络体系结构。
编码器和解码器显示为按时间展开,或更确切地说显示为顺序元素(列)。因此,编码器或解码器同一行的所有层具有相同的输入和输出权值。双向箭头表示双向RNN。尽管图中将时间卷积描述为8个样本范围的卷积(由于空间限制),但是所有结果都来自12个样本范围的卷积网络。序列结束标记为“EOS”。
每个序列的ECoG数据通过时间卷积层进入网络。卷积滤波器的步长设置了有效的抽取因子——本例中的抽取系数为12。在这个网络中,滤波器的宽度也是固定的步长。这种数量级的降采样对于良好的性能至关重要:没有它,即使对于LSTM( long short-termmemory, 长短期网络)单元,输入序列也太长而不能跟随。因为解析振幅没有太多超过20Hz的内容,这个过程也会丢失少量信息。卷积层由100个滤波器组成。
在每个时间间隔(步幅),卷积层的输出进入编码器RNN,由三层双向RNN组成。特别是,每一“层”包括正向处理序列的RNN,以及在反向处理序列的RNN。这些RNN的输出被串联起来,并作为输入传递到下一层。在单个RNN层中的每个“单元”是一个LSTM单元:一种由简单单元组成的复杂的体系,以乘法的方式相互作用,允许模型学习如何控制信息流,从而跨长时间尺度保存信息。我们使用了Gers等人的LSTM设计。由于前向和后向RNN都有400个单位,所以RNN的总状态是一个800维的向量。
编码器RNN的第二层(中间)的输出也通过一个完全连接的输出层然后通过一个“fat”(13×225)矩阵,产出MFCC(梅尔倒谱频率系数)预测。
解码器RNN用编码器RNN的最后一层的最终状态初始化。(实际上,该状态是正向编码器RNN的最终状态与反向编码器RNN的第一个状态的串联,尽管两者都对应于输入序列的步骤M。因此,解码器状态的维数为800=400×2)该RNN接收前一个字作为输入,编码一个热点,并嵌入150维空间中,该空间具有用整流线性单元的完全连接层。解码器RNN必然是单向的,因为它不能被允许访问未来的单词。解码器RNN的输出通过一个矩阵,该矩阵将状态投影到单词空间中,其维数等于词汇量。对于图片描述任务,它的词汇量很小,这个维度是125。对于MOCHA-TIMIT,即使只使用MOCHA-1进行培训和测试,我们也让输出维度为1806;也就是说,第一组50个句子,词汇量要小得多(大约250个单词)。这便于与跨任务训练进行比较,如正文图3所示。
训练、测试、超参数优化和交叉验证
训练
上一节中描述的网络是在TensorFlow中实现的,TensorFlow是一个带有Python API的开放资源机器学习框架。使用AdaM优化梯度下降。Dropout应用于所有层,但网络没有以任何其他方式正则化。RNN中的Dropout仅适用于非当前连接。
跨参与者的迁移学习过程如下:
1.网络被随机初始化,然后对一个参与者进行200个周期的“预训练”。
2.将输入卷积层重置为随机初始值,网络中所有其他权重被“冻结”,并在第二个参与者上训练网络60个周期。也就是说,误差梯度在整个网络中反向传播,但只更新卷积层。因此,在训练的这个阶段,卷积层被训练以从第二参与者的数据中提取与适合于第一参与者数据的编解码器网络一起工作的特征。
3.编解码器中的权重被解冻,整个网络post-trained了540个周期(总共800个周期)。这使得网络的其他部分能够适应第二个参与者的数据中的特性。
测试
在训练和测试中,解码器的输出提供了字序列的概率分布:
在训练过程中,有必要仅在每个观察到的词序下评估这种分布, 。也就是说,在序列中的每一步,网络的输出仅在当前观察到的单词处被评估(wj在等式的右边);同样地,网络的输入被设置为编码先前观察到的单词的一个热向量(wj-1在等式的右边)。然而,在测试过程中,我们需要计算所有序列的概率分布,或者至少找到这个分布下最可能的序列。然而,评估所有的序列是困难的,因为序列的数量在序列长度上呈指数增长。相反,我们使用通常的启发式方法来寻找最可能的序列:在每一步中,我们只需选择最有可能的单词,用它作为下一步的输入。这不能保证在模型分布下找到最可能的序列,因为这个最可能序列中的第一个单词不必是最可能的第一个单词。为了缓解这一困难,有可能保持N个最可能序列的“波束”(相对于点),其中波束的宽度N控制着最佳性和可处理性之间的权衡,但在我们的实验中,使用波束搜索并没有显著提高性能,所以我们没有使用它。
测试和训练之间的细微差别在于使用的参数集。我们不在最终参数值ΘT下评估网络,而是在这些参数的指数移动平均值下更新。其中衰变率η是一个超参数,这样可以消除重量变化带来的冲击:
超参数优化和交叉验证
所有超参数的选择都是基于单个参与者(b,主文本图中为粉红色)在单个验证块上的表现。通过尝试和错误进行初始选择,然后对丢失分数、MFCC惩罚权重(λ)和层大小进行网格搜索。事实上,这个验证块并没有被排除在最终测试之外,因为它只是总测试大小的十分之一,因此不太可能将训练中的信息“泄露”到结果中。
结果(WERs)被交叉验证。对于每次评估,随机抽取N个块进行测试,并在剩余的块上从头开始训练一个网络,其中选择N以容纳大约10%的数据。
显著性检验
图2a和图3中的每个方框都显示了30个模型的平均值WER(单词错误率,word error rate),这些模型是从零开始训练并在随机抽取的验证块上进行测试的。现在,验证块的标识影响结果(某些块比其他块更难解码),因此,如果仅在验证块的匹配对之间进行计算,则任何两个解码器之间的性能(WER)差异将较小。所以,对每个参与者只进行一次验证块的随机分组,允许对任何两个被比较的解码器的所有30个模型实例进行配对。对于这些验证块匹配对的WER差异,我们采用了(单侧)Wilcoxon符号秩检验,询问某一特定模式或转移学习的形式是否优于其竞争对手。然后对得到的P值用Holm–Bonferroni进行多重比较校正。例如,将编码器-解码器网络与其他五个解码器(四个变体,加上基于音位的HMM)进行比较,因此,对图2a报告的P值进行了五次比较校正。
电极对解码的相对贡献
单个电极的贡献,以及由单个电极组成的脑区,可以以多种方式估算。也许最直接的方法就是简单地训练一个将电极排除在外的网络,并测量WER的增加。不幸的是,由于随机梯度下降和随机初始化的随机性,与再训练中WER的变化相比,这种增加通常很小,因此,如果不进行重复的再训练,则很难检测到(每一次都需要长达45分钟的时间)。将这45分钟乘以电极数量(大约250个),再乘以检测再训练噪声中WER信号所需的重复次数(大约10个),会产生大量的计算时间。
我们检查损失函数方程(3)相对于输入的梯度,即具有high-gamma活性的序列。该方法测量了每个电极上输入序列的微小偏差对损失的影响程度,并使用相同的量来确定卷积神经网络对图像中哪些区域的分类最有用。在当前情况下,我们想知道电极的相对有用性,不是对于ECoG数据的特定序列,也不是序列中的特定时间,而是所有时间的所有序列。为了消除这种“讨厌的”变异,我们对样本序列和这些序列内的时间步长的导数取范数。梯度本身是通过经过训练的模型的反向传播来计算的,一直到测试数据(与训练数据相反)。
由于双极参考方案是从一对电极导出每个输入通道,因此通道对解剖区域的分配并不是明确的。特别是,有些通道是由跨越解剖学边界的双通道组成的。我们的解决方案是简单地将每个通道分配到其对中最上面或最左边电极的位置。这决定了用于构建图4的解剖标签,以及图5中相应的颜色。然而,在后者中,每个通道在其相应电极对位置的中间位置被绘制出来。
最后,由于我们只对参与者内部而不是参与者之间的相对电极贡献感兴趣,为显示在图4中,我们将所有数据重新缩放到相同的任意单位范围内。
结果
解码过程
解码过程如图1所示,我们用高密度的ECoG阵列(4mm间距)记录参与者大脑皮层周围的神经活动,这些参与者在大声朗读句子的同时接受癫痫发作的临床监测。在每个ECoG电极上解析信号的振幅,进行200Hz提取,由此产生的序列作为输入数据传递给一个“编码-解码”式的人工神经网络。网络对序列的处理分为三个阶段:
(1)时域卷积:
相似的特征可能会在ECoG数据序列的不同点重复出现,但是一个完全连通的前馈网络却无法利用这样的特点。比如一个特定音位的产生可能在一个特定的电极上有相似的信号,而这些与这一音位产生的时间无关。为了有效地学习这种规律,网络在一个完整输入序列上每隔一定的时间间隔(步幅)利用相同的temporally brief滤波器(图1中描述为一个跨越high-gamma波的矩形)。将步幅设置为大于一个样本可以有效地对最终的输出序列进行降采样。我们的网络学习了一组此类滤波,从而得到了一组有效降采样为16 Hz的滤波序列。
(2)编码RNN:
在每个时间步长中,编码RNN的输入包括每个降采样序列的当前样本及其之前的状态。然后,最终的hidden state(图1中的黄色条形)将对整个序列进行高维编码,这与长度无关。为了在训练中引导编码器找到有效的解决方案,我们还要求它在每个时间步长预测语音音频信号的表示,MFCCs。
(3)解码RNN:
为了将高维编码转换回单词序列,第二个RNN在这种状态下初始化,然后训练它在每个时间步长发出一个单词或序列结束指令(此时解码结束)。在输出序列的每个步骤中,解码器除了自己先前的隐藏状态之外,还将参与者说出的实际句子中的前一个单词(在模型训练阶段)或前一个步骤中的预测单词(在测试阶段)作为输入。尝试找出目标词使用与音位语音解码之间的对应关系。
同时对整个网络进行训练,使编码器发出的值接近目标MFCCs,解码器为每个目标字分配更高的概率。需要注意的是,MFCC-targeting提供了一种“辅助损失”,这是一种多任务学习的形式,仅用于引导网络朝着单词序列解码问题的正确解决方案发展;在测试过程中,MFCC的预测将被舍弃,完全基于解码器RNN进行输出。
解码性能
我们在整篇文章中均使用平均WER来量化性能;也就是说,将预测的句子转换为正确的句子所需的最小删除、插入和替换的数量,以正确句子的长度进行标准化。首先设定标准,将语音转录中5%的WER设定为专业水平的分界线,20-25%是能接受的最高错误率,这也是语音识别技术被广泛采用的标准,不过语音识别技术中的词汇量要大得多。
图2. 解码句子的错误率
a. 1个在编码-解码中的错误率、4个被减少了某一因素的变体的错误率以及1个基于“ECoG-音位”维特比解码的句子分类器的错误率。No MFCCs,在不要求编码器预测MFCCs的情况下进行训练;Low density,在模拟低密度的电极阵列上训练和测试(8mm间距);No conv,将网络的时域卷积层替换为全连通层;Length info. Only,只有输入的ECoG序列被替换为高斯噪声,保持长度正确。箱与线分别代表WER在n=30的网络上的WER分布的四分位数和程度,这些网络从零开始独立训练,并在随机选择的区块上进行评估。图中显示了四分位数和WERs在n= 30个网络中的分布范围(除了明确显示为黑色菱形的异常值)是从零开始独立训练的,并在随机选择的给定组块上进行评估。通过单侧Wilcoxon符号秩检验和Holm-Bonferroni进行5次比较校正,计算显著性(用星号表示)。
b. 对于4名不同的参与者,WER是用于训练的句子组重复次数的函数,也就是每个句子类型的训练标记的数量。MOCHA-1的结果显示为实线(粉色、绿色、棕色);对图片描述的结果用虚线表示(蓝色,棕色)。注意,参与者d(棕色)阅读了两组数据。粉色线的端点对应于a的第一个柱。
我们首先关注一个参与者对于MOCHA-1中50个句子的“编码-解码”模型的性能(图2a)(约250个不同的单词),其他3名参与者解码的性能与之非常相似。图2a中参与者的WER约为3%,而之前最先进的语音解码技术的WER是60%,并且词汇量更小(100个单词)。
由于所有的训练和测试语句都来自于同一组中的50个句子,所以也可以比较句子分类器的性能(而不是逐字逐句的解码器)。在这里,我们将对比一种最先进的基于音位的语音分类器。简单地说,这50个MOCHA-1句子中的每一个都被赋予了自己的隐马尔可夫模型(HMM,hidden Markov model ),其释放的是神经活动,其隐藏状态只能通过该句子的音位进行转换。对ECoG数据的测试序列通过选择HMM——以及相应的MOCHA-1语句进行分类——其最可能的音位序列在所有50个HMMs中具有最高的概率。该模型的WER约为33%(图2a),大约比“编码-解码”网络的WER大一个数量级。
小编注:隐马尔可夫模型(HiddenMarkov Model,HMM)是统计模型,它用来描述一个含有隐含未知参数的马尔可夫过程。其难点是从可观察的参数中确定该过程的隐含参数。然后利用这些参数来作进一步的分析,例如模式识别。马尔可夫过程(Markovprocess)是一类随机过程。它的原始模型马尔可夫链,由俄国数学家A.A.马尔可夫于1907年提出。马尔可夫过程是研究离散事件动态系统状态空间的重要方法,它的数学基础是随机过程理论。
是什么支持了“编码-解码”网络的优越性能?为了量化各种因素的贡献,我们系统地删除或削弱这些音位,并从零开始重新训练网络。图2a中的第二个框显示了对数据进行空间降采样以模拟低密度ECoG阵列的性能。具体地说,我们只是简单地舍弃沿着阵列的两个维度的所有其他通道,只留下四分之一的通道;也就是说,用于采集的电极点数量由256降到64。这种情况下的WER约为之前的4倍,尽管仍在可用的范围内,仍然可用表明除了高密度阵列很重要之外,算法也很重要。第三个框显示的是训练中没有将MFCCs作为目标时的表现,WER与低密度阵列数据训练模型的WER相近,但明显优于前人的语音解码尝试,因此在语音音频不可用的情况下,同样在可用的范围内。接下来,我们替换掉卷积,采用一个输入层完全连接的网络(第四个框),结果是之前WER的8倍。注意,在我们的模型中,时域卷积有效地将信号的采样率降低了12倍,使得编码RNN看到的平均序列长度从大约450个样本降到了大约40个样本。确实,我们的探索性分析表明,使用完全连接的输入层所损失的一些性能可以通过将high-gamma活动传递给它们之前对其进行降采样来恢复。因此去除时间卷积导致的性能下降可以部分地解释为“编码-解码”网络处理长输入序列困难。
回想一下,输入“编码-解码”网络的每个ECoG序列的端点是由相应语音音频信号的端点确定的。因此,对于网络来说,似乎有可能只学习MOCHA-1中每个独立句子的长度,然后在测试期间,在此基础上对它们进行简单分类,解码器RNN已经学会从隐式类型标签重构单个句子。为了证明这种猜想是不正确的,我们用(高斯)噪声替换每个样本的ECoG数据,再训练“编码-解码”网络并进行重新测试。发现其性能比任何一种解码器都要差得多,事实上接近于随机(WERs约为100%;见图2a)。
接下来,我们关注需要多少数据才能实现高性能。图2b展示了全部4名参与者的WER作为神经网络训练数据的训练集重复次数的函数。我们注意到,没有参与者的训练数据总时长超过40分钟。当至少15次重复用于训练时,WER可被降低到25%以下,即可接受错误率的临界,其中最理想的情况下(参与者b/粉色)只需要4次重复。在两名参与者中(参与者b/pink和参与者d/brown),全套训练的WER低于8%,这大约达到了专业的口语抄写员的表现。
迁移学习
图2b中,我们加入了两个参与者,他们重复MOCHA句子的次数较少(参与者a/green,参与者d/brown),因此解码性能较差。在这里,我们探讨如何通过迁移学习来提高这些参与者的表现;也就是说,通过对网络进行相关任务的训练,该训练与当前的解码任务(解码MOCHA-1句子集)并行或在此之前进行。
我们从参与者a开始,他在MOCHA-1数据集中只朗读了大约4分钟(将所有的50个句子进行了2遍,不包括评估性能的未完成部分)。图3a的第一个箱(编码-解码)显示的是针对MOCHA-1的两个可用块(对应图2b中绿线的最后一点)训练的编码-解码网络的WER,约为53%。接下来,我们关注在参与者b的更丰富的数据上首次对网络进行预训练时的性能。发现这种迁移学习过程降低了约17%的WER。
图3 . 用迁移学习训练的编码-解码模型的MOCHA-1解码语句的WER。
每个小图对应一个参与者。每个小图中的四个箱显示的分别是没有迁移学习的WER、有跨参与者迁移学习的WER、有测试集之外的句子训练的WER以及同时有两种形式的迁移学习的WER。箱与线分别显示了WER在n = 30网络上的WER分布的四分位数和程度,这些网络都是从零开始独立训练的,并在随机选择的给定组块上进行评估。显著性以星号表示(* P <0.05; ** P <0.005; *** P <0.0005; NS指不显著),是通过单侧Wilcoxon符号秩检验计算的,Holm-Bonferroni进行了14次比较校正,包括此处显示的12个加上文本中注明的其他2个。
a. 参加者a,在参与者b /粉红色上进行了预训练;
b. 参加者b,包括参加者a/绿色的预训练。
c. 参与者d,对参与者b/粉色进行预训练。
到目前为止,我们已经排除了MOCHA-1外的全部MOCHA集,因为我们无法收集足够的重复次数来进行训练和测试。然而,来自这些被排除的MOCHA集的数据可能仍然提供了对MOCHA-1解码有用的子句信息,特别是单词级特征以及ECoG数据中关于较低级别特征的信息。为了验证这一假设,我们将训练集扩展到也包括参与者a说出的其余MOCHA集中的句子,即两次重复MOCHA-2到MOCHA-9,共包含410个不重复的句子;从零开始训练这套完整的MOCHA-TIMIT,然后在MOCHA-1上再次测试。这种跨任务训练比基线降低了31%的WER (从图3a第一个箱到第三个箱“任务TL”,P≪0.001)。这个结果至关重要,因为它表明,编码-解码并不只是对句子进行分类(在编码器中)并重构它们(在解码器中)而不学习它们的组成部分(单词)。相反,研究结果表明,网络显然在学习句子中各子成分的信息。
最后,我们考虑一种联合形式的迁移学习,其中编码-解码网络对参与者b的所有MOCHA-TIMIT数据进行预训练(另外一组从MOCHA-2到MOCHA-9);然后为参与者a训练所有MOCHA-TIMIT数据;最后像往常一样测试参与者a对于MOCHA-1测试的表现。经过多次比较校正后,虽然任务迁移学习的改善在统计学上并不显著,但这种“双重迁移学习”相比基线降低了36%的WER。
改进是否从参与者a迁移到参与者b?由于参与者b在所有句子集上训练时的解码性能已经基本完美(图2),而对于参与者a来说,仅仅是通过50个句子进行2次训练后的表现。我们重复transfer-learning的系列实验,得到了非常相似的结果(图3 b):对参与者a的数据进行预训练可以提高参与者b的成绩,对测试集之外的句子进行训练可以提高对于当前集的成绩。同时使用两种类型的迁移学习可以进一步优化结果,再次比基线提高约36%。
对于MOCHA-TIMIT数据中表现最差的参与者d,将其余的MOCHA语句添加到训练集并没有改善结果,这也许并不奇怪。然而,跨参与者迁移学习再次显著提高了解码性能。另一方面,在跨任务迁移学习的情况下,由于跨参与者迁移学习而产生的小改进,无法通过多次比较校正。
最后,对于两名阅读图片描述句子的参与者,参与者迁移学习没有改善结果。
结构上的贡献
为了确定在训练的模型中,大脑皮层的哪些区域有助于解码,我们计算了编码-解码的损失函数随时间对电极活动的导数。这些值表现了电极活性的微小变化将如何改变损失函数,以及由此产生的每个电极的相对重要性。在假设对梯度的正贡献和负贡献同样有意义的情况下,我们计算它们随时间和样本的范数得到每个电极的单个(正)数值。我们在这里要特别强调一点:如果参考一个通用的平均值或模式来参考电极,这个方法可能会给出误导性的结果,这可能会在阵列中影响一些电极的效果。相比之下,我们所有的模型都是在双极参考电极上训练的。
图4.每个脑区对解码的贡献,通过损失函数相对于输入数据的梯度来衡量。
参与者按照相同的配色方案对贡献进行了分解。每个阴影区域表示电极在特定脑区贡献分布的核密度估计数;黑点表示原始的贡献。假设这些贡献的比例和“零”在所有参与者之间是无法比较的,那么,所有数据都被重新调整为每个参与者的相同间隔(左边贡献最小,右边贡献最大)。缺失的密度(例如,参与者c/蓝色中的时间区域)对应于没有阵列覆盖的区域。a.u指任意单位;IFG指额下回。
图4显示了4名参与者在每个解剖区域内对解码的贡献的分布。在皮质表面的投影如图5所示。对所有的参与者来说,最重要的作用区域是腹侧感觉运动皮层(vSMC)和颞上回(STG),正如预期的那样,这两个区域分别与语言产生和语言感知密切相关。即使在右半球覆盖电极阵列的参与者中也是如此的(a/绿色)(这个参与者和其他参与者一样,被确定为以左半球语言为主)。更具体地说,在STG覆盖的患者中(除c组外),STG的中间部分(直接位于vSMC下),即主要的听觉区域(Brodmann区41和42),以及邻近的Wernicke区,都有较强的贡献。这个区域的神经群体的活动已知会受到预期的和实际的自我发声反馈的影响。因此,这些结果表明,该网络已经学会解码语音发音器(vSMC)和听觉反馈(STG)的命令。
总结
语言的解码是脑-机接口研究的重要领域之一,结合神经科学进行语音解码是该领域的重要手段,其突出特点是可以以人类正常语速的速度进行解码,远高于基于SSVEP等手段的研究。但其缺点也很明显,可读性差、目前仅可以通过侵入式设备实现等。这篇文章中介绍的模型最高可以达到97%的解码正确率,引起了广泛关注,但需要注意的是,这项研究是在“有限的语言”中进行的,包括30-50个不同的句子,并不是某一种语言的全部。不过值得肯定的是这一研究训练的网络已经学会了从ECoG数据中识别单词,而不仅仅是句子,因此,解码数据集以外的新句子也是有可能的。此外,此次的研究还加入了迁移学习的应用和考察,并且逐个测试了模型中每个部分对于实现正确率所做出的贡献,为进一步的研究积累的宝贵的数据和经验。该研究团队近年来一直致力于语音解码的研究,与Facebook等在这一领域有密切合作,相信不久还会有新的成果,值得期待。
原文:Machine translation of corticalactivity to text with an encoder–decoderframework
微信扫码或者长按选择识别关注思影
非常感谢转发支持与推荐