馮 罡, 陳 寧
(華東理工大學(xué)信息科學(xué)與工程學(xué)院, 上海 200237)
語(yǔ)種識(shí)別(Language Identification, LID)是對(duì)語(yǔ)音片段所屬的語(yǔ)言種類進(jìn)行辨識(shí)[1],方言識(shí)別(Dialect Identification, DID)是其中一個(gè)特殊任務(wù),旨在識(shí)別同一語(yǔ)種的不同方言,通常應(yīng)用于語(yǔ)音識(shí)別系統(tǒng)的前端[2]。但由于方言的類間距離差異較大,部分相似的方言在聲學(xué)特征分布上非常相近,導(dǎo)致DID 相比LID 任務(wù)更加困難[3]。
傳統(tǒng)的DID 模型大多基于機(jī)器學(xué)習(xí)方法,如高斯混合模型(Gaussian Mixture Model, GMM)[4-5]、支持向量機(jī)(Support Vector Machine, SVM)[6]以及i-vector[7-8]等。由于深度學(xué)習(xí)模型能夠提取語(yǔ)音信號(hào)的深層非線性特征,從而更好表征方言的深層語(yǔ)義特征,因此基于深度學(xué)習(xí)的DID 模型可達(dá)到更高的識(shí)別準(zhǔn)確率[9-10]。X-vector[11]在過去幾年中是方言識(shí)別和說話人識(shí)別的主流模型。之后文獻(xiàn)[3]將Transformer 模型引入DID 任務(wù),采用多頭自注意力機(jī)制捕捉包含長(zhǎng)時(shí)特征序列依賴關(guān)系的方言嵌入,提升了分類性能。另外,為了加深網(wǎng)絡(luò)深度以提升模型性能,殘差網(wǎng)絡(luò)(ResNet)[12]被應(yīng)用于DID 任務(wù)。在AP20-OLR挑戰(zhàn)賽中,IBG_AI 團(tuán)隊(duì)[13]提出了基于5 種不同深度ResNet-SE[14]模 型 融 合 的LID 模 型。然 而,以上DID 模型在特征提取與優(yōu)化、標(biāo)簽預(yù)測(cè)階段仍存在可改進(jìn)的方面:首先,在特征提取階段,現(xiàn)有模型大多采用聲學(xué)特征,如Filter Banks (Fbanks)或Mel-Frequency Ceptral Coefficient (MFCC),而忽略了音素分布特性對(duì)方言特性表征的重要作用;其次,在特征優(yōu)化階段,以上模型在引入注意力機(jī)制時(shí),對(duì)特征的分析維度相對(duì)單一,如Transformer 模型僅考慮了時(shí)間維度的差異性,而ResNet-SE 模型僅考慮特征維度的差異性,無法對(duì)特征進(jìn)行全面的注意力分析,并且忽略了模型中間層信息的重要作用;最后,在標(biāo)簽預(yù)測(cè)階段,以上模型僅采用單一的交叉熵?fù)p失函數(shù)作為訓(xùn)練目標(biāo),無法最大化類間距離,難以保證模型的分類準(zhǔn)確性。
針對(duì)以上問題,本文分別在特征提取階段、特征優(yōu)化階段、以及標(biāo)簽預(yù)測(cè)階段進(jìn)行了如下改進(jìn),以提升方言識(shí)別的準(zhǔn)確性。第一,在特征提取階段,考慮到不同方言對(duì)相同字的發(fā)音有所不同,導(dǎo)致不同方言語(yǔ)音所包含音素的概率分布存在較大差異,本文采用表示音素分布特性的音素后驗(yàn)圖特征(Phonetic Posteriorgram,PPG)[15]作為模型的輸入特征。本文經(jīng)過實(shí)驗(yàn)證明,相比于Fbanks 和MFCC,PPG 具有更優(yōu)的方言區(qū)分性能。第二,在特征優(yōu)化階段,本文構(gòu)建了結(jié)合Convolutional Block Attention Module[16](CBAM)和 Emphasized Channel Attention-Propagation and Aggregation in TDNN(ECAPA-TDNN)[17]的特征優(yōu)化模型。其中,CBAM 模塊可對(duì)輸入特征依次進(jìn)行通道維度、特征維度和時(shí)間維度的注意力分析;以SERes2Block為基本單元的ECAPA-TDNN 模型利用多尺度空洞卷積和Res2net[18]結(jié)構(gòu)有效擴(kuò)大了特征提取的感受野,所包含的剩余連接和多層特征聚合(Multi-layer Feature Aggregation, MFA)可有效保證中間層信息的提取,所采用的注意力統(tǒng)計(jì)池化(Attentive Statistical Pooling, ASP)可在一定程度上消除部分噪聲片段的干擾。第三,在標(biāo)簽預(yù)測(cè)階段,在交叉熵?fù)p失函數(shù)的基礎(chǔ)上引入Additive Angular Margin (AAM)[19-20]損失,以決策區(qū)域替代決策邊界,從而進(jìn)一步提升分類準(zhǔn)確率。公開數(shù)據(jù)集的實(shí)驗(yàn)結(jié)果表明,本文方法實(shí)現(xiàn)了比傳統(tǒng)方言識(shí)別方法更高的分類準(zhǔn)確率。
本文提出的基于語(yǔ)音音素后驗(yàn)概率圖關(guān)鍵特征提取的中文方言識(shí)別模型如圖1 所示,它分為特征提取、特征優(yōu)化和標(biāo)簽預(yù)測(cè)3 個(gè)階段。
本文利用預(yù)訓(xùn)練模型提取語(yǔ)音信號(hào)的PPG 特征。首先對(duì)音頻信號(hào)進(jìn)行幀長(zhǎng)為25 ms、幀移為10 ms的分幀處理,得到幀級(jí)MFCC 特征,記為X={xt|t=1,···,T} ,其中T為幀數(shù)。然后根據(jù)第t幀的特征利用公式(1)計(jì)算屬于每種音素的后驗(yàn)概率,得到相應(yīng)的PPG 特征,記為Pt。
其中,xt是第t幀的輸入特征,d表示音素單元的類別,D是音素單元的類別總數(shù),P(d|xt) 是xt屬于第d種音素的后驗(yàn)概率。
為了比較Fbanks、MFCC 以及PPG 特征在區(qū)分方言中的有效性,實(shí)驗(yàn)采用普通話和10 種方言各2 500個(gè)樣本,以幀長(zhǎng)為25 ms、幀移為10 ms 對(duì)樣本進(jìn)行分幀處理,分別提取每幀的Fbanks、MFCC 和PPG 特征,并對(duì)每個(gè)樣本的Fbanks、MFCC、PPG 特征按幀進(jìn)行均值化處理。圖2(a)、(b)和(c)分別示出了均值化處理后的Fbanks、MFCC 和PPG 特征的t-SNE可視化分布。可以看出,相比于Fbanks 和MFCC,PPG具有更優(yōu)的方言區(qū)分性能。
圖2 普通話和方言語(yǔ)音樣本經(jīng)均值化處理的t-SNE 可視化分布對(duì)比Fig.2 Comparison of t-SNE visual distribution for Mandarin and dialect speech samples after averaging
本文在特征優(yōu)化階段分別引入基于CBAM 注意力機(jī)制和基于ECAPA-TDNN 的深層嵌入提取模塊。前者對(duì)PPG 特征進(jìn)行基于通道、特征和時(shí)間維度的注意力分析,后者則通過剩余連接和MFA 保留中間層信息以提升特征的表征能力,同時(shí)借助注意力統(tǒng)計(jì)池化分析獲得句子級(jí)嵌入。
1.2.1 基于CBAM 的注意力分析 語(yǔ)音中存在的靜音和含噪時(shí)隙對(duì)方言識(shí)別的性能有一定影響。傳統(tǒng)的方言識(shí)別模型尚未考慮這一重要影響因素。為此,本文引入基于CBAM 的注意力機(jī)制對(duì)PPG 特征依次進(jìn)行通道和空間(特征-時(shí)間維度)注意力分析。注意力的引入還可在一定程度上減少訓(xùn)練參數(shù),從而提升模型的訓(xùn)練效率。
如圖2 所示,對(duì)于輸入的PPG 特征Pt∈RD×T,分別進(jìn)行Unsqueeze 和二維卷積將其通道從一維擴(kuò)充為C維,所得通道擴(kuò)充后的特征記為Ft∈RC×D×T。進(jìn)行通道擴(kuò)充的主要目的是增強(qiáng)PPG 特征的分辨率,以便更好地提取方言相關(guān)特征。后續(xù)將依次進(jìn)行通道注意力分析和空間注意力分析。
(1)通道注意力分析
對(duì)特征Ft的特征維度D和時(shí)間維度T分別進(jìn)行全局最大池化和全局平均池化,將池化結(jié)果分別通過共享的多層感知器(Multilayer Perceptron, MLP)并相加,經(jīng)過Sigmoid 激活得到通道注意力的權(quán)重向量,記為Mt(c)∈RC×1×1,其計(jì)算公式如公式(2)所示:
其中, C onv 和 C at 分別表示卷積和拼接操作。
經(jīng)空間注意力優(yōu)化的特征記為Ft(cs)∈RC×D×T,可由公式(5)得到:
1.2.2 基于ECAPA-TDNN 的句子級(jí)嵌入提取 為了從幀級(jí)特征獲取句子特征的過程中更好地提取句子所包含的時(shí)序特性,避免中間層信息的丟失對(duì)句子級(jí)特征的影響,同時(shí)盡可能消除句中的靜音和含噪時(shí)隙對(duì)特征提取的影響,本文引入ECAPA-TDNN模型進(jìn)行句子級(jí)嵌入的提取。
ECAPA-TDNN 模型框圖及SE-Res2Block 結(jié)構(gòu)如圖3 所示。首先,ECAPA-TDNN 模型以SE-Res2Block模塊為基礎(chǔ),SE-Res2Block 模塊將輸入特征分成更小的片段,用小的卷積器組代替單個(gè)大的卷積器,并對(duì)各卷積器的輸出進(jìn)行類殘差的層次化方式連接,這種結(jié)構(gòu)在不增加模型參數(shù)的基礎(chǔ)上擴(kuò)大網(wǎng)絡(luò)層的感受野,同時(shí)獲得更細(xì)粒度的多尺度特征信息,因此可有效提升特征的表征能力。設(shè)第n個(gè)輸入特征片段為zn(n=0, 1 ,···,7) ,則對(duì)應(yīng)的片段的輸出qn可用公式(6)計(jì)算:
圖3 ECAPA-TDNN 模型框圖(a)以及SE-Res2Block 結(jié)構(gòu)(b)[17]Fig.3 Architecture of ECAPA-TDNN model (a) and SE-Res2Block structure (b)[17]
其中, C onv 表示 3× 3 卷積操作, R eLU 和 BN 分別表示激活函數(shù)和批歸一化。
其次,如圖3(a)所示,初始卷積層的輸出與SERes2Block 層的輸出進(jìn)行求和后輸入到下一個(gè)SERes2Block 層,因此可有效減少中間層信息的丟失;同時(shí),中間三層SE-Res2Block 的輸出將通過MFA 層進(jìn)行聚合,從而進(jìn)一步避免了中間層信息的丟失。
最后,ASP 層的引入可對(duì)不同時(shí)間維度的特征進(jìn)行不同權(quán)重的加權(quán),從而在一定程度上消除靜音時(shí)隙和噪聲時(shí)隙對(duì)句子級(jí)嵌入提取的影響。
本文使用多層全連接層作為分類器,通過設(shè)置最后一層全連接層的輸出節(jié)點(diǎn)數(shù)N=11 來控制分類任務(wù)的類別數(shù),輸出向量Oi的元素則表示對(duì)各類方言的預(yù)測(cè)概率。
在分類過程中,一方面采用常被用于分類問題的交叉熵?fù)p失作為訓(xùn)練目標(biāo),記為lCE。另一方面為了防止單個(gè)損失造成的決策單一問題,同時(shí)更好地最大化分類的類間距離,本文引入AAM,記為lAAM,進(jìn)一步約束模型訓(xùn)練。其計(jì)算公式為:
其中:B表示batch-size,N表示類別數(shù),yi代表第i條音頻的標(biāo)簽one-hot 向量, θyi,Oi表示yi、Oi之間的角度,m和 β 分別代表?yè)p失函數(shù)中margin 和scale 兩個(gè)超參數(shù)。
AAM 損失是以角度為分類標(biāo)準(zhǔn),類間增設(shè)固定邊際m,以決策區(qū)域替代決策邊界進(jìn)行分類,達(dá)到縮小類內(nèi)距離、擴(kuò)大類間距離的目標(biāo),有效提高方言分類的準(zhǔn)確性。
模型整體損失,記為ltotal,由以上兩種損失加權(quán)求和得到,見公式(8):
其中 α ∈[0,1] 是控制兩種損失比例的超參數(shù),本文設(shè)定 α =0.5 。
為了驗(yàn)證本文提出的方言識(shí)別模型的性能,實(shí)驗(yàn)以包括普通話在內(nèi)的11 種中文方言的分類為目標(biāo),對(duì)本文的模型進(jìn)行了性能測(cè)試。同時(shí)將基于Transformer 的方言識(shí)別模型[3]、基于ResNet34-SE 的語(yǔ)種識(shí)別模型[13],以及相關(guān)模型(X-vector[11]和ECAPA-TDNN[17])作為基線系統(tǒng)進(jìn)行性能對(duì)比。
2.1.1 普通話數(shù)據(jù) 來自Aishell2 數(shù)據(jù)集中1 991 位說話人的40 188 條語(yǔ)音,共計(jì)30 h。
2.1.2 方言數(shù)據(jù) 來自數(shù)據(jù)堂公司Datatang-Dialect方言數(shù)據(jù)集中包括上海話、福建話、粵語(yǔ)、四川話、長(zhǎng)沙話、杭州話、河南話、昆明話、蘇州話以及武漢話10 種方言各30 h 的數(shù)據(jù)。具體信息如表1 所示。
表1 方言數(shù)據(jù)集的構(gòu)成Table 1 Composition of dialect dataset
訓(xùn)練集和測(cè)試集的具體劃分如表2 所示。為了保證訓(xùn)練集和測(cè)試集之間不存在說話人重疊,對(duì)以上的10 種語(yǔ)言按說話人數(shù)量進(jìn)行9∶1 的劃分,其中9 份歸入訓(xùn)練集,1 份歸入測(cè)試集。需要說明的是,本文的模型僅采用每個(gè)樣本的前3 s 作為輸入。
表2 訓(xùn)練集和測(cè)試集的具體劃分Table 2 Division of training and testing sets
實(shí)驗(yàn)的硬件設(shè)備為具有24 GB 內(nèi)存的NVIDIA 3090Ti GPU,并采用PyTorch 進(jìn)行編程。語(yǔ)音樣本的采樣率和量化精度分別為16 kHz 和16 bit。實(shí)驗(yàn)采用40 維PPG 特征作為輸入。模型訓(xùn)練時(shí)采用triangular2 策略[18],對(duì)ECAPA-TDNN 模型的學(xué)習(xí)率進(jìn)行設(shè)置,并采用Adam 優(yōu)化器[19]。AAM 損失的margin 和scale 分別設(shè)定為0.2 和12。模型所有權(quán)重的衰減因子設(shè)為2×10-4,batch size 設(shè)為128。
本文實(shí)驗(yàn)包括與基線系統(tǒng)的性能對(duì)比實(shí)驗(yàn)和本文模型的消融實(shí)驗(yàn)。實(shí)驗(yàn)采用分類準(zhǔn)確率作為衡量指標(biāo),即分類正確的語(yǔ)音樣本數(shù)占總體語(yǔ)音樣本數(shù)的比例。
2.3.1 與基線系統(tǒng)的性能對(duì)比 實(shí)驗(yàn)采用基于Transformer[3]和X-vector[11]的方言識(shí)別模型,基于ResNet34-SE 的語(yǔ)種識(shí)別模型[13],以及基于ECAPATDNN[17]的方言識(shí)別模型作為基線系統(tǒng),在本文構(gòu)造的訓(xùn)練集和測(cè)試集上進(jìn)行了對(duì)比實(shí)驗(yàn)。包括本文模型在內(nèi)的5 種模型在測(cè)試集上的方言分類準(zhǔn)確率對(duì)比結(jié)果如表3 所示,可以看出,本文提出的模型取得了比所有基線系統(tǒng)更高的分類準(zhǔn)確率。
表3 方言分類準(zhǔn)確率對(duì)比Table 3 Comparison of dialect identification accuracy
為了進(jìn)一步研究各種模型在不同方言區(qū)分能力上的差異,圖4 示出了由各種模型在測(cè)試集上提取的句子級(jí)嵌入的t-SNE 可視化分布的對(duì)比結(jié)果??梢钥闯觯海?)各種模型均具有一定的方言分類能力;(2)就類間距離來看,ECAPA-TDNN[17]和本文模型更具優(yōu)勢(shì),可能是因?yàn)镋CAPA-TDNN 具有較好保持中間層特征能力,并能更好地提取語(yǔ)音的長(zhǎng)時(shí)時(shí)序特性;(3)與原始的ECAPA-TDNN 相比,本文的模型具有更強(qiáng)的方言分類能力。
圖4 各模型提取的語(yǔ)音嵌入的t-SNE 可視化分布對(duì)比Fig.4 Comparison of the t-SNE visual distribution of embeddings extracted by each model
圖5 顯示了5 種模型在不同方言上分類準(zhǔn)確率對(duì)比結(jié)果??梢钥闯觯海?)在長(zhǎng)沙話、河南話、昆明話、武漢話、閩南話以及上海話的分類中,本文的模型取得了比4 種基線系統(tǒng)更高的準(zhǔn)確率;(2)在閩南語(yǔ)、杭州話、普通話的分類中,本文模型取得了與各基線模型相當(dāng)?shù)男阅埽唬?)在粵語(yǔ)和蘇州話的分類中,本文模型略低于基線模型,但差距很小;(4)在四川話的分類中,本文模型的準(zhǔn)確率低于ResNet34-SE[13]模型,但高于其他3 種基線系統(tǒng);(5)總體而言,與基線系統(tǒng)相比,本文模型在不同類方言的識(shí)別中具有更好的穩(wěn)定性。
圖5 各模型中不同方言的分類準(zhǔn)確率Fig.5 Accuracy of different dialects in each model
2.3.2 消融實(shí)驗(yàn) 為了驗(yàn)證本文模型在輸入特征的選擇、特征的優(yōu)化以及損失函數(shù)的構(gòu)造方面的改進(jìn)對(duì)整個(gè)模型性能提升的不可替代作用,本研究進(jìn)行了消融實(shí)驗(yàn),結(jié)果如表4 所示。
表4 消融實(shí)驗(yàn)結(jié)果Table 4 Results of ablation experiments
(1)特征選擇的有效性
表4 中示出的Our-Fbanks 和Our-MFCC 分別表示當(dāng)把本文的模型輸入替換為Fbanks 特征或MFCC 特征時(shí)的模型,可以看出本文模型取得了比Our-Fbanks 和Our-MFCC 更高的識(shí)別準(zhǔn)確率。這表明PPG 具有比Fbanks 或MFCC 更好的方言特性表征能力。
(2)特征優(yōu)化的有效性
為了驗(yàn)證特征優(yōu)化階段中CBAM 以及ECAPATDNN 的作用,表4 中列出了模型分別缺少了以上模塊時(shí)模型的性能。其中No ECAPA-TDNN 是在將CBAM 模塊的輸出直接進(jìn)行平均池化后通過FC 和BN 層得到的模型??梢钥闯?,以上任一模塊的缺失均會(huì)導(dǎo)致模型性能的下降,這表明以上在特征優(yōu)化階段的改進(jìn)均對(duì)模型性能的提升有貢獻(xiàn)。同時(shí)如表5所示的實(shí)驗(yàn)結(jié)果表明CBAM 的引入對(duì)降低整個(gè)模型的訓(xùn)練時(shí)長(zhǎng)有突出的貢獻(xiàn)。
(3)損失函數(shù)的有效性
為了驗(yàn)證AAM 損失的引入對(duì)模型性能提升的作用,表4 列出了模型在缺少AAM 損失條件下的分類準(zhǔn)確率。從No AAm 與Ours 的實(shí)驗(yàn)對(duì)比可以看出,AAM 損失的引入能有效提升模型的分類準(zhǔn)確率。
考慮到語(yǔ)音音素的分布特性可有效區(qū)分不同的中文方言,本文提出了一種基于語(yǔ)音音素后驗(yàn)概率圖關(guān)鍵特征提取的中文方言識(shí)別模型。該模型以語(yǔ)音音素后驗(yàn)概率圖作為模型的輸入,通過引入基于CBAM 的注意力機(jī)制對(duì)幀級(jí)特征進(jìn)行優(yōu)化,利用ECAPA-TDNN 模型提取幀級(jí)特征序列的長(zhǎng)時(shí)特性,并加強(qiáng)對(duì)中間層信息的提取和聚合,并引入ASP 降低噪聲和靜音幀對(duì)句子級(jí)特征的影響;最后,引入AAM 損失提升分類準(zhǔn)確率。在公開數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果表明,本文的模型取得了比傳統(tǒng)方法更高的分類準(zhǔn)確率,并且以上改進(jìn)均對(duì)模型識(shí)別準(zhǔn)確率的提升有貢獻(xiàn)。