(ICASSP 2014)Small-footprint keyword spotting using deep neural networks

會議:ICASSP 2014
論文:Small-footprint keyword spotting using deep neural networks
作者:Guoguo Chen ; Carolina Parada ; Georg Heigold

Abstract

我們的應用程序需要具有內存佔用量小,計算成本低和精度高的關鍵字查找系統。爲了滿足這些要求,我們提出了一種基於深度神經網絡的簡單方法。訓練深度神經網絡以直接預測關鍵詞或關鍵詞的子詞單元,然後採用後處理方法產生最終的置信度得分。相對於基於競爭性的基於隱馬爾可夫模型的系統,關鍵字識別結果實現了45%的相對改進,而在有雜音的情況下,性能則顯示了39%的相對改進。

INTRODUCTION

由於智能手機和平板電腦的快速發展,使用語音與技術進行交互變得司空見慣。例如,Google提供了在Android設備上通過語音搜索[1]的功能,而Apple的iOS設備配備了名爲Siri的會話助手。這些產品允許用戶點擊設備,然後說出查詢或命令。

我們有興趣通過開發一個系統來連續不斷地收聽特定的關鍵字來啓動語音輸入,從而使用戶擁有完全的免提體驗。這在開車等情況下尤其有用。所提出的系統必須高度準確,低延遲,佔用空間小,並且必須在計算受限的環境(例如現代移動設備)中運行。在設備上運行系統避免了連接到服務器進行識別的延遲和功耗問題。

關鍵字搜尋(KWS)旨在檢測音頻流中的預定義關鍵字,這是一種提供所需免提界面的潛在技術。儘管大多數建議的方法都不適合計算受限環境中的低延遲應用,但在KWS中已有大量文獻。例如,幾個KWS系統[2],[3],[4]假定使用大詞彙量連續語音識別系統(LVCSR)進行音頻的脫機處理以生成豐富的晶格。在這種情況下,他們的任務集中在高效索引和搜索晶格中的關鍵字。這些系統通常用於搜索大型音頻內容數據庫。相反,我們專注於檢測音頻流中的關鍵字而沒有任何延遲。

關鍵字發現的常用技術是“關鍵字/填充程序隱馬爾可夫模型”(HMM)[5],[6],[7],[8],[9]。儘管最初是在二十多年前提出的,但它仍然具有很高的競爭力。在這種生成方法中,針對每個關鍵字訓練HMM模型,並根據語音信號的非關鍵字段(填充詞)訓練填充模型HMM。在運行時,這些系統需要Viterbi解碼,根據HMM拓撲的不同,這在計算上可能會很昂貴。最近的其他工作探索了基於大利潤公式[10],[11]或遞歸神經網絡[12]的關鍵字發現的判別模型。,[13]。這些系統顯示出相對於HMM方法的改進。但是,基於大幅度公式化的方法需要處理整個話語以找到最佳關鍵字區域,這會增加檢測延遲。我們也一直在研究用於關鍵詞發現的遞歸神經網絡,但是這項工作正在進行中,在本文中將不再討論。

我們提出了一種適用於移動設備的基於深度神經網絡的簡單判別式KWS方法。我們將其稱爲Deep KWS。訓練深度神經網絡以直接預測關鍵詞或關鍵詞的子詞單元,然後採用後處理方法產生最終的置信度得分。與HMM方法相比,該系統不需要序列搜索算法(解碼),從而實現了更簡單的實現,減少了運行時計算並減小了內存佔用。它還每10毫秒做出一次決定,從而最大程度地減少了等待時間。我們顯示,即使使用較少量的數據進行訓練,Deep KWS系統在乾淨和嘈雜的測試集上也優於基於HMM的標準系統。

我們將在第2節中介紹基於DNN的KWS框架,並在第3節中介紹基於基線HMM的KWS系統。實驗設置,結果和一些討論將在第4節中介紹。第五部分以結論結尾。

DEEP KWS SYSTEM

