收稿日期:2021-09-26;修回日期:2021-11-13" 基金項(xiàng)目:科技創(chuàng)新2030-“新一代人工智能”重大項(xiàng)目(2018AAA0103100)
作者簡(jiǎn)介:張新(1996-),男,河南信陽(yáng)人,碩士研究生,主要研究方向?yàn)樯疃葘W(xué)習(xí)相關(guān)的語(yǔ)音信號(hào)處理;付中華(1977-),男(通信作者),湖北十堰人,副教授,碩導(dǎo),博士,主要研究方向?yàn)槁犛X與音頻、音頻與語(yǔ)音信號(hào)處理等(mailfzh@nwpu.edu.cn).
摘 要:特定人語(yǔ)音分離算法是指從包含多種說(shuō)話人同時(shí)講話場(chǎng)景的混合語(yǔ)音中,通過一個(gè)特征向量的引導(dǎo)來(lái)分離出特定說(shuō)話人的語(yǔ)音。特征向量的獲取通常有兩種方式,一種是使用一組自定義的正交獨(dú)熱(one-hot)向量,該方法可以在訓(xùn)練過程中達(dá)到更好的訓(xùn)練效果,但是無(wú)法處理訓(xùn)練過程中未見過的說(shuō)話人;另一種方法是使用一個(gè)分類網(wǎng)絡(luò)自適應(yīng)地生成具有說(shuō)話人特征的嵌入式向量(embedding),該做法會(huì)因?yàn)榉诸惥W(wǎng)絡(luò)的誤差而損失一部分訓(xùn)練效果,但是可以在集外說(shuō)話人的樣本上取得較好的泛化效果。為了解決在特定人語(yǔ)音分離算法用單獨(dú)使用one-hot或embedding作為特征向量存在的不足之處,提出了一種魯棒的特定人語(yǔ)音分離方法,通過在訓(xùn)練過程中交替地使用one-hot向量和embedding作為目標(biāo)說(shuō)話人的身份特征向量,將one-hot和embedding映射到公共空間中,可以在保證訓(xùn)練效果的同時(shí),增強(qiáng)對(duì)集外說(shuō)話人的泛化能力。實(shí)驗(yàn)結(jié)果表明,在使用了這種混合訓(xùn)練方法之后,對(duì)于測(cè)試集中的集外說(shuō)話人分離效果上SDR提升超過了10 dB。
關(guān)鍵詞:語(yǔ)音分離;說(shuō)話人識(shí)別;嵌入式向量;獨(dú)熱向量
中圖分類號(hào):TN912.35"" 文獻(xiàn)標(biāo)志碼:A
文章編號(hào):1001-3695(2022)06-025-1749-04
doi:10.19734/j.issn.1001-3695.2021.09.0444
Robust target speaker speech separation algorithm
Zhang Xin1,F(xiàn)u Zhonghua1,2
(1.School of Computer,Northwestern Polytechnical University,Xi’an 710129,China;2.Xi’an Iflytek Super-Brain Information Technology Co.,Ltd.,Xi’an 710076,China
)
Abstract:The aim of target speaker’s speech separation is to extract one’s speech from a mixture speech consisted of multiple speakers,which is guided by an eigenvector.There are two ways to get the eigenvector,one is to use a one-hot vector ,another is to adaptively generate an embedding containing the target speaker’s characteristic form a classification neural network.The advantage of using one-hot vector is that it can achieve perfect performance during the training process,while it cannot handle the unseen speakers beyond the training set.The advantage of using embedded vectors is that it loses part of the training effect,but it has a good generalization effect on unseen speakers.In order to solve the shortcomings of singlehandedly using one-hot vector or embedding vector in specific speaker speech separation algorithm,this paper proposed a hybrid training method.It used the one-hot vector and embedding vector alternately as the identity feature vector of target speakers.By mapping one-hot and embedding into public space,the proposed method could achieve a good generation effect while ensuring the training effect.The experimental results show that the proposed method achieves more than 10 dB SDR improvement on unseen spea-kers’ speech separation.
Key words:speech separation;speaker classification;embedding vector;one-hot vector
0 引言
人類的聽覺系統(tǒng)可以自動(dòng)地在多說(shuō)話人的雞尾酒舞會(huì)場(chǎng)景中篩選出自己所關(guān)注的聲音[1],從而提高溝通的效率,這同時(shí)也是語(yǔ)音分離研究的長(zhǎng)期目標(biāo)。傳統(tǒng)基于數(shù)字信號(hào)處理的語(yǔ)音分離方法[2]可以借助頻域的最優(yōu)掩膜比(ideal ratio mask,IRM)[3]實(shí)現(xiàn)對(duì)每個(gè)說(shuō)話人的分離,但是無(wú)法對(duì)IRM進(jìn)行精確估算。近年來(lái),隨著深度學(xué)習(xí)在語(yǔ)音算法領(lǐng)域的發(fā)展,一些使用深度神經(jīng)網(wǎng)絡(luò)(deep neural net,DNN)的方法[4,5]對(duì)估計(jì)IRM取得了很好的效果。文獻(xiàn)[4]提出了TasNet的網(wǎng)絡(luò)結(jié)構(gòu),使用長(zhǎng)短期記憶(long short term memory,LSTM)[6]對(duì)混合語(yǔ)音中的每個(gè)說(shuō)話人的時(shí)域IRM進(jìn)行估計(jì)。文獻(xiàn)[5]使用了全卷積網(wǎng)絡(luò)來(lái)替換TasNet中的LSTM方法,利用了卷積網(wǎng)絡(luò)權(quán)值共享和局部連接的特性,在降低參數(shù)量的同時(shí),取得了很好的分離效果。為了從分離出的各個(gè)說(shuō)話人語(yǔ)音中提取目標(biāo)說(shuō)話人語(yǔ)音,文獻(xiàn)[7,8]使用了自定義的獨(dú)熱(one-hot)向量與分離網(wǎng)絡(luò)相結(jié)合的做法,可以做到對(duì)集內(nèi)聲音對(duì)象的分離,但是這種使用自定義one-hot向量的做法無(wú)法處理集外的聲音對(duì)象。在聲紋識(shí)別領(lǐng)域,首先將embedding作為說(shuō)話人聲學(xué)特征的特征向量,文獻(xiàn)[9]使用了GMM生成對(duì)于說(shuō)話文本相關(guān)的i-vector,文獻(xiàn)[10]使用了DNN來(lái)生成基于幀的d-vector;然后將所有幀的vector進(jìn)行平均后進(jìn)行輸出,d-vector 的一個(gè)潛在假設(shè)是,在開發(fā)集上訓(xùn)練的模型能夠很好地泛化到測(cè)試集中未見過的說(shuō)話人上。文獻(xiàn)[11]使用了pooling的技術(shù)將幀級(jí)別的特征融合成句級(jí)別的特征,首先通過TDNN[12]提取語(yǔ)音的幀級(jí)特征,將音頻的幀級(jí)特征的均值和標(biāo)準(zhǔn)差連接起來(lái)作為段級(jí)特征,然后通過全連接網(wǎng)絡(luò)映射到每個(gè)說(shuō)話人的ID上形成x-vector。文獻(xiàn)[13]使用了一個(gè)說(shuō)話人識(shí)別網(wǎng)絡(luò)為每個(gè)說(shuō)話人生成具有自身聲學(xué)特性的d-vector作為特征向量與分離網(wǎng)絡(luò)相結(jié)合,達(dá)到對(duì)集外說(shuō)話人的樣本可以自適應(yīng)地生成特征向量的效果,增強(qiáng)了對(duì)訓(xùn)練集外說(shuō)話人的語(yǔ)音分離泛化能力,但是由于識(shí)別網(wǎng)絡(luò)本身存在誤差,使得對(duì)于集內(nèi)說(shuō)話人的分離上限會(huì)比使用one-hot向量要低。在自然語(yǔ)言處理領(lǐng)域,為了在one-hot和embedding向量之間取得相對(duì)均衡的效果,谷歌在文獻(xiàn)[14]中提出了一種使用one-hot和embedding向量進(jìn)行混合訓(xùn)練作為推薦系統(tǒng)的特征,其做法是將網(wǎng)絡(luò)劃分為deep和wide兩個(gè)模塊,wide模塊使用了多層線性模型對(duì)輸入特征進(jìn)行線性映射,deep模塊使用多層的DNN模型,對(duì)輸入的特征進(jìn)行embedding處理后訓(xùn)練。在實(shí)際應(yīng)用時(shí),針對(duì)訓(xùn)練過程中出現(xiàn)過的稀疏特征,則認(rèn)為特征為強(qiáng)相關(guān)的特征,對(duì)模型性能有著直接的貢獻(xiàn),使用one-hot向量在wide模塊中進(jìn)行直接的表示;對(duì)于在訓(xùn)練過程中未出現(xiàn)過程特征,使用embedding層對(duì)特征形成稠密特征的在deep模塊中進(jìn)行表示,最后使用全連接層對(duì)于兩個(gè)模塊輸出進(jìn)行聯(lián)合擬合。通過使用wide和deep模塊的方法,使得使用one-hot向量的wide部分有記憶能力,使用embedding向量的deep部分有泛化能力。
為了解決使用one-hot和embedding向量進(jìn)行特定說(shuō)話人分離中存在的問題,本文受文獻(xiàn)[14]的啟發(fā)使用了一種混合特征向量來(lái)進(jìn)行特定說(shuō)話人的語(yǔ)音分離的方法,在訓(xùn)練生成特征向量的過程中使用了多任務(wù)的方案,模型會(huì)將one-hot向量和embedding映射到公共的空間中,因此這種方法具有以上兩種方法的優(yōu)點(diǎn)。模型訓(xùn)練完成后,既可以使用one-hot向量來(lái)進(jìn)行集內(nèi)說(shuō)話人的語(yǔ)音分離,也可以使用embedding的方式對(duì)集外說(shuō)話人進(jìn)行語(yǔ)音分離。在測(cè)試集對(duì)集外說(shuō)話人的分離實(shí)驗(yàn)上顯示,使用了混合訓(xùn)練方法的模型,SDR得分提高了10 dB。
1 特定說(shuō)話人分離算法
從混合語(yǔ)音中分離出特定說(shuō)話人語(yǔ)音的算法公式如下:
y=x+n(1)
其中:y、x、n分別為采樣點(diǎn)長(zhǎng)度為T的混合語(yǔ)音時(shí)域波形、目標(biāo)說(shuō)話人的語(yǔ)音和其余說(shuō)話人語(yǔ)音。
圖1為從混合語(yǔ)音中進(jìn)行特定說(shuō)話人分離的算法流程,其中包含了特征向量提取模塊(feature encoder)和聲音分離模塊(extract network)。其中特征提取模塊可通過兩種方式提取特征向量:a)根據(jù)目標(biāo)說(shuō)話人的序號(hào)i自定義one-hot向量;b)給定一段特定說(shuō)話人的純凈語(yǔ)音ai,然后使用一個(gè)說(shuō)話人分類網(wǎng)絡(luò)生成特定說(shuō)話人的embedding作為特征向量。語(yǔ)音分離模塊借助特征向量進(jìn)行特定說(shuō)話人的語(yǔ)音分離:
=f(y,e)(2)
其中:f(·)為深度學(xué)習(xí)實(shí)現(xiàn)的分離模型;e為維度為D的特征向量;為分離出的特定說(shuō)話人語(yǔ)音。
1.1 使用one-hot向量的特征向量
設(shè)o為一個(gè)維度為N的one-hot向量,共代表總類別為N的特定說(shuō)話人樣本。例如,設(shè)i為說(shuō)話人在樣本集合中的序號(hào),則o中第i個(gè)元素的值oi的值被設(shè)定為1,其余元素的值均為0。使用one-hot向量的好處在于,不同的特定說(shuō)話人的向量之間是正交的,因此可以最大程度地區(qū)分不同說(shuō)話人。
使用one-hot向量作為特征向量的局限在于,說(shuō)話人總數(shù)N在訓(xùn)練時(shí)就已經(jīng)被設(shè)定,且和網(wǎng)絡(luò)的結(jié)構(gòu)相關(guān),因此在推理階段無(wú)法對(duì)集外說(shuō)話人生成one-hot向量進(jìn)行語(yǔ)音分離。
1.2 使用embedding向量的特征向量
另一種特征向量的獲取方法是使用一段長(zhǎng)度為Ta特定說(shuō)話人的純凈語(yǔ)音a來(lái)進(jìn)行特征向量的生成,其中Ta可以與混合語(yǔ)音y的長(zhǎng)度T不相同。embedding向量的獲取方式公式為
eemd=g(a)(3)
其中:g(·)代表生成embedding說(shuō)話人識(shí)別網(wǎng)絡(luò)。可以取說(shuō)話人識(shí)別網(wǎng)絡(luò)中的某一隱藏層作為embedding,如文獻(xiàn)[11]的x-vector。也可以使用文獻(xiàn)[15]提出的GE2E函數(shù)作為損失函數(shù)直接輸出embedding,該損失函數(shù)將不同說(shuō)話人的embedding劃分為不同的類,通過最小化損失函數(shù)達(dá)到同一說(shuō)話人embedding相似度較高,不同說(shuō)話人embedding相似度較低的效果。使用embedding編碼器生成特征向量的方式會(huì)因?yàn)榫幋a器自身的誤差造成集內(nèi)說(shuō)話人的訓(xùn)練效果較差。但是當(dāng)給定集外說(shuō)話人的純凈語(yǔ)音,編碼器同樣可以生成該說(shuō)話人的特征向量,因此在推理階段對(duì)于集外說(shuō)話人有著較好的泛化效果。
1.3 one-hot和embedding結(jié)合的特征向量
本文提出了一種融合了以上兩種做法的特征向量生成方式。通過使用多任務(wù)訓(xùn)練方法的形式,即在訓(xùn)練網(wǎng)絡(luò)的過程中通過交替地使用one-hot和embedding向量,同時(shí)這種多任務(wù)訓(xùn)練帶來(lái)的正則化效果在一定程序上也提高了訓(xùn)練時(shí)的效果。所提出的多任務(wù)的損失函數(shù)可用以下的公式進(jìn)行表示:
L=Lext(=f(y,ehot),x)+
Lext(=f(y,eemd),x)+αLsmi(ehot,eemd)(4)
其中:L=Lext為分離損失函數(shù);L=Lsmi為不同特征向量之間的相似度損失函數(shù);α為一個(gè)權(quán)重系數(shù),設(shè)定為0.5。其中分離損失函數(shù)采用語(yǔ)音失真度(signal to distortion ratio,SDR)作為損失函數(shù),公式如下:
Lext(x,)=20 log‖x‖‖x-‖(5)
其中:‖·‖代表對(duì)向量取模。余弦得分被用于衡量one-hot和embedding向量之間的相似度,使用此損失函數(shù)可以使不同說(shuō)話人embedding之間趨近正交,提高對(duì)集內(nèi)說(shuō)話人的分離效果。其得分在0~1,值越高,代表兩個(gè)特征向量相似度越高,公式如下:
Lsmi=〈ehot,eemd〉‖ehot‖·‖eemd‖(6)
其中:〈·〉代表兩個(gè)向量之間的內(nèi)積。
算法1 特定說(shuō)話人語(yǔ)音分離算法
輸入:混合語(yǔ)音時(shí)域波形圖,目標(biāo)說(shuō)話人純凈語(yǔ)音。
輸出:目標(biāo)說(shuō)話人語(yǔ)音波形圖。
a)根據(jù)目標(biāo)說(shuō)話人純凈語(yǔ)音生成embedding;
b)使用生成的embedding進(jìn)行目標(biāo)說(shuō)話人的語(yǔ)音分離;
c)根據(jù)目標(biāo)說(shuō)話人的編號(hào)選取預(yù)定義的one-hot向量;
d)使用one-hot向量進(jìn)行目標(biāo)說(shuō)話人的語(yǔ)音分離;
e)計(jì)算損失函數(shù)的loss值,使用梯度下降算法更新網(wǎng)絡(luò)參數(shù)。
2 網(wǎng)絡(luò)結(jié)構(gòu)
本文使用了兩種分離網(wǎng)絡(luò)結(jié)構(gòu),其中一種是使用了由文獻(xiàn)[5]提出的全卷積音頻時(shí)域分離網(wǎng)絡(luò)Conv-TasNet,模型的輸入輸出為時(shí)域波形,避免了在頻域語(yǔ)音分離中相位譜難以估計(jì)帶來(lái)的分離效果較差的問題。網(wǎng)絡(luò)中使用了一維卷積和一維轉(zhuǎn)置卷積作為編碼層和解碼層,功能類似于頻域變換中的短時(shí)傅里葉變換和逆短時(shí)傅里葉變換。在編碼層和解碼層之間,使用了時(shí)序卷積網(wǎng)絡(luò)(temporal convolutional network, TCN)[16]來(lái)用于特征的長(zhǎng)期時(shí)間序列建模,其優(yōu)點(diǎn)在于可以解決循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural network, RNN)在建模長(zhǎng)期時(shí)間序列數(shù)據(jù)時(shí)可能出現(xiàn)的梯度消失問題,同時(shí)可以通過少量的參數(shù)獲取較大的感知野。另一種是使用了當(dāng)前語(yǔ)音分離領(lǐng)域效果最好的網(wǎng)絡(luò)SepFormer[17],其與Conv-TasNet的網(wǎng)絡(luò)結(jié)構(gòu)區(qū)別在于使用了注意力機(jī)制的網(wǎng)絡(luò)結(jié)構(gòu)作為分離層,賦予了網(wǎng)絡(luò)強(qiáng)大的上下文建模能力,因此分離效果較其他同類算法要好。
本文的embedding生成網(wǎng)絡(luò)使用了圖像識(shí)別網(wǎng)絡(luò)中常用的ResNet[18],其網(wǎng)絡(luò)結(jié)構(gòu)主要采用了殘差連接來(lái)消除網(wǎng)絡(luò)過深可能出現(xiàn)的網(wǎng)絡(luò)退化問題。
2.1 Conv-TasNet分離網(wǎng)絡(luò)
Conv-TasNet由編碼器(encoder)、分離器(separactor)和解碼器(decoder)三個(gè)處理階段組成,如圖2所示。首先,編碼器模塊將混合信號(hào)的短片段轉(zhuǎn)換為中間特征空間中的短時(shí)特征。然后,使用分離器結(jié)合特定說(shuō)話人特征向量來(lái)估計(jì)特定說(shuō)話人的波形掩碼。最后,將編碼器輸出的短時(shí)特征和分離器輸出的波形掩碼進(jìn)行點(diǎn)乘解碼器模塊通過轉(zhuǎn)換掩蔽之后的編碼器特征來(lái)重建特定說(shuō)話人波形。
編碼器部分使用了時(shí)域混合波形作為輸入,通過一維卷積完成對(duì)時(shí)域短時(shí)特征的提取:
h=ReLU(conv1d(x))(7)
其中:卷積核、步長(zhǎng)分別設(shè)為160和80。
分離器中所使用的TCN中的每一層都由膨脹因子逐漸增加的一維空洞卷積塊組成。膨脹因子呈指數(shù)增長(zhǎng),以確保能包含足夠大的時(shí)間上下文窗口,以利用語(yǔ)音信號(hào)的長(zhǎng)時(shí)依賴性。在Conv-TasNet中,M個(gè)膨脹因子分別為1,2,4,…,2M-1的卷積塊被重復(fù)R次。每個(gè)塊的輸入都進(jìn)行零填充,以確保輸出長(zhǎng)度與輸入相同。TCN的輸出將被饋送到1×1卷積以估計(jì)波形掩碼。1×1卷積層與非線性激活函數(shù)ReLU一起為C個(gè)目標(biāo)源估計(jì)C個(gè)掩碼矢量。在本文中,只對(duì)目標(biāo)說(shuō)話人的語(yǔ)音進(jìn)行分離,因此C被設(shè)定為1。M和R分別設(shè)定為5和4,特征向量e在每一層卷積塊中與輸入特征進(jìn)行串聯(lián):
mx=TCN(h,e)(8)
解碼器中使用了一維轉(zhuǎn)置卷積,與編碼器中的卷積核和步長(zhǎng)相同,輸入為解碼器的輸出的短時(shí)特征與分離器輸出的目標(biāo)說(shuō)話人波形掩碼的點(diǎn)乘結(jié)果:
=conv1dT(mx·h)(9)
其中:conv1dT為一維轉(zhuǎn)置卷積,卷積核和步長(zhǎng)與編碼器中的一維卷積相同。
2.2 SepFormer分離網(wǎng)絡(luò)
SepFormer的網(wǎng)絡(luò)結(jié)構(gòu)與Conv-TasNet不同之處在于其中使用了基于Transformer[19]的分離器對(duì)Conv-TasNet的TCN分離器進(jìn)行了替換,其中的注意力機(jī)制可以做到序列中的元素進(jìn)行注意力得分計(jì)算,而達(dá)到與輸入序列時(shí)長(zhǎng)無(wú)關(guān)的序列建模。網(wǎng)絡(luò)結(jié)構(gòu)如圖3所示。
設(shè)Transformer的輸入為h,則Transformer處理每層的輸入為
h′=MHSA(LayerNorm(h,e))(10)
首先將h和特征向量e進(jìn)行串聯(lián)后,使用多頭自注意力機(jī)制[17](multi head self attention, MHSA)進(jìn)行特征的上下文建模,注意力機(jī)制會(huì)對(duì)序列中的所有元素進(jìn)行點(diǎn)積注意力得分的計(jì)算,在計(jì)算完畢之后,Transformer中會(huì)使用前饋神經(jīng)網(wǎng)絡(luò)(feed forward network, FFW)對(duì)處理后的得分與輸入h進(jìn)行處理:
h″=FFW(LayerNorm(h+h′))+h+h′(11)
其中:h″為處理完的輸出。因此每個(gè)Transformer block的運(yùn)算為
f(h,e)=gK(h,e)+h(12)
其中:gK(·)代表K次Transformer block運(yùn)算,在本文中設(shè)定K為8。
2.3 embedding生成網(wǎng)絡(luò)
本文使用了三層的ResNet block所組成的ResNet網(wǎng)絡(luò)進(jìn)行目標(biāo)說(shuō)話人embedding的生成,每層ResNet block由1維卷積層、批量歸一化層和激活函數(shù)ReLU層組成,其中每個(gè)ResNet block的輸出使用1×1卷積轉(zhuǎn)換至與輸入維度相同,然后在首尾進(jìn)行使用殘差連接做到防止網(wǎng)絡(luò)過擬合的現(xiàn)象。各個(gè)ResNet block的參數(shù)如表1所示。
網(wǎng)絡(luò)的輸入為3 s的特定說(shuō)話人純凈語(yǔ)音,首先經(jīng)過第一層一維卷積層將通道數(shù)降至256,在三個(gè)ResNet block后,通道數(shù)變?yōu)?12,然后經(jīng)過第二個(gè)一維卷積層將通道數(shù)降至256,使用一層全連接層將網(wǎng)絡(luò)的輸出投影為embedding。
3 實(shí)驗(yàn)與評(píng)測(cè)
本文使用了LibriMix工具包[20]來(lái)完成多說(shuō)話人語(yǔ)音數(shù)據(jù)集的構(gòu)建,其中使用了LibriSpeech[21]語(yǔ)音集和WHAM[22]噪聲集來(lái)完成數(shù)據(jù)集的生成。LibriSpeech是一個(gè)多說(shuō)話人的語(yǔ)音識(shí)別數(shù)據(jù)集,其中包含了來(lái)自921個(gè)說(shuō)話人的共360 h的純凈語(yǔ)音。WHAM是一個(gè)場(chǎng)景噪聲數(shù)據(jù)集,其中包含了多種場(chǎng)景噪聲,例如飯店、咖啡廳、公園等。所生成的每條混合語(yǔ)音中包含2或3個(gè)說(shuō)話人,噪聲按照服從5~20 dB的均勻分布與說(shuō)話人語(yǔ)音進(jìn)行累加。訓(xùn)練集和測(cè)試集中分別包含了50 000和10 000條語(yǔ)音,測(cè)試集中說(shuō)話人包含了訓(xùn)練集中出現(xiàn)過的說(shuō)話人,也含有訓(xùn)練過程中的沒有出現(xiàn)過的集外說(shuō)話人,但數(shù)據(jù)與訓(xùn)練集中的數(shù)據(jù)完全不重疊。每條語(yǔ)音的時(shí)長(zhǎng)為6 s,采樣率設(shè)置為8 000 Hz,訓(xùn)練過程中的batch size設(shè)置為32。在訓(xùn)練過程中,對(duì)于每一條混合噪聲語(yǔ)音,隨機(jī)選擇其中一個(gè)目標(biāo)說(shuō)話人的5 s時(shí)長(zhǎng)的純凈語(yǔ)音用于embedding的生成。訓(xùn)練輪次epoch設(shè)定為200輪,參數(shù)更新優(yōu)化器使用了Adam迭代器。初始學(xué)習(xí)率被設(shè)置為0.001。在訓(xùn)練過程中,采用了學(xué)習(xí)率衰減的方法,即每訓(xùn)練500次之后,便在測(cè)試集上進(jìn)行一次驗(yàn)證,當(dāng)測(cè)試集上連續(xù)5次損失函數(shù)的得分沒有下降時(shí),便將學(xué)習(xí)率進(jìn)行減半進(jìn)行局部最優(yōu)點(diǎn)的搜索,當(dāng)學(xué)習(xí)率為10-6時(shí)停止網(wǎng)絡(luò)的訓(xùn)練。
為了驗(yàn)證所提算法的有效性,在所生成的數(shù)據(jù)集上共訓(xùn)練了三個(gè)版本的模型Mhot、Memd、Mmix,分別是使用one-hot向量、embedding向量以及所提出的混合特征向量的方法進(jìn)行訓(xùn)練得到的特定說(shuō)話人分離模型。每個(gè)版本的模型包括使用Conv-TasNet網(wǎng)絡(luò)結(jié)構(gòu)的模型M-TCN和使用SepFormer網(wǎng)絡(luò)結(jié)構(gòu)的模型M-SEP。one-hot向量維度為說(shuō)話人個(gè)數(shù)921,embedding維度設(shè)定為256。本文使用了基于頻域IRM的頻域語(yǔ)音分離網(wǎng)絡(luò)作為基線系統(tǒng)M-DSPirm,其做法為將先通過短時(shí)傅里葉變換(short time Fourier transform, STFT)將目標(biāo)說(shuō)話人語(yǔ)音和混合語(yǔ)音變換到頻域X、Y,然后計(jì)算出特定說(shuō)話人語(yǔ)音幅度譜的IRM,最后結(jié)合混合語(yǔ)音的相位譜還原至?xí)r域波形。
IRM=abs(X)abs(Y)(13)
其中:abs(X)為對(duì)目標(biāo)說(shuō)話人純凈語(yǔ)音復(fù)數(shù)譜X取絕對(duì)值之后得到的幅度譜;abs(Y)為對(duì)混合語(yǔ)音復(fù)數(shù)譜取絕對(duì)值之后得到的幅度譜;IRM為計(jì)算出的理想掩膜比。本文使用了語(yǔ)音失真度(signal to distortion ratio, SDR)[23]和客觀語(yǔ)音質(zhì)量評(píng)估(perceptual evaluation of speech quality,PESQ)[24]作為客觀評(píng)分標(biāo)準(zhǔn),所獲取的評(píng)分為多個(gè)樣本SDR、PESQ得分的均值。PESQ的得分為[-0.5, 4.5],SDR的單位為dB,兩者的得分越高代表語(yǔ)音失真度越低,語(yǔ)音客觀質(zhì)量越高。
3.1 集內(nèi)說(shuō)話人評(píng)測(cè)得分
如表2中所示,其中混合語(yǔ)音的SDR分?jǐn)?shù)為-3.6 dB,PESQ得分為2.1。在不同模型中,使用了one-hot向量的模型M-SEPhot取得了最高的SDR得分,這得益于one-hot向量在訓(xùn)練集中的完全正交的特性,能夠很好地表達(dá)集內(nèi)說(shuō)話人的特性。在PESQ得分中,使用了IRM的基線模型取得了最高的得分,這是因?yàn)镻ESQ得分是根據(jù)頻域特征計(jì)算得到的,忽略了相位信息帶來(lái)的干擾,在還原至?xí)r域波形時(shí),使用混合語(yǔ)音的相位信息會(huì)造成語(yǔ)音失真度較大,因此使用了IRM的SDR得分較低。使用了混合訓(xùn)練的模型在對(duì)于集內(nèi)說(shuō)話人的分離效果上較只使用embedding向量進(jìn)行訓(xùn)練的M-TCNmix模型SDR得分提高了0.8 dB,PESQ得分提高了0.2,M-SEPmix模型SDR得分提高了1.2 dB, PESQ得分提高了0.2,說(shuō)明了使用混合訓(xùn)練的方法有助于更好地學(xué)習(xí)不同說(shuō)話人的embedding。
3.2 集外說(shuō)話人評(píng)測(cè)得分
在本部分實(shí)驗(yàn)中,使用了集外說(shuō)話人的樣本進(jìn)行SDR、PESQ得分測(cè)試。如表3、4所示,其中混合語(yǔ)音的SDR得分為-3.4 dB,PESQ得分為1.9。由于使用one-hot向量訓(xùn)練得到的模型無(wú)法處理集外說(shuō)話人,所以得分為空。由于是對(duì)集外說(shuō)話人進(jìn)行分離,得分相比于實(shí)驗(yàn)3.1節(jié)中集內(nèi)說(shuō)話人的PESQ和SDR得分均有一定的下降,且在使用集外說(shuō)話人輔助語(yǔ)音樣本條數(shù)不同時(shí),得分會(huì)出現(xiàn)不同。實(shí)驗(yàn)中分別測(cè)試了使用K=1,5,10條輔助語(yǔ)音進(jìn)行目標(biāo)說(shuō)話人的分離,對(duì)于K=5,10的情況,會(huì)將所生成的特征向量取平均值。相比于只使用一條輔助語(yǔ)音,使用embedding 的訓(xùn)練方法在使用五條輔助語(yǔ)音的情況下,M-TCNemd的PESQ和SDR分別提升了0.2 dB和2.7 dB,M-SEPemd的PESQ和SDR分別提升了0.2 dB和2.4 dB;所提混合模型訓(xùn)練方法在使用五條輔助語(yǔ)音的情況下,M-TCNmix的PESQ和SDR分別提升了0.3 dB和3.2 dB,M-SEPmix的PESQ和SDR分別提升了0.2 dB和2.8 dB。繼續(xù)增加所使用的輔助語(yǔ)音的情況下,用embedding 的訓(xùn)練方法在使用10條輔助語(yǔ)音的情況下,M-TCNemd的PESQ和SDR分別提升了0.4 dB和2.9 dB,M-SEPemd的PESQ和SDR分別提升了0.5 dB和3.2 dB;所提混合模型訓(xùn)練方法在使用10條輔助語(yǔ)音的情況下,M-TCNmix的PESQ和SDR分別提升了0.4 dB和3.3 dB,M-SEPmix的PESQ和SDR分別提升了0.4 dB和2.9 dB。可以看出,在使用了混合訓(xùn)練方法之后,對(duì)于集外說(shuō)話人的分離上,分離效果單純使用embedding進(jìn)行訓(xùn)練的模型相差不多,說(shuō)明使用混合訓(xùn)練方法之后可以基本在不損傷對(duì)集外說(shuō)話人的分離效果上,達(dá)到對(duì)集內(nèi)說(shuō)話人分離效果的提高;在增加所使用的輔助語(yǔ)音樣本數(shù)后,模型PESQ和SDR得分逐漸提高,這是因?yàn)橄啾扔陔S機(jī)選用一條輔助語(yǔ)音進(jìn)行embedding生成的做法,取平均值后的embedding更加逼近了其分布的期望值,因此可以生成出更加符合目標(biāo)說(shuō)話人聲學(xué)特性的特征向量。
4 結(jié)束語(yǔ)
本文提出了一種魯棒的特定說(shuō)話人算法,通過多任務(wù)訓(xùn)練的方式,融合了使用預(yù)定義的one-hot向量和可學(xué)習(xí)embedding向量作為特定說(shuō)話人特征向量的優(yōu)點(diǎn)。在實(shí)驗(yàn)結(jié)果中,使用多任務(wù)訓(xùn)練的方法在集內(nèi)和集外說(shuō)話人測(cè)試樣本中均取得了較好的客觀得分,且對(duì)于集外說(shuō)話人,比較了使用不同條數(shù)輔助語(yǔ)音帶來(lái)的不同效果,通過對(duì)多條輔助語(yǔ)音生成的embedding取均值,可提高目標(biāo)說(shuō)話人的分離效果,使得特定說(shuō)話人分離效果更佳魯棒。
參考文獻(xiàn):
[1]李從清,孫立新,龍東,等.語(yǔ)音分離技術(shù)的研究現(xiàn)狀與展望[J].聲學(xué)技術(shù),2008,27(5):779-787.(Li Congqing,Sun Lixin,Long Dong,et al.State and frontiers of research in speech separation[J].Technical Acoustic,2008,27(5):779-787.)
[2]Liang Shan,Liu Wenju,Jiang Wei ,et al.The optimal ratio time-frequency mask for speech separation in terms of the signal-to-noise ratio[J].The Journal of the Acoustical Society of America,2013,134(5):452-458.
[3]趙鶴鳴,葛良,陳雪勤,等.基于聲音定位和聽覺掩蔽效應(yīng)的語(yǔ)音分離研究[J].電子學(xué)報(bào),2005,33(1):158-160.(Zhao Heming,Ge Liang,Chen Xueqin,et al.Speech separation based on sound loca-lization and auditory masking effect[J].Acta Electronica Sinica,2005,33(1):158-160.)
[4]Luo Yi,Mesgarani N.TasNet:time-domain audio separation network for real-time,single-channel speech separation[C]//Proc of IEEE International Conference on Acoustics,Speech and Signal Processing.Piscataway,NJ:IEEE Press,2018:696-700.
[5]Luo Yi,Mesgarani N.Conv-TasNet:surpassing ideal time-frequency magnitude masking for speech separation[J].IEEE/ACM Trans on Audio,Speech,and Language Processing,2019,27(8):1256-1266.
[6]Hochreiter S,Schmidhuber J.Long short-term memory[J].Neural Computation,1997,9(8):1735-1780.
[7]Ochiai T,Delcroix M,Koizumi Y,et al.Listen to what you want:neural network-based universal sound selector[C]//Proc of the 21st Annual Conference of the International Speech Communication Association.[S.l.]:ISCA Press,2020:1441-1445.
[8]Kong Qiuqiang,Wang Yuxuan,Song Xuchen,et al.Source separation with weakly labelled data:an approach to computational auditory scene analysis[C]//Proc of ICASSP - IEEE International Conference on Acoustics,Speech and Signal Processing.Piscataway,NJ:IEEE Press,2020:101-105.
[9]Dehak N,Kenny P J,Dehak R,et al.Front-end factor analysis for speaker verification[J].IEEE Trans on Audio,Speech,and Language Processing,2010,19(4):788-798.
[10]Variani E,Lei Xin,McDermott E,et al.Deep neural networks for small footprint text-dependent speaker verification[C]//Proc of IEEE International Conference on Acoustics,Speech and Signal Processing.Piscataway,NJ :IEEE Press,2014:4052-4056.
[11]Snyder D,Garcia-Romero D,Sell G,et al.X-vectors:robust DNN embeddings for speaker recognition[C]//Proc of IEEE International Conference on Acoustics,Speech and Signal Processing.Piscataway,NJ :IEEE Press,2018:5329-5333.
[12]Waibel A,Hanazawa T,Hinton G,et al.Phoneme recognition using time-delay neural networks[J].IEEE Trans on Acoustics,Speech,and Signal Processing,1989,37(3):328-339.
[13]Wang Quan,Moreno I L,Saglam M,et al.VoiceFilter-Lite:streaming targeted voice separation for on-device speech recognition[EB/OL].(2020-09-09).https://arxiv.org/abs/2009.04323.
[14]Cheng H T,Koc L,Harmsen J,et al.Wide amp; deep learning for recommender systems[C]//Proc of the 1st Workshop on Deep Learning for Recommender Systems.[S.l.] :ACM RecSys,2016:7-10.
[15]Wan Li,Wang Quan,Papir A,et al.Generalized end-to-end loss for speaker verification[C]//Proc of IEEE International Conference on Acoustics,Speech and Signal Processing.Piscataway,NJ:IEEE Press,2018:4879-4883.
[16]Bai Shaojie,Kolter J Z,Koltun V.An empirical evaluation of generic convolutional and recurrent networks for sequence modeling[EB/OL].(2018-04-19).https://arxiv.org/abs/1803.01271.
[17]Subakan C,Ravanelli M,Cornell S,et al.Attention is all you need in speech separation[C]//Proc of ICASSP - IEEE International Confe-rence on Acoustics,Speech and Signal Processing.Piscataway,NJ:IEEE Press,2021:21-25.
[18]He Kaiming,Zhang Xiangyu,Ren Shaoqing,et al.Deep residual lear-ning for image recognition[C]//Proc of IEEE Conference on Compu-ter Vision and Pattern Recognition.Piscataway,NJ:IEEE Press,2016:770-778.
[19]Vaswani A,Shazeer N,Parmar N,et al.Attention is all you need[C]//Advances in Neural Information Processing Systems.[S.l.]:NeurIPS,2017:5998-6008.
[20]Cosentino J,Pariente M,Cornell S,et al.LibriMix:an open-source dataset for generalizable speech separation[EB/OL].(2020-05-22).https://arxiv.org/abs/2005.11262.
[21]Panayotov V,Chen G,Povey D,et al.LibriSpeech:an ASR corpus based on public domain audio books[C]//Proc of IEEE International Conference on Acoustics,Speech and Signal Processing.Piscataway,NJ:IEEE Press,2015:5206-5210.
[22]Wichern G,Antognini J,F(xiàn)lynn M,et al.WHAM!:extending speech separation to noisy environments[C]//Proc of the 20th Annual Conference of the International Speech Communication Association.[S.l.]:ISCA Press,2019:1368-1372.
[23]Vincent E,Gribonval R,F(xiàn)évotte C.Performance measurement in blind audio source separation[J].IEEE Trans on Audio,Speech,and Language Processing,2006,14(4):1462-1469.
[24]Rix A W,Beerends J G,Hollier M P,et al.Perceptual evaluation of speech quality(PESQ):a new method for speech quality assessment of telephone networks and codecs[C]//Proc of IEEE International Conference on Acoustics,Speech,and Signal Processing.Piscataway,NJ:IEEE Press,2001:749-752.