?

基于ECAPA-TDNN網絡改進的說話人確認方法

2024-04-03 21:06張家良張強
電腦知識與技術 2024年1期

張家良 張強

關鍵詞:說話人確認;語音特征;ECAPA-TDNN;感受野;多尺度特征

0 引言

說話人確認技術是判斷某段測試語音是否來自所給定的說話人,是“一對一”的判別問題。該技術已經應用于許多實際的領域,如智能家居、金融安全、刑偵破案等。近10年來,說話人確認技術得益于深度神經網絡(Deep Neural Network,DNN) 強大的學習能力得到了快速發展。

鑒于DNN強大的特征提取能力,在說話人確認領域已經廣泛應用。2014年,Variani[1]等人基于DNN的基礎上,提出了一種具有幀級別說話人聲學特征的模型,將訓練好的DNN從最后一個隱藏層提取的說話人特定特征的平均值作為說話人的模型,稱為d-vector。相對于i-vector[2],d-vector在小規模文本相關的說話人確認任務上有著更好的性能。由于d-vector只能提取幀級別的特征,Snyder[3]等人提出了x-vector,其主要利用多層時延神經網絡結構(Time-delay Neural Net?work,TDNN)和統計池化層,將幀級別的輸入特征轉化為句子級別的特征表達。此外,楊宇奇[4]還在TDNN 的基礎上建立多分支聚合TDNN網絡的方式來提取說話人的嵌入特征。

近年來,研究者開始將卷積神經網絡應用到說話人確認領域。Nagrani[5]基于循環神經網絡提出了VG?GVox模型。在殘差網絡(Residual Networks,ResNet) [6]的基礎上,Chung[7] 等人提出ResNetSE34L,ResNe?tSE34V2模型,采用不同尺度的卷積核提升多尺度特征的表達能力。此外,Desplanques 等人[8]還在基于TDNN 的x-vector 架構上,提出了ECAPA-TDNN 模型,采用引入SE-Net[9]模塊、通道注意機制和多層特征融合等增強方法,進一步擴展時間上下文,該模型已成為說話人確認領域最優秀的框架之一。

盡管當前大部分說話人確認網絡都采用了更深、更復雜的網絡結構來提升特征提取能力,但這也導致模型的參數和推理時間倍增。鑒于此,本文提出一種改進的ECAPA-TDNN模型,采用VoxCeleb1公開數據集進行實驗,結果表明,相對于原模型,在說話人特征提取能力方面實現了明顯提升。

1 相關工作

1.1 ECAPA-TDNN 模型

ECAPA-TDNN是一種基于音頻信號的說話人識別模型。模型如圖1所示,該模型參數包括T、C、K、d 和S,分別代表輸入的音框數目、卷積通道數目、卷積核大小、空洞卷積擴張率和說話人數目。在本系統中,T為300個frame的固定值,C為512,S為訓練數據集的說話人數目。輸入特征為80維的說話人特征向量乘T,輸入后經過Conv1D+Relu+BN層處理,緊接著是三層1D 的擠壓激勵的Res2Block(SE-Res2Block),這些層采用不同的空洞擴張率,分別為2、3、4。接下來一層是Cov1D+Relu,將不同擴張率的SE-Res2Block 輸出進行結合,形成多層特征融合(MFA)。再經過At?tentive Statistical Pooling(ASP)層,進行加權平均值和加權標準差聚合后進行池化,最后通過全連接層,生成192維的說話人特征向量。最后一層采用AAMSoftmax算法進行分類,將192維度的說話人嵌入向量進行分類,輸出數據集訓練的說話人數目。

1.2 提高模型嵌入向量維度

在ECAPA-TDNN模型中,通過將嵌入向量的維度從原本192維調整至512維度,可以更準確地捕捉和識別不同說話者之間的語音差別,從而提升模型的準確性。具體來說,說話人的特征在低維度下可能會變得模糊或失真,而高維度的嵌入可以更好地保留這些特征。此外,在進行分類任務時,使用高維度的嵌入還可以提高模型對于訓練數據特征的擬合能力,從而得到更好的分類效果。

