当前位置: 首页 > 科技观察

脑机接口工具,从脑电波到文本,只需要一个机器翻译模型就可以了

时间:2023-03-21 13:14:43 科技观察

机器翻译真的是万能的。它不仅可以写诗、对联、推导微分方程,还可以读取脑电波信息。昨天,来自加州大学旧金山分校的JosephMakin等人在NatureNeuroscience上发表了一篇题为《利用 encoder-decoder 框架,将大脑皮质活动翻译为文本》(Machinetranslationofcorticalactivitytotextwithanencoder-decoderframework)的论文。这篇论文的工作思路很简单。他们将脑电波到文本的转换视为机器翻译的过程,以脑电波为输入序列,文本为输出序列。通过让被试朗读文本,收集相应脑区的电波,形成训练数据集,进而训练出端到端的机器翻译模型。通过这种方式,他们获得了一个能够“准确”、“实时”地将受试者的脑电波转换为句子文本的模型,错误率仅为3%。这种创新无疑是革命性的。目前一些用于脑控打字的脑机接口技术大多依赖于头部或眼睛的残余运动。以霍金为例,他可以通过手指的动作来控制虚拟键盘,打出自己想要表达的文字。但是这种方式一分钟最多只能打8个字。也有一些将口头语音(或尝试语音)解码为文本的尝试,但目前仅限于解码单音节或单音节,在中等大小的文本(约100字)。约瑟夫等人的工作。直接将脑电波转化为文本,几乎没有延迟,这对于瘫痪患者来说无疑是一大福音。大体思路如前所述,作者借用了自然语言处理领域的概念。在自然语言的机器翻译中,将文本从一种语言翻译成另一种语言。脑电波到文本其实就是一个类似的“翻译”过程。从概念上讲,这两种场景的目标都是在两种不同的表示之间建立映射关系。更具体地说,在这两种情况下,目标都是将任意长度的序列转换为另一个任意长度的序列。这里需要强调“任意性”,因为输入和输出序列的长度各不相同,它们之间不一定存在确定性的一一对应关系。在Joseph等人的这项工作中,他们尝试一次解码一个句子,这类似于当前基于深度学习的端到端机器翻译算法。两者的共同点是它们都映射到相同类型的输出,即句子中的一系列单词。不同的是输入,机器翻译的输入是文本,而Joseph等人工作的输入是神经信号——被试读句子,实验者用高密度脑电图网格(ECoGgrids)从参与者的信号被收集在大脑皮层中。因此,对神经信号稍作处理后,seq2seq架构的机器翻译模型可以直接用于端到端的训练,基本不需要做任何改动。在这项工作中,最困难的是如何获得足够的训练数据集。我们知道机器翻译数据集可以达到百万级规模,但本次实验中每个被试最多只能提供几千量级的数据。在这种训练数据稀疏的背景下,为了充分利用端到端学习的好处,作者使用了一种仅由30-50个单独句子组成的受限“语言”。模型在这项研究中,为了收集输入数据,参与者被要求大声朗读句子并观察脑电波活动。需要阅读的一组资料是一张图片描述,大概30个句子,125个单词。另一组使用MOCHA-TIMIT语料库中的数据,以50个句子为一组,最后一组包含60个句子。共有四名参与者大声朗读,研究人员只考虑了被大声朗读三次的句子集,一次用于测试,两次用于训练。当参与者大声朗读时,他们会产生脑电波。插入电极后,研究人员使用高密度脑电图网格(ECoG网格)从参与者的大脑皮层收集信号。收集到的脑电波信号和朗读的相应句子将作为数据输入到“编码-解码”架构的人工神经网络中。如上图所示,人工神经网络会经过三个阶段来处理输入数据:1.时间卷积:在脑电信号数据序列的不同点可能会再现一些相似的特征,全连接的前馈神经网络网络显然无法处理它。为了有效地学习这种规律性,网络以一定的步长为间隔,并对每个间隔应用相同的时间过滤器(temporallybrieffilter)。2.Encoder循环神经网络:经过时间卷积处理后,会生成一个特征序列,将特征序列输入到encoder循环神经网络中。然后,神经网络的隐藏层将提供整个序列的高维编码。这种编码与长度无关。3.解码器递归神经网络:在解码阶段,重点将放在将高维序列“翻译”成单词。此时循环神经网络会被初始化,然后在每一步预测单词,当预测结果为end-of-sequencetoken时停止解码。笔者使用的神经网络框架如下图所示:训练整个网络的目标是逼近MFCC(梅尔倒谱系数特征),MFCC可以引导神经网络产生良好的序列解码。但在模型测试阶段,MFCC被丢弃,解码完全依赖decoder神经网络的输出。在模型训练中,随机梯度下降法贯穿整个训练过程,dropout应用于所有网络层。模型评估通过TheWorderrorrate(WER)进行量化。WER的基本思想是把正确答案和机器的识别结果排列在一起,一个词一个词,把多余的词、漏词和错误的词相加,算作错误,计算不正确的实际单词总数的百分比。经过验证,所有参与者的平均WER为33%,优于目前最先进的语音解码WER的60%。实验结果作者在论文中一共进行了两次实验。一是采用类似“控制变量”的方法,看看为什么模型表现这么好,二是通过迁移学习来提高其他参与者的模型表现。在“控制变量”实验中,作者对网络进行了再训练,上图第二个方框是使用低密度脑图网格数据(lower-densityECoGgrids)并进行下采样的表现。另外,作者只留下了1/4的通道,也就是只用了64个通道,而不是256个通道,此时的词错率比之前高了四倍。这意味着除了高密度脑电网格,算法也很重要。第三个框是没有附加MFCC的性能,错误率与低密度EEG网格相似,但优于之前的语音解码尝试。第四个框是使用全连接网络的结果。对于卷积网络,全连接词的错误率比之前提高了8倍。不过作者在实验中发现,全连接网络带来的词错误率可以通过在高γ信号传输前降采样来解决。最后,作者量化了重复实验是否会影响单词错误率。研究发现,当至少有15次重复训练时,单词错误率可以低于25%。如上图所示,当训练次数较少时,参与者a和b的解码性能很差。为了解决这个问题,作者尝试了迁移学习。上图a第一个框是用MOCHA-1数据训练的结果,词错率为53%。考虑到网络首次在来自参与者b的更丰富的数据集上进行预训练时的性能,这种迁移学习将单词错误率降低了大约17%(上图中的方框1到方框2)。作者还考虑了迁移学习的组合形式,其中编码器-解码器网络在参与者b的所有MOCHA-TIMIT数据上进行了预训练;然后它在参与者a的所有MOCHA-TIMIT数据上进行训练,像往常一样在参与者a的MOCHA-1块上进行测试。与基线相比,这种“双重迁移学习”(图a,第四个框)导致错误率降低了36%,这是对任务迁移学习的改进。那么,改进是否向相反方向转移显然是可能的,即从参与者a转移到参与者b,如上图b所示。对于在MOCHA-TIMIT数据上表现最差的参与者d,将其余的MOCHAT句子添加到训练集中并没有改善结果(如面板c所示)。讨论显然,这项研究最大的缺点是数据集太小,只有250个词,30~50个句子。如果要将这项技术扩展到通用的自然语言,需要探索多少数据才足够,以及如何获得足够的数据。事实上,如果脑电图网格(ECoG)可以永久插入受试者的大脑,可用的训练数据量将比本实验(仅收集半小时的数据)大几个数量级。在实践中会出现一些人失去说话能力的情况,但这种方法仍然有效,只是性能略有下降。在这里,AI科技评论还想强调一下,机器翻译的本质是从一种信息序列映射到另一种信息序列。尤其是在现在的端到端技术下,只要能把你的问题用另一种方式表达出来,转化成序列到序列的映射问题,然后收集足够多的训练数据,就可以利用现有的机器翻译技术来解决这个问题。大有作为。