深度學習時代,數字信號處理的前端已經過時了嗎?

本人是做語音識別的,在語音識別的頂級會議interspeech上看到2015的論文中關於魯棒語音識別領域的識別模型,基本都是深度神經網路,難道信號級別上的語音增強、降噪、濾波已經過時了嗎?深度學習真的有這麼好的建模能力?再補充一下,確實深度學習和數字信號處理沒有多大關係,如此提問,可能有些問題,主要是我做語音識別的,所以在這個領域想關注一下語音的前端信號處理,因為現在已經出現了直接使用語音信號的原始數據作為神經網路的輸入


個人看法:深度學習在各領域都試圖取代feature engineering,包括語音識別。其實語音的前端已經做得足夠接近事物本質了,類比圖像的同行他們已經原始像素輸入很多年了。

識別這塊進入dnn時代就逐漸fbank甚至倒譜成為主流,而梅爾窗、dct變換等傳統語音識別認為必備的處理也逐漸變得無足輕重甚至有害。而在引入lstm後,魯棒性的必備殺器cmn也不是那麼重要了。

深度學習鼓吹的一個重要方面就是representation learning,在模型能力有限時,前端非常重要,而對於具有強表現力的模型和足夠大數據量,這些都有可能通過學習得到,而不需要確定的前端處理。同時,前端處理在獲取更容易區分特徵的同時,必然帶來信息損失,這也是fbank輸入比mfcc好的主要原因。

以mfcc為例,當年梅爾做的一個很偉大的工作就是通過測人耳對不同頻帶的聽覺響應最終設計出從低頻到高頻不同尺度的三角窗,這個對傳統gmm模型非常有用。但到了深度學習框架下,系統一個個minibatch處理數據,從目標函數回傳的梯度自己就會實現:發不同音素時低頻帶區分性很明顯,需要加強;高頻帶梯度累加沒太大變化,應該削弱;高頻部分通過一個變換矩陣後有用,應該逐漸保留這種結構……便可以學到類似梅爾倒譜的東西。但機器完全沒有理論指導盲目相信數據的結果很有可能學到不合理的前端變換並且對集內擬合很好,這種過擬合就一般需要大的訓練數據糾正。

那麼是否信號處理知識完全無用呢?當然不是。前面說了需要合適的模型結構和足夠的表現能力。比如對於沒有recurrent結構的模型它必然無法學到可以取代cmn的能力。另一個例子就是題主說的原始時域信號輸入,我們如果沒有語音信號短時平穩特性的知識,閉著眼睛扔波形信號只是玩鬧。而它主要希望處理的多麥克風信號如果沒有beam forming的知識和設法利用相位差信息的指導,也肯定玩不轉。一個後端的例子就是這些年一些machine learning的人做語音識別在end to end指導下直奔字母建模單元,個人表示呵呵。


以前在專業領域的前端(實際上可以看成是人工特徵提取)的核心是你要懂這個專業領域。

現在和以後,雖然深度學習可以有強大的特徵提取能力,但是對一位專家而言,你的核心仍然是,要懂這個專業領域。

對於一位領域專家,人工特徵也好(信號處理等方法),機器提取特徵也好(深度學習所擅長的),這些都只是工具。我跟你講,伐木機更牛逼,你也會有用得著斧頭的時候。

說回到你們語音識別領域,作為一個工業黨,我認為MFCC這些成熟的主流方法還會生存好長一段時間,你敢賭你出來工作的時候再也不用MFCC了嗎?


沒有。

對數字信號處理,尤其是帶有時間信息的數據(如語音),DL通常還是依賴信號處理方法提取的特徵。語音識別中DL模型(DNN、CNN、RNN、END-TO-END-RNN)的輸入多數還是MFCC、PLP、Fbank等特徵,儘管有部分CNN文章提出直接使用raw data利用卷積等操作直達Softmax,這種做法不是主流。

數字信號處理 據了解近年也沒啥大的進步吧,壓縮感知、Sparse、Low-rank那套 不知道有什麼大的應用。


相信下面的這篇 Paper 能在一定程度上解答你的疑惑。可以說在某些環境下,著力於特徵提取層會比後端的訓練匹配過程更有效。

IMPACT OF SINGLE-MICROPHONE DEREVERBERATION ON DNN-BASED MEETING
TRANSCRIPTION SYSTEMS http://mi.eng.cam.ac.uk/~xc257/papers/Meeting_DNN.pdf

從論文中扣出了這個圖,能反映出前端處理的改進對於識別性能的提升。

針對會議錄音識別系統,我們可以看到最後一行數據,同樣都是DNN-HMM hybrid的後端處理系統,單麥克風平台上Dev-DRV(去除回聲的特徵提取)較Dev-SDM(原始特徵提取方法)WERs 有所降低,再加上多麥克風的硬體平台,效果提升就更明顯了。

詳細可參考以上論文。


前端和建模是兩個完全不同的東西。不管你用什麼前端,需要注意的是訓練和識別中必須要用同一套前端。回到題主一開始的問題,個人認為特徵提取模塊在程度上是可以被fbank全部替代的,不過這麼做的代價就是模型的參數會增加。降噪,回聲消除什麼的仍然必不可少。特別在定長噪音環境中,有沒有降噪,對系統的性能影響是巨大的。


隨著今年智能音箱的大火特火,遠場語音識別越來越受關注。遠場識別所遇到的盲源分離、解混響、回聲消除、定位等方面還得看信號處理和傳統演算法,深度學習效果一般。


看應用場景


有基於深度學習的預處理和特徵提取,,,


是因為做前端的人的文章沒有放在識別相關的session裡面吧?

這幾年做識別的都沒有很關注前端,反正機器學習還有點搞頭,前端給個差不多的過來就可以改模型發文章了。


數字信號處理真的過時了,在深度學習時代,不精確性代替了精確性,這種不精確性來了了魯棒性的模型,數字處理將會回歸模擬信號時代,深度學習的模型其實是大規模的非線性模擬電路。這種用數子構建的模擬系統是將來的方向。


推薦閱讀:

如何入門語音識別?
誰給講講語音識別中的CTC方法的基本原理?
語音識別kaldi該如何學習?
Language Model 在語音識別方面有哪些應用?
交通銀行機器人是如何做到如此智能的?

TAG:機器學習 | 語音識別 | 數字信號處理 | 深度學習DeepLearning |