在美國各大主要城市,市民一天24小時會切到數(shù)千個公共第一響應(yīng)者無線電波,這些信息用于給500多萬用戶提供火災(zāi)、搶劫和失蹤等突發(fā)事件的實時安全警報。每天人們收聽音頻的總時長會超過1000小時,這給需要開發(fā)新城市的公司帶來了挑戰(zhàn)。
因此,我們構(gòu)建了一個機器學(xué)習(xí)模型,它可以從音頻中捕捉到重大安全事故的信息。
定制的軟件適用無線電(SDR)會捕捉大范圍內(nèi)的無線電頻率(RF),將優(yōu)化后的音頻片段發(fā)送到ML模型進行標記。標記后的片段會被發(fā)送至操作分析員,他們將在app中記錄事件,最后通知事故地點附近的用戶。
安全警報工作流程(圖自作者)
為適應(yīng)問題領(lǐng)域,調(diào)整一個公共語音轉(zhuǎn)文本引擎
運用公共語音轉(zhuǎn)文本引擎的剪輯分類器 (圖自作者)
依據(jù)單詞錯誤率(WER),我們將從一個性能最好的語音轉(zhuǎn)文本引擎著手。很多警察使用的特殊代碼都不是白話,例如,紐約警察局官員會發(fā)送“信號13”來請求后備部隊。
我們使用語音上下文定制詞匯表。為適應(yīng)領(lǐng)域,我們還擴充了一些詞匯,例如,“assault”并不通俗,但常見于領(lǐng)域中,模型應(yīng)檢測出“assault”而不是“a salt”。
調(diào)整參數(shù)之后,我們能夠在一些城市獲得相對準確的轉(zhuǎn)錄。接下來,我們要使用音頻片段的轉(zhuǎn)錄數(shù)據(jù),找出哪些與市民相關(guān)。
基于轉(zhuǎn)錄和音頻特征的二值分類器
我們建立了一個二進制分類問題的模型,其中轉(zhuǎn)錄作為輸入,置信水平作為輸出,XGBoost算法為數(shù)據(jù)集提供了最好的性能。
我們從一位前執(zhí)法部門工作人員處了解到,在重大事件的無線電廣播之前,一些城市會發(fā)出特殊警報音以引起當?shù)鼐降淖⒁狻_@個“額外”的特征使我們的模型更加可靠,尤其是在轉(zhuǎn)錄出錯的情況下。其他一些有用的特征是警察頻道和傳輸ID。
我們在操作流程中對ML模型進行了測試。運行了幾天后,我們注意到在事件中,那些只使用帶了模型標記的片段的分析員未出差錯。
我們在幾個城市推出了這種模式?,F(xiàn)在一個分析師可以同時處理多個城市的音頻,這在以前是不可能的。隨著投入運營的閑置產(chǎn)能增多,我們得以開發(fā)新的城市。
超越公共語音轉(zhuǎn)文本引擎
這個模型并不是解決所有問題的靈丹妙藥,我們只能在少數(shù)幾個音質(zhì)好的城市使用它。公共語音轉(zhuǎn)文本引擎是按照聲學(xué)剖面不同于收音機的音素模型訓(xùn)練的,因此,轉(zhuǎn)錄的質(zhì)量有時是不可靠的。對于那些非常嘈雜的老式模擬系統(tǒng)來說,轉(zhuǎn)錄是完全不可用的。
我們嘗試了多個來源的多個模型,但沒有一個是按照與數(shù)據(jù)集相似的聲學(xué)剖面訓(xùn)練的,全都無法處理嘈雜的音頻。
我們試著用在保證管道其他部分不變的情況下由數(shù)據(jù)訓(xùn)練出的語音轉(zhuǎn)文本引擎,替換原語音轉(zhuǎn)文本引擎。然而,為了音頻,我們需要幾百小時的轉(zhuǎn)錄數(shù)據(jù),而生成這些數(shù)據(jù)耗時耗財。
我們還有個優(yōu)化過程的選擇,就是只抄寫詞匯表中定義為“重要”的單詞,并為不相關(guān)的單詞添加空格,但這仍然只是在逐步減少工作量而已。最后,我們決定為問題領(lǐng)域建立一個定制的語音處理管道。
用于關(guān)鍵詞識別的卷積神經(jīng)網(wǎng)絡(luò)
因為我們只關(guān)心關(guān)鍵字,所以并不需要知道單詞正確的順序,由此可簡化問題為關(guān)鍵字識別。這就簡單多了,我們決定使用在數(shù)據(jù)集上訓(xùn)練的卷積神經(jīng)網(wǎng)絡(luò)(CNN)。
在循環(huán)神經(jīng)網(wǎng)絡(luò)(RNNs)或長短期記憶(LSTM)模型之上使用卷積神經(jīng)網(wǎng)絡(luò)(CNN)意味著我們可以更快地訓(xùn)練和重復(fù)。我們評估了Transformer模型,其大致相同,但需要大量硬件才能運行。
由于我們只在音頻段之間尋找短期的依賴關(guān)系來檢測單詞,計算簡單的CNN似乎優(yōu)于Transformer模型,同時它能騰出硬件空間,從而可以通過超參數(shù)調(diào)整更加靈活。
用于識別關(guān)鍵字并運用了卷積神經(jīng)網(wǎng)絡(luò)的剪輯標記模型(圖自作者)
音頻片段會被分成固定時長的子片段。如果詞匯表中的一個單詞出現(xiàn)了,該子片段會被加上一個正標簽。然后,如果在某個片段中發(fā)現(xiàn)任何這樣的子片段,該音頻片段會被標記為有用。
在訓(xùn)練過程中,我們嘗試改變子片段的時長以判斷其如何影響融合性能。長的片段讓模型更難確定片段的哪個部分會有用,也讓模型更難調(diào)試。短片段意味著部分單詞會出現(xiàn)在多個剪輯中,這使得模型更難識別出它們。調(diào)整這個超參數(shù)并找到一個合理的時長是能做到的。
對于每個子片段,我們將音頻轉(zhuǎn)換成梅爾倒譜系數(shù)(MFCC),并添加一階和二階導(dǎo)數(shù),特征以25ms的幀大小和10ms的步幅生成。然后,通過Tensorflow后端輸入到基于Keras序列模型的神經(jīng)網(wǎng)絡(luò)中。
第一層是高斯噪聲,這使得模型耐得住不同無線信道之間的噪聲差異。我們嘗試了另一種方法,人為地將真實的噪音疊加到片段上,但這大大放緩了訓(xùn)練,卻沒有顯著的性能提升。
然后,我們添加了Conv1D、BatchNormalization和MaxPooling1D三個后續(xù)層。批處理規(guī)范化有助于模型收斂,最大池化有助于使模型耐得住語音和信道噪聲的細微變化。另外,我們試著增加了脫落層,但這些脫落層并未有效改進模型。
最后,添加一個密集連接的神經(jīng)網(wǎng)絡(luò)層,將其注入到一個有著sigmoid函數(shù)激活的單一輸出密集層。
生成標記數(shù)據(jù)
音頻剪輯的標記過程(圖自作者)
為了標記訓(xùn)練數(shù)據(jù),我們把問題領(lǐng)域的關(guān)鍵字列給了注釋者,并要求他們?nèi)绻性~匯表里的單詞出現(xiàn),必須為片段標記好開始和結(jié)束位置和單詞標簽。
為了確保注釋的可靠性,我們在注釋器之間有10%的重疊,并計算了它們在重疊片段上的表現(xiàn)。一旦有了大約50小時的標記數(shù)據(jù)就會啟動訓(xùn)練,我們會在重復(fù)訓(xùn)練的過程中不斷收集數(shù)據(jù)。
由于詞匯表中的一些單詞比另一些單詞更為常見,模型針對于普通單詞來說表現(xiàn)正常,但是對于僅有較少示例的單詞卻遇到了困難。
我們試圖將單字發(fā)音覆蓋在其他片段中,借以人為制造示例。然而,性能的提升與這些單詞的實際標記量不相稱。最終,模型對于常用詞等會更加敏感,我們在未被標記的音頻片段上運行該模型,并消除掉那些含有已習(xí)得單詞的片段,這有助于減少未來標記時多余的詞語。
模型的發(fā)行
經(jīng)過幾次重復(fù)的數(shù)據(jù)收集和超參數(shù)調(diào)整,我們已能訓(xùn)練出一個對詞匯表里的詞語具有高查全率和精準捕捉能力的模型。高查全率對于捕捉關(guān)鍵的安全警報非常重要。標記的片段會在發(fā)送警報之前被收聽,因此誤報不是一個大問題。
我們在紐約市的一些區(qū)對這個模型進行了測試,該模型能夠?qū)⒁纛l音量降低50–75%(取決于頻道),它明顯超越了我們在公共語音轉(zhuǎn)文本引擎上訓(xùn)練的模型,因為紐約由于模擬系統(tǒng)有非常嘈雜的音頻。
令人驚訝的是,盡管模型是根據(jù)紐約市的數(shù)據(jù)訓(xùn)練的,但它也可以很好地切換到芝加哥的音頻。在收集了幾個小時的芝加哥片段之后,從紐約市模型中學(xué)到的東西轉(zhuǎn)移到芝加哥,該模型也表現(xiàn)良好。
語音處理管道與定制的深度神經(jīng)網(wǎng)絡(luò)廣泛適用于來自美國主要城市的警察音頻。它從音頻中發(fā)現(xiàn)了重大的安全事故,使全國范圍的市民能夠迅速向城市廣播,履行保護社區(qū)安全的使命。
在RNN、LSTM或Transformer中選擇計算簡單的CNN架構(gòu),以及簡化標記過程,這些都是重大的突破,使我們能在限時限材的情況下超越公共語音轉(zhuǎn)文本模型。
責編AJX
-
音頻
+關(guān)注
關(guān)注
29文章
3031瀏覽量
83263 -
RF
+關(guān)注
關(guān)注
65文章
3175瀏覽量
168731 -
機器學(xué)習(xí)
+關(guān)注
關(guān)注
66文章
8499瀏覽量
134361
發(fā)布評論請先 登錄
云酷人員定位歷史軌跡功能:事故追溯中的關(guān)鍵利器與安全管理革命

采用LifeCam運行TIDA-00361_LCr3000程序進行到投影儀標定步驟,如何使LifeCam Cinema相機捕捉到投影儀投射的棋盤格圖像?
KiCad 9 探秘(三):定位與捕捉功能的增強

構(gòu)建云原生機器學(xué)習(xí)平臺流程
使用ADS1299EEG-FE analysis-scope捕捉到的波形和user-guide里的參考波形不一致,為什么?
從信號發(fā)生器發(fā)出一個正弦波到AFE509EVM的信號輸入通道,捕捉的信息很奇怪,為什么?
安森美SmartROI功能在機器視覺中的優(yōu)勢

android系統(tǒng)使用appe播放audio資源,相關(guān)進程被kill之后appe無法再次打開的原因?
構(gòu)建語音控制機器人 - 線性模型和機器學(xué)習(xí)

飛凌嵌入式-ELFBOARD 解決PCB布線時無法捕捉到焊盤中心的問題
【《時間序列與機器學(xué)習(xí)》閱讀體驗】+ 時間序列的信息提取
Keysight InfiniiVision 4000 X 系列示波器

評論