06.21 驚喜!蘋果首次揭祕 嘿 Siri聲紋識別技術

今天蘋果在官方技術博客上發表了一篇文章,首次披露了 Siri 聲紋識別的技術實現細節。自 2010 年蘋果收購 Siri 團隊之後,Siri 就一直作為蘋果系列產品的語音助理存在。當用戶說出那句:“Hey,Siri”的時候,Siri 如何認出你是它唯一的主人?

驚喜!蘋果首次揭秘 嘿 Siri聲紋識別技術

Siri

蘋果最初於 iPhone 6(iOS 8)上正式引入“Hey Siri”輕盈。這項功能允許用戶在無需按下 home 鍵的情況下輕鬆激活 Siri。當用戶說出“Hey Siri,今天的天氣如何?”時,手機會在聽到“Hey Siri”表達後被喚醒,並將其餘語音作為 Siri 請求進行處理。

在 iPhone 6 上,“Hey Siri”功能只能在手機充電時使用 ; 但在後續推出的 iPhone(6S 及以上)與 iPad 機型當中,這項功能開始以低功耗方式提供永久在線的持續接聽能力。這意味著“Hey Siri”功能可隨時隨地為用戶服務。

驚喜!蘋果首次揭秘 嘿 Siri聲紋識別技術

iPhone 6

“Hey Siri”一詞的選定可謂順理成章。事實上,在此項功能發佈之前,用戶們也會利用 home 鍵激活 Siri,並有意無意地在自己的表述之前加上“Hey Siri”字眼。然而,這種簡潔而清晰的結構也帶來了新的挑戰。具體來講,我們的早期離線實驗結果顯示,相較於理想中的合理調用比率,這樣簡單的激活語音會帶來大量意外激活狀況。意外激活主要分為以下三種情況:1)用戶說出了類似的短語 ; 2)其他用戶說出了“Hey Siri”; 3)其他用戶說出類似短語。最後一種則是三大錯誤激活情況中最令人惱火的問題。為了減少這種錯誤激活比例,我們努力對每一臺設備進行個性化設置,確保其在大多數情況下僅在機主說出“Hey Siri”時才有所反應。為此,我們需要利用說話人識別領域的技術成果。

驚喜!蘋果首次揭秘 嘿 Siri聲紋識別技術​​

說話人識別技術

說話人識別系統的應用涉及兩個步驟:登記與識別。在登記階段,用戶需要說出幾條樣本短語。這些短語將用於為用戶的語音創建統計模型。而在識別階段,系統會將傳入的話語同用戶訓練模型進行比較,並根據該話語是否屬於現有模型這一具體判斷決定接受或拒絕。

用戶登記

“Hey Siri”個性化(簡稱 PHS)的主要設計討論圍繞兩種用戶登記方法展開:顯式與隱式。在顯式登記過程中,用戶需要多次說出目標觸發短語,並由設備上的說話人識別系統利用這些口頭表達內容訓練 PHS 說話人配置文件。這種方式能夠確保每位用戶在開始使用“Hey Siri”功能之前都建立起經過嚴格訓練的 PHS 配置文件,從而顯著降低內部審計成本。然而,在顯式登記期間,錄音內容中往往會包含非常微小的環境聲變化。初始配置文件通常應由純語音創建完成,但現實世界中的情況幾乎不可能達到這樣的理想狀態。

接下來是隱式登記概念,其主要利用機主一段時間內說出的話語建立說話人簡檔。由於這些錄音是在現實世界環境下生成的,因此往往能夠提高說話人話語特徵的穩定性。然而,這種方式的風險在於可能接受模仿者的語音,或者將真實機主的輸入內容視為錯誤信息。如果在初步錄入時包含此類干擾信息,則有可能導致得出的配置文件不夠準確,且無法忠實還原機主的聲音特徵。這意味著設備可能會錯誤拒絕機主的激活語音,或者錯誤接受其他模仿者的聲音(或者二者兼而有之)。在這種情況下,語音激活功能將變得毫無意義。

驚喜!蘋果首次揭秘 嘿 Siri聲紋識別技術

我們目前的實現方案結合了這兩種登記步驟。其利用顯式登記建立初始說話人配置文件,且依次使用以下五條顯式登記短語:

“Hey Siri”

“Hey Siri”

“Hey Siri”

“Hey Siri, how is the weather today?”

“Hey Siri, it’s me.”

