1. 程式人生 > >語音識別中的資料增強技術

語音識別中的資料增強技術

        由於工作需要,調研了語音識別中的資料增強方法,順便對此進行總結。由於能力有限,難免有不對之處,請大家多多指正!

1. VTLP

        VPLN用於語音識別,以消除由聲道長度差異引起的說話人與說話人之間的差異。通過求每個說話人特徵向量的均值和方差,並進行均值為0方差為1的規整化,能夠有效減小不同說話人特徵之間的差異。而VTLP反其道而行,通過對訓練集的輸入特徵加上差異性來進行資料增強。

1.1  Mel filter banks

         人類聽覺感知實驗表明,人類聽覺的感知只聚焦在某些特定的區域,而不是整個頻譜包絡。實驗觀測發現,人耳就像一個濾波器組一樣,它只關心某些特定的頻率分量(人的聽覺對頻率是有選擇性的)。但是這些濾波器在頻率座標軸上卻不是統一分佈的,在低頻區有很多的濾波器,他們分佈比較密集,而在高頻區,濾波器數量減少,分佈很稀疏,如下圖所示:

                                               

       Mel濾波器組是根據人耳聽覺特性設計的三角形濾波器組,它可以將線性頻譜對映到基於聽覺感知的Mel非線性頻譜中,其具體的轉換公式定義如下:

       在Mel頻域內,人對音調對感知度為線性關係,可表示為下圖:

                          

      一般地,Mel濾波器的範圍在0~8kHz之間,並且每一個濾波器都開始於前一個濾波器的中心頻率,結束於下一個濾波器的中心頻率,如下圖所示:

1.2 VTLP      

        VTLP (vocal tract length perturbation) 通過為每句話隨機生成一個摺疊因子在頻率軸進行對映,將原始頻率

對映到一個新的頻率空間,可用以下公式表達:

其中\alpha為摺疊因子,S為取樣頻率, 為覆蓋有效共振峰的邊界資訊。一般地,在VTLN中摺疊因子\alpha假設為0.8~1.2.但因為我們到目的不是為了歸一化,而是為了擾動增強,將摺疊因子\alpha設為0.9~1.1,因為大範圍的擾動(在0.8和1.2的邊緣)會產生於現實不相符的扭曲。擾動的過程可以直接對濾波器組進行操作,而不是先對語譜圖進行扭曲。因此我們只對各個濾波器的中心頻率進行對映,再根據這些扭曲的頻率生成三角形濾波器。

1.3 注意事項

  • 在訓練時,對於每一個epoch,我們對每一個語句生成一個隨機的摺疊因子\alpha,然後生成40維的Mel濾波器特徵;
  • 摺疊因子\alpha來自於均值為1,標準方差為0.1的正太分佈,當生成的值不在0.9~1.1範圍時,採用邊界頻率,例如值為1.2取擷取為1.1。
  • 論文中,為了方便,對同一語句的所有幀都採用同一個摺疊因子。此外,還計算了語譜圖的一階和二階差分,並且為了更好地對狀態標籤進行對齊,考慮上下文資訊,採用當前幀及其前後各7幀總共15幀作為資料向量。
  • 對於解碼階段,也對測試語句進行擾動,V個不同都向量輸入到神經網路得到不同HMM狀態到概率,對這些概率論文采用對後驗概率求平均(Avg)、最大值(Max)和幾何平均(Prod)三種方法。

參考資料

  1. https://blog.csdn.net/zouxy09/article/details/9156785
  2. Vocal Tract Length Perturbation (VTLP) improves speech recognition