知物由學 | 聽聲辨人,看聲紋識別技術如何保障內容安全?

網易易盾發表於2021-12-28

大家對“指紋”並不陌生,但聽說過“聲紋”嗎?

“違法犯罪變得越來越困難了。如今罪犯都沒法使用電話了,因為偵探們可以透過他們在話筒上留下的聲紋來追蹤他。”

一則刊登在1918年10月的《田納西人日報》中的笑話首次提及“聲紋”,並將其比作“指紋”,能用來定位到具體的犯人,幫助警方刑偵調查。後來玩笑逐漸變成了現實,雖然聲音所過之處並不會留下任何痕跡,但是聲音本身卻蘊藏著身份的蛛絲馬跡。

與“指紋”一樣,每個人擁有獨一無二的“聲紋”。隨著深度學習時代的到來,聲紋識別領域自然而然地形成了“百家爭鳴”的局面,許多實際應用應運而生。本文將介紹內容安全場景下基於深度學習及神經網路的聲紋識別方法,讓機器自動定位聲音主人的身份。


聲紋識別簡介


聲紋識別,也叫說話人識別,是一種透過聲音來判別說話人身份的技術。聲紋雖然不如指紋、人臉這樣,個體差異明顯,但是由於每個人的聲道、口腔和鼻腔(發音要用到的器官)具有個體差異性,反映到聲音上,也各不相同。比如,當我們在接電話的時候,透過一聲"喂",我們就能準確的分辨出接電話的人是誰。我們人耳作為身體的接收器生來就具有分辨聲音的能力,那麼我們也可以透過技術的手段,使聲紋成為與人臉、指紋一樣的“個人身份認證”的重要資訊。


聲紋識別任務根據使用場景分,主要有有說話人辨認和說話人確認兩個應用場景,如圖一所示,其中說話人辨認(Speaker identification)判定待測試語音屬於幾個參考說話人其中之一,是一個多選一的問題,而說話人確認(Speaker verification)用於確定待測語音與其特定參考說話人是否相符,是二選一的是非問題,即確認(肯定)或拒絕(否定)。由於兩者背後依託的技術手段類似,故而本文重點介紹說話人確認這一應用場景。



圖片

圖一 聲紋識別任務

 

說話人確認按流程可以分為,註冊階段(Enrollment Phase)和確認階段(Verification Phase),如圖二所示,在註冊階段,我們需要蒐集所有語者的語音,為“說話人確認系統”提供支援,然後提取聲學特徵並訓練模型,最終得到每個人的聲紋特徵(Voiceprints)。在確認階段,我們將待確認語者的特徵和它聲稱的語者的特徵做相似度計算,最終判斷是否接受。

 

如圖二中,在驗證階段,一段聲稱為Sally的語音送入驗證系統,驗證系統計算語音和Sally的聲紋特徵的相似度,並最終決定是否接受輸入語音為Sally產生的。


圖片

圖二:說話人確認流程圖


聲紋識別的技術演進


對聲紋識別的研究大概經歷了三個階段。如圖三所示,對聲紋識別的研究第一階段處於1930s-1980s,停留在特徵工程階段。1945年,貝爾實驗室藉助肉眼完成語譜圖匹配,首次提出“聲紋”概念,之後又有人提出用LPC,MFCC等特徵,採用模板匹配和模式匹配的方法來進行聲紋識別。

 

之後對聲紋識別的研究進入了第二個階段,在1990年,D. Reynolds提出GMM-UBM結構,是聲紋識別從實驗室走向實用,2008年和2011年,P.Kenny和N. Dehak依次提出JFA和i-vector模型,得到低維說話人向量。

 

2014年,隨著P.Kenny和N. Dehak相繼提出了DNN-i-vector模型,進一步提升系統效能。由此,業界認為對聲紋識別的研究進入第三個階段,在深度學習階段,一些基於端到端和深度特徵學習等方法也相繼應用於聲紋識別中。由於深度學習的相關演算法極大地提升了聲紋識別的效果,所以我們重點介紹下深度學習下,聲紋識別的主要研究內容。

 

