Sequence discriminative training

       語音識別聲學模型DNN訓練通常用cross-entropy(CE)作爲損失函數進行訓練,CE可以看做是KL散度的一種形式 ,用來評價期望分佈和當前訓練模型概率分佈的差距。方便計算,所以常常被用來作爲損失函數廣泛使用。然而基於幀識別的語音識別中,往往用WER或者CER,PER來作爲評價語音識別的準確率。損失函數和訓練目標不一致,因此[1]提出了基於序列區分度(Sequence Discriminative training)目標函數來進行訓練,sequence discriminative training在訓練過程中結合了發音詞典和語言模型,以序列進行區分訓練,使得相近的句子識別概率更大,其他的概率儘量小,使得訓練的模型識別率更加提升。sequence discriminative training訓練前往往先使用CE訓練對齊[2],產生lattice,然後再通過lattice進行sequence discriminative training[3][8][10][11]。當然近期也有用過lattice-free來進行sequence training[4]。本篇文章就主要介紹sequence discriminative training通過lattice進行訓練的過程。lattice-free進行sequence discriminative training會在後面的文章進行介紹。接下來我們會把sequence discriminative training簡稱爲sequence training(需要注意的是sequence to sequence training和本文無關,seq2seq training是機器翻譯中的encode-Decoder模型,逐漸應用到語音識別中,文章中已經有了詳細的介紹)

      當前比較流行的sequence training目標函數有最大互信息Maximum Mutual Information (MMI), boosted MMI(BMMI), 和最小貝葉斯風險 sMBR。MMI目標函數公式如下[5]:

                     

              

BMMI和MBR目標函數如下所示[5]:

                        

觀查MMI目標函數,可以看到,訓練的目標爲給定句子,求出句子對應的senone(綁定的狀態)序列概率,然後遍歷句子r,求和使得總的概率足最大。

也有對句子w進行建模,MMI和sMBR目標函數如下所示[2]:

                           

                              

其中Wu表示正確的標註,k表示scale,表示Kronecker delta 函數。T表示所有幀的數目,MMI訓練目標就是使得分子概率最大,使得分母概率最小的過程。

這裏也給出CE目標函數,如下所示:


     表示Kronecker delta 函數


        上面已經介紹了sequence training和MMI目標函數,接下來看一下MMI訓練過程。

給定輸入x,模型參數θ,損失函數L(x, θ的梯度定義如下:


由鏈式法則可以看出,損失函數對參數求梯度,首先是求損失函數對激活值at(k)進行求導,也叫作外部導數(outer derivatives),然後是激活值對神經網絡參數θ求導,也叫作內部導數(innerderivatives)。MMI和CE差別就是這個outer導數上,inner導數對不同類型(DNN,LSTM等)的神經網絡導數也不同。

MMI外部導數如下所示[6]:


其中k爲scale因子,通常取語言模型scale的倒數,

表示t時刻分母lattice和分子lattice在狀態k的佔有概率,可以通過WFST生成的lattice使用前向-後向算法計算得到[9]。如下所示:



然而在計算分子lattice和分母lattice時,爲了避免分母lattice中沒有候選路徑,因此常常把分子lattice合併到分母lattice中作爲分母lattice,如下圖所示中的merge lattice 過程:


因此MMI導數如下所示[7]:



上面介紹了MMI目標函數句子ut計算分子分母狀態s佔有概率γ的過程,接下來,介紹一下MMI目標函數訓練神經網絡的總體流程:

1)所有訓練語句進行隨機化shuffle

2)對每個句子U,進行計算分子lattice和分母lattice的狀態佔有概率,如下圖所示:


3)句子U分批前向打分,誤差計算和內部梯度計算,並根優化策略SGD或者ASGD反向傳播更新參數θ

4)轉到2)循環所有訓練的音頻

5)  循環多個epoch

6)結束


以上就完成了Sequence discriminative training 訓練神經網絡的整體流程。


       

      



=================================================================================================


[1]Maximum mutual information estimation of hidden Markov model parameters for speech recognition

[2]Sequence Discriminative Distributed Training of Long Short-Term Memory Recurrent Neural Networks

[3]Lattice-based optimization of sequence classification criteria for neural-network acoustic modeling

[4]Purely sequence-trained neural networks for ASR based on lattice-free MMI

[5]Error Back Propagation For Sequence Training Of Context-Dependent Deep Networks For Conversational Speech Transcription

[6]Asynchronous Stochastic Optimization for Sequence Training of Deep Neural Networks- Towards Big Data

[7]Asynchronous Stochastic Optimization for Sequence Training of Deep Neural Networks

[8]A Log-Linear Discriminative Modeling Framework for Speech Recognition

[9]Discriminative Training and Acoustic Modeling for Automatic Speech Recognition

[10]MMIE training of large vocabulary recognition systems

[11]Discriminative training for large vocabulary speech recognition

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章