Deep KWS框架如圖1所示。該框架包括三個主要部分:(i)特徵提取模塊,(ii)深度神經網絡和(iii)後處理模塊。特徵提取模塊(i)執行語音活動檢測,並每幀(10 ms)生成特徵向量。使用左上下文和右上下文堆疊這些特徵以創建更大的向量,並將其作爲輸入饋送到DNN(第2.1節)。我們訓練DNN(ii),以根據堆疊特徵預測每個輸出標籤的後驗概率。這些標籤可以對應於關鍵字的整個詞或子詞(第2.2節)。最後,一個簡單的後處理模塊(iii)將每幀產生的標籤後代組合成用於檢測的置信度得分(第2.3節)。
在這裏插入圖片描述
在圖1的示例中,音頻包含關鍵短語“ okay google”。在這種情況下,DNN僅具有3個輸出標籤:“ okay”,“ google”和“ filler”,並且生成(iii)中所示的幀級後驗分數。後處理模塊組合這些分數以提供該窗口的最終置信度分數。

2.1. Feature Extraction
特徵提取模塊是我們建議的Deep KWS系統和基準HMM系統所共有的。

爲了減少計算量,我們使用了語音活動檢測系統,並且僅在語音區域中運行KWS算法。在[14]中描述的語音活動檢測器使用13維PLP特徵及其delta和double-delta作爲已訓練的30分量對角協方差GMM的輸入,GMM在每一幀都生成語音和非語音後驗。隨後是手動調諧狀態機(SM),該狀態機通過識別許多幀語音後驗超過閾值的區域來執行時間平滑。

對於語音區域,我們基於在25 ms的窗口中每10 ms計算的40維對數濾波器組能量來生成聲學特徵。堆疊連續的幀以添加足夠的左右上下文。輸入窗口是不對稱的,因爲將來上下文的每個其他幀都會給系統增加10毫秒的延遲。對於我們的Deep KWS系統,我們使用10個將來的框架和30個過去的框架。對於HMM基線系統,我們使用5個將來的幀和過去的10個幀,因爲這提供了準確性,延遲和計算之間的最佳權衡[15]。

2.2. Deep Neural Network
深度神經網絡模型是一個標準的前饋全連接神經網絡,具有 ķ 隱藏層和 ñ每層隱藏節點,每個節點計算上一層輸出的加權和的非線性函數。最後一層具有softmax,其輸出每個輸出標籤的後驗估計。對於隱藏層,我們已經對常規邏輯和整流線性單位(ReLU)函數進行了實驗[16],並一致地發現ReLU在我們的開發集上優於邏輯,同時減少了計算量。我們僅提供ReLU激活的結果。

網絡的大小也取決於輸出標籤的數量。在以下小節中,我們將詳細描述神經網絡的標籤生成和訓練。我們還描述了一種可以進一步提高KWS性能的學習技術。

Labeling
對於我們的基線HMM系統,如先前的工作[8],[9]和[17]一樣,神經網絡輸出層中的標籤是上下文相關的HMM狀態。更具體地,基線系統使用如[15]中所述選擇的2002上下文相關狀態。

對於建議的Deep KWS,標籤可以代表關鍵字/關鍵字短語中的整個單詞或子單詞單元。我們會報告帶有完整字詞標籤的結果,因爲這些詞優於子字詞單元。這些標籤是在訓練時使用我們的50M參數LVCSR系統[18]通過強制對齊生成的。使用整個單詞標籤作爲網絡的輸出而不是HMM狀態具有以下優點:(i)輸出標籤的庫存較少,減少了最後一層中神經網絡參數的數量,這在計算上很昂貴(ii)簡單的後驗可以使用處理方法來做出決定(如第2.3節中所述),(iii)假設訓練數據對於所考慮的每個單詞標籤都足夠,則整個單詞模型可以實現更好的性能。

Training
假設pij是第i個標籤和第j個框架xj的神經網絡(請參閱第2.1節),其中i取介於0,1,…,n−1之間的值,其中n爲總標籤數,0爲非標籤數 -關鍵詞。 通過最大化標記訓練數據{xj,ij} j的交叉熵訓練準則來估計深度神經網絡的權重和偏差(上一段)。

優化與軟件框架DistBelief進行[19] ,[20] ,支持分佈在深層神經網絡多CPU計算。我們將異步隨機梯度下降用於學習率,並且具有指數衰減。

