高準確率聲學模型基於決策樹的狀態聚類

本文是對《Tree-Based State Tying For High Accuracy Acoustic Modelling》S.J.Young 的部分翻譯,主要目的是爲了促進個人對HMM狀態綁定算法的理解。如有不妥或者有誤的地方,歡迎指出,謝謝!


Abstract

本文介紹了一種使用因素決策樹創建狀態綁定連續語音識別系統的方法,這種基於樹的聚類方法和早期的數據驅動的方法識別性能相似,主要的優勢是可以提供對爲觀測到的三音素(unseen triphone)的映射。


Introduction

前人的研究中,提出了HMM估計的方法,這一方法包含了狀態集的參數綁定,而不是模型級的參數綁定。HMM估計方法嘉定使用連續魔都混合高斯分佈,避免了第一次訓練單高斯模型的後驗平滑,然後使用成團的數據驅動過程,最後將每一個聚類狀態轉換成一個混合高斯,這對僅有詞內部triphone模型的系統效果很好,因此對於這樣的系統,很容易找到每一個triphone對應的數據。然而,從上面給出的數據可以推斷出,使用詞間triphone的系統,需要具有大量triphone的數據,而實際上,這些triphone大多在訓練數據中是沒有出現過的。

本文進一步提出了一種可以適應存在unseen triphone的系統架構的狀態綁定方法,這種新的系統是基於對因素決策樹的使用的,因素決策樹被用來決定HMM狀態的上下文等效集。爲了能夠處理大量的訓練數據,決策樹的構建僅僅基於每一個HMM狀態統計量的編碼,而對最原始的數據沒有直接的引用。這種基於決策樹的聚類與使用數據驅動的方法有相同的模型正確率,但對unseen triphone可以提供有效的映射。同時,狀態綁定的方法性能優於傳統的模型綁定的方法。

      本文的結構主要如下:

第2部分重溫了狀態綁定方法在HMM系統構建中的應用,第3部分描述了基於決策樹的狀態綁定方法,第四部分使用HTK語音識別系統進行實驗,第5部分對本文的工作進行總結。

Tied-State HMM SYSTEM

構建一個狀態綁定的HMM系統的目的是,確保有足夠的訓練數據可以很魯棒地估算每一個狀態集的輸出分佈參數,同時保留每一個phone類別中重要的上下文相關的聲學區分性。在此使用連續密度混合高斯分佈有兩個原因: 首先,連續密度模型由於不需要對輸入特徵空間進行量化,比離散系統更準確。爲了獲得特徵空間的足夠範圍,離散系統必須將導數看成是統計獨立的,因此當使用導數特徵時,連續密度更準確的特性非常重要。在連續密度系統中,離散特徵很簡單地追加的靜態參數中。儘管這通常需要作一個對角協方差假設,但特徵集通過普通的混合權重集就可以保持連續。

連續密度系統的另一個重要的好處是,對於任何一種特定分佈的模型準確率,可以通過增加或減少混合組件的數據平滑地進行調整。這就允許在數據量非常不平衡的時候可以使用一個簡單的高斯分佈模型來構建一個初始的非綁定模型集。那麼一旦進行綁定,每一個狀態就有了足夠的訓練數據,就可以估算更加複雜的混合高斯分佈以獲得更高的準確率。

 

圖1 顯示了一個狀態綁定的HMM系統的構建過程,主要包括如下4步:

1. 用單高斯輸出概率密度函數創建和訓練一個初始化的3狀態從左到右的單音素模型的集合;

2.然後,克隆這些單音素的狀態輸出分佈函數來初始化非綁定的上下文相關的triphone模型,轉移矩陣不進行克隆,但要保留每個phone的所有triphone之間的綁定。

3.對於從相同的單音素得到的triphone的集合,對相應的狀態進行聚類,對每一個結果類中,選擇一個典型的狀態作爲樣例,然後這一類的其他所有成員都聚到這個狀態。

4.增加一個狀態的混合高斯組建並對模型進行重估,直到在驗證集上性能達到峯值或者混合高斯組建的數量達到預期。

以上所有的參數估計都是用Baum-Welch重估,因此,需要每一條訓練語句的標註。由於通常字典裏每一個詞不只一個發音,通過用monophone的廚師引導程序對每條訓練語句進行強制識別。標註是從已知的拼音得到的。由於這些模型的性能會非常差,因此需要用第一次產生的模型重新標註訓練數據,重複進行構建過程。

正如在引言中提到的,前人的狀態綁定共做使用數據驅動的結塊聚類進程,在這種方法中,距離機制取決於通過狀態方差調整的狀態均值之間的歐幾里德距離。這很好,但是不能提供解決 unseen triphone 的方法,下一節將介紹客服這一困難的聚類過程。

