肖景芬,夏斌
(上海海事大學(xué) 信息工程學(xué)院,上海 201306)
摘要:由于身體原因?qū)е聼o法進行語音交流的群體越來越受到大家的關(guān)注,為了這部分群體能重新使用語音交流,科研工作者們進行了各種嘗試性研究。以前的研究主要圍繞著肌電信號與語音信號間的映射關(guān)系,而本文是通過深度神經(jīng)網(wǎng)絡(luò)建立語音信號與腦電信號間的映射關(guān)系。將從語音中提取的特征作為前饋神經(jīng)網(wǎng)絡(luò)的輸入,將腦電信號的特征作為輸出目標(biāo)建立模型。對回歸預(yù)測的模型使用R-square進行評估,R-square的值達到了0.75。
關(guān)鍵詞:語音信號;腦電信號;回歸預(yù)測;深度神經(jīng)網(wǎng)絡(luò)
0引言
語音是人類最方便、最自然的交流方式。但是對于那些失語,不方便直接進行語音交流的特殊人群,這種交流方式就變得十分困難了。不少科研人員對此進行了研究。JOHNER C等人[1]利用獲取的肌電信號訓(xùn)練模型,從而判斷正常的語音中句子的正誤,并且區(qū)分語音中正常的詞語和強調(diào)的詞語。而在參考文獻[2]中,JANKE M等人使用深度神經(jīng)網(wǎng)絡(luò)建立從臉部的肌電信號到語音信號的轉(zhuǎn)換關(guān)系。此文具有很大的參考意義。文中提出了直接從肌電信號到語音信號的映射方法,從多個肌電信號通道中提取特征,通過前饋神經(jīng)網(wǎng)絡(luò)[3],實現(xiàn)了輸入肌電信號輸出語音。文中還對輸出的語音信號進行了兩種方式的評價:MelCepstral Distortion[4] 得分和人為聽語音評分[5]。參考文獻[6]中使用了電磁關(guān)節(jié)造影術(shù)采集數(shù)據(jù),提取特征合成語音信號。
上述研究中主要從肌電信號出發(fā),研究語音信號和肌電信號之間的關(guān)系。而本文從另外一個角度——腦電信號數(shù)據(jù)出發(fā),研究語音信號和腦電信號(EEG signals)之間的關(guān)系。本文分別對語音信號和腦電信號提取特征,建立語音信號與腦電信號特征間的映射關(guān)系,最后使用R-square方法評估此回歸映射模型效果。
1方法概述
深度神經(jīng)網(wǎng)絡(luò)是一種多層判別模式模型,每層都是由多個神經(jīng)元組成的。模型的底層是可見的輸入層h0,接下來是L層的隱藏層h1,h2,…,hL,最后一層是輸出層hL+1。此處考慮的是全連接的前饋深度神經(jīng)網(wǎng)絡(luò):前一層中每個神經(jīng)元都和下一層的神經(jīng)元連接著,同一層的神經(jīng)元間沒有連接。在訓(xùn)練過程中,模型學(xué)習(xí)到連接權(quán)重矩陣,通常是使用后向傳播(BP)算法。w(l)i,j表示l-1層的神經(jīng)元i連接l層神經(jīng)元j的權(quán)重值。對比簡單的神經(jīng)網(wǎng)絡(luò),深度神經(jīng)網(wǎng)絡(luò)具有多于2層的隱藏層。
對于每一層的每個神經(jīng)元i,除了輸入層都有一個激活函數(shù)σ和一個偏置量bi,神經(jīng)元和權(quán)重相乘后,將其結(jié)果作為激活函數(shù)的輸入得到的就是神經(jīng)元的輸出結(jié)果。對于l層神經(jīng)元i的輸出等式為:
其中nl-1是hl-1層的神經(jīng)元數(shù)目。
使用深度神經(jīng)網(wǎng)絡(luò)處理回歸預(yù)測問題時,它的輸入神經(jīng)元是輸入數(shù)據(jù)的值,通過訓(xùn)練整個模型,讓輸出層的輸出值擬合輸出數(shù)據(jù)值。具體細(xì)節(jié)可以查看參考文獻[7]。
深度神經(jīng)網(wǎng)絡(luò)(DNN)訓(xùn)練通常是復(fù)雜的難題,因為如果初始化權(quán)重較大的話通常會導(dǎo)致較差的局部最優(yōu)值,而較小的初始化權(quán)重得到的梯度較小,這樣在訓(xùn)練多個隱藏層時行不通[8]。通常使用BP算法來訓(xùn)練整個網(wǎng)絡(luò),一般選擇連續(xù)添加各層網(wǎng)絡(luò)。首先,網(wǎng)絡(luò)只由輸入層 h0、第一個隱藏層h1,最后是輸出層hL+1組成。初始網(wǎng)絡(luò)模型是隨機初始化,使用BP算法進行精調(diào)。然后,加入下一層,這樣新的網(wǎng)絡(luò)模型有輸入層h0,接著是兩個隱藏層h1、h2,最后是輸出層hL+1。從輸入層h0到第一個隱藏層h1的連接權(quán)重矩陣就是剛才訓(xùn)練得到的權(quán)重矩陣,其他的權(quán)重仍然是隨機初始化得到的。然后利用BP算法進行網(wǎng)絡(luò)模型的精調(diào)。整個處理過程一直重復(fù),直到所有的隱藏層都被添加進網(wǎng)絡(luò)模型中。輸入和輸出數(shù)據(jù)在加入網(wǎng)絡(luò)模型前進行了zscores歸一化處理。
在每一步中權(quán)重都是使用均值為0.000 1、方差為1的標(biāo)準(zhǔn)高斯分布進行隨機初始化。預(yù)測值和實際值間使用均方誤差(MSE)作為誤差標(biāo)準(zhǔn)。
圖1顯示了使用的五層神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),用于建立語音信號特征與腦電信號特征間的映射關(guān)系。
訓(xùn)練神經(jīng)網(wǎng)絡(luò)模型建立腦電信號特征和語音信號特征映射關(guān)系,即如果G(xi)表示映射,則映射的誤差為:
此處,w(n)和b(n)分別表示隱藏層和輸出層的權(quán)重矩陣和偏置矩陣。ReLu[9]表示Rectified Linear Units激活函數(shù),ReLu(x)=max(0,x)。
2實驗數(shù)據(jù)及其處理
本文用到的數(shù)據(jù)集是圖賓根大學(xué)采集的受試母語為意大利語的語音和腦電信號。實驗過程中一邊播放語音信號,一邊采集受試者的腦電信號。腦電信號有12個通道的數(shù)據(jù),信號的采樣率為200 Hz。每段語音信號的長度都不一樣。在播放的句子中有正確的和錯誤的,本研究中取的是正確的句子。對于每個語音信號都取出對應(yīng)的腦電信號。
對于每個語音和腦電信號樣本都作光滑處理,語音信號和腦電信號處理方法一樣。以語音信號處理方法為例,為了處理語音信號,需要對語音信號進行加窗,也就是一次僅處理一個窗中的數(shù)據(jù)。因為實際的語音信號比較長,不能也不必對非常長的數(shù)據(jù)進行一次性處理。實際解決方法就是每次取一段數(shù)據(jù)進行分析,然后再取下一段數(shù)據(jù)進行分析。本文中選用的是漢明窗進行數(shù)據(jù)截取。它主要部分的形狀類似于sin(x)函數(shù)在0~π區(qū)間的形狀,而其他部分都是0。這樣的函數(shù)乘上其他任何一個函數(shù)f,f只有一部分有非零值。因為會對漢明窗中的數(shù)據(jù)進行FFT處理,假設(shè)一個窗內(nèi)的信號代表一個周期的信號,這樣窗的左端和右端應(yīng)該大致能連在一起。而通常一小段音頻數(shù)據(jù)沒有明顯的周期性,加上漢明窗后,數(shù)據(jù)形狀就有周期感。但是加上漢明窗后,只有中間的數(shù)據(jù)體現(xiàn)出來,而造成兩邊的數(shù)據(jù)信息丟失,所以移窗的時候,只會移窗口部分?jǐn)?shù)據(jù),這樣被前一幀或兩幀丟失的數(shù)據(jù)又重新得到體現(xiàn)。
本文中語音信號和腦電信號取0.2 s的數(shù)據(jù)作為一個小樣本,滑動窗口為0.01 s。這樣一段語音信號中就包含了多個小樣本。同樣的一段腦電信號中也包含了多個小的腦電信號樣本。由于腦電信號和語音信號采樣率相差過大,每段語音信號及對應(yīng)腦電信號在滑動窗口后劃分的小樣本數(shù)有時會相差1(由于采樣率乘以窗口時長不是一個完整的樣本,因此舍去),最終語音信號和腦電信號的樣本數(shù)不相等。在每段語音信號和對應(yīng)的腦電信號劃分的小樣本過程中,都取樣本數(shù)中的最小值處理。比如某段語音信號有33個小樣本,而腦電信號只有32個小樣本,就取語音信號的前32個樣本和腦電信號的前32個樣本。經(jīng)過上述處理后,整個數(shù)據(jù)集樣本數(shù)為6 601。對于語音信號和腦電信號樣本都進行短時傅里葉變換預(yù)處理。數(shù)據(jù)預(yù)處理后語音數(shù)據(jù)集維度為6 601×4 411,腦電信號數(shù)據(jù)集維度為6 601×252。將數(shù)據(jù)集進行28分后,使用前饋深度神經(jīng)網(wǎng)絡(luò)進行建模。輸入為語音特征數(shù)據(jù),腦電特征數(shù)據(jù)作為輸出。神經(jīng)網(wǎng)絡(luò)的隱藏層結(jié)構(gòu)為800、500、300,學(xué)習(xí)率為0.001,迭代次數(shù)為300。
3實驗結(jié)果
回歸預(yù)測結(jié)果評估方法[10]有SSE(誤差平方和)、MSE(均方差)、RMSE(均方根誤差)、Rsquare(確定系數(shù))。SSE計算的是預(yù)測數(shù)據(jù)和原始數(shù)據(jù)對應(yīng)點的誤差平方和;MSE計算的是預(yù)測數(shù)據(jù)和原始數(shù)據(jù)對應(yīng)點誤差平方和的均值,即MSE=SSE/n;RMSE即回歸系統(tǒng)的擬合標(biāo)準(zhǔn)差,是MSE的平方根;SSR為預(yù)測數(shù)據(jù)與原始數(shù)據(jù)均值之差的平方和;SST為原始數(shù)據(jù)與原始數(shù)據(jù)均值之差的平方和。它們之間的關(guān)系為:SST=SSE+SSR,Rsquare=SSR/SST。
Rsquare可以直接表示擬合的模型是否描述數(shù)據(jù)。而SSE、MSE、RMSE則必須和數(shù)據(jù)本身進行對比之后才有價值。因為如果數(shù)據(jù)值本來就很小,SSE、MSE、RMSE的值也會很小,這樣就失去了原本用來評估回歸模型的意義。而Rsquare是通過數(shù)據(jù)的變化來表征一個擬合的好壞,不會受數(shù)據(jù)值大小影響。由上面的表達式可以知道Rsquare的取值越接近1,表明方程的變量對因變量的解釋能力越強,訓(xùn)練模型對數(shù)據(jù)擬合得也較好。所以在本文中使用Rsquare評估訓(xùn)練模型,前饋深度神經(jīng)網(wǎng)絡(luò)訓(xùn)練模型的Rsquare值為0.750 732 868 52。圖2、圖3分別展示了腦電信號特征的預(yù)測值和實際值。
圖2和圖3為分別對腦電信號特征的預(yù)測值和實際值做處理后的結(jié)果。由于所做的回歸預(yù)測是高維數(shù)據(jù)的回歸預(yù)測,如果直接畫圖的話,數(shù)據(jù)都堆在一起無法展示出效果,因此把1 320×252維的預(yù)測腦電信號特征數(shù)據(jù)整理成332 640×1維的數(shù)據(jù),即把所有列的數(shù)據(jù)展開。從圖中可以明顯看出腦電信號特征預(yù)測值和實際值的相似性。
4結(jié)論
本文的語音到腦電信號特征的轉(zhuǎn)換回歸預(yù)測實驗得出了比較好的結(jié)果。盡管不能直接看到回歸預(yù)測得到的語音信號,但是結(jié)果表明腦電和語音之間確實有著一定的關(guān)聯(lián),這對于失語病人或直接語音交流不方便但思想正常的病人來說,以后重新通過語音交流不再是夢想。接下來的工作是通過更好地處理實驗數(shù)據(jù)以及進一步地將腦電特征直接轉(zhuǎn)換為語音信號,實現(xiàn)直接的腦電信號轉(zhuǎn)換為語音信號輸出。
參考文獻
[1] JOHNER C, JANKE M, WAND M, et al. Inferring prosody from facial cues for EMG-based synthesis of silent speech[C]. Proceedings of 4th International Conference on Applied Human Factors and Ergonomics, 2012:5317 5326.
?。?] JANKE M, SCHULTZ T. Direct conversion from facial myoelectric signals to speech using deep neural networks[C]. International Joint Conference on Neural Networks, 2014:1 7.
[3] BEBIS G, GEORGIOPOULOS M. Feed forward neural networks: why network size is so important[J]. IEEE Potentials, 1994(4):27 31.
?。?] KUBICHEK R F. Mel cepstral distance measure for objective speech quality assessment[C]. IEEE Pacific Rim Conference on Communication Computers and Signal Processing, 1993:125 128.
?。?] KRAFT S, ZLZER U. BeaqleJS: HTML5 and JavaScript based framework for the subjective evaluation of audio quality[C]. Linux Audio Conference, 2014.
[6] BOCQUELET F, HUEBER T, BADIN P, et al. Robust articulatory speech synthesis using deep neural networks for BCI applications[C]. Interspeech 2014, 15th Annual Conference of the International Speech Communication Association, Singapour, 2014.
?。?] LAROCHELLE H, BENGIO Y, LOURADOUR J, et al. Exploring strategies for training deep neural networks[J]. Journal of Machine Learning Research, 2009:10(10):1 40.
?。?] HINTON G E, SALAKHUTDINOV R R. Reducing the dimensionality of data with neural networks[J]. Science, 2006,313(5786):504 507.
?。?] GLOROT X, BORDES A, BENGIO Y. Deep sparse rectifier neural networks[C]. 14th International Conference on Artificial Intelligence and Statistics, 2011:315 323.
?。?0] HYNDMAN R J, KOEHLER A B. Another look at measures of forecast accuracy[J]. International Journal of Forecasting,2006,22(4):679 688.