一.對語音識別總體認識的簡單敘述
語音識別大體上就是將人類的語音頻號輸入系統,識別出對應的文字。語音合成則是乙個相反的過程,給出文字,輸入系統後能夠輸出文字對應的語音頻號。
語音識別的過程大體可以分為兩個階段,前一階段主要是語音頻號的處理,包括語音頻號的預處理,語音頻號的分析(時域分析、時頻域分析、倒譜域分析),語音頻號的特徵提取(主要是關於mfcc的工作,為後續的建模等工作做準備);後一階段則主要是模型訓練和語音識別階段,模型的訓練主要是使用已有的訓練資料,對給出的模型進行訓練,通過一次次訓練不斷優化模型中的引數,使得整個系統更加接近理想的效果。語音模型的選擇多種多樣,包括hmm,gmm,dnn,cnn等,目前接觸到的包括
hmm,gmm,dnn
,而cnn我
暫時沒有學習到。
三.語音識別的大體過程總結
1.語音頻號預處理
語音頻號是乙個連續的訊號,要想輸入系統進行處理,首先要對語音頻號進行預處理,比如預加重處理,分幀加窗處理等,目的則是為了提高訊號訊雜比,便於後續處理。
2. 語音頻號分析
語音識別不是乙個簡單的輸入語音並直接輸出文字的系統,語音頻號輸入的時候要進行一系列處理。語音頻號具有長時時變短時平穩的特徵。對於語音頻號的分析包括了時域分析、時頻域分析,倒譜域分析。在這裡對於因訊號進行處理的目的,是為了得到語音頻號的時域或者時頻域特徵,便於畫出功率譜。這一步得到的功率譜,可以直接用於下一步的特徵提取(比如mfccs)。
時域分析:
時域分析能夠提取到的特徵包括短時平均能量,短時平均過零率,短時平均幅度,短時自相關函式。語音頻號是長時時變短時平穩的訊號,所以這些特徵都傾向於短時訊號特徵,這些特徵在端點檢測、靜音判斷、清濁音切分等方面使用廣泛。
時頻域分析:
語音處理過程中,除了時域特徵之外,頻率域特徵或者二者結合起來的時頻特徵對後續工作也很重要。傅利葉變換是這一部分很重要的知識點。
傅利葉變換可以很好的表現出訊號的頻率域特徵,但是丟失了時間資訊,因此,對傅利葉變換進行優化,提出了短時傅利葉變換(stft),在傅利葉變換的基礎上,對訊號分幀加窗,逐個處理,能夠得到比較好的時域和頻域特徵資訊。另外,針對突變的、非平穩訊號和離散訊號,一些**中也提出了其他的訊號分析方法,比如拉普拉斯變換(在
ft基礎上引入了衰減因子)、
z變換(適合處理離散訊號)、小波變換(將
ft中無限長的三角基轉換成會衰減的小波基)。
3.特徵提取。
語音頻號是十分複雜的連續訊號,而語音頻號的特徵引數能夠很好的表達語音頻號,也就能很好的表達語音頻號所攜帶的資訊,因此,對語音頻號的處理,必須首先提取語音頻號的特徵引數。這樣,通過處理資料量很小的特徵引數,就能得到與直接處理複雜且不好分析的語音頻號相同的效果。語音頻號的特徵引數有很多,主要學習了梅爾倒譜係數(mfcc引數)的提取,
mfcc
在實際應用中很多,主要是因為梅爾頻率比較符合人類的聽覺特性。
特徵提取成功,也就為後續的模型訓練打下了基礎。模型訓練不可能直接使用複雜不平穩法語音訊號,而是使用語音頻號的特徵引數。在有了模型的前提下,在訓練階段,把語音頻號經過1,2,3步的處理,得到指定的 n 維特徵引數並輸入到模型當中,通過多次迭代,能得到不斷優化的模型引數。識別階段,待識別語音頻號經過1 2 3步的處理,得到指定的 n 維引數並輸入到模型當中,能得到識別結果。
4. 模型訓練與語音識別
語音識別的模型有很多,經典的包括hmm、
gmm,另外人工神經網路的興起使得
dnn、
cnn得到了廣泛的使用。這些模型都是通過給出初始模型,使用訓練資料不斷的優化模型引數,最終得到乙個比較滿意的識別模型。
人臉識別階段性總結
人臉識別做到現在,做了大概3 4個月,經典的方法都試過一遍了,也做出了對比結果。上篇文章 yale資料集上幾個人臉識別演算法的結果 給出了在yale資料集上的乙個對比結果。yale資料集較為簡單,比較有challenge的是lfw資料集。作者也給出了不同演算法在lfw上的識別率。剛開始本人也在lfw...
階段性學習總結
我記得剛開學第一節課的時候,婁老師曾說過學期末會給排名靠前的同學發放小黃衫,沒想到這個獎勵來得這麼突然 手動開心 能夠成為第一批獲得小黃衫的人是對我這一學期以來的努力的肯定,但同時也讓我感到了幾分壓力,使我不太敢懈怠,而這種壓力也將支援我繼續前行。在這裡,我得先感謝一下進入大學以來第乙個讓我感到耳目...
tensorflow階段性學習總結(一)
feed,fetch 可以為任意的操作 arbitrary operation 賦值或從中獲取資料,相當於鏟子 通過呼叫tf.device 方法來決定機器的那些cpu或者gpu參與計算。如 with tf.device gpu 1 表示呼叫機器的第二個gpu參與計算。softmax regressi...