1.3 改進的SE-Res2Block

ECAPA-TDNN 模型中最重要的部分就是SERes2Block,如圖2(a) 所示,將SE-Block 添加到Res2Block模塊的末端。SE代表著壓縮(Squeeze)和激勵(Excitation),其用于增強卷積神經網絡的表達能力,學習特征通道之間的關系,并根據特征通道的重要性對它們重新加權。在Res2Block模塊中,說話人特征信息在經過第一個1×1卷積后,將輸入劃分為S個子集(ECAPA-TDNN模型中S為8),定義為xi,i ∈ {1,2,...,S },每份子特征的尺度大小都相同,除了最后一個子特征之外,其余的子特征都經過一個3×3卷積,并且該卷積有空洞率參數d,定義為Convi,d ( ),其輸出為yi.子特征xi 都和Convi - 1,d ( ) 進行相加,然后輸入Convi,d ( ),因此yi 的公式如下:

除了最后一份子特征外,Res2Block模塊在卷積操作之前可以接收其左邊的特征信息,這使得每個輸出都能夠獲得更大的感受野,從而實現不同數量和不同感受野大小的特征組合。

相對于原模型中潛在地獲取左邊子特征的輸出信息,為獲取更多不同大小感受野的大小組合,本文提出一種(All Connect,AC)的模型,如圖2中(b)所示。每個子特征會與左邊所有的子特征卷積結果進行融合后再進行卷積操作,最后一份子特征遵循原論文,不做任何操作,保留原信息。改進后的公式如下所示:

與原模型相比,在沒有增加模型參數的前提下,每個子特征相比原來的感受野不斷增大,更全面地捕獲了所有左側特征的特征表示信息和語義信息,從而能夠更加準確地提取說話人區別特征,提高模型的性能和準確率。

1.4 空洞卷積擴張率數組模塊

空洞卷積最初是針對圖像語義分割問題中下采樣導致圖像分辨率下降、信息丟失的情況提出的一種卷積方法。相比于標準的卷積,空洞卷積引入了一個超參數稱為擴張率(dilation rate,d),d 表示卷積核內部各個點間的數量,標準卷積核的擴張率為1??斩淳矸e的優點在于不進行池化操作的情況下,擴大了卷積核的感受野,使得每個卷積可以接收更廣范圍的信息。以3×3的卷積為例來展示普通卷積和空洞卷積,如圖3所示。

由圖3可知,(a) 為普通的標準卷積,其感受野為3;(b) 圖中將標準卷積的d 設置為2,其感受野由原來的3擴大為5。感受野的計算如公式(3) 所示,其中原卷積核的大小為k,空洞擴張率為d, k'為等效的卷積核感受野的大小。

在ECAPA-TDNN 的3 層SE-Res2Block 中,Res2Net模塊被均等地分為8份,每一份的卷積核為3×3,由上到下每層SE-Res2Block擴張率為固定的2、3、4。本文提出一種多個空洞卷積擴張率(Multi-Dilation,MD) 數組[2,3,4,5,2,3,4,5]來替代固定的擴張率。以固定的擴張率2來做對比,Re2Net中8份的感受野分別為[5,5,5,5,5,5,5],MD的感受野分別為[5,7,9,11,5,7,9,11]。相比單一固定的空洞擴張率,MD方法使用多個不同大小的擴張率,每個分支學習可以學習到不同大小尺度的特征信息,能夠在多個尺度上進行表達,從而增加特征的多樣性,提高模型的性能。其次多個不同大小的擴張率可以覆蓋到更廣泛的感受野,使得網絡能夠更好地捕捉說話人的信息,提高模型的表示能力,從而提高模型的性能。

2 實驗設置與結果分析

2.1 實驗環境與參數設置