圖片

圖三 聲紋識別發展歷程


深度學習賦能聲紋識別


在此階段,對於聲紋識別的研究主要集中在資料、模型結構、損失函式等三大塊的研究。接下來,本文將分別介紹這三塊內容。

 

一是,資料層面的研究。因為訓練資料的質量和數量對於聲紋識別系統效能起著重要的作用,所以對於資料的研究也就有了很重大的意義。而圍繞資料層面的研究,對於資料增強的研究佔據了很大的比重。

 

如圖四所示,文獻中利用在訓練資料中加入噪聲、音樂以及混響等方式做資料增強,這極大地提升了模型的效能。在文獻中,作者觀察到當訓練和測試存在場景不匹配的情況下,傳統的聲紋識別模型效能表現較差,於是作者提出了基於熵的變幀率(entropy-based variable frame rate)增強方式來改變語音的說話方式,這一技術最佳化了註冊和驗證場景不匹配下聲紋識別系統的效能。文獻中,作者提出了SpecAugment的方法,與在原始音訊上做資料增強不同的是,它直接在輸入神經網路的聲學特徵,例如在FBank上做資料增強。除了這些增強方式,也有學者利用聲音轉換(Voice Conversion)和語音合成(Text to Speech)等技術來做資料增強。


圖片

圖四  資料增強在聲紋識別中的應用


二是,模型結構層面的研究。這方面的研究主要集中在主幹網路和將不定長語音轉變成定長聲紋特徵的方式這兩個方向。首先主幹網路方向的研究,主要有Resnet及其相關變種[11][12]和TDNN[2]及其相關變種[9]兩大類,如圖五所示。Resnet在影像分類領域有著很強的地位,它同時也廣泛被用於聲紋識別中,在這基礎上也衍生出了一些變種,如為了最佳化網路的時間開銷,有學者將Resnet每一個殘差塊的通道數減為原來的四分之一。為了兼顧時間和效能,有學者將Resnet每一殘差塊的通道數減為原來的二分之一等。TDNN提取的Xvector,第一次全面超越傳統聲紋特徵Ivector,高斯超向量等。學術界對其相關變種的研究也很多,比如E-TDNN[13],F-TDNN[14],ARET等,最近提出的ECAPA-TDNN[9]引入了注意力機制,並將淺層和深層特徵做融合,取得了SO他的效果。

圖片

圖五 聲紋識別主幹網路的發展

 

對於將不定長語音變成定長聲紋特徵的方式,學術界的嘗試主要有以下幾種LSTM[15]

,statistic pooling,self-attentive pooling[16],attentive statistic pooling等,如圖六所示。LSTM天然就能從時序訊號中提取特徵,但是當語音時長過長的時候,容易出現梯度消失的問題,並且不適合並行運算。Statistic pooling認為每一幀語音訊號對應的特徵(主幹網路的輸出),它們的統計資訊對於聲紋識別至關重要,所以它計算每一幀語音特徵的一、二階統計量,並把他們首尾相連,得到最終的聲紋特徵。Self-attentive pooling引入自注意力機制,用每一幀語音訊號對應的特徵(主幹網路的輸出)計算出每一幀的權重,並透過加權平均得到最終的聲紋特徵,而attentive statistic pooling則結合了上述兩種方式。

 

圖片

圖六 特徵融合方式


三是,損失函式層面的研究。損失函式的研究,主要包含分類相關的Softmax loss,人臉識別相關的AM softmax,AAM softmax等,以及度量學習相關的損失函式,包括Triplet loss,Prototypical loss和Angular Prorotypical loss等。分類相關的損失函式,由於訓練任務只是做分類,所以在測試階段,對於閉集的資料效果較好,但是由於無法學習到足夠的discriminative聲紋特徵,在面對開集的情況下,往往需要搭配PLDA等後端打分演算法才能有較好的效能。相比之下,人臉識別相關的AAM softmatx以及度量學習相關的Triplet loss等學到的聲紋特徵,要求內類距小類間距大,具有較好的開集泛化效能。