Transfer learning
轉移學習是指這樣的情況,其中(一些)網絡參數已使用現有網絡的相應參數進行初始化,並且沒有從頭進行訓練[21],[22]。在這裏,我們使用具有適當拓撲的深度神經網絡進行語音識別,以初始化網絡的隱藏層。培訓中所有層均已更新。轉移學習具有潛在的優勢,即隱藏層可以通過利用大量數據並避免不良的局部最優來學習更好,更魯棒的特徵表示[21]。在我們的實驗中,我們發現情況確實如此。

2.3. Posterior Handling
在第2.2節中解釋的DNN 會生成基於幀的標籤後驗。在本節中,我們討論將DNN後代組合到關鍵字/關鍵字短語置信度分數中的簡單但有效的方法。如果可信度超過某個預定閾值,則將做出決定。我們描述假設單個關鍵字的置信度計算。但是,可以輕鬆修改它以同時檢測多個關鍵字。

Posterior smoothing
Confidence

BASELINE HMM KWS SYSTEM

我們實現了標準的關鍵字填充器隱馬爾可夫模型作爲基準。基本思想是爲關鍵字創建一個HMM,並創建一個HMM來表示語音信號(填充模型)的所有非關鍵字段。填充模型有多種選擇,從完全連接的語音單元[6]到完整的LVCSR系統,其中詞典排除了關鍵字[23]。顯然,後一種方法可以產生更好的填充模型,但是在運行時需要較高的計算成本,並且內存佔用量也要大得多。考慮到我們應用程序的限制,我們實現了一個基於三音機的HMM模型作爲填充器。與先前的工作[6],[23]相反,我們的實現使用了深度神經網絡來計算HMM狀態密度。

圖2顯示了Keyword-Filler HMM拓撲。通過使用此拓撲運行Viterbi解碼並檢查最佳路徑是否通過關鍵字HMM,可以實現關鍵字檢測。錯誤警報(不存在關鍵字,但KWS系統給出肯定的決定)和錯誤拒絕(存在關鍵字,但KWS系統給出否定的決定)之間的權衡,是由關鍵字和填充模型之間的轉換概率控制的。高的轉移概率導致高的虛警率,反之亦然。

Keyword-Filler模型的一個重要優點是在訓練時它不需要特定於關鍵字的數據。它只是通過一般語音數據的似然最大化簡單地學習了所有三音機HMM狀態的生成模型。關鍵字的知識只能在運行時通過在解碼器圖中指定關鍵字來引入。但是,如果可以使用關鍵字特定的數據進行訓練,則可以使用轉移學習(第2.2節)來提高系統性能,即,通過使用在通用語音數據上訓練過的網絡初始化聲學模型網絡,然後繼續使用關鍵字來對其進行訓練特定的數據。
在這裏插入圖片描述

EXPERIMENTAL RESULTS

實驗是在一個數據集上進行的,該數據集結合了真實的語音搜索查詢(作爲否定示例)和短語(包括關鍵字),有時還包含查詢(作爲肯定示例)。表1中顯示了所評估的關鍵字的完整列表。我們訓練了一個單獨的Deep KWS,併爲每個關鍵短語構建了一個單獨的Keyword-Filler HMM KWS系統。結果以修改後的接收器工作特性(ROC)曲線的形式呈現,其中我們用Y軸上的錯誤拒絕率代替了真實的陽性率。曲線越低越好。通過掃描圖2中關鍵字HMM路徑的轉移概率來獲得基線系統的ROC。。對於Deep KWS系統,可通過掃描置信度閾值來獲得ROC。我們爲每個關鍵字生成一條曲線,並將所有測試的關鍵字垂直(以固定的FA率)平均化。以0.5%的FA率進行詳細比較,這是實際應用中的典型工作點。
在這裏插入圖片描述
我們將Deep KWS系統和HMM系統與具有不同大小的神經網絡進行比較(第4.3節),評估兩個系統的遷移學習效果(第4.2節),並在存在babble noise的情況下顯示性能變化(第4.4節)。

4.1. Data
我們使用兩組訓練數據。第一組是通用語音語料庫,由3,000個小時的手動轉錄語音(稱爲VS數據)組成。第二組是關鍵字特定數據(稱爲KW數據),其中包括每個關鍵字約2.3K的訓練示例和133K否定示例,其中包括匿名語音搜索查詢或其他短短語。對於關鍵字“ okay google ”,有40K個積極示例可供培訓。