本文實驗的操作系統為Ubantu18.04,開發環境為Pytorch1.7.0,Cuda版本為11.0,編程語言為Python。實驗采用的CPU為Intel Xeon(R) 8255C,GPU為 NVIDIARTX 3090(24GB顯存)。在訓練過程中說話人語音特征提取采用幀長為30毫秒,步長為10毫秒,使用漢明窗進行加窗操作,使用80維濾波器組特征FBank。采用Adam優化器,epoch為100,batchsize為150,初始學習率為0.001,采用間隔學習率調整策略(StepLR),step_size為1,gramma為0.97(每輪學習率=前一輪學習率*0.97)。

2.2 數據集

本文實驗數據采用牛津大學的VoxCeleb1公開數據集。數據集全部是文本無關的,說話人范圍廣泛,并且性別分布均衡。數據的音頻為單聲道,頻率為16 Khz,采樣大小為16 bit,WAV格式。在本次實驗中,將VoxCeleb1數據集劃分為訓練集和測試集(兩個數據集的說話人沒有交集)。其中,訓練集(VoxCe?leb1-train) 挑選1 211名說話人的14 864條語音,測試集(Vox Celeb1-Test) 挑選出40名說話人的4 708條語音,構成37 611個測試對,其中18 802對來自同一說話人,18 809對來自不同說話人。

2.3 數據增強

在深度學習訓練時,擁有大量的標記數據會使得訓練的效果更好,也能確保訓練時,不會發生過擬合的問題,因此本文實驗利用數據增強的方式來增加訓練數據的數目和多樣性。本實驗采用兩種方法進行數據的增強。第1種是加入MUSAN語料庫的噪聲,MUSAN語料庫包含了演講、音樂和噪聲3個部分,演講部分的內容大部分是政府部門的演講;音樂部分包含了古典樂和現代流行樂;噪聲部分包含了技術性噪聲(傳真機噪聲、撥號音等)和環境噪聲(風聲、雨聲、動物噪聲等)。第2種是加入RIR語料庫,即房間脈沖響應,其主要用于模擬不同房間環境下的語音信號,可以制作出不同房間的聲學環境,通過添加噪聲模擬真實語音環境中存在的噪聲問題。

2.4 實驗評價標準

為了驗證模型的有效性,本文采用在說話人確認、人臉識別等領域常用的等錯誤率(Equal ErrorRate,EER) 和最小檢測代價函數(Minimum DetectionCost Function, minDCF) 作為系統的評價指標。minDCF公式為:

為了說明本文方法的有效性,通過消融實驗來驗證引入擴大說話人嵌入向量的維度,空洞卷積率數組MD和AC模塊的改進性,通過與ECAPA-TDNN模型對比驗證本文算法的優越性。各個模型的實驗結果如表1所示:

從表1可以看出,在ECAPA-TDNN的基礎上將說話人的嵌入向量由192調整為512,EER和miniDCF分別提升了0.12%、0.01;由于在ECAPA-TDNN 的基礎上添加MD模塊,EER和miniDCF分別提升了0.22%、0.02;由于在ECAPA-TDNN 的基礎上添加AC 模塊,EER 和miniDCF 分別提升了0.17%、0.02。最后本文實驗添加MD、FC 和512 維度,對比原模型,EER 和miniDCF分別提升了0.31%、0.02。

3 結論

針對說話人確認研究中難于提取充分的語音特征問題,本文提出了一種改進ECAPA-TDNN的說話人確認方法,該方法主要從3個方面對網絡層進行改進。首先,擴大說話人的嵌入向量維度,以增強特征表達能力。其次,采用一種全連接的SE-Res2Block模塊,最后利用空洞卷積擴張率數組,在網絡輸出中獲取多種感受野大小的組合,從而更有效地表達語音特征的多個尺度信息。實驗證明,本文提出的說話人確認方法大大降低了等錯誤率,在minDCF上也有顯著提高,后續會在語音的輸入特征和模型結構上進行深入研究。

91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合