圖片

圖七 聲紋識別中的損失函式


聲紋識別在實際應用中遇到的挑戰和經驗


儘管聲紋識別取得了較快的發展,但是對於實際應用場景還是面臨了很多的挑戰。領域不匹配是常見的問題之一,主要表現為跨通道,跨語種。首先是跨通道問題,由於我們使用的訓練資料比較乾淨,且大部分資料都為安靜環境透過麥克風採集,而驗證階段將面對實際業務場景下複雜多變的音訊資料,包括強噪聲,強背景音樂等。這讓在訓練過程中加入“資料增強”和“語音增強”顯得必不可少,資料增強不僅僅停留在傳統的加噪、加混響等操作,更應該加上實際業務場景中音訊資料的型別。其次是跨語種問題,在實際業務中測試資料往往是各個語種都有,這就需要我們採取一些訓練技巧,如難例挖掘,或者透過PLDA自適應等解決方案進行最佳化。

 

在構建聲紋識別系統的過程中,我們也總結了一些一般性的經驗。


注意力機制的重要性。無論是在模型主幹中還是在資訊融合階段中,注意力機制都能提升聲紋識別的效能。


在訓練資料較大時,相比Softmax Loss,人臉識別相關的loss(例如AAM softmax loss)更具有優勢。理論上來講,AAM softmax loss要求同類之間的聲紋特徵距離儘可能小,不同類之間的聲紋特徵距離儘可能大,但這個目標是需要資料量去做支撐的。


度量學習相關的loss表現出更好的召回效能,而人臉識別相關loss更適用於精度優先的場景。但是度量學習相關的loss在訓練過程中對batchsize大小的敏感程度較大。


內容安全場景下的聲紋識別


聲紋識別在內容安全場景下的應用主要為:識別線上語音是否為敏感人員及其相關惡搞語音。我們針對敏感人員聲音的特點,以及線上實際遇到的資料情況,從資料、模型、loss選擇以及模型訓練的技巧,再到整個解決方案等多方面做了多輪的迭代最佳化,為多家客戶採用,並且申請了2項專利。

 

總結


聲紋識別技術的研究貫穿數十年,並搭上深度學習的快車迎來飛躍式發展,成為與“指紋”、“人臉”、“虹膜”並立的重要識別途徑,具有廣闊的應用場景。本文從資料處理,模型結構,將幀級別特徵融合成語句級別特徵,以及損失函式的選擇這些方面介紹了聲紋識別研究領域在近幾年取得的進展。


在研究領域取得了巨大發展的同時,我們發現在現實場景中,聲紋識別系統需要應對的測試資料或者攻擊資料往往更加多變,例如低訊雜比,遠場以及跨語種等複雜場景。這就要求我們繼續探索更加魯棒的演算法,包括語音增強,語音合成,語音轉換,去混響和域適應等演算法來提升聲紋識別系統的能力。


參考文獻


[1]   D. Snyder, G. Chen, D. Povey,”MUSAN: A Music, Speech, and Noise Corpus”,arViv:1510.08484,2015.

[2]D. Snyder, D. Garcia-Romero, G. Sell, D. Povey and S. Khudanpur, "X-Vectors: Robust DNN Embeddings for Speaker Recognition," 2018 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP), 2018, pp. 5329-5333.

[3]Amber Afshan, Jinxi Guo, Soo Jin Park, Vijay Ravi, Alan McCree, Abeer Alwan,"Variable frame rate-based data augmentation to handle speaking-style variability for automatic speaker verification" ,Interspeech 2020,Oct. 2020,pp 4318-4322.

