An End-to-End Architecture for Keyword Spotting and Voice Activity Detection《端到端框架的語音喚醒詞識別檢測》

Abstract

我們提出了一個單一的神經網絡架構來完成兩項任務:在線關鍵詞發現和語音活動檢測。 我們開發了一種新的推理算法,用於使用Connectionist臨時分類損失函數訓練的端到端遞歸神經網絡,該模型使我們的模型無需重新訓練即可在關鍵詞識別和語音活動檢測上實現高精度。 與以前的語音活動檢測模型相比,我們的體系結構不需要對齊的訓練數據,並且使用與關鍵字發現模型相同的參數。 這使我們能夠部署高質量的語音活動檢測器,而無需其他存儲器或維護要求。

1 Introduction

關鍵字發現(KWS)是一項語音任務,需要檢測音頻信號中的特定單詞,通常用作大詞彙量(LV)語音識別器的“喚醒單詞”。 語音活動檢測(VAD)要求檢測信號中的人類語音,通常是爲了在大型詞彙語音識別系統中終結端點。 由於計算限制和嘈雜的環境,這兩項任務都具有挑戰性。 爲了限制計算成本,VAD模型通常依賴於手工設計的功能,需要與KWS模型分開進行培訓。
相反,我們爲KWS和VAD提出了一個單一的端到端神經網絡體系結構。 我們開發了新穎的推理算法,使我們無需重新培訓即可運行KWS和VAD任務。 我們的模型優於兩個基準,僅在未對齊的字符級成績單上進行了訓練,並且僅需維護單一架構即可進行培訓和部署。

2 Related Work

該模型基於端到端語音識別的工作,該工作使用連接主義語言分類損失函數和深度遞歸神經網絡[7,8]。在這項工作中,我們爲KWS和VAD任務開發了模型和推理過程。在[1]中給出了對該模型對LVCSR的好處的徹底處理。字符級CTC架構最近也被用於關鍵字識別[10],它優於DNN-HMM基線,而單詞級CTC架構在[5]中用於關鍵字識別。
傳統的VAD架構在歷史上是針對資源非常少的環境開發的,因此它們會犧牲準確性以降低計算成本。一些簡單有效的技術包括音頻信號能量的閾值,零交叉點數量的閾值[11]或這些特徵的組合,但是,這些方法通常對非平穩環境不可靠。我們注意到,現代LV語音環境比以前提供了更多的計算資源,並且使用較大的神經模型是可行的,尤其是對於LV ASR端點。已經爲VAD提出了神經架構,特別是[9]中的RNN架構,但是這種方法依賴於幀對齊標籤。

 

3 Model

對於一般的關鍵字搜尋器,我們對p(k | x)進行建模,其中k是關鍵字,x是語音窗口。 對於VAD,我們使用相同的分佈,只需將k設置爲空字符串即可。
我們使用連接主義者的時間分類[6](CTC)目標函數在話語和轉錄對語料庫上訓練RNN。 CTC目標爲我們提供了給定發音中任何標籤字符串的概率。 我們不需要比對,因爲CTC可以有效地計算所有可能比對中的得分。 話語x和相應的轉錄l的目標函數由下式給出

align(·)函數在CTC運算符下,在發聲的T個時間步長上計算轉錄l的可能比對的集合。 CTC運算符允許重複任何字符並插入空白字符ε,這表示在給定的時間步長沒有輸出。
對於在線KWS任務,我們必須確定是否已使用關鍵字來確定低延遲。 爲了將這種模型用於KWS,我們對音頻流x的移動窗口進行了評分,以便我們可以在關鍵字出現後立即找到它。 分數計算爲pCTC(k | xt:t + w),其中k是任何關鍵字,xt:t + w是w幀長的語音窗口。 對於VAD任務,我們首先通過將k設置爲空字符串來計算無語音的概率。 由此我們可以通過減去一個沒有語音的概率來找到語音的概率。

3.1 Network Architecture

網絡接受從8kHz採樣的原始波形計算得出的頻譜圖作爲輸入。 第一層是二維卷積,步幅爲3 [1]。 對於網絡的後三層,我們使用門控循環RNN層[3] [4]。 最後一層是單仿射變換,然後是softmax。 網絡直接輸出到字母中的字符,包括空格和空格字符。

3.2 Inference

