(ICASSP 19)Federated Learning for Keyword Spotting

會議: ICASSP 2019
論文:Federated Learning for Keyword Spotting
作者:David Leroy、Alice Coucke、Thibaut Lavril、Thibault Gisselbrecht、Joseph Dureau

ABSTRACT

提出了一種基於聯合學習的實用方法,以通過連續運行基於嵌入式語音的模型(例如喚醒詞檢測器)來解決域外問題。我們基於模仿“喚醒詞用戶”聯盟的衆包數據集,對“ Hey Snips”喚醒詞的聯合平均算法進行了廣泛的經驗研究。我們憑經驗證明,使用由Adam啓發的自適應平均策略代替標準加權模型平均可以極大地減少達到目標性能所需的通信輪次。每個用戶的相關上游通信成本估計爲8 MB,這對於智能家居語音助手而言是合理的。

INTRODUCTION

喚醒詞檢測用於啓動與語音助手的交互。在關鍵字發現(KWS)的特定情況下,它會連續收聽音頻流以檢測預定義的關鍵字或一組關鍵字。喚醒詞的著名示例包括Apple的“ Hey Siri”或Google的“ OK Google”。一旦檢測到喚醒詞,語音輸入就會被口語理解引擎激活和處理,從而增強語音助手的感知能力[1]。

喚醒字檢測器通常以始終在線的方式在設備上運行,這帶來了兩個主要困難。首先,它應以最小的內存佔用量和計算成本運行。我們的喚醒詞檢測器的資源約束是200k參數(基於[2]中提出的中型模型)和20 MFLOPS。

其次,喚醒字檢測器在任何使用設置下均應表現一致,並且對背景噪聲表現出魯棒性。音頻信號對錄製接近度(近場或遠場),錄製硬件以及房間配置非常敏感。健壯性還意味着強大的說話人可變性覆蓋範圍。儘管使用數字信號處理前端可以幫助減輕與不良錄音條件有關的問題,但揚聲器的可變性仍然是一個主要挑戰。由於可以隨時觸發模型,因此高精度尤爲重要:因此,可以捕獲大多數命令(高召回率),而又不會無意間觸發(低誤報警率)。

如今,喚醒詞檢測器通常在以實際使用情況設置的數據集中進行訓練,例如在語音助手的情況下,用戶在家中。語音數據本質上非常敏感,集中收集,這引起了主要的隱私問題。在這項工作中,我們研究了嵌入式喚醒詞檢測器中聯合學習(FL)[3]的使用。FL是一種分散式優化程序,可在許多用戶的本地數據上訓練中央模型,而無需將該數據上傳到中央服務器。訓練工作量被移向對本地數據執行訓練步驟的用戶設備。然後,由參數服務器對用戶的本地更新進行平均,以創建全局模型。

RELATED WORK

歷史上,關於分散式學習的大多數研究都是在高度受控的羣集/數據中心設置的背景下完成的,例如,以iid方式均勻劃分的數據集。在[4]中的語音識別的背景下,專門研究了多核和多GPU分佈式訓練設置。在分散式培訓中,採用高度分散,不平衡和非iid數據的工作相對較新,因爲在[3]中引入了聯邦平均法(FedAvg)算法及其在一組計算機視覺(MNIST,CIFAR-10)和語言建模任務中的應用(適用於莎士比亞和Google Plus帖子數據集)。就我們所知,目前的工作是針對特定用戶語音數據的此類實驗。

在[5]中研究了凸目標函數情況下的聯合優化問題。作者提出了一種隨機方差降低梯度下降優化程序(SVRG),該方法具有局部和全局按座標的梯度縮放比例,以提高收斂性。他們的全局每座標梯度平均策略依賴於用戶本地數據集中給定座標的稀疏性度量,並且僅適用於稀疏特徵線模型。對於基於語音的應用,後一種假設在神經網絡中不成立。

已經提出了一些針對初始FedAvg算法的改進,重點是客戶選擇[6],預算受限的優化[7]和客戶的上傳成本降低[8]。最近在[9]中引入了一種基於局部模型發散準則的對概念漂移魯棒的動態模型平均策略。儘管這些貢獻提出了減少聯邦優化所固有的通信成本的有效策略,但據我們所知,目前的工作是第一個引入動態每座標梯度更新來代替全局平均步驟的工作。