[4]Daniel S. Park, William Chan, Yu Zhang, Chung-Cheng Chiu, Barret Zoph, et al., “SpecAugment: A Simple Data Augmentation Method for Automatic Speech Recognition,” in Proc. Interspeech 2019, 2019, pp. 2613–2617.

[5]X. Qin, Y. Yang, L. Yang, X. Wang, J. Wang, M. Li”Exploring Voice Conversion based Data Augmentation in Text-Dependent Speaker Verification,” ICASSP 2021.

[6]C. Du, B. Han, S. Wang, Y. Qian and K. Yu, "SynAug: Synthesis-Based Data Augmentation for Text-Dependent Speaker Verification," ICASSP 2021 - 2021 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP), 2021, pp. 5844-5848.

[7]H. Huang, X. Xiang, F. Zhao, S. Wang, Y. Qian,”Unit selection synthesis based data augmentation for fixed phrase speaker verification,” ICASSP 2021.

[8]K. He, X. Zhang, S. Ren, and J. Sun. Deep residual learning for image recognition. In 2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), pages 770–778, 2016.

[9]B. Desplanques, J. Thienpondt, and K. Demuynck, “Ecapa-tdnn:Emphasized channel attention, propagation and aggregation in tdnn based speaker verification,” in Proc. Interspeech, 2020.

[10]W. Cai, J. Chen, and M. Li, “Exploring the encoding layer and loss function in end-to-end speaker and language recognition system,” in Speaker Odyssey, 2018.

[11] W. Xie, A. Nagrani, J. Chung, and A. Zisserman, “Utterance-level aggregation for speaker recognition in the wild,” in Proc. ICASSP, 2019.

[12] Y., S. Chung, and H. Kang, “Intraclass variation reduction of speaker representation in disentanglement framework,” Proc. Interspeech, 2020.

[13]D. Snyder, D. Garcia-Romero, G. Sell, A. McCree, D. Povey, and S. Khudanpur, “Speaker recognition for multi-speaker conversations using x-vectors,” in Proc. IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP), 2019, pp. 5796–5800.

[14] R. Zhang, J. Wei, W. Lu,”ARET: Aggregated Residual Extended Time-delay Neural Networks for Speaker Verification”. INTERSPEECH 2020.

[15] S. Hochreiter, J. Schmidhuber  "Long short-term memory". Neural Computation. 9 (8): 1735–1780,1997.

[16]W. Cai, J. Chen, and M. Li, “Exploring the encoding layer and loss function in end-to-end speaker and language recognition system,” in Speaker Odyssey, 2018.

[17]K.i Okabe, T. Koshinaka, and K. Shinoda, “Attentive statistics pooling for deep speaker embedding,” in Proc. Interspeech, 2018

[18] F. Wang, J. Cheng, W. Liu, and H. Liu, “Additive margin softmax for face verification,” IEEE Signal Processing Letters, vol. 25, no. 7, pp. 926–930, 2018.

[19] H. Wang, Y. Wang, Z. Zhou, X. Ji, D. Gong, J. Zhou, Z. Li, and W. Liu, “Cosface: Large margin cosine loss for deep face recognition,” in Proc. CVPR, 2018, pp. 5265–5274.

[20] J. Deng, J. Guo, N. Xue, and S. Zafeiriou, “Arcface: Additive angular margin loss for deep face recognition,” in Proc. CVPR, 2019, pp. 4690–4699.

[21]J. Chung, J. Huh, S. Mun, M. Lee, H. Heo, S. Choe, C. Ham, S.Jung, B. Lee, and I. Han, “In defence of metric learning for speaker recognition,” in Proc. Interspeech, 2020.

[22]J. Snell, K. Swersky, and R. Zemel, “Prototypical networks for few-shot learning,” in NIPS, 2017, pp. 4077–4087.

[23]Schroff, F.; Kalenichenko, D.; Philbin, J. (June 2015). FaceNet: A unified embedding for face recognition and clustering. 2015 IEEE Conference on Computer Vision and Pattern Recognition (CVPR). pp. 815–823.



相關文章