語音切割,個人VAD (google 2019 論文翻譯)

論文:https://arxiv.org/pdf/1908.04284.pdf

題目:PERSONAL VAD: SPEAKER-CONDITIONED VOICE ACTIVITY DETECTION

摘要

在本文中,我們提出了“個人VAD”系統,該系統可以在幀級別檢測目標說話者的語音活動。 該系統可用於對流語音識別系統的輸入進行門控,使其僅爲目標用戶觸發,這有助於降低計算成本和電池消耗。 我們通過訓練以目標說話人嵌入或說話人驗證分數爲條件的類似VAD的神經網絡來實現這一目標。 對於每幀,個人VAD輸出三類的分數:非語音,目標說話者語音和非目標說話者語音。 通過我們的最佳設置,我們能夠訓練一個130KB的模型,該模型的性能優於基準系統,在基準系統中,單獨訓練的標準VAD和說話者識別網絡相結合可以執行相同的任務。

1.介紹

在現代語音處理系統中,語音活動檢測(VAD)通常位於其他語音組件(例如語音識別和說話者識別)的上游。 作爲門控模塊,VAD不僅通過丟棄非語音信號提高了下游組件的性能,而且由於其相對較小的尺寸,還大大降低了總體計算成本。
典型的VAD系統使用具有聲學特徵的幀級分類器爲每個音頻幀做出語音/非語音決策(例如,寬度爲25ms,步長爲10ms)。差的VAD系統可能會錯誤地接受背景噪聲作爲語音,或者錯誤地拒絕語音。錯誤接受非語音,因爲語音會大大減慢下游自動語音識別(ASR)處理。由於ASR模型通常比VAD模型大得多,因此它在計算上也很昂貴。另一方面,錯誤的拒絕語音會導致ASR轉錄中的刪除錯誤(幾毫秒的音頻丟失會刪除整個單詞)。 VAD需要在具有挑戰性的環境中正常工作,包括嘈雜的環境,混響的環境以及具有競爭性言語的環境。爲了找到最佳的VAD功能和模型,人們進行了大量研究[1,2,3,4,5]。在文獻中,基於LSTM的VAD是一種流行的體系結構,用於VAD任務的順序建模,顯示了最新的性能[3,5]。
在許多情況下,尤其是設備上的語音識別[6],通常會限制計算資源,例如CPU,內存和電池。 在這種情況下,我們希望僅在目標用戶與設備通話時才運行諸如語音識別之類的計算密集型組件。 當僅存在來自其他講話者的語音信號或電視噪音時,在後臺錯誤觸發此類組件會導致電池耗電和不良的用戶體驗。 因此,只有一個小模型只能通過目標用戶的語音信號是非常必要的,這是我們開發個人VAD系統的動力。 據我們所知,這項工作是旨在檢測目標說話者語音活動的第一項工作。
擬議的個人VAD是類似VAD的神經網絡,其條件是目標講話者嵌入或講話者驗證得分。個人VAD可以將確定範圍擴展到三類:非語音,目標說話人語音和非目標說話人語音,而不是確定標準VAD中的幀是語音還是非語音。我們提出了四種不同的體系結構來實現個人VAD,如第2.2節所述。在訓練個人VAD時,我們首先將其視爲三類分類問題,然後使用交叉熵損失來優化模型。此外,我們注意到,非語音和非目標說話者語音之間的區別性相對不如個人VAD中目標說話者語音與其他兩個類別之間的區別重要。因此,我們進一步提出了加權成對損失,以強制模型學習這些差異,如第2.3節所述。我們在LibriSpeech數據集[7]上評估模型,並在3.2節中描述了實驗設置,在3.5節中介紹了結果。結論在第4節中得出。

2.方法

2.1 說話人識別系統的概括

