肖景芬,,夏斌
(上海海事大學(xué) 信息工程學(xué)院,上海 201306)
摘要:由于身體原因?qū)е聼o法進(jìn)行語音交流的群體越來越受到大家的關(guān)注,,為了這部分群體能重新使用語音交流,,科研工作者們進(jìn)行了各種嘗試性研究,。以前的研究主要圍繞著肌電信號(hào)與語音信號(hào)間的映射關(guān)系,而本文是通過深度神經(jīng)網(wǎng)絡(luò)建立語音信號(hào)與腦電信號(hào)間的映射關(guān)系,。將從語音中提取的特征作為前饋神經(jīng)網(wǎng)絡(luò)的輸入,,將腦電信號(hào)的特征作為輸出目標(biāo)建立模型。對(duì)回歸預(yù)測(cè)的模型使用R-square進(jìn)行評(píng)估,,R-square的值達(dá)到了0.75,。
關(guān)鍵詞:語音信號(hào);腦電信號(hào),;回歸預(yù)測(cè),;深度神經(jīng)網(wǎng)絡(luò)
0引言
語音是人類最方便、最自然的交流方式,。但是對(duì)于那些失語,,不方便直接進(jìn)行語音交流的特殊人群,這種交流方式就變得十分困難了,。不少科研人員對(duì)此進(jìn)行了研究,。JOHNER C等人[1]利用獲取的肌電信號(hào)訓(xùn)練模型,從而判斷正常的語音中句子的正誤,并且區(qū)分語音中正常的詞語和強(qiáng)調(diào)的詞語,。而在參考文獻(xiàn)[2]中,,JANKE M等人使用深度神經(jīng)網(wǎng)絡(luò)建立從臉部的肌電信號(hào)到語音信號(hào)的轉(zhuǎn)換關(guān)系。此文具有很大的參考意義,。文中提出了直接從肌電信號(hào)到語音信號(hào)的映射方法,,從多個(gè)肌電信號(hào)通道中提取特征,通過前饋神經(jīng)網(wǎng)絡(luò)[3],,實(shí)現(xiàn)了輸入肌電信號(hào)輸出語音,。文中還對(duì)輸出的語音信號(hào)進(jìn)行了兩種方式的評(píng)價(jià):MelCepstral Distortion[4] 得分和人為聽語音評(píng)分[5]。參考文獻(xiàn)[6]中使用了電磁關(guān)節(jié)造影術(shù)采集數(shù)據(jù),,提取特征合成語音信號(hào),。
上述研究中主要從肌電信號(hào)出發(fā),研究語音信號(hào)和肌電信號(hào)之間的關(guān)系,。而本文從另外一個(gè)角度——腦電信號(hào)數(shù)據(jù)出發(fā),,研究語音信號(hào)和腦電信號(hào)(EEG signals)之間的關(guān)系。本文分別對(duì)語音信號(hào)和腦電信號(hào)提取特征,,建立語音信號(hào)與腦電信號(hào)特征間的映射關(guān)系,,最后使用R-square方法評(píng)估此回歸映射模型效果。
1方法概述
深度神經(jīng)網(wǎng)絡(luò)是一種多層判別模式模型,,每層都是由多個(gè)神經(jīng)元組成的,。模型的底層是可見的輸入層h0,接下來是L層的隱藏層h1,h2,…,hL,,最后一層是輸出層hL+1,。此處考慮的是全連接的前饋深度神經(jīng)網(wǎng)絡(luò):前一層中每個(gè)神經(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)重值,。對(duì)比簡單的神經(jīng)網(wǎng)絡(luò),深度神經(jīng)網(wǎng)絡(luò)具有多于2層的隱藏層,。
對(duì)于每一層的每個(gè)神經(jīng)元i,,除了輸入層都有一個(gè)激活函數(shù)σ和一個(gè)偏置量bi,神經(jīng)元和權(quán)重相乘后,將其結(jié)果作為激活函數(shù)的輸入得到的就是神經(jīng)元的輸出結(jié)果,。對(duì)于l層神經(jīng)元i的輸出等式為:
其中nl-1是hl-1層的神經(jīng)元數(shù)目,。
使用深度神經(jīng)網(wǎng)絡(luò)處理回歸預(yù)測(cè)問題時(shí),它的輸入神經(jīng)元是輸入數(shù)據(jù)的值,,通過訓(xùn)練整個(gè)模型,,讓輸出層的輸出值擬合輸出數(shù)據(jù)值。具體細(xì)節(jié)可以查看參考文獻(xiàn)[7],。
深度神經(jīng)網(wǎng)絡(luò)(DNN)訓(xùn)練通常是復(fù)雜的難題,,因?yàn)槿绻跏蓟瘷?quán)重較大的話通常會(huì)導(dǎo)致較差的局部最優(yōu)值,而較小的初始化權(quán)重得到的梯度較小,,這樣在訓(xùn)練多個(gè)隱藏層時(shí)行不通[8],。通常使用BP算法來訓(xùn)練整個(gè)網(wǎng)絡(luò),一般選擇連續(xù)添加各層網(wǎng)絡(luò),。首先,,網(wǎng)絡(luò)只由輸入層 h0、第一個(gè)隱藏層h1,,最后是輸出層hL+1組成,。初始網(wǎng)絡(luò)模型是隨機(jī)初始化,使用BP算法進(jìn)行精調(diào),。然后,,加入下一層,這樣新的網(wǎng)絡(luò)模型有輸入層h0,,接著是兩個(gè)隱藏層h1,、h2,最后是輸出層hL+1。從輸入層h0到第一個(gè)隱藏層h1的連接權(quán)重矩陣就是剛才訓(xùn)練得到的權(quán)重矩陣,,其他的權(quán)重仍然是隨機(jī)初始化得到的,。然后利用BP算法進(jìn)行網(wǎng)絡(luò)模型的精調(diào)。整個(gè)處理過程一直重復(fù),,直到所有的隱藏層都被添加進(jìn)網(wǎng)絡(luò)模型中,。輸入和輸出數(shù)據(jù)在加入網(wǎng)絡(luò)模型前進(jìn)行了zscores歸一化處理,。
在每一步中權(quán)重都是使用均值為0.000 1、方差為1的標(biāo)準(zhǔn)高斯分布進(jìn)行隨機(jī)初始化,。預(yù)測(cè)值和實(shí)際值間使用均方誤差(MSE)作為誤差標(biāo)準(zhǔn),。
圖1顯示了使用的五層神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),用于建立語音信號(hào)特征與腦電信號(hào)特征間的映射關(guān)系,。
訓(xùn)練神經(jīng)網(wǎng)絡(luò)模型建立腦電信號(hào)特征和語音信號(hào)特征映射關(guān)系,,即如果G(xi)表示映射,則映射的誤差為:
此處,,w(n)和b(n)分別表示隱藏層和輸出層的權(quán)重矩陣和偏置矩陣,。ReLu[9]表示Rectified Linear Units激活函數(shù),ReLu(x)=max(0,x),。
2實(shí)驗(yàn)數(shù)據(jù)及其處理
本文用到的數(shù)據(jù)集是圖賓根大學(xué)采集的受試母語為意大利語的語音和腦電信號(hào),。實(shí)驗(yàn)過程中一邊播放語音信號(hào),一邊采集受試者的腦電信號(hào),。腦電信號(hào)有12個(gè)通道的數(shù)據(jù),,信號(hào)的采樣率為200 Hz。每段語音信號(hào)的長度都不一樣,。在播放的句子中有正確的和錯(cuò)誤的,,本研究中取的是正確的句子。對(duì)于每個(gè)語音信號(hào)都取出對(duì)應(yīng)的腦電信號(hào),。
對(duì)于每個(gè)語音和腦電信號(hào)樣本都作光滑處理,,語音信號(hào)和腦電信號(hào)處理方法一樣。以語音信號(hào)處理方法為例,,為了處理語音信號(hào),,需要對(duì)語音信號(hào)進(jìn)行加窗,也就是一次僅處理一個(gè)窗中的數(shù)據(jù),。因?yàn)閷?shí)際的語音信號(hào)比較長,,不能也不必對(duì)非常長的數(shù)據(jù)進(jìn)行一次性處理。實(shí)際解決方法就是每次取一段數(shù)據(jù)進(jìn)行分析,,然后再取下一段數(shù)據(jù)進(jìn)行分析,。本文中選用的是漢明窗進(jìn)行數(shù)據(jù)截取。它主要部分的形狀類似于sin(x)函數(shù)在0~π區(qū)間的形狀,,而其他部分都是0,。這樣的函數(shù)乘上其他任何一個(gè)函數(shù)f,f只有一部分有非零值,。因?yàn)闀?huì)對(duì)漢明窗中的數(shù)據(jù)進(jìn)行FFT處理,,假設(shè)一個(gè)窗內(nèi)的信號(hào)代表一個(gè)周期的信號(hào),這樣窗的左端和右端應(yīng)該大致能連在一起。而通常一小段音頻數(shù)據(jù)沒有明顯的周期性,,加上漢明窗后,,數(shù)據(jù)形狀就有周期感。但是加上漢明窗后,,只有中間的數(shù)據(jù)體現(xiàn)出來,,而造成兩邊的數(shù)據(jù)信息丟失,所以移窗的時(shí)候,,只會(huì)移窗口部分?jǐn)?shù)據(jù),,這樣被前一幀或兩幀丟失的數(shù)據(jù)又重新得到體現(xiàn)。
本文中語音信號(hào)和腦電信號(hào)取0.2 s的數(shù)據(jù)作為一個(gè)小樣本,,滑動(dòng)窗口為0.01 s,。這樣一段語音信號(hào)中就包含了多個(gè)小樣本。同樣的一段腦電信號(hào)中也包含了多個(gè)小的腦電信號(hào)樣本,。由于腦電信號(hào)和語音信號(hào)采樣率相差過大,每段語音信號(hào)及對(duì)應(yīng)腦電信號(hào)在滑動(dòng)窗口后劃分的小樣本數(shù)有時(shí)會(huì)相差1(由于采樣率乘以窗口時(shí)長不是一個(gè)完整的樣本,,因此舍去),,最終語音信號(hào)和腦電信號(hào)的樣本數(shù)不相等。在每段語音信號(hào)和對(duì)應(yīng)的腦電信號(hào)劃分的小樣本過程中,,都取樣本數(shù)中的最小值處理,。比如某段語音信號(hào)有33個(gè)小樣本,而腦電信號(hào)只有32個(gè)小樣本,,就取語音信號(hào)的前32個(gè)樣本和腦電信號(hào)的前32個(gè)樣本,。經(jīng)過上述處理后,整個(gè)數(shù)據(jù)集樣本數(shù)為6 601,。對(duì)于語音信號(hào)和腦電信號(hào)樣本都進(jìn)行短時(shí)傅里葉變換預(yù)處理,。數(shù)據(jù)預(yù)處理后語音數(shù)據(jù)集維度為6 601×4 411,腦電信號(hào)數(shù)據(jù)集維度為6 601×252,。將數(shù)據(jù)集進(jìn)行28分后,,使用前饋深度神經(jīng)網(wǎng)絡(luò)進(jìn)行建模。輸入為語音特征數(shù)據(jù),,腦電特征數(shù)據(jù)作為輸出,。神經(jīng)網(wǎng)絡(luò)的隱藏層結(jié)構(gòu)為800、500,、300,,學(xué)習(xí)率為0.001,迭代次數(shù)為300,。
3實(shí)驗(yàn)結(jié)果
回歸預(yù)測(cè)結(jié)果評(píng)估方法[10]有SSE(誤差平方和),、MSE(均方差)、RMSE(均方根誤差)、Rsquare(確定系數(shù)),。SSE計(jì)算的是預(yù)測(cè)數(shù)據(jù)和原始數(shù)據(jù)對(duì)應(yīng)點(diǎn)的誤差平方和,;MSE計(jì)算的是預(yù)測(cè)數(shù)據(jù)和原始數(shù)據(jù)對(duì)應(yīng)點(diǎn)誤差平方和的均值,即MSE=SSE/n,;RMSE即回歸系統(tǒng)的擬合標(biāo)準(zhǔn)差,,是MSE的平方根;SSR為預(yù)測(cè)數(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ù)本身進(jìn)行對(duì)比之后才有價(jià)值。因?yàn)槿绻麛?shù)據(jù)值本來就很小,,SSE,、MSE、RMSE的值也會(huì)很小,,這樣就失去了原本用來評(píng)估回歸模型的意義,。而Rsquare是通過數(shù)據(jù)的變化來表征一個(gè)擬合的好壞,不會(huì)受數(shù)據(jù)值大小影響,。由上面的表達(dá)式可以知道Rsquare的取值越接近1,,表明方程的變量對(duì)因變量的解釋能力越強(qiáng),訓(xùn)練模型對(duì)數(shù)據(jù)擬合得也較好,。所以在本文中使用Rsquare評(píng)估訓(xùn)練模型,,前饋深度神經(jīng)網(wǎng)絡(luò)訓(xùn)練模型的Rsquare值為0.750 732 868 52。圖2,、圖3分別展示了腦電信號(hào)特征的預(yù)測(cè)值和實(shí)際值,。
圖2和圖3為分別對(duì)腦電信號(hào)特征的預(yù)測(cè)值和實(shí)際值做處理后的結(jié)果。由于所做的回歸預(yù)測(cè)是高維數(shù)據(jù)的回歸預(yù)測(cè),,如果直接畫圖的話,,數(shù)據(jù)都堆在一起無法展示出效果,因此把1 320×252維的預(yù)測(cè)腦電信號(hào)特征數(shù)據(jù)整理成332 640×1維的數(shù)據(jù),,即把所有列的數(shù)據(jù)展開,。從圖中可以明顯看出腦電信號(hào)特征預(yù)測(cè)值和實(shí)際值的相似性。
4結(jié)論
本文的語音到腦電信號(hào)特征的轉(zhuǎn)換回歸預(yù)測(cè)實(shí)驗(yàn)得出了比較好的結(jié)果,。盡管不能直接看到回歸預(yù)測(cè)得到的語音信號(hào),,但是結(jié)果表明腦電和語音之間確實(shí)有著一定的關(guān)聯(lián),這對(duì)于失語病人或直接語音交流不方便但思想正常的病人來說,,以后重新通過語音交流不再是夢(mèng)想,。接下來的工作是通過更好地處理實(shí)驗(yàn)數(shù)據(jù)以及進(jìn)一步地將腦電特征直接轉(zhuǎn)換為語音信號(hào),,實(shí)現(xiàn)直接的腦電信號(hào)轉(zhuǎn)換為語音信號(hào)輸出。
參考文獻(xiàn)
?。?] 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.
[5] KRAFT S, ZLZER U. BeaqleJS: HTML5 and JavaScript based framework for the subjective evaluation of audio quality[C]. Linux Audio Conference, 2014.
?。?] 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.
[7] 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.
[9] 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.