下一節將描述聯合優化過程,以及如何用Adam啓發的自適應平均規則來代替其全局平均。接下來是實驗部分,其中介紹了用於訓練喚醒詞檢測器的開源衆包數據和模型。接下來是結果,並提供了通信成本分析。最後,描述了在真正分散的用戶數據上訓練喚醒詞檢測器的下一步。

FEDERATED OPTIMIZATION(聯合優化)

這一節沒太看懂
在這裏插入圖片描述
在這裏插入圖片描述

EXPERIMENTS

1、Dataset
與一般語音識別任務不同,沒有用於喚醒詞檢測的參考數據集。用於多類別關鍵詞識別的參考數據集是語音命令數據集[11],但是語音命令任務通常在喚醒單詞檢測器之前,並且專注於最大程度地減少類間的混淆,而不是對錯誤警報的魯棒性。我們爲Hey Snips喚醒詞構成了一個衆包數據集。我們公開發布1此數據集[12],希望它對關鍵字發現社區有用。
在這裏插入圖片描述
此處使用的數據是從1.8k貢獻者那裏收集的,他們使用自己的麥克風將自己記錄在設備上,同時說出“ 嘿狙擊”喚醒單詞的出現以及來自各種文本源(例如,字幕)的否定短句。

這種由衆包引起的數據分發模仿了真實世界中的非iid,不平衡和高度分佈式的設置,因此,在衆包提供者和語音助手用戶之間的後續工作中得出了相似之處。表1彙總了有關支持該類比的數據集的統計信息。培訓,開發人員和測試部門專門針對不同的用戶而構建,其中77%的用戶僅用於培訓,其餘用戶用於參數調整和最終評估,從而衡量了模型對新用戶的推廣能力。

2、模型
聲學特徵是基於在每個25ms的窗口中計算出的40維梅爾頻率倒譜系數(MFCC)生成的。輸入窗口由32個堆疊的框架組成,在左右上下文中對稱分佈。該架構是一個CNN,具有5個堆疊的擴張卷積層,其擴張速率不斷提高,其後是兩個完全連接的層以及一個受[13]啓發的softmax 。使用Xavier初始化[14]初始化的參數總數爲190,852。。在幀預測中使用交叉熵損失來訓練模型。神經網絡有4個輸出標籤,通過專門針對目標話語“ Hey Snips”的自定義對齊器分配:“ Hey”,“ sni”,“ ps”和“ filler”考慮了所有其他情況(沉默,噪音和也就是說)。後處理[15]通過組合平滑的標籤後代,爲每一幀生成置信度得分。如果置信度得分達到某個閾值τ,則模型觸發,定義了在一定數量的每小時誤報警(FAH)下最大化召回率的操作點。我們將每小時錯誤警報的數量設置爲5作爲開發集的停止標準。開發集在涉及虛假警報時是一個“硬”數據集,因爲它與用於訓練的數據屬於同一域。最後,根據測試集的肯定數據評估模型的召回率,同時對測試集的否定數據和各種背景否定的音頻集計算誤報。

3、結果
我們根據表1的衆包數據對Hey Snips喚醒詞的聯邦平均算法進行了廣泛的經驗研究。將聯合優化結果與標準設置進行比較例如,集中式小批量SGD,來自火車用戶的數據被隨機洗牌。我們的目標是評估爲了達到開發人員集合上的停止條件而需要的通信回合數。出於本實驗的目的,以集中方式評估了提前停止,並且我們假設開發人員集用戶同意與參數服務器共享其數據。在實際產品設置中,提前停止估算將在開發用戶的設備上本地運行,他們將在每一輪結束時下載中心模型的最新版本,並根據自己的預測分數評估提前停止標準話語。然後,這些單獨的度量將由參數服務器平均,以獲得全局模型準則估計。

標準基準線: 我們的基準線(例如,具有單個培訓服務器和Adam優化器的標準集中式數據設置)以400步(約2個紀元)達到了提前停止的目標,被視爲我們的性能上限。與標準SGD相比,Adam提供了強大的收斂速度,儘管開發集上的學習率和梯度削波調整,但標準SGD在28個紀元後仍低於87%。