個人VAD依賴於預先訓練的獨立於文本的說話者識別模型,以將說話者身份編碼爲嵌入向量。 在這項工作中,我們使用[8]中介紹的“ d矢量”模型,該模型已成功應用於各種應用,包括說話者二值化[9,10],語音合成[11],源分離[12]和語音 翻譯[13]。 我們使用來自8種語言的數據對模型進行了重新訓練,以提高語言的魯棒性和性能。 在推論過程中,模型在滑動窗口上生成嵌入,並使用名爲“ dvector”的最終聚合嵌入來表示這種話語的語音特徵。 兩個d矢量嵌入之間的餘弦相似度可用於測量兩個語音的相似度。
在實際的應用程序中,要求用戶在啓用說話者驗證或個人VAD之前遵循註冊過程。 在註冊過程中,根據目標用戶的錄音計算出d矢量嵌入,並將其存儲在設備上。 由於註冊是一次性的體驗,並且可以在服務器端進行,因此我們可以假設嵌入在運行時是沒有損失的。
在這裏插入圖片描述
圖1.實施個人VAD的四種不同架構:(a)SC:獨立運行標準VAD和幀級說話人驗證,並將其結果組合在一起。 這用作其他方法的基準。 (b)ST:將幀級說話者驗證分數與聲學特徵相結合,以訓練個人VAD模型。 (c)ET:串聯的揚聲器嵌入了聲學功能,可以訓練個人VAD模型。 (d)設置:將說話者驗證分數和說話者嵌入與聲學特徵結合起來,以訓練個人VAD模型。

2.2 系統結構

個人VAD系統應該爲三個類別生成幀級別的類別標籤:非語音(ns),目標說話人語音(tss)和非目標說話人語音(ntss)。 如圖1所示,我們實現了四種不同的體系結構來實現個人VAD。所有四種體系結構都依賴於目標演講者的嵌入,該嵌入是通過註冊過程獲得的。

2.2.1 Score combination (SC)

如圖1(a)所示,此方法不需要訓練任何新模型,因此我們將其用作其他方法的基準。標準VAD模型和說話者識別模型在聲學功能上獨立運行。標準VAD爲每個幀產生語音(s)和非語音(ns)的softmax概率。說話人識別模型在每個幀處產生一個嵌入,並針對目標說話人嵌入進行驗證。所得的餘弦相似度可以重新縮放,並與s的概率結合以獲得tss和ntss的概率,並且ns的概率直接用於ns類。
該體系結構有兩個主要缺點。首先,它在幀級別上運行基於窗口的說話人識別模型,並且這種不一致會導致性能顯着下降。但是,訓練框架級別的說話人識別模型由於難以處理不同長度的批量話語而無法擴展。其次,此體系結構需要在運行時運行說話者識別系統,這可能會很昂貴,因爲說話者識別模型通常比VAD模型要大得多。

2.2.2 Score conditioned training (ST)

如圖1(b)所示,此方法使用說話人識別模型爲每個幀生成一個餘弦相似度評分,並將該餘弦相似度評分連接到聲學特徵。 我們的聲學特性是40維對數梅爾濾波器組能量。 因此,級聯後,特徵變爲41維。 我們訓練了一個新的個人VAD網絡,該網絡將連接的要素作爲輸入,併爲每個幀輸出三個類別標籤。

2.2.3 Embedding conditioned training (ET)

如圖1(c)所示,此方法將目標說話人嵌入(通過註冊過程獲取)與聲學特徵直接連接在一起,以訓練新的個人VAD網絡以在幀級別輸出三個標籤。 我們的嵌入是256維的,因此此處的串聯特徵是296維的。
由於此方法不需要在運行時運行大型說話人識別模型,因此它是所有體系結構中最輕便的解決方案。
一種解釋這種方法的方法是將其視爲從大型說話者識別模型到小型個人VAD模型的知識提煉[14]過程。

2.2.4 Score and embedding conditioned training (SET)

如圖1(d)所示,此方法將嵌入語音特徵的幀級說話人識別分數和目標說話人連接在一起,以訓練新的個人VAD模型。 串聯特徵爲297維。
這種方法利用了說話人識別系統中的大多數信息。 但是,它仍然需要在運行時運行說話者識別模型。

2.2成對加權損失

通過輸入框x和相應的地面真相標籤y∈{ns,tss,ntss},個人VAD可以被視爲三元分類問題。 網絡輸出x在三個類別上的非標準化分佈,表示爲z = f(x; w),其中w是網絡的參數。 我們用zk表示第k類的非歸一化概率。 爲了訓練模型,我們將交叉熵損失最小化爲:
在這裏插入圖片描述
其中k∈{ns,tss,ntss}
但是,在個人VAD中,我們的目標是僅從目標揚聲器中檢測語音活動。 分類爲ns和nts類的音頻幀將被下游組件類似地丟棄。 結果,之間的混淆錯誤比和之間的錯誤對系統性能的影響較小。 受Tuplemax損失[15]的啓發,這裏我們提出了一個成對加權損失,以模擬對每個類別對的不同容忍度。 給定z和y,我們將加權成對損失定義爲:
在這裏插入圖片描述
其中w <k,y>是類別k和類別y之間的權重。 通過將<ns,ntss>錯誤的權重設置爲低於<tss,ntss>和<tss,ns>錯誤的權重,我們可以強制模型更容忍<ns,ntss>之間的混淆,並着重於將tss與 ns和ntss區分開。

