正在開始學習kaldi,有哪些準備要做?

研究生正在學習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啦

這些明白了就差不多了


  1. 基本功,shell和Linux操作,kaldi的用戶層設計比較怪異,用shell將command結合起來,因此大量的腳本對於一個linux新手而言,理解/排錯/使用上都是很大的障礙。
  2. ASR的基本概念,建議理論和代碼結合起來理解。比如HMM的狀態,轉移,pdf以及它們之間的關係,訓練GMM的EM過程,三音素聚類和狀態綁定,基本聲學特徵(譜/FBANK/MFCC)的提取過程,基本的特徵變換,如何獲取對齊結果,解碼的大致流程(詳細需要深入一下WFST)等等,了解上述之後,就可以基本縷清kaldi腳本的訓練流程了(所謂的單因素-&>三音素-&>LDA/MLLT-&>SAT-&>NN)。kaldi後期的很多腳本應該是Dan他們做實驗時寫下的,發了paper之後就被落實成kaldi規範了,因此一些原理性的東西可以參見Dan個人主頁上的論文。
  3. 從用的角度來說,首先弄清kaldi的數據格式,腳本和command的輸入輸出含義,熟悉utils裡面常用腳本功能,以備日常寫腳本。有時間看一下比較重要的訓練腳本也是必要的。如果要基於kaldi做一些東西的話,多看看kaldi裡面的各個部分的功能和實現,畢竟整個項目的框架已經起來了,之後自己再做一些類似API的調用還是不難的。

總之看你自己的需求了,還有就是遇到問題先嘗試自己解決,畢竟論文,腳本和代碼都是開源的,初學者大部分遇到的問題都是因為不清楚訓練流程錯誤導致的IO型錯誤,排起來並不算困難。


也是正在學,感覺樓上的說的都挺對,我們現在在學習深度學習,用的是鄧力,俞棟的語音識別實踐


推薦閱讀:

馬雲投資的軟銀 Pepper 機器人到底可以幹什麼,值得購買么?
有什麼神經網路結構圖的畫圖工具值得推薦嗎?
怎樣看待2017科大訊飛發布會展示的腦波控制技術?
如何看待吳恩達新成立的公司 landing.ai 並與富士康達成戰略合作?
請比較一下深度學習和壓縮感知?

TAG:人工智慧 | 機器學習 | 語音識別 | 深度學習DeepLearning |