企业整站优化,服装设计自学零基础,南昌商城网站建设,贵州微信公众号开发云栖号资讯#xff1a;【点击查看更多行业资讯】 在这里您可以找到不同行业的第一手的上云资讯#xff0c;还在等什么#xff0c;快来#xff01; 编者按#xff1a;本文来自微信公众号“AI科技评论”#xff08;ID:aitechtalk#xff09;#xff0c;36氪经授权发布。 … 云栖号资讯【点击查看更多行业资讯】 在这里您可以找到不同行业的第一手的上云资讯还在等什么快来 编者按本文来自微信公众号“AI科技评论”ID:aitechtalk36氪经授权发布。
作者 | 贾伟
编辑 | 蒋宝尚 机器翻译真的是万能的不仅能够写诗、对对联、推导微分方程还能够读取脑波信息。
昨天加州大学旧金山分校的Joseph Makin 等人在 Nature Neuroscience上发表了一篇论文标题为《利用 encoder-decoder 框架将大脑皮质活动翻译为文本》Machine translation of cortical activity to text with an encoder–decoder framework。 这篇论文的工作思路异常简单。他们将脑波到文本的转换视为机器翻译的过程脑波为输入序列文本为输出序列。
通过让受试者朗读文本收集相应脑区的电波构成训练数据集然后去训练一个端到端的机器翻译模型。 通过这种方式他们获得了一个模型这个模型能够将受试者的脑波「准确」、「实时」地转换为句子文本而错误率仅为3%。
这种创新无疑是革命性的。
目前一些用于大脑控制打字的脑机接口技术大多依赖于头部或眼睛的残余运动。以霍金为例他可以通过手指的运动控制虚拟键盘来打出他想表达的单词。但这种方式一分钟最多也只能打出8个单词。
也有一些尝试将口头语音或尝试发出的语音解码为文字但迄今也仅限于对单音素或单音节的解码在中等大小的文本100个单词左右上错误率往往高达60%以上。
Joseph 等人的这项工作则直接将脑波几乎无延迟地准确转换为文本对于瘫痪患者来说无疑是一大福音。
总体思路
如前面所述作者借用了自然语言处理领域的概念在自然语言的机器翻译中是将文本从一种语言翻译到另外一种语言。而脑波到文本事实上也是类似的一种「翻译」过程。
从概念上讲这两种场景的目标都是在两种不同表示之间建立映射关系。更具体地说在这两种情况下目的都是将任意长度的序列转换为任意长度的另一序列。这里需要重点强调一下「任意」因为输入和输出序列的长度是变化的并且彼此之间并不必须有确定性的一一对应关系。
在Joseph 等人的这项工作中他们尝试一次解码一个句子这和现在基于深度学习的端到端机器翻译算法类似。
两者相同的地方是都会映射到相同类型的输出即一个句子的词序列。不同之处在于输入机器翻译的输入是文本而Joseph等人工作的输入是神经信号——受试者朗读句子实验人员用高密度脑电图网格ECoG grids从参与者的大脑皮层处收集信号。
于是对神经信号稍加处理后便可以直接用 seq2seq架构的机器翻译模型进行端到端训练基本不用进行改动。
在这项工作中最难的是如何获取足够多的训练数据集。我们知道机器翻译的数据集可以达到上百万规模但这个实验中的每一个受试者顶多也就只能提供几千量级的数据。在这种训练数据稀少的背景下为了充分利用端到端学习的好处作者使用了一种只包含30~50个独立句子的受限“语言”。
模型
在这项研究中为了收集输入数据要求参与人员大声朗读句子观察脑波活动。一组需要朗读的数据是图片描述大概有30个句子125个单词另一组采用MOCHA-TIMIT语料数据库中的数据以50个句子为一组最后一组包含60个句子。
一共有四个参与者进行朗读研究人员只考虑重复朗读三次的句子集其中一次朗读的数据用于测试两次用于训练。
参与者在大声朗读的时候会产生脑电波给参与人员插上电极之后研究人员用高密度脑电图网格ECoG grids从参与者的大脑皮层处收集信号。
收集的脑电波信号和对应朗读的句子会作为数据输入到“编码-解码”架构的人工神经网络。 如上图所示人工神经网络对输入数据进行处理会经过三个阶段
1、时间卷积一些类似的特征可能会在脑电信号数据序列的不同点处重现全连接的前馈神经网络显然无法处理。为了有效学习这种规律网络以一定的步幅为间隔对每个间隔应用相同的时间滤波器temporally brief flter。
2、编码器循环神经网络经过时间卷积的处理会产生特征序列把特征序列输入到编码器循环神经网络里面然后神经网络的隐藏层会提供整个序列的高维编码这个编码与长度无关。
3、解码器循环神经网络在解码阶段重点将是高维序列“翻译”成一个单词。这时的循环神经网络会进行初始化然后对每一步的单词进行预测当预测结果是end-of-sequence token时停止解码。
作者所使用的神经网络框架如下图所示 训练整个网络的目标是接近MFCC梅尔倒谱系数特征MFCC能够引导神经网络产生良好的序列解码。但是在模型测试阶段抛弃了MFCC解码完全依靠解码器神经网络的输出。在模型训练中随机梯度下降法贯穿训练的整个过程所有的网络层都应用了dropout。
模型评估用错词率The Word error rate, WER量化WER基本想法就是把正确答案和机器的识别结果排在一起一个词一个词的对把多出的词遗漏的词和错误识别的词统统加在一起算作错误然后计算错误的词占实际单词总数的百分比。
经过验证所有参与者的平均WER为33%对比当前最先进的语音解码WER的60%效果较好。
实验结果
作者在论文中一共进行了两个实验一个是采取了类似“控制变量”的方法看看为何这个模型表现如此优秀另一个是通过迁移学习改善其他参与者的模型表现。 在“控制变量”实验中作者重新训练网络上图的第二个框是采用低密度脑图网格数据lower-density ECoG grids并进行下采样的性能。另外作者只留下了1/4个通道即只用了64个通道而不是256个通道此时的错词率比原先高出四倍。这意味着除了高密度脑电图网格算法也非常重要。
第三个框是没有附加MFCC时的性能错误率与低密度脑电图网格类似但优于之前的语音解码尝试。
第四个框是采用全连接网络的结果对于卷积网络全连接的错词率比之前高了8倍。但是在实验中作者发现用全连接网络造成的错词率可以在高γ信号传递之前进行下采样解决。 最后作者对重复实验是否影响错词率进行了量化。研究发现当至少有15次重复训练时候错词率可以到25%以下。
如上图所示当训练次数很少的时候参与者a和参与者b的解码性能很差为了解决这个问题作者尝试了迁移学习。 上图 a 中的第一个框用MOCHA-1数据训练的结果错词率为53%。考虑网络第一次针对参与者b的更丰富的数据集进行预训练时的性能这种迁移学习能使错词率降低约17%上图a中的第一个框到第二个框所示。
作者还考虑了一种组合形式的迁移学习其中编码器-解码器网络根据参与者b的所有MOCHA-TIMIT数据进行预训练然后针对参与者a的所有MOCHA-TIMIT数据进行训练像往常一样在参与者a的MOCHA-1块上进行测试。这种“双重迁移学习”(图a第四条框)使错词率比基线降低了36%与任务迁移学习相比有所改善。
那么改进是否以相反的方向转移即从参与者a转移到参与者b显然是可以的正如上图b所示。
对于在MOCHA-TIMIT数据上表现最差的参与者d将其余的MOCHAT句子添加到训练集并不能改善结果如c图所示。
讨论
很明显这项研究最大的不足之处就是——数据集太小仅250个单词30~50个句子。
若想把这种技术扩展到通用自然语言上则需要探索到底需要多少数据才足够以及如何才能获得足够的数据。
事实上如果能够将脑电图网格ECoG长期插入受试者脑中可用的训练数据量将比本实验仅收集了半个小时的数据大几个数量级。在实际应用中会遇到一些情况有些人已经失去了说话能力尽管如此这种方法仍然可以适用尽管性能会稍有下降。
这里AI 科技评论还想强调的一点是机器翻译的本质就是从一种信息序列映射到另一种信息序列。特别是现在端到端的技术下只要能够将你的问题换种表述方式转换为序列到序列的映射问题然后能收集到足够多的训练数据那么都可以借用现有的机器翻译技术来做出巨大的改变。 【云栖号在线课堂】每天都有产品技术专家分享 课程地址https://yqh.aliyun.com/live 立即加入社群与专家面对面及时了解课程最新动态 【云栖号在线课堂 社群】https://c.tb.cn/F3.Z8gvnK 原文链接 本文为云栖社区原创内容未经允许不得转载。