朱炎民 武欣嶸 鄭翔 陳美均 皮磊
DOI:10.16644/j.cnki.cn33-1094/tp.2021.11.008
摘? 要: 單通道信號源個數(shù)估計是單通道盲源分離問題的前提與難點,傳統(tǒng)方法無法直接進行估計且準(zhǔn)確率較低。文章提出了一種基于深度網(wǎng)絡(luò)分類器的單通道信號源估計方法。該方法將源個數(shù)估計作為分類問題,在經(jīng)典CNN的基礎(chǔ)上引入一維卷積網(wǎng)絡(luò)與殘差結(jié)構(gòu)作為分類器,采用短時傅里葉變換和梅爾倒譜系數(shù)作為聯(lián)合特征輸入分類器。在Libricount數(shù)據(jù)集上的測試結(jié)果表明,該方法的源個數(shù)估計準(zhǔn)確率明顯優(yōu)于基準(zhǔn)模型。
關(guān)鍵詞: 盲源分離; 單通道; 源個數(shù)估計; 卷積殘差網(wǎng); 分類器
中圖分類號:TN912.3? ? ? ? ? 文獻標(biāo)識碼:A? ? ?文章編號:1006-8228(2021)11-30-04
Algorithm for estimating the number of single channel signal sources based on
one-dimensional residual convolution neural network
Zhu Yanmin, Wu Xinrong, Zheng Xiang, Chen Meijun, Pi Lei
(College of Communication Engineering, Army Engineering University of PLA, Nanjing, Jiangsu 210007, China)
Abstract: Estimation of the number of single channel signal sources is the premise and difficulty of single channel blind source separation. Traditional methods cannot estimate the number of single channel signal sources directly and the accuracy is low. In this paper, a single channel signal source estimation method based on deep network classifier is proposed. In this method, the number estimating of sources is taken as a classification problem. Based on the classical CNN, a one-dimensional convolutional network and residual structure are introduced as the classifier, and Short-Time Fourier Transform and Mel-frequency Cepstral Coefficients are used as the joint feature input classifier. The test results on Libricount dataset show that the accuracy of source number estimation of the proposed method is obviously better than that of the baseline model.
Key words: blind source separation; single channel; source number estimation; residual convolution neural network; classifier
0 引言
近年來,基于深度學(xué)習(xí)的單通道語音分離技術(shù)得到了廣泛的關(guān)注與重視,逐漸成為語音分離領(lǐng)域的新熱點。大多數(shù)情況下,基于深度學(xué)習(xí)的單通道分離模型需要知道信號源個數(shù)。而在現(xiàn)實中,通常無法獲得混合中信號源個數(shù),導(dǎo)致無法直接使用深度學(xué)習(xí)方法進行語音分離。因此,單通道混合信號源個數(shù)估計是進行語音分離的重要前提。
傳統(tǒng)源信號估計方法大多基于陣列信號,根據(jù)陣列信號的到達角DOA與時延,采用聚類等方法得出源信號的個數(shù)。而單通道的語音信號源個數(shù)估計問題,一般通過EMD等算法先將單通道信號轉(zhuǎn)化為虛擬陣列信號,再使用陣列信號個數(shù)估計方法進行估計[1-3],信噪比較低的情況下準(zhǔn)確率較低。
鑒于深度學(xué)習(xí)方法在各種音頻相關(guān)任務(wù)的成功應(yīng)用,在信號源個數(shù)估計的研究中也逐漸引入深度學(xué)習(xí)方法,并且獲得比傳統(tǒng)方法好的效果。文獻[5]將一維CNN引入源個數(shù)計數(shù),得出深度模型的估計效果優(yōu)于人類感知與傳統(tǒng)方法。文獻[6]將源個數(shù)估計作為基于RNN的分類或回歸問題,使用一個三層BLSTM進行估計,準(zhǔn)確率較高。文獻[7]直接將時間信號作為輸入特征,輸入E2ECNN(End-to-End Convolutional Neural Network),實現(xiàn)端到端的源個數(shù)估計。文獻[8]采用多種深度模型進行源個數(shù)估計,在估計準(zhǔn)確率與MAE(Mean Absolute Error)方面相較于文獻[6]有較大幅度的提高。
盡管基于深度學(xué)習(xí)的單通道信源個數(shù)估計相較傳統(tǒng)方法準(zhǔn)確率明顯提高,但在以往研究中,使用的神經(jīng)網(wǎng)絡(luò)模型結(jié)構(gòu)較為簡單,輸入特征較為單一。本文通過改變網(wǎng)絡(luò)結(jié)構(gòu),將一維殘差卷積網(wǎng)作為分類器應(yīng)用于源個數(shù)估計,用一維卷積代替?zhèn)鹘y(tǒng)二維卷積,加快模型收斂速度,增加卷積層深度,嘗試提高輸入/輸出的映射能力,并通過殘差連接優(yōu)化模型。該方法比以前的研究有更高的分類準(zhǔn)確率,且縮短了訓(xùn)練時間。同時,研究了不同特征對模型源估計效果的影響,采用聯(lián)合特征輸入,進一步提升了模型對信號的源個數(shù)的估計準(zhǔn)確率。
1 相關(guān)工作
1.1 問題描述
單通道信源數(shù)估計問題是指從1個混合信號中估計出源信號的個數(shù)。如式⑴所示,在給定混合信號[Y(t)]的情況下估計出[Y(t)]中的源信號個數(shù)S,[X(t)]指源信號。
在混合信號[Y(t)]中,每個源信號活躍的時間不同,模型要估計的源數(shù)目指在混合信號中存在過的源信號的最大數(shù)目。假設(shè)用[Vi,t]來表示第i個源信號在時間t的狀態(tài),1表示活躍,0表示不活躍。在時刻t同時活躍的源信號個數(shù)[Nt]可由[Vi,t]得出:
其中L表示源信號的總數(shù),將[Vit]相加即得到時刻t上的說話者個數(shù)[Nt]。在時間軸上遍歷,取最大值就可得到整個信號中最大的說話者個數(shù)S,即信號源個數(shù)。
其中T表示混合信號的時間長度,S為估計的信號源個數(shù)。本文中設(shè)定的L默認(rèn)與S相等,不存在L=2的情況下信號不混疊導(dǎo)致計算出的S=1。
從混合信號[Y(t)]估計得到源個數(shù)S,此任務(wù)可以表述為分類問題,每個類別對應(yīng)一個信號源數(shù)量。本文將源個數(shù)S的估計作為基于神經(jīng)網(wǎng)絡(luò)的混合信號多分類任務(wù),以1DRCNN作為特征提取與分類器,完成從混合信號[Y(t)]到源個數(shù)S的映射。
1.2 基準(zhǔn)模型
本文將文獻[7]中的E2ECNN模型作為基準(zhǔn)模型,與本文提出的模型作對比。E2ECNN模型直接從原始波形中提取特征,實現(xiàn)端到端的信號源計數(shù),E2ECNN在一個卷積池化層后堆疊三個連續(xù)的卷積模塊,每個卷積模塊包含三對二維卷積層與池化層,后連批次歸一化層與dropout層,最后依次連接三個全連接層與dropout層。盡管基準(zhǔn)E2ECNN模型在信號源計數(shù)任務(wù)上產(chǎn)生了良好的性能,但是模型結(jié)構(gòu)只是簡單的堆疊CNN,模型的性能還有提高的空間。因此本文使用殘差網(wǎng)優(yōu)化模型結(jié)構(gòu),同時加深網(wǎng)絡(luò)深度,提出一維卷積殘差網(wǎng)(One-dimensional Residual Convolutional NeuralNetwork,1DRCNN)作為網(wǎng)絡(luò)主體對源信號個數(shù)進行估計。
2 算法描述
2.1 本文模型
殘差網(wǎng)(Residual Network,Resnet)于2015年被提出[10],用以解決由于網(wǎng)絡(luò)結(jié)構(gòu)過深而導(dǎo)致的模型性能下降問題。殘差網(wǎng)通過跳躍連接實現(xiàn)恒等映射,如圖1(a)所示。殘差網(wǎng)的學(xué)習(xí)目標(biāo)不再是完整的輸出,而是所謂的殘差,最后的訓(xùn)練目標(biāo)也就是將殘差結(jié)果逼近于0,將前一層輸出傳到后面,增加了網(wǎng)絡(luò)深度的同時不提升誤差,保證模型不因為堆疊而產(chǎn)生退化。
1DRCNN借鑒了Resnet的結(jié)構(gòu),在1DCNN的多個卷積塊提取特征的基礎(chǔ)上,引入Resnet的跳躍連接構(gòu)建殘差單元。將一維殘差單元堆疊連接,在加深模型深度同時利用殘差網(wǎng)結(jié)構(gòu)減少因深度加深帶來的梯度消失等影響,提高模型提取特征能力。
殘差單元結(jié)構(gòu)如圖1(a)所示,每個殘差單元內(nèi)包含三個卷積層后接批次歸一化層,size=7表示一維卷積核長度為7,stride=1表示步長為1,BN為Batch Normalization。殘差單元使用核長度為1,步長為3的卷積層完成跳躍連接。1DRCNN結(jié)構(gòu)如圖1(b)所示,包含四個殘差單元作為神經(jīng)網(wǎng)絡(luò)主體提取特征,殘差單元內(nèi)Conv [3,1,128]表示卷積核長度為3,步長為1,通道數(shù)為128,padding=same表示進行填充。最后連接平均池化層,在平均池化層后加入dropout層,預(yù)防模型過擬合,全連接層與softmax層作為分類輸出。
本文提出的1DRCNN,相較于E2ECNN有以下幾點改進。
⑴ 網(wǎng)絡(luò)層數(shù)更深,1DRCNN能夠挖掘信號更深層的特征,發(fā)現(xiàn)不同信號的聯(lián)系與差別,提高信號與源個數(shù)估計的映射能力,提高模型的分類效果。
⑵ 使用一維卷積代替二維卷積,采用一維卷積更適用于序列數(shù)據(jù),同時能減少模型參數(shù),分類效果更好的同時使模型訓(xùn)練時間更短。
⑶ 使用殘差結(jié)構(gòu),1DRCNN采用11層網(wǎng)絡(luò)結(jié)構(gòu),殘差結(jié)構(gòu)使其在深度較深時能保持良好的性能,提高模型性能。
⑷ 使用批歸一化算法,在每個殘差單元內(nèi)接批次歸一化,同時最后使用全局平均池化減少參數(shù),避免模型出現(xiàn)過擬合的情況。
2.2 數(shù)據(jù)集與特征選擇
本文選用LibriSpeechdev-clean數(shù)據(jù)集中的Libricount數(shù)據(jù)集。LibriSpeech數(shù)據(jù)集是一個開源的自動語音識別的朗讀英文數(shù)據(jù)集,采樣率為16kHz。本文選擇Libricount數(shù)據(jù)集,該數(shù)據(jù)集包括10類數(shù)據(jù),包括1至10個源信號的混合語音共5720條,每類數(shù)據(jù)572個樣本,樣本長度固定為5秒,訓(xùn)練時80%的數(shù)據(jù)用于訓(xùn)練,20%的數(shù)據(jù)用于測試。
本文選取不同特征作為神經(jīng)網(wǎng)絡(luò)輸入,包括短時傅里葉變換、Fbank及梅爾倒譜系數(shù)。短時傅里葉變換(Short-Time Fourier Transform,STFT),即通過短時傅里葉變換后取幅度譜; Fbank(Filter Bank)是指經(jīng)過梅爾濾波器組后提取到的特征,高度相關(guān),本文中Fbank特征包括40維濾波器組特征及動態(tài)一階與二階差分特征;梅爾倒譜系數(shù)(Mel-frequency Cepstral Coefficients,MFCC)在Fbank的基礎(chǔ)上使用DCT變換得到,具有高度的判別性,本文中MFCC為40維濾波器特征及動態(tài)一階與二階差分特征。
2.3 訓(xùn)練過程
以一個樣本為例進行說明。輸入混合信號長度為5s,采樣率為16kHz,輸入為80000*1,經(jīng)過1024點fft,512點幀移的短時傅里葉變換后,變換成313*507的頻譜圖作為神經(jīng)網(wǎng)絡(luò)的輸入。初始學(xué)習(xí)率設(shè)為0.0001,使用Adam優(yōu)化器,batchsize為32,損失函數(shù)為正則化后的交叉熵函數(shù),以減少過擬合的幾率。所有的模型通過150輪訓(xùn)練后得出結(jié)果,取在測試集上取得最高準(zhǔn)確率的模型,用于模型性能評估,訓(xùn)練過程可視化結(jié)果由tensorboard得到。
3 仿真實驗
3.1 不同輸入特征下模型效果對比
本文從輸入特征的兩個不同角度對模型效果的影響進行了討論,一是以不同幀長與幀移提取時頻特征,二是將不同特征組合輸入,觀察實驗效果后選擇最佳特征作為本文模型輸入。
圖2(a)為不同幀長與幀移的輸入特征下的模型表現(xiàn)。實驗中分別選擇了fft點數(shù)為256、512、1024、2048以及幀移為1/2、1/4、1/8的情況,fft點數(shù)默認(rèn)等于窗口長度。由圖2(a)可知,在幀長方面, fft點數(shù)為1024(時間64ms)的模型準(zhǔn)確率較高。在幀移方面,1/4的幀移在保證幀之間關(guān)聯(lián)度的同時也不會使冗余度太高,實驗中準(zhǔn)確率較高。在本文的實驗中,不同幀長與幀移的輸入特征所得到的模型效果相差4%左右,本文選用幀長1024點,幀移256點以提取時頻特征。
圖2(b)是將STFT,F(xiàn)bank,MFCC及聯(lián)合作為輸入特征的模型表現(xiàn),STFT+MFCC特征效果最佳,STFT特征次之,STFT+Fbank特征比STFT特征效果最差,表明Fbank特征中的某些特征與STFT聯(lián)合時對模型的判斷產(chǎn)生了負(fù)面的影響。STFT+MFCC準(zhǔn)確率最高達到92%,較最低的MFCC準(zhǔn)確率80%效果提升明顯。所以本文選擇使用STFT與MFCC的聯(lián)合特征作為模型特征輸入,以得到最好的實驗效果。
3.2 1DRCNN與E2ECNN實驗效果對比
圖3給出1DRCNN與的E2ECNN的效果圖比較,本文在兩個模型上分別訓(xùn)練了9個分類器,對應(yīng)估計2至10個語音信號混合的源個數(shù)。圖3(a)給出了本文模型與基準(zhǔn)模型在5分類器訓(xùn)練過程準(zhǔn)確率的比較,即該模型能估計源個數(shù)小于等于5的混合信號;圖3(b)比較每個分類器在源個數(shù)估計上的準(zhǔn)確率,數(shù)據(jù)由每個分類器三次實驗數(shù)據(jù)平均后得到,偶然性較低。
從圖3(a)中可以看出在5分類模型中,本文的一維卷積殘差網(wǎng)絡(luò)在驗證集最高能達到93%的準(zhǔn)確率,而基準(zhǔn)模型只能達到最高87%的準(zhǔn)確率。從圖3(b)中可以看出在九個分類模型中,本文提出的1DRCNN模型的準(zhǔn)確率都高于基準(zhǔn)E2ECNN,證明了1DRCNN作為分類模型的有效性。
在1DRCNN與E2ECNN模型中,2類與3類分類器的準(zhǔn)確率都很高,原因在于混合信號個數(shù)較少,1DRCNN與E2ECNN的復(fù)雜度足以支撐作為2類與3類分類器,但作為4,5,6,7類模型的1DRCNN的準(zhǔn)確率都是高于E2ECNN,原因在于1DRCNN深度更深,殘差網(wǎng)學(xué)習(xí)的殘差則簡化了學(xué)習(xí)過程,增強了梯度傳播,網(wǎng)絡(luò)的泛化能力也更強。到了8,9,10分類器后,1DRCNN也出現(xiàn)了效果的下降,這是因為信號個數(shù)過多的情況下,所用數(shù)據(jù)集每類信號的數(shù)據(jù)量過少,或是模型深度復(fù)雜度不高。
4 結(jié)論
本文提出一種基于1DRCNN的單通道源信號個數(shù)估計的方法,該方法引入殘差結(jié)構(gòu)與一維卷積網(wǎng)改進網(wǎng)絡(luò)結(jié)構(gòu),選用短時傅里葉變換和梅爾倒譜系數(shù)作為聯(lián)合特征輸入,在Libricount數(shù)據(jù)集上與E2ECNN方法進行比較,結(jié)果證明本文模型優(yōu)于基準(zhǔn)模型。在混合信號個數(shù)小于等于7時,本文模型具有較好的效果,精度最高可提高8%以上;當(dāng)信號數(shù)量大于8時準(zhǔn)確率有所下降,但仍高于E2ECNN方法。
參考文獻(References):
[1] 胡君朋,黃芝平,劉純武等.基于EMD的單通道信源數(shù)估計方法[J].計算機測量與控制,2015.23(12):4139-4140
[2] 劉邦,肖涵,易燦燦.基于核函數(shù)的二階盲辨識的單通道信號盲分離方法研究[J].機械強度,2018.40(5):1043-1049
[3] 張純,楊俊安,葉豐.高斯色噪聲背景下的單通道信源數(shù)目估計算法[J].信號處理,2012.28(7):994-999
[4] A Hannun?, C Case, Casper J, et al. Deep Speech: Scalingup end-to-end speech recognition[J].Computer Science,2014.
[5] Stoter F R, Chakrabarty S, Edler B, et al. Classification vs.Regression in Supervised Learning for Single Channel Speaker Count Estimation[C]// ICASSP 2018-2018 IEEE International Conference on Acoustics,Speech and Signal Processing (ICASSP). IEEE,2018.
[6] Andrei V, Cucu H, Burileanu C. Overlapped Speech Detection and Competing Speaker Counting-Humans Versus Deep Learning[J]. Selected Topics in Signal Processing, IEEE Journal of,2019.
[7] Zhang W, Sun M, Wang L, et al. End-to-End Overlapped Speech Detection and Speaker Counting with Raw Waveform[C]// ASRU,2019.
[8] Stoter F R, Chakrabarty S, Edler B, et al. CountNet:Estimating the Number of Concurrent Speakers Using Supervised Learning[J]. IEEE/ACM Transactions on Audio, Speech, and Language Processing,2018.99:1-1
[9] Wang W, Seraj F, NMeratnia, et al. Speaker Counting Model based on Transfer Learning from SincNet Bottleneck Layer[C]//2020 IEEE International Conference on Pervasive Computing and Communications (PerCom). IEEE,2020.
[10] Bai S, Kolter J Z, Koltun V. Convolutional Sequence Modeling Revisited,2018.