這種多話語登記方式能夠幫助用戶瞭解此項功能的不同使用方式(單次模式與雙次模式),且每位用戶都能夠在 FA 率受控且可管理的前提下使用此項功能。

在下一節當中,我們將描述如何利用隱式登記機制更新說話人配置文件。展望未來,我們希望能夠在接下來的版本當中不再設置任何明確登記步驟——用戶只需從空白配置文件起步直接使用“Hey Siri”功能,並隨著越來越多“Hey Siri”請求的出現實現配置文件的填充與更新。這無疑將成為選擇跳過“Hey Siri”初始設置流程的用戶們的福音。

Hey Siri”聲音實例轉換為固定長度的說話人矢量。此矢量亦可被視為一條說話人嵌入。而在 Feature Extraction(特徵提取)框體處,我們分兩個步驟進行說話人矢量計算,具體如圖一下半部分所示。第一步為將輸入語音轉換為固定長度的語音(超)矢量,其屬於“Hey Siri”話語當中全部聲學信息的總結——具體涵蓋語音內容、背景環境記錄以及說話人身份信息。在第二步中,我們則嘗試以專注說話人特徵的方式進行語音矢量轉換,同時強調語音與環境因素的可變性。在理想情況下,我們可以對這種轉換算法進行訓練,從而識別不同環境下(例如廚房、車內、咖啡廳等)用戶的“Hey Siri”實例與發聲模式(例如清晨充滿睡意的語音、正常語音以及高音量語音等)。我們的輸出結果為說話人信息的低維表示,即說話人矢量。

驚喜!蘋果首次揭秘 嘿 Siri聲紋識別技術

在每一臺啟用“Hey Siri”功能的設備上,我們都會存儲由一組說話人矢量組成的用戶配置文件。如前所述,該配置文件在經歷顯式登記過程後將包含五個矢量。在圖一中的模型比較階段,我們為每條輸入測試話語提取相應的說話人矢量,並針對配置文件內每條說話人矢量計算其餘弦得分(即長度歸一化點積)。如果這些分數的平均值大於預定閾值(λλ),則代表設備將被喚醒並處理後續命令。最後,作為隱式登記流程的組成部分,我們持續向用戶配置文件當中添加說話人矢量,直到其矢量數達到 40 條。

除了說話人矢量之外,我們還會在手機上存儲“Hey Siri”所對應的發聲波形。在通過即時更新部署改進轉換機制之後,每個用戶配置文件都將能夠利用該發聲波形進行重建。

提高語音轉換

語音轉換是所有語音識別系統中最重要的部分。給定一個語音向量,這個變換的目標是最大限度地減少語音之內的可變性,同時最大限度地增加語音之間的可變性。在我們最初的方法中,我們從獨立於語音的“Hey Siri”探測器導出了語音向量 [1],它使用 13 維的梅爾倒頻譜(Mel frequency cepstral coefficients,MFCC)作為聲學特性,並將 28 個 HMM 狀態參數化來建模“Hey Siri”的發音。然後通過將狀態端連接成 28x13=364 維向量來獲得語音向量。

這種方法與研究領域中的現有工作非常相似,其中一種最先進的方法,也使用了串接聲學狀態段作為其在語音中的初始表示。(注:在語音識別的說法中,這種被稱為“超向量”,因為它是其他向量的串接。另一種眾所周知的標識是“i-vector”,它可以視為超向量的低維表示,捕獲最大可變性的方向 [3];即類似於主成分分析。雖然 i-vector 在獨立於文本的語音識別問題取得了很大的成功,但我們發現,語音超向量在我們的文本相關場景中,語音超向量同樣有效。)那麼,目標就是找到這種表示的子空間,它可以作為可靠的語音表示。

繼之前的工作之後,我們的語音轉換的第一個版本通過線性判別分析(Linear Discriminant Analysis,LDA)使用來自 800 個生產用戶的數據進行訓練,每個用戶提供了超過 100 個發音,併產生了一個 150 維的語音向量。儘管它相對簡單,但這個初始版本相對於沒有語音轉換的基線,顯著降低了 FA 率。

驚喜!蘋果首次揭秘 嘿 Siri聲紋識別技術

