腦機(jī)接口利器,從腦波到文本,只需要一個(gè)機(jī)器翻譯模型
本文轉(zhuǎn)自雷鋒網(wǎng),如需轉(zhuǎn)載請至雷鋒網(wǎng)官網(wǎng)申請授權(quán)。
機(jī)器翻譯真的是萬能的,不僅能夠?qū)懺姟β?lián)、推導(dǎo)微分方程,還能夠讀取腦波信息。
昨天,加州大學(xué)舊金山分校的Joseph Makin 等人在 Nature Neuroscience上發(fā)表了一篇論文,標(biāo)題為《利用 encoder-decoder 框架,將大腦皮質(zhì)活動(dòng)翻譯為文本》(Machine translation of cortical activity to text with an encoder–decoder framework)。
這篇論文的工作思路異常簡單。他們將腦波到文本的轉(zhuǎn)換視為機(jī)器翻譯的過程,腦波為輸入序列,文本為輸出序列。
通過讓受試者朗讀文本,收集相應(yīng)腦區(qū)的電波,構(gòu)成訓(xùn)練數(shù)據(jù)集,然后去訓(xùn)練一個(gè)端到端的機(jī)器翻譯模型。
通過這種方式,他們獲得了一個(gè)模型,這個(gè)模型能夠?qū)⑹茉囌叩哪X波「準(zhǔn)確」、「實(shí)時(shí)」地轉(zhuǎn)換為句子文本,而錯(cuò)誤率僅為3%。
這種創(chuàng)新,無疑是革命性的。
目前一些用于大腦控制打字的腦機(jī)接口技術(shù),大多依賴于頭部或眼睛的殘余運(yùn)動(dòng)。以霍金為例,他可以通過手指的運(yùn)動(dòng)控制虛擬鍵盤來打出他想表達(dá)的單詞。但這種方式一分鐘最多也只能打出8個(gè)單詞。
也有一些嘗試將口頭語音(或嘗試發(fā)出的語音)解碼為文字,但迄今也僅限于對單音素或單音節(jié)的解碼,在中等大小的文本(100個(gè)單詞左右)上錯(cuò)誤率往往高達(dá)60%以上。
Joseph 等人的這項(xiàng)工作,則直接將腦波幾乎無延遲地準(zhǔn)確轉(zhuǎn)換為文本,對于癱瘓患者來說,無疑是一大福音。
總體思路
如前面所述,作者借用了自然語言處理領(lǐng)域的概念,在自然語言的機(jī)器翻譯中,是將文本從一種語言翻譯到另外一種語言。而腦波到文本,事實(shí)上也是類似的一種「翻譯」過程。
從概念上講,這兩種場景的目標(biāo)都是在兩種不同表示之間建立映射關(guān)系。更具體地說,在這兩種情況下,目的都是將任意長度的序列轉(zhuǎn)換為任意長度的另一序列。
這里需要重點(diǎn)強(qiáng)調(diào)一下「任意」,因?yàn)檩斎牒洼敵鲂蛄械拈L度是變化的,并且彼此之間并不必須有確定性的一一對應(yīng)關(guān)系。在Joseph 等人的這項(xiàng)工作中,他們嘗試一次解碼一個(gè)句子,這和現(xiàn)在基于深度學(xué)習(xí)的端到端機(jī)器翻譯算法類似。兩者相同的地方是,都會(huì)映射到相同類型的輸出,即一個(gè)句子的詞序列。不同之處在于,輸入,機(jī)器翻譯的輸入是文本,而Joseph等人工作的輸入是神經(jīng)信號——受試者朗讀句子,實(shí)驗(yàn)人員用高密度腦電圖網(wǎng)格(ECoG grids)從參與者的大腦皮層處收集信號。
于是,對神經(jīng)信號稍加處理后,便可以直接用 seq2seq架構(gòu)的機(jī)器翻譯模型進(jìn)行端到端訓(xùn)練,基本不用進(jìn)行改動(dòng)。在這項(xiàng)工作中,最難的是如何獲取足夠多的訓(xùn)練數(shù)據(jù)集。我們知道,機(jī)器翻譯的數(shù)據(jù)集可以達(dá)到上百萬規(guī)模,但這個(gè)實(shí)驗(yàn)中的每一個(gè)受試者頂多也就只能提供幾千量級的數(shù)據(jù)。在這種訓(xùn)練數(shù)據(jù)稀少的背景下,為了充分利用端到端學(xué)習(xí)的好處,作者使用了一種只包含30~50個(gè)獨(dú)立句子的受限“語言”。
模型
在這項(xiàng)研究中,為了收集輸入數(shù)據(jù),要求參與人員大聲朗讀句子,觀察腦波活動(dòng)。一組需要朗讀的數(shù)據(jù)是圖片描述,大概有30個(gè)句子,125個(gè)單詞,另一組采用MOCHA-TIMIT語料數(shù)據(jù)庫中的數(shù)據(jù),以50個(gè)句子為一組,最后一組包含60個(gè)句子。
一共有四個(gè)參與者進(jìn)行朗讀,研究人員只考慮重復(fù)朗讀三次的句子集,其中一次朗讀的數(shù)據(jù)用于測試,兩次用于訓(xùn)練。參與者在大聲朗讀的時(shí)候,會(huì)產(chǎn)生腦電波,給參與人員插上電極之后,研究人員用高密度腦電圖網(wǎng)格(ECoG grids)從參與者的大腦皮層處收集信號。
收集的腦電波信號和對應(yīng)朗讀的句子,會(huì)作為數(shù)據(jù)輸入到“編碼-解碼”架構(gòu)的人工神經(jīng)網(wǎng)絡(luò)。
如上圖所示,人工神經(jīng)網(wǎng)絡(luò)對輸入數(shù)據(jù)進(jìn)行處理會(huì)經(jīng)過三個(gè)階段:
1、時(shí)間卷積:一些類似的特征可能會(huì)在腦電信號數(shù)據(jù)序列的不同點(diǎn)處重現(xiàn),全連接的前饋神經(jīng)網(wǎng)絡(luò)顯然無法處理。為了有效學(xué)習(xí)這種規(guī)律,網(wǎng)絡(luò)以一定的步幅為間隔,對每個(gè)間隔應(yīng)用相同的時(shí)間濾波器(temporally brief flter)。
2、編碼器循環(huán)神經(jīng)網(wǎng)絡(luò):經(jīng)過時(shí)間卷積的處理會(huì)產(chǎn)生特征序列,把特征序列輸入到編碼器循環(huán)神經(jīng)網(wǎng)絡(luò)里面,然后,神經(jīng)網(wǎng)絡(luò)的隱藏層會(huì)提供整個(gè)序列的高維編碼,這個(gè)編碼與長度無關(guān)。
3、解碼器循環(huán)神經(jīng)網(wǎng)絡(luò):在解碼階段,重點(diǎn)將是高維序列“翻譯”成一個(gè)單詞。這時(shí)的循環(huán)神經(jīng)網(wǎng)絡(luò)會(huì)進(jìn)行初始化,然后對每一步的單詞進(jìn)行預(yù)測,當(dāng)預(yù)測結(jié)果是end-of-sequence token時(shí),停止解碼。作者所使用的神經(jīng)網(wǎng)絡(luò)框架如下圖所示:
訓(xùn)練整個(gè)網(wǎng)絡(luò)的目標(biāo)是接近MFCC(梅爾倒譜系數(shù)特征),MFCC能夠引導(dǎo)神經(jīng)網(wǎng)絡(luò)產(chǎn)生良好的序列解碼。
但是在模型測試階段,拋棄了MFCC,解碼完全依靠解碼器神經(jīng)網(wǎng)絡(luò)的輸出。在模型訓(xùn)練中,隨機(jī)梯度下降法貫穿訓(xùn)練的整個(gè)過程,所有的網(wǎng)絡(luò)層都應(yīng)用了dropout。
模型評估用錯(cuò)詞率(The Word error rate, WER)量化,WER基本想法就是把正確答案和機(jī)器的識(shí)別結(jié)果排在一起,一個(gè)詞一個(gè)詞的對,把多出的詞,遺漏的詞和錯(cuò)誤識(shí)別的詞統(tǒng)統(tǒng)加在一起,算作錯(cuò)誤,然后計(jì)算錯(cuò)誤的詞占實(shí)際單詞總數(shù)的百分比。
經(jīng)過驗(yàn)證,所有參與者的平均WER為33%,對比當(dāng)前最先進(jìn)的語音解碼WER的60%,效果較好。
實(shí)驗(yàn)結(jié)果
作者在論文中一共進(jìn)行了兩個(gè)實(shí)驗(yàn),一個(gè)是采取了類似“控制變量”的方法,看看為何這個(gè)模型表現(xiàn)如此優(yōu)秀,另一個(gè)是通過遷移學(xué)習(xí)改善其他參與者的模型表現(xiàn)。
在“控制變量”實(shí)驗(yàn)中,作者重新訓(xùn)練網(wǎng)絡(luò),上圖的第二個(gè)框是采用低密度腦圖網(wǎng)格數(shù)據(jù)(lower-density ECoG grids)并進(jìn)行下采樣的性能。另外,作者只留下了1/4個(gè)通道,即只用了64個(gè)通道,而不是256個(gè)通道,此時(shí)的錯(cuò)詞率比原先高出四倍。
這意味著除了高密度腦電圖網(wǎng)格,算法也非常重要。第三個(gè)框是沒有附加MFCC時(shí)的性能,錯(cuò)誤率與低密度腦電圖網(wǎng)格類似,但優(yōu)于之前的語音解碼嘗試。第四個(gè)框是采用全連接網(wǎng)絡(luò)的結(jié)果,對于卷積網(wǎng)絡(luò),全連接的錯(cuò)詞率比之前高了8倍。但是在實(shí)驗(yàn)中,作者發(fā)現(xiàn),用全連接網(wǎng)絡(luò)造成的錯(cuò)詞率可以在高γ信號傳遞之前進(jìn)行下采樣解決。
最后,作者對重復(fù)實(shí)驗(yàn)是否影響錯(cuò)詞率進(jìn)行了量化。研究發(fā)現(xiàn),當(dāng)至少有15次重復(fù)訓(xùn)練時(shí)候,錯(cuò)詞率可以到25%以下。如上圖所示,當(dāng)訓(xùn)練次數(shù)很少的時(shí)候,參與者a和參與者b的解碼性能很差,為了解決這個(gè)問題,作者嘗試了遷移學(xué)習(xí)。
上圖 a 中的第一個(gè)框用MOCHA-1數(shù)據(jù)訓(xùn)練的結(jié)果,錯(cuò)詞率為53%??紤]網(wǎng)絡(luò)第一次針對參與者b的更豐富的數(shù)據(jù)集進(jìn)行預(yù)訓(xùn)練時(shí)的性能,這種遷移學(xué)習(xí)能使錯(cuò)詞率降低約17%(上圖a中的第一個(gè)框到第二個(gè)框所示)。
作者還考慮了一種組合形式的遷移學(xué)習(xí),其中編碼器-解碼器網(wǎng)絡(luò)根據(jù)參與者b的所有MOCHA-TIMIT數(shù)據(jù)進(jìn)行預(yù)訓(xùn)練;然后針對參與者a的所有MOCHA-TIMIT數(shù)據(jù)進(jìn)行訓(xùn)練,像往常一樣在參與者a的MOCHA-1塊上進(jìn)行測試。這種“雙重遷移學(xué)習(xí)”(圖a,第四條框)使錯(cuò)詞率比基線降低了36%,與任務(wù)遷移學(xué)習(xí)相比有所改善。
那么,改進(jìn)是否以相反的方向轉(zhuǎn)移,即從參與者a轉(zhuǎn)移到參與者b,顯然是可以的,正如上圖b所示。
對于在MOCHA-TIMIT數(shù)據(jù)上表現(xiàn)最差的參與者d,將其余的MOCHAT句子添加到訓(xùn)練集并不能改善結(jié)果(如c圖所示)。
討論
很明顯,這項(xiàng)研究最大的不足之處就是——數(shù)據(jù)集太小,僅250個(gè)單詞,30~50個(gè)句子。
若想把這種技術(shù)擴(kuò)展到通用自然語言上,則需要探索,到底需要多少數(shù)據(jù)才足夠,以及如何才能獲得足夠的數(shù)據(jù)。事實(shí)上,如果能夠?qū)⒛X電圖網(wǎng)格(ECoG)長期插入受試者腦中,可用的訓(xùn)練數(shù)據(jù)量將比本實(shí)驗(yàn)(僅收集了半個(gè)小時(shí)的數(shù)據(jù))大幾個(gè)數(shù)量級。
在實(shí)際應(yīng)用中會(huì)遇到一些情況,有些人已經(jīng)失去了說話能力,盡管如此,這種方法仍然可以適用,盡管性能會(huì)稍有下降。
這里,AI 科技評論還想強(qiáng)調(diào)的一點(diǎn)是:機(jī)器翻譯的本質(zhì),就是從一種信息序列映射到另一種信息序列。特別是現(xiàn)在端到端的技術(shù)下,只要能夠?qū)⒛愕膯栴}換種表述方式,轉(zhuǎn)換為序列到序列的映射問題,然后能收集到足夠多的訓(xùn)練數(shù)據(jù),那么都可以借用現(xiàn)有的機(jī)器翻譯技術(shù)來做出巨大的改變。