Tree-based Clustering 

語音學的決策樹是一顆二叉樹,在這顆二叉樹中,每一個節點附有一個問題,在此描述的系統中,每個問題與語音語境的左或者右相關。例如:在圖2 中,問題是“當前因素左邊的因素是鼻音嗎?”是與樹的根節點相關的。對每個因素的每個狀態構建一顆樹來對所有有關聯的triphone的所有相關的狀態進行聚類。



比如,圖2所示的這顆樹將它的狀態分成6個終止節點相關的子集,每個子集中的狀態綁定成一個狀態,樹的拓撲結構以及問題的選擇是爲了在給定這些綁定狀態時,最大化訓練數據的似然值,同時確保每個綁定的狀態有足夠的訓練數據來估計混合高斯PDF的參數。一旦所有的這些樹都構建好了,通過 unseen triphone 的語境找到合適的終止樹節點來將這些 unseen triphone 進行綜合,然後用與這些節點相關的綁定狀態來構建triphone。

所有的問題有如下的結構:“左邊或者右邊的因素在X集合裏嗎?“,X集合的範圍包括從比較廣泛的因素類別如鼻音、摩擦音以及元音等,到一個單獨的集合如{l},{m}等。每一棵樹通過自上而下的時序優化進行構件,最初的時候,所有的狀態都被聚類到樹的根節點,然後對數似然值通過假設所有的狀態都綁定到這一節點來計算。然後通過找到問題將父節點中的狀態進行分割以獲得最大的對數思染紙提升,從而將此節點分成兩個,重複這一劃分節點的過程以獲得最大的對數似然提升,直到提升幅度小於一個閥值。爲了確保所有的終止節點有足夠的相關的訓練數據,使用了最小的佔有count。

S是HMM狀態的集合,L(S)是假設S中所有狀態綁定的前提下,訓練幀F集合產生S的對數似然值,例如:這些綁定的狀態共享相同的均值和方差。轉移概率可以忽略,然後假設綁定的狀態並沒有改變幀/狀態的alignment. 則L(S)一個合理的估計爲:


其中,是狀態S產生觀測特徵的後驗概率,如果輸出概率密度函數(PDFs)是高斯分佈,那麼


其中,n是數據的維度,因此,整個數據集的對數似然值僅依賴於池中狀態方差和池中總的狀態佔有,前者可以通過池中狀態的均值和方差得到,狀態的occupancy counts 在Baum-Welch重估中得到。給定狀態S的節點,它被問題q 分成兩個子集,使用問題q*來進行分割,最大化


使得總的池狀態的 occupation counts超過相應的閥值。

最後一階段,對數似染值得降低是通過合併不同父節點的終止節點來計算的,任何一對節點的對數似然值的減少量低於門限值時停止分裂併合並這兩個節點。實際中,這種做法降低了10-20%的狀態數量,但性能並不會下降。

爲了增強對問題使用的印象,表1顯示爲了爲WSJ任務構建的一個典型系統,前面最有用的6個問題是針對所有模型的所有狀態的、所有模型的entry狀態以及所有輔音的exit狀態計算的。給出的評估師相應問題獲得的總的對數似然值提升。正如所看到的,後接原因的情況是最重要的上下文相關的影響,一共有202個問題供選擇,在195,182,15這三個問題中,實際上分別至少使用了一種決策樹。

Experiment

(略)

Conclusion

本文介紹了一種有效的基於音素決策樹的狀態聚類算法,在HTK的狀態綁定識別系統中展示了它的作用。實驗證明,狀態綁定的性能要優於模型綁定的性能,音素決策樹聚類和數據驅動方法聚類的相關是一致的,但有一個重要的好處是可以提供unseen triphone 的映射。

RM和WSJ任務上總的實驗結果表明,本文提出的方法可以達到目前最有的識別性能,但構造比較簡潔且容易實現,這種方法關鍵取決於連續密度HMMs的使用,這是由於連續密度HMM提供了一種簡單的控制複雜度的方法。初始時,一些triphone的數據是稀疏的,單高斯分佈的簡單使用仍然可以得到合理的參數估計,初始階段單高斯的使用同樣使得樹的構建非常有效。這是由於需要的似然目標函數不需要參考訓練數據就可以得到。然而,一旦狀態綁定程序中每個狀態數據量增大,單高斯通過分割組建很容易轉換成混合高斯,並進行重估。模型的複雜度可以很平滑地增加,直到達到最優性能。










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