3. 實驗

3.1 數據集

我們使用LibriSpeech數據集[7]來訓練和評估所提出的方法。訓練集包含960個小時的語音,其中460個小時是“乾淨”語音,其他500個小時是“嘈雜”語音。
測試集還包括“乾淨”和“嘈雜”的語音。我們還考慮使用其中每個話語都包含自然的說話人轉彎的數據集,例如用於說話人二值化的數據集[9]。但是,這些數據集不包含單個演講者的註冊話語,因此它們不適用於我們的個人VAD設置。因此,我們必須將發聲串聯起來以模擬揚聲器的轉彎(請參閱第3.2.1節),然後對發聲進行噪聲化以減輕串聯失真(請參見第3.2.2節)。
在所有實驗中,我們使用串聯的LibriSpeech訓練集來訓練模型。我們將使用原始LibriSpeech測試集和連接的LibriSpeech測試集進行評估,如以下小節所述。對於所有數據集,我們使用力對齊來生成用於訓練和評估的幀級地面真相標籤。

3.2 實驗設置

3.2.1 Utterance concatenation

在標準VAD的訓練語料庫中,每種話語通常只包含來自一位發言人的講話。 但是,個人VAD旨在在與多個說話者進行對話的過程中找到目標說話者的語音活動。 因此,我們不能直接使用標準VAD訓練語料來訓練個人VAD。 爲了模擬對話語音,我們將來自多個說話者的話語連接成更長的話語,然後我們在連接話語中隨機選擇一個說話人作爲目標說話人。
爲了生成級聯的話語,我們繪製一個隨機數n,該數字指示從均勻分佈中用於級聯的話語數:
n ∼ Uniform(a, b),
其中a和b是用於級聯的最小和最大發音數量。 將來自n個隨機選擇的發音的波形進行級聯,並且將揚聲器之一假定爲級聯發音的目標揚聲器。 同時,我們根據目標說話者修改了每個幀的VAD地面真相標籤:“非語音”幀保持不變,而“語音”幀被修改爲“目標說話者語音”或“非目標” 說話者語音”,則取決於來源話語是否來自目標說話者。
在我們的實驗中,我們爲訓練集生成了300,000個連接的話語,爲測試集生成了5,000個連接的話語。 我們爲兩組都設置a = 1和b = 3。

3.2.2 Multistyle training

對於訓練和評估,我們在數據集上應用了一種稱爲“多樣式訓練”(MTR)的數據增強技術,以避免域過度擬合併減輕級聯僞像。 在MTR期間,使用隨機選擇的房間配置,通過多個隨機選擇的噪聲源對原始(連接的)源話音進行噪聲處理。 我們的噪聲源包括在咖啡館中記錄的827種環境噪聲音頻,在無聲環境中記錄的786種音頻以及包含背景音樂或噪聲的6433個YouTube片段。 我們使用房間模擬器生成了300萬個房間配置,以涵蓋不同的混響條件。 我們的MTR的信噪比(SNR)的分佈如圖2所示。
在這裏插入圖片描述

圖2.我們的多風格訓練的SNR(dB)直方圖。

3.3 模型配置

聲學特徵是40維對數梅爾濾波器組能量,該能量在寬度爲25ms,步長爲10ms的幀中提取。 對於標準VAD模型和個人VAD模型,我們使用具有64個神經元的2層LSTM網絡,然後是具有64個神經元的完全連接層。 我們還嘗試了更大的網絡,但由於培訓數據種類有限,因此未看到性能改善。 我們使用TensorFlow [16]進行訓練和推理。 在訓練期間,我們使用adam優化器,其學習率爲5×10−5。 對於加權成對損失模型,我們設置w = w = 1並探索w∈{0.01,0.05,0.1,0.5,1.0}的不同值。 爲了減小模型的大小並加速運行時推理,我們根據[17]將模型的參數量化爲8位整數值
表1.體系結構和損失函數比較結果。 SC:分數組合,基線系統。 ST:分數條件訓練。 ET:嵌入條件訓練。 設置:評分和嵌入條件訓練。 CE:交叉熵損失。 WPL:加權成對損耗(w = 0.1)。 我們報告每個類別的平均精度(AP),以及所有類別的平均平均精度(mAP)。 網絡參數包括來自說話人識別模型的488萬個參數(如果在推理過程中使用的話)。
在這裏插入圖片描述
在這裏插入圖片描述
圖3.在加權成對損失中具有不同w <ns,ntss>值的個人VAD(ET)的平均精度(mAP)