評估集包含每個關鍵字大約1K個肯定示例和70K個否定示例,佔正負比率的1.4%,以匹配預期的應用程序使用情況。同樣,對於關鍵字“ okay google ”,我們使用了2.2K個正面示例。噪聲測試集是通過向該測試集添加10db信噪比(SNR)的噪聲而生成的。最後,我們使用正樣本和負樣本的大小相似的不重疊集合作爲開發集來調整解碼器參數和DNN輸入窗口大小參數。

4.2. Results
我們首先評估爲基線HMM和Deep KWS系統訓練的較小神經網絡的性能。兩種系統都使用2.1中描述的前端。他們都使用了一個網絡,該網絡具有3個隱藏層,每層具有128個隱藏節點,並且具有ReLU非線性。但是,兩個網絡的參數數量並不相同。用於基線HMM系統的DNN聲學模型使用10個左框架和5個右框架的輸入窗口大小,並輸出2,002個HMM狀態,從而產生大約373K參數。Deep KWS使用30個左框架和10個右框架,但僅生成單詞標籤,從而根據評估的關鍵短語將輸出標籤清單減少到3或4。Deep KWS的參數總數不超過244K。

圖3顯示了兩個系統的性能。 基線3×128(VS)是指具有在語音搜索語料庫上訓練的DNN聲學模型的HMM系統。 基準3×128(VS + KW)是使用關鍵字特定數據適應DNN聲學模型後的同一系統。 Deep 3×128(KW)是指針對關鍵字特定數據訓練的擬議Deep KWS系統。 最後,如我們在2.2節中介紹的,使用經過VS數據訓練的網絡初始化Deep 3×128KW網絡時,Deep 3×128(VS + KW)表現出性能。

從結果可以清楚地看出,即使使用更少的數據和更少的參數來訓練,建議的Deep KWS仍勝過基線HMM KWS系統。 例如,請參見圖3中的Deep 3×128(KW)與Baseline 3×128(VS + KW)。在非常低的虛警率下,增益較大,這對於我們的應用而言是理想的工作點。 在0.5%的FA率下,深3×128(VS + KW)系統相對於基準3×128(VS + KW)可獲得45%的相對改進。 使用第2.2節中所述的DistBelief框架,對KW數據上的網絡進行培訓僅需幾個小時,而對VS + KW上的網絡進行培訓則需要大約一週的時間。
在這裏插入圖片描述
4.3. Model Size
圖4給出了評估兩個使用6×512網絡的系統時的性能。 在這種情況下,基線的參數數量增加到2.6M,而Deep模型達到2.1M。 Deep 6×512(KW)系統實際上比較小的3×128模型性能差,我們推測這是由於KW數據不足以訓練大量參數。 但是,當兩個系統都以VS + KW數據進行訓練時,相對於其相應的3×128系統,我們觀察到了一致的改進。 同樣,Deep KWS系統具有優於基準的性能。

4.4. 噪聲魯棒性
我們還在帶噪聲的測試集上測試了相同的模型,該測試集是通過向原始測試集添加10db SNR的噪聲而生成的。 比較圖3和圖5中的基線3×128(VS + KW),FA率爲0.5%時,HMM的FR率從5%FR翻倍到10%FR。 Deep KWS系統遭受類似的降級。 但是,相對於基準而言,它可實現39%的相對改進。

CONCLUSION

我們提出了一種新的基於深度神經網絡的關鍵字發現框架。實驗結果表明,在乾淨和嘈雜的條件下,該框架均優於基於HMM的標準系統。我們進一步證明,僅用KW數據訓練的Deep KWS模型比使用KW和VS數據訓練的基線HMM KWS系統產生更好的搜索性能。Deep KWS系統還導致實現更簡單,從而消除了對解碼器的需求,減少了運行時計算,並且模型更小,因此受到我們嵌入式應用程序的青睞。

由於我們正在處理的檢測應用程序僅需要實時的是/否決策,因此本文中提出的框架不會明確建模關鍵字結束時間。在將來的工作中,我們將擴展該方法以對關鍵字邊界進行建模。

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