CTC模型、安裝及其pytorch繫結安裝
阿新 • • 發佈:2018-12-30
CTC模型是語音識別模型中常見的模組之一,現有主流的語音識別系統經常採用該模型來實現端到端的語音識別。而CTC出現之前,語音識別模型的端到端識別效果還是相對較弱的,也就是說CTC解決了這一問題。
1、CTC的相關原理
深度學習的序列到序列模型可以解決許多現實任務,如:
由於seq2seq模型往往需要輸入序列和輸出標註之間具備一一對應關係,然而語音識別是該模型中比較特殊的一塊,由於在語音識別中,一個聲音訊號被轉換成words或者是sub-word單元,在利用seq2seq模型時,它要求預先分割(pre-segmented)的訓練資料,通過後處理將模型輸出轉換為label序列,然而由於識別出的字元序列或者音素序列長度遠小於輸入的特徵幀序列,無法達到一一對應關係,因此它的應用受到較大的限制。
因此在語音識別模型中,引入了CTC模型(Connectionist temporal classification),它往往接在RNN網路的最後一層用於序列學習所用;對於一段輸入序列長度為T的序列來說,每個樣本點 t 在RNN網路的最後一層都會輸出一個softmax向量,表示預測概率,接上CTC模型之後,就可以正確預測出序列的標籤;
其示意圖如下所示:
2、CTC的安裝
(1)進行建立和make
git clone https://github.com/SeanNaren/warp-ctc.git cd warp-ctc mkdir build; cd build cmake .. make
從而可見該安裝成功。
(2)進行pytorch繫結CTC的安裝
export CUDA_HOME="/usr/local/cuda"
cd ../pytorch_binding
python setup.py install
注:在這過程中需要先安裝cffi.
pip install cffi
(3)安裝成功的具體介面如下:
(4)在python中的呼叫結果如下,可見其已經安裝成功。