這裏可以看到使用MTR(多樣式訓練的數據增強技術)準確率可以提高5個百分點

3.4 指標

爲了評估所提出方法的性能,我們計算了每個類別的平均精度(AP)和所有類別的平均精度(mAP)。 在計算mAP時,我們採用了micro-mean1來考慮類的不平衡。

3.5 結果

我們進行了三組實驗以評估所提出的方法。 首先,我們比較了個人VAD的四種架構。 之後,我們檢查了加權成對損失的有效性,並將其與常規交叉熵損失進行了比較。 最後,我們在標準VAD任務上評估個人VAD,以查看個人VAD是否可以替代標準VAD而不會降低性能。

3.5.1 架構比較

在第一組實驗中,我們比較了圖1中描述的四種個人VAD架構的性能。我們在級聯的LibriSpeech測試集中評估了這些系統。此外,爲了探討個人VAD在嘈雜語音上的表現,我們還在測試設備上應用了MTR。我們報告了在有和沒有MTR的測試集上的評估結果,如表1所示。結果表明,在所有情況下,ST,ET和SET均明顯優於基線SC系統。當將MTR應用於測試集時,我們發現在建議的方法和基準之間有較大的性能提升。在建議的系統中,SET的tss最高,而ST的表現略優於ET。但是,ST和SET都需要運行說話者識別模型以在推理期間計算餘弦相似度得分,這將大大增加模型中的參數數量和推理計算成本。相比之下,ET在測試集上僅以13萬參數(小40倍左右)的模型獲得了tss類的0.932(不具有MTR)/0.878(具有MTR)AP。

3.5.2 損失函數比較

在第二組實驗中,我們將建議的加權成對損失與常規交叉熵損失進行了比較。 在這裏,我們僅考慮ET體系結構,因爲它在實現合理良好性能的同時要輕得多。 同樣,我們在有和沒有MTR的串聯LibriSpeech測試集中評估了系統。
在圖3中,我們針對加權成對損耗中w <ns,ntss>的不同值繪製了tss的AP。 從結果中,我們觀察到使用比w <tss,ns>和w <tss,ntss>小的w <ns,ntss>值將改善性能。 當設置w <ns,ntss> = 0.1時,可獲得最佳性能,表1中列出了詳細結果。

3.5.3 個人VAD用作標準VAD任務

如果要用個人VAD替換標準VAD組件,我們還需要保證標準語音/非語音任務的性能下降最小。 我們在未連接的LibriSpeech測試數據上評估了兩個個人VAD模型(具有交叉熵損失的ET體系結構,具有成對成對損失的ET體系結構)(因此,每個語音僅包含目標說話者)。 結果如表2所示。我們可以看到,用於課堂演講的AP在個人VAD和標準VAD之間非常接近,這證明用個人VAD代替標準VAD是合理的。
表2.對標準VAD任務的評估。 我們報告了語音(s)和非語音(ns)的平均精度(AP)。
在這裏插入圖片描述

4. 結論

在本文中,我們提出了四種不同的體系結構來實現個人VAD,這是一種檢測目標用戶語音活動的系統。 在不同的體系結構中,使用具有聲音特徵和註冊目標揚聲器嵌入作爲輸入的單個小型網絡,可以以最小的運行時計算成本實現近乎最佳的性能。 爲了對不同類型的錯誤的容忍度進行建模,我們提出了一個新的損失函數,即加權成對損失,它被證明比常規的交叉熵損失具有更好的性能。 我們的實驗還表明,個人VAD和標準VAD在標準VAD任務上的表現均相同。 總而言之,我們的發現表明,通過僅專注於所需的目標說話者,個人VAD可以降低在嘈雜環境中運行的語音識別系統的總體計算成本。

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