正在開始學習kaldi,有哪些準備要做?
01-08
研究生正在學習kaldi,但是很多官方文檔里很多東西都不是很明白。
另外需要學習哪些軟體等。
準備就是
1.裝好kaldi 準備好數據 把kaldi的示例腳本跑一遍 kaldi的egs裡面有很多內置的示例腳本 你把對應的數據準備好就能跑一遍下來
2.然後看文獻了解語音識別基本原理 這裡不需要你太扣細節 只用知道有哪幾步 每步的輸入輸出是什麼 每一步的目的是什麼。比如分特徵提取 訓練模型 測試這幾大步 特徵提取的輸入是音頻 輸出是特徵等3. 比如找出腳本中和理論上步驟對應的地方4. 如果做到前三步 你就對kaldi整體有個大致的認識了,可以集中於你想深入開發 研究的模塊去修改腳本或者源碼 這一塊的詳細基本原理還是要看文獻掌握當然這幾步前提是你能看懂英文 看懂shell語言 如果要改內核還需要cpp功底 這些都是基本功 需要慢慢練
更新一個日語版的教程,相當不錯,很詳細,還有怎麼獲得數據的內容
http://www.ts.ip.titech.ac.jp/demos/csjkaldisp2016oct.pdf
謝邀。
樓上說的都差不多了。最重要我覺得一定要看懂數據格式和數據準備的流程。即你要明白特徵是怎麼保存的。目前來看,狀態綁定仍然是非常重要的技術,所以決策樹部分代碼和原理、流程一定要看懂。再就是WFST的原理和實現方法要做好準備。
實際上DNN的代碼比較容易。首先shell腳本和c++要會還有就是tied state gmm-hmm的訓練流程要很明白最後就是dnn-hmm啦
這些明白了就差不多了
- 基本功,shell和Linux操作,kaldi的用戶層設計比較怪異,用shell將command結合起來,因此大量的腳本對於一個linux新手而言,理解/排錯/使用上都是很大的障礙。
- ASR的基本概念,建議理論和代碼結合起來理解。比如HMM的狀態,轉移,pdf以及它們之間的關係,訓練GMM的EM過程,三音素聚類和狀態綁定,基本聲學特徵(譜/FBANK/MFCC)的提取過程,基本的特徵變換,如何獲取對齊結果,解碼的大致流程(詳細需要深入一下WFST)等等,了解上述之後,就可以基本縷清kaldi腳本的訓練流程了(所謂的單因素-&>三音素-&>LDA/MLLT-&>SAT-&>NN)。kaldi後期的很多腳本應該是Dan他們做實驗時寫下的,發了paper之後就被落實成kaldi規範了,因此一些原理性的東西可以參見Dan個人主頁上的論文。
- 從用的角度來說,首先弄清kaldi的數據格式,腳本和command的輸入輸出含義,熟悉utils裡面常用腳本功能,以備日常寫腳本。有時間看一下比較重要的訓練腳本也是必要的。如果要基於kaldi做一些東西的話,多看看kaldi裡面的各個部分的功能和實現,畢竟整個項目的框架已經起來了,之後自己再做一些類似API的調用還是不難的。
總之看你自己的需求了,還有就是遇到問題先嘗試自己解決,畢竟論文,腳本和代碼都是開源的,初學者大部分遇到的問題都是因為不清楚訓練流程錯誤導致的IO型錯誤,排起來並不算困難。
也是正在學,感覺樓上的說的都挺對,我們現在在學習深度學習,用的是鄧力,俞棟的語音識別實踐
推薦閱讀:
※馬雲投資的軟銀 Pepper 機器人到底可以幹什麼,值得購買么?
※有什麼神經網路結構圖的畫圖工具值得推薦嗎?
※怎樣看待2017科大訊飛發布會展示的腦波控制技術?
※如何看待吳恩達新成立的公司 landing.ai 並與富士康達成戰略合作?
※請比較一下深度學習和壓縮感知?
TAG:人工智慧 | 機器學習 | 語音識別 | 深度學習DeepLearning |