通過使用顯式註冊數據,增強前端語音向量,並將其轉換為一種具有深度神經網絡(DNN)形式的非線性判別技術,進一步提高了轉換的效果。通過對語音識別研究社區的知識支持,更高階的倒譜系數可以捕獲更多語音特定的信息,我們將 MFCC 的數量從 13 個增加到 26 個。此外,由於前 11 個 HMM 狀態實際上只是模擬了靜音,我們將其從考慮中移除。這就產生了一個包含 26x17=442 維的新的語音向量。然後,我們訓練了一個來自 16000 個用戶的 DNN,每個用戶提供了大約 150 句話。網絡體系結構由 100 個神經元隱藏層組成,並具有 sigmoid 激活(即 1x100S),其後是具有線性激活的 100- 神經元隱藏層,以及具有 16000 個輸出節點的 softmax 層。該網絡訓練使用語音向量作為輸入,並將每個語音對應的 1 個熱向量為目標。對 DNN 進行訓練後,將最後一層(softmax)移除,並將線性激活層的輸出用做語音向量。

DNN 訓練和語音向量生成過程

在我們的超參數優化實驗中,我們發現一個具有 sigmoid 激活(即 4x256S)神經元層的網絡結構,隨後 100 個神經元的線性層得到了最好的結果。我們通過對每層的權重應用 8 位量化來補償所需的額外內存,以適應更大的網絡參數數量的增加。

驚喜!蘋果首次揭秘 嘿 Siri聲紋識別技術

評估

除 FR 和 IA 率外,我們還可以通過單一等錯誤率(equal error rate,EER)值總結語音識別系統的性能;這是 FR 等於 IA 的點。在沒有理想的操作點的情況下,可以包括不同的成本和 / 或目標與冒充者測試語音的先驗概率,那麼 ERR 將成為總體性能的一個很好的指標。

表 1. 不同語音轉換的性能

a. 語音識別性能

b. 個性化的“Hey Siri”性能(端到端)

表 1 顯示了使用上述三種不同的語音轉換獲得的 ERR。該實驗使用來自生產數據的 200 個隨機選擇的用戶來執行。用戶的平均音調從 75Hz 到 250Hz 不等。表 1 a 的前兩行表明,通過改進的前端(語音向量)和神經網絡(語音向量)所帶來的非線性建模,使得語音識別性能得以顯著的提高。而第三行顯示了更大的網絡性能。這些結果得到了一項獨立調查的證實,研究者在不同的數據集上探索了類似的方法,並獲得了類似的性能改進。

由於 ERR 僅在語音識別任務中測量,在這個任務中,輸入音頻被假定為包含“Hey Siri”的實例,由此觀察到的改進並不一定能保證端到端“Hey Siri”應用程序的性能改進。表 1 b 顯示了使用各種餘韻轉換的完整特徵的 FA、FR 和 IA 率。該實驗使用來自播客和其他來源的 2800 小時的負類(非觸發)數據,以及 150 名男性和女性用戶的正類(觸發)數據進行。我們的結果似乎表明,改進的 DNN 語音轉換顯著地提高了“Hey Siri”的整體性能。

展望

儘管平均語音識別的性能有了顯著的提高,但有證據表明,在混響(大房間)和嘈雜(汽車、颳風)等環境中的性能仍然更具挑戰性。我們目前的研究工作之一是側重於理解並量化這些困難條件下的退化,其中傳入的測試語音的環境與用戶語音的描述嚴重不匹配。在我們的後續工作 [2] 中,我們以多風格訓練的形式展示了成功,去重一部分訓練數據,增加了不同類型噪聲和混響。

在其核心,“Hey Siri”功能的目的是讓用戶能夠發出召喚 Siri 的請求。本文所描述的工作僅利用語音的觸發短語(即“Hey Siri”),這是語音識別的一部分;但是,我們還可以利用語音中的 Siri 請求部分(例如,“…, how’s the weather today?”),以文本獨立的語音識別的形式來使用。在論文 Generalised Discriminative Transform via Curriculum Learning for Speaker Recognition[2] 中,我們調查使用遞歸神經網絡體系結構(特別是 LSTM,論文 End-to-end Text-dependent Speaker Verification[5])的課程學習的方法,來總結包含文本相關和文本無關信息的可變長度音頻序列的語音信息。我們的研究結果表明,通過使用完整的“Hey Siri”進行語音識別,可以實現顯著的性能提升。

驚喜!蘋果首次揭秘 嘿 Siri聲紋識別技術


驚喜!蘋果首次揭秘 嘿 Siri聲紋識別技術


分享到:


相關文章: