語音喚醒技術:small-footprint keyword spotting
本文將介紹Interspeech 2017上關於語音喚醒技術的幾篇文章。首先,什麼是語音喚醒?

語音喚醒的應用領域比較廣泛,例如機器人、手機、可穿戴設備、智能家居、車載等。幾乎很多帶有語音功能的設備都會需要語音喚醒技術作為人和機器互動的一個開始或入口。不同的產品會有不同的喚醒詞,當用戶需要喚醒設備時需要說出特定的喚醒詞。大部分的喚醒詞都是三到四個音節,音節覆蓋多,音節差異大,相對喚醒效果會比較穩定。
對於一個喚醒效果好壞的判定,主要有召回率、虛警率、實時率和功耗四個指標。召回率表示正確被喚醒的次數占總的應該被喚醒次數的比例。虛警率表示不該被喚醒卻被喚醒的概率。召回率越高虛警率越低就表示喚醒的性能越好,這兩個指標的關係經常是一個相對關係,即一個指標的上升對應另一個指標的下降。從用戶體驗的角度來講,實時率可以表現為設備反應的速度,喚醒技術對設備的反應速度要求很高。另一個指標是功耗,由於很多設備依靠電池或者是充電式的,具有低能耗才能保證設備較長時間的工作不需要充電,實際上,不同方向的產品使用場景不同,相對它的技術難點是有很大區別的,例如,車載環境下喚醒的難點在於它周圍環境的噪聲比較大,因此噪聲環境下的召回率和虛警率就變得很重要;智能家居中的智能音箱、智能電視等也會受到環境噪聲的影響,這時的噪聲主要是人的聲音,即其他人說話聲音對本人說話聲音的影響。而且多數的智能家居是充電後使用的,低功耗也成為一個非常重要的指標。喚醒其實是與實際結合非常緊密、非常重視用戶體驗的一種任務。
喚醒可以看成是一種小資源的關鍵詞檢索任務,其中小資源是指計算資源比較小和空間存儲資源比較小,因此它的係統框架跟關鍵詞檢索的係統會有一定的區別,目前常用的係統框架主要有Keyword/Filler Hidden Markov Model System和Deep KWS System兩種。


下麵介紹Interspeech 2017上關於語音喚醒技術的文章,其中挑選了三篇跟大家分享。


文中采用TDNN指的就是對於圖左側的隱馬可夫模型的一部分即發射概率采用TDNN來進行建模。TDNN的學習需要用到前後幀所保留下來的信息,同時還需要照顧到一些時間軸的信息,所以它的結構圖跟我們平時看到的DNN結構圖畫法上有比較大的區別。下圖中的小黑框指的是網絡的隱層,這個圖表示的就是時間為t的那一幀在時間維度上的一個網絡結構。從圖中的橙色框可以看出,越深的層它能夠學習到的上下文信息是越寬的,從左往右逐個加深,對應的輸入特征也是變得越來越寬的過程,對於時間為t這一幀的建模實際上用到的是t-20到t+10這30幀的一個輸入特征,這個長度可以通過調節變得更加長,這種長時的信息學習是DNN不能夠做到的,所以說TDNN主要的優勢在於能夠學習和處理更長的上下文信息。



由於TDNN比DNN的計算量大很多,為了能夠滿足實際使用的需求,文章中采用了一些方法來降低TDNN的計算量。一種方法叫做Sub-sampling,下圖中所有的線是原始TDNN的一個形態,是一個全連接的網絡,但事實上相鄰時間點所包含的上下文的信息是有很大部分重疊的,因此可以采用采樣的方法隻保留圖中部分的連接,比如像圖中保留了紅色線的部分,實驗中顯示出這樣的采樣可以獲得與原始模型近似的效果,同時能夠大大減少模型的計算量。





文章中的實驗采用了單一的關鍵詞”TalkType”,訓練和測試數據來源於5000多個說話人,文中做出了非常詳盡的實驗。其中之一如下圖是分析數據量對於性能的影響,圖中橫坐標表示正樣本的條目數,縱坐標表示每小時應該被喚醒卻沒有被喚醒的次數。圖中的藍線表明正樣本數據的增加對數據的影響,隨著正樣本數目的增加對於模型是有好處的,但是當到達一定程度時就會達到飽和,紅色的×表示加入了各種負樣本,可以看到相對於正樣本的增加,負樣本的增加能給模型帶來更大程度的提升。




首先,他們之所以使用BLSTM的原因是BLSTM模型能夠學習長時的上下文信息。MCE(最小分類錯誤)是一種鑒別性訓練準則,有助於提升模型對於相似詞的鑒別能力。Non-Uniform MCE的提出是因為作者發現係統當中的一個問題,事實上這一問題也存在於第一類喚醒係統當中。在第一類需要解碼的喚醒係統當中,解碼模塊用到的聲學模型訓練是針對所有詞的,這一目標與喚醒係統的目標存在不一致,喚醒係統更在意的是關鍵詞的參數指標,因此作者提出了Non-Uniform MCE的準則,更偏重於模型對於關鍵詞的訓練。


最後一個實驗是在Switchboard 300小時上進行的關鍵詞任務,其中使用的關鍵詞比較多,主題都是關於信用卡的使用。如下表格表示,相當於在DNN上做的實驗結果,不同模型的性能采用FOM指標進行表示,FOM越高表示性能越好,表中列了許多不同準則訓練得到的DNN性能結果,第一個CE表示交叉熵的準則,它是一個產生式的訓練準則,後麵的MMI、sMBR、MCE、BMCE都是鑒別性的準則。從表中可以看出,幾種鑒別性的準則都會比CE的方式好一些,最後一種是作者文章中提到叫作Non-Uniform BMCE的準則,通過調整後麵K1、K2的參數可以得到良好的性能。


最後更新:2017-11-06 23:03:56
上一篇:
在安防領域如此“受寵”的POE交換機到底該怎麼選?
下一篇:
flume(1)
《創業在路上》對話OFO小黃車,讓全世界沒有陌生的角落
ITEXT實例學習與研究(二) 之 創建一個細長的淺黃色背景的頁麵以及縱向頁麵與橫向頁麵之間的切換
C# 讀取Excel中的數據
《Hadoop與大數據挖掘》一1.1 大數據概述
HDU 4741 空間幾何求兩直線距離最近點
Linux命令行之逗趣無極限
使用SPELLCHECK屬性禁用輸入框拚寫檢查
MaxCompute2.0 對開源係統的支持與融合
CCAI 2017 | 清華大學計算機係教授史元春:科幻與創新
『0013』 - Solidity Types - 固定大小字節數組(Fixed-size byte arrays)