用於KWS檢測的最佳窗口大小會根據語音速率,噪聲和相鄰語音而隨每個語音而變化。 爲了減輕算法對窗口大小參數的敏感度,我們建議對上述CTC評分算法進行修改。 對於給定的關鍵字k,而不是在模型下爲k本身評分,我們改爲對正則表達式[ˆk0] * k [ˆkn-1] *評分,其中k0和kn-1分別是k的第一個和最後一個字符。 算法1中對此進行了描述。
計算VAD分數可簡化爲對語音幀窗口上空白字符的對數概率求和:

4 Experiments

優化模型參數時,隨機梯度下降50個週期,最小批量大小爲256。我們對示例進行排序,以使微型批量由相似長度的發音組成,以提高計算效率。 選擇學習速率和動量參數以優化收斂速度。 我們每5000次迭代將學習率降低0.9倍。
網絡的架構如第3.1節所述。 卷積層的濾波器在時間和頻率範圍上分別爲11 x 32。 我們在所有模型中使用32個過濾器。

4.1 Data

用於訓練模型的數據包含兩個數據集。第一個數據集是通過類似助手的應用程序在Android手機上收集的52.6萬個轉錄話語的語料庫。第二語料庫由1544個關鍵字的口語示例組成,在本例中爲“ Olivia”。同時在兩個數據集上訓練模型。在微調之前,我們不需要對大型語料庫進行預訓練。我們還使用從網絡下載的大約一百小時的噪音和音樂的集合來生成關鍵字和空噪音片段的合成噪音示例。當使用嘈雜的數據進行訓練時,我們將每個關鍵字複製10次,每次使用隨機噪聲片段。我們還使用57K隨機採樣的噪聲片段(帶有空白標籤)作爲填充語。
在550個陽性示例(例如包含關鍵字“ Olivia”)和從上述大型語音語料庫中保留的5000個陰性示例的測試集上評估了KWS模型。在推論過程中,我們在800毫秒的窗口中每100毫秒用算法1評估發聲,以便檢測關鍵字的存在。如果從算法1的輸出中發現的話語分數始終高於預設閾值,則我們將示例分類爲肯定。
我們在VAD任務上評估相同的模型。正面示例與用作KWS任務的負面示例的5000個語音示例相同。我們從各種噪聲背景中收集了大約10個小時的非語音音頻。我們從10個小時的噪聲中採樣了5000個隨機片段,以構建陰性樣本。

4.2 Results

我們的KWS基線是kitt.ai 2的DNN關鍵字發現者。我們的VAD基線是幀大小爲30ms的WebRTC VAD編解碼器3。 我們的3層大小爲256層的模型優於兩個基準。對於固定的5%的誤報率,與基線的96.2%相比,我們的模型在關鍵字發現方面達到了98.1%的真確率。對於VAD任務,對於相同的假陽性率,我們的模型達到99.8%的真實陽性率,而基線爲44.6%。較大的增量可能是由於大參數神經模型相對於小參數GMM基線的表示能力存在顯着差異,以及訓練數據的類型和數量存在差異。
圖1和2顯示,隨着我們增加層數和模型大小,我們的模型在檢測關鍵字方面不斷改進。增加模型的深度和大小也會提高VAD性能。但是,當層數大於128或兩個以上時,VAD性能將達到飽和。大多數大型VAD模型的假陽性率固定爲5.0%,可達到99.9%或更高的真陽性率。
在圖3中,我們看到在訓練過程中向關鍵字添加噪音會帶來實質性的改善。假陽性率爲5%時,有噪聲的模型的真實陽性率爲98.9%,而無噪聲的模型爲94.3%。進一步單獨使用隨機噪聲數據無濟於事;實際上結果稍差。在VAD任務上,隨着噪聲的增加,ROC曲線也有所改善。
我們的生產模型具有3層256個隱藏單元,具有約1.5M的可訓練參數,與其他基於神經網絡的KWS方法[2]相比,已被部署到現代智能手機中。

5 Conclusion

我們已經描述了單個神經網絡體系結構,該體系結構可用於關鍵字發現和語音活動檢測,而無需重新訓練。 與以前的VAD模型相比,該模型易於訓練,並且不需要對齊或逐幀標籤。 我們爲從基本CTC評分算法修改而來的KWS和VAD提出了推理算法,該算法允許模型執行兩項任務。 儘管我們的模型是有效的,但應用神經壓縮技術可能會進一步提高性能,並代表未來工作的一個有趣領域。

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