用戶並行度: 在每個C輪中選擇的用戶比例越高,假設本地培訓的差異不會太大,則用於分佈式本地培訓的數據就越多,並且預期的收斂速度就越快。圖1顯示了C對融合的影響:與使用10%的用戶相比,使用一半的用戶獲得的收益有限,特別是在融合的後期。由於選擇的用戶必須在線,因此在實際設置中,每輪用戶只有10%的比例更爲現實。參與率較低(C = 1%)時,梯度更加敏感,可能需要使用學習率平滑策略。因此,將C設定爲10%。

全局平均: 與帶有或不帶有移動平均值的標準平均策略相比,基於Adam的全局自適應學習率可加快收斂速度​​。表2總結了在FedSGD設置下具有最佳本地學習率的實驗結果。與自適應每參數平均相比,即使在經過400輪通信之後,應用標準全局平均也會產生較差的性能。
在這裏插入圖片描述
在這裏插入圖片描述
本地訓練:我們的結果表明,本地培訓配置之間具有一致性,而增加本地培訓的負荷卻帶來有限的改進。通信回合的數目需要達到63個112通信輪之間dev的集合範圍內的停止準則爲ë ∈ [1] ,[3]和乙 ∈[20,50,∞ ]時,使用c ^ = 10%,亞當全球平均有η 全球 = 0.001,和0.01的地方學習率。在我們的實驗中,對於E = 1和B可獲得最佳性能= 20,表示每個工人平均進行2.4次本地更新,與FedSGD相比,加速了80%。對於100個通信回合,達到停止標準所需的培訓步驟總數約爲3300,例如,標準設置中所需步驟數的8.25倍,而批次要少得多。儘管如此,我們觀察到了隨機權重初始化和早期行爲方面的實驗差異。與[3]中介紹的一些實驗不同,由於增加了局部訓練步驟而產生的加速並不會導致收斂速度得到數量級的提高,而事實證明,局部學習率和全局平均調整對我們的工作至關重要。我們推測這種差異與跨用戶的輸入語義可變性有關。在[3]中的MNIST和CIFAR實驗中,跨仿真用戶的輸入語義是相同的。在喚醒詞設置中,每個用戶對相同的喚醒詞發聲都有自己的發聲,在音調和重音上存在顯着差異,這可能會導致發散的較低級表示形式(平均時表現可能較差)。

評估:我們對最佳模型(E = 1和B = 20)的誤報率進行了評估,測試集上的固定召回率爲95%。我們在陰性測試數據上觀察到3.2 FAH,在Librispeech [16]上觀察到3.9 FAH,在內部新聞和收集的電視數據集上分別觀察到0.2和0.6 FAH。不足爲奇的是,在近場連續數據集上,虛假警報比在背景負音頻集上更爲常見。

4、通訊成本分析
當從分散的數據中學習時,尤其是當用戶設備的連接性和帶寬有限時,通信成本是一個很大的約束。考慮到寬帶速度的非對稱性,聯合學習的通信瓶頸是從客戶端到參數服務器的權重更新[8]。我們假設與每個通信回合中的模型評估所涉及的用戶相關的上游通信成本是微不足道的,因爲他們每回合只會上傳一些比模型大小小得多的浮點度量。下式提供了總的客戶端上傳帶寬要求:
在這裏插入圖片描述
根據我們的結果,如果在100個通信回合中達到停止標準,每個客戶端將產生8MB的成本。當C = 10%時,服務器每輪接收137次更新,在整個優化過程中總共有110GB的數據,培訓期間涉及1.4k用戶。後續收斂階段(400輪)的進一步實驗在測試集上產生了98%的召回率/0.5 FAH,每個用戶的上傳預算爲32 MB。

CONCLUSION AND FUTURE WORK

在這項工作中,我們調查了在衆包語音數據上聯合學習的使用,以學習資源受限的喚醒詞檢測器。我們展示了基於Adam代替標準全局平均的基於座標平均的重新審視的聯邦平均算法,該訓練可使我們在衆包數據集的100個通信回合中達到相關聯的上游的每5個FAH 95%召回的目標停止標準每個客戶端的通信成本爲8MB。我們還將開源Hey Snips喚醒詞數據集。

現實生活中的下一步是設計一個用於本地數據收集和標記的系統,因爲喚醒詞任務需要數據監督。在這項工作中使用的幀標記策略依賴於對齊器,該對齊器不容易嵌入。使用內存有效的端到端模型[12]代替所提出的基於類的模型可以簡化本地數據標記的工作。

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