百度發佈Deep Speaker:大規模聲紋識別的端對端系統

雷鋒網按:此前雷鋒網曾經報道過百度在語音技術上的進展。日前,百度美研院宣佈了其在聲紋識別上所取得的突破性成果。研究表明:利用深度學習的方法比傳統的i-vector方法在識別準確率上獲得了顯著的提高。

聲紋識別算法尋求從音頻中識別說話者的身份。兩個常見的識別任務是確認(說話者是不是他宣稱的那個人)和說話者身份識別(在一群未知的說話者中確認聲音的來源)。

該項技術已經有了各種應用。例如,聲紋可以用來登錄設備。說話者確認也可以作為金融交易的額外安全措施。此外,類似於智能家居助手之類的共享設備也可以利用這項技術來提供個性化的服務。

最近使用神經網絡來進行聲紋識別的論文已經改進了傳統的i-vector方法(參考Interspeech教程的原始論文或者幻燈片)。i-vector方法認為說話內容可以被分為兩個部分,一個部分依賴於說話者和信道可變性,另一個部分依賴於其它的相關因素。i-vector聲紋識別是一個多步過程,其涉及到使用不同說話者的數據來估計一個通用的背景模型(通常是高斯混合模型),收集充分的統計數據,提取i-vector,最後使用一個分類器來進行識別任務。

一些論文用神經網絡代替了i-vector流水線的方法。其它研究者要麼訓練了一個文本相關(使用者必須說同樣的話)的端對端語者識別系統,要麼訓練了文本獨立(這個模型與說話內容不相關)的端對端語者識別系統。我們介紹Deep Speaker:一個端對端的神經聲紋識別系統,它在文本相關和文本獨立的場景下都取得了良好的效果。這意味這個系統可以被訓練來識別誰在說話,無論是當你對你的家庭助手說“wake”或者你在會議中發言。

Deep Speaker由深度神經網絡層組成,從音頻中提取特徵,基於餘弦相似性的時間池和三元組損失(triplet loss)。百度美研院探究了ResNet激活的卷積模型和現有模型在提取聲學特徵上的效果。

百度發佈Deep Speaker:大規模聲紋識別的端對端系統

說明:在這裡百度美研院使用了人臉識別中採用的三元組損失。在訓練過程中,他們選擇了一個說話者的話語,然後計算一個嵌入(標記為“Anchor”)。再產生兩個嵌入,一個來自相同的演講者(標記為“Positive”),一個來自於不同的演講者(標記為“Negative”)。在訓練過程中,其目標是讓Anchor與positive嵌入之間的餘弦相似度高於Anchor與negative嵌入之間的餘弦相似度。

百度美研院展示了Deep Speaker在三個不同數據集上的有效性,包括文本相關和文本獨立的任務。其中之一的UIDs數據集包括大約250000名說話者,是知識文獻中最大的數據集。實驗結果表明:Deep Speaker要明顯優於基於DNN 的i-vector方法。例如,在一個文本獨立的數據集中隨機挑選出100個演講者,Deep Speaker在說話者身份確認任務上的錯誤率是1.83%,正確率是92.58%。相比於基於DNN 的i-vector方法,它降低了50%的錯誤率,提高了60%的正確率。

百度發佈Deep Speaker:大規模聲紋識別的端對端系統

說明:在實驗中百度美研院所使用的數據集是 UIDs,XiaoDu,和Mandarin。UIDs和XiaoDu是普通話數據集,Mturk是英語數據集。UIDs和Mturk是文本獨立的數據集,XiaoDu是文本相關的數據集,其基於百度的喚醒字(wake word)。為了在不同大小的訓練集上做實驗,他們用了全部的UIDs數據集(250,000)和它的一個子集(50,000)。在評估階段,他們選擇了一個Anchor,然後再從測試部分隨機地選擇1個Anchor positive樣本和99個Anchor negatives樣本。

團隊還發現Deep Speaker學習到了與語言無關的特徵。當在普通話語境下訓練時,Deep Speaker卻能在英文確認和識別的任務上達到5.57%的錯誤率和88%的正確率。此外,先用普通話再用英文訓練可相比於只用英文訓練,提高了英文識別的準確率。這些結果都顯示出儘管不同的語言聽起來非常不同,深度語者卻學習到了跨語言的聲音特徵。這些結果與Deep Speech 2的結果類似,同樣的架構都可以用來辨認不同語言的聲紋識別。

關於Deep Speaker模型的更多細節,訓練技巧和實驗結果都可以在論文中找到。

論文地址:https://arxiv.org/abs/1705.02304

via research.baidu,雷鋒網翻譯

相關推薦

推薦中...