汪 斌, 陳 寧
(華東理工大學(xué)信息科學(xué)與工程學(xué)院,上海 200237)
大多數(shù)音樂(lè)錄制文件,例如來(lái)自YouTube、Spotify、網(wǎng)易云音樂(lè)的文件,以多個(gè)音源共享一個(gè)音軌的混合形式發(fā)布。將混合音頻分離成單個(gè)音源的過(guò)程稱(chēng)為音樂(lè)源分離(Music Source Separation, MSS)。歌聲分離(Singing Source Separation, SVS)是音樂(lè)源分離的一種特例,分離過(guò)程中將所有的樂(lè)器都視為一個(gè)音源,目標(biāo)是將混合音頻分離為歌唱人聲和背景音樂(lè)伴奏兩種音源[1]。近年來(lái),由于在音樂(lè)旋律提取[2]、音樂(lè)流派分類(lèi)[3]、歌聲檢測(cè)[4]、歌手識(shí)別[5]等方面的潛在應(yīng)用,SVS 已成為音樂(lè)信息檢索(Music Information Retrieval, MIR)領(lǐng)域的研究熱點(diǎn)。
基于非負(fù)矩陣分解(Non-negative Matrix Factorization,NMF)[6]的方法以及基于F0 估計(jì)的方法[7]是用于歌聲分離任務(wù)的傳統(tǒng)監(jiān)督方法。隨著深度學(xué)習(xí)技術(shù)在音樂(lè)信息檢索領(lǐng)域的迅猛發(fā)展[8],基于深度神經(jīng)網(wǎng)絡(luò)的歌聲分離技術(shù)受到了學(xué)術(shù)界的關(guān)注。文獻(xiàn)[9]第一次將卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)結(jié)構(gòu)引入SVS 任務(wù),但是所提出模型的層數(shù)較深,訓(xùn)練比較困難,同時(shí)由于用于SVS 任務(wù)的公開(kāi)數(shù)據(jù)集較小,因此模型的泛化能力很難得到保證。為了解決上述問(wèn)題,一種最初用于醫(yī)學(xué)圖像語(yǔ)義分割任務(wù)的編-解碼器結(jié)構(gòu)U-Net[10]在文獻(xiàn)[11]中被首次應(yīng)用于SVS 任務(wù)。該方法利用U-Net 結(jié)構(gòu)分析混合音頻的語(yǔ)譜圖,然后通過(guò)預(yù)測(cè)對(duì)應(yīng)于單個(gè)音源的時(shí)頻掩碼來(lái)達(dá)到分離音源的目的。U-Net 結(jié)構(gòu)在SVS任務(wù)中的優(yōu)勢(shì)是:一方面,其編-解碼結(jié)構(gòu)使得其在有限的訓(xùn)練樣本下進(jìn)行有效的訓(xùn)練成為可能;另一方面,編碼塊和解碼塊中包含的多個(gè)連通卷積層有助于從語(yǔ)譜圖中提取語(yǔ)義特征。
然而,基于U-Net 語(yǔ)譜圖掩碼分析的SVS 模型僅僅采用語(yǔ)譜圖的幅度譜作為模型輸入,將分離出的單個(gè)音源的幅度譜與混合音頻的相位譜相結(jié)合后使用逆短時(shí)傅里葉變換來(lái)恢復(fù)單個(gè)音源音頻。越來(lái)越多的研究結(jié)果表明,相位信息的缺失對(duì)源分離的性能有很大影響,因此文獻(xiàn)[12]提出了一種Wave-UNet 的端到端SVS 模型。與U-Net 使用語(yǔ)譜圖的幅度譜作為模型輸入不同,Wave-U-Net 模型直接采用混合音樂(lè)的原始波形作為輸入。最近,越來(lái)越多的基于Wave-U-Net 的SVS 模型被相關(guān)研究者提出。文獻(xiàn)[13]提出應(yīng)用最小超球能(Minimum Hyperspherical Energy, MHE)正則化來(lái)進(jìn)一步提高Wave-U-Net 的分離性能。文獻(xiàn)[14] 提出在Wave-U-Net 結(jié)構(gòu)中整合遞歸層來(lái)探索音頻信號(hào)中更長(zhǎng)的時(shí)間相關(guān)性。從模型設(shè)計(jì)角度,本文認(rèn)為基于Wave-U-Net 的SVS 模型的性能可以從以下幾個(gè)方面進(jìn)一步提升:
(1)傳統(tǒng)的Wave-U-Net 結(jié)構(gòu)中,編碼塊和解碼塊都是由具有校正線性單元(Rectified Linear Units,ReLUs)激活函數(shù)的單個(gè)卷積層組成,當(dāng)前層只與前一層相關(guān)并且只影響下一層。眾所周知,深度學(xué)習(xí)模型可以通過(guò)隱藏層的不斷加深來(lái)抽象組合更高層次的語(yǔ)義特征,但是這種結(jié)構(gòu)下層數(shù)的增加很容易使模型陷入梯度消失問(wèn)題[15]。
(2)傳統(tǒng)的Wave-U-Net 結(jié)構(gòu)通過(guò)跳躍連接將編碼塊中對(duì)應(yīng)卷積層的輸出與解碼塊中當(dāng)前層的前一層輸出直接拼接。然而,由于前者包含通過(guò)淺層的卷積層獲得的低級(jí)特征,后者包含通過(guò)深層的卷積層獲得的高級(jí)特征,因此兩者的直接拼接很容易造成語(yǔ)義鴻溝問(wèn)題[16]。
針對(duì)第1 個(gè)問(wèn)題,文獻(xiàn)[17]首次在SVS 任務(wù)中引入Muti-Res 模塊[16]。該模塊是Resnet[15]中殘差單元的擴(kuò)展,由3 個(gè)濾波器尺寸逐漸增大的連續(xù)卷積層和一個(gè)殘差連接組成。但是不同類(lèi)型的殘差單元是否會(huì)對(duì)基于Wave-U-Net 的SVS 模型的性能產(chǎn)生不同的影響目前仍不得而知。為此本文研究了3 種不同的殘差單元對(duì)模型性能的影響,并最終選擇一種最合適的殘差單元用于SVS 任務(wù)中。
針對(duì)第2 個(gè)問(wèn)題,本文提出在Wave-U-Net 跳躍連接部分設(shè)計(jì)并引入注意力門(mén)控機(jī)制。
在MUSDB18 數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果表明,本文提出的RA-WaveUNet 模型在分離性能上優(yōu)于傳統(tǒng)的Wave-U-Net 模型;采用殘差單元和注意力門(mén)控機(jī)制有助于提高模型的性能。
RA-WaveUNet 模型框圖如圖1 所示。與Wave-U-Net 相比,其不同之處在于:首先,編碼和解碼塊中的普通神經(jīng)單元被替換為專(zhuān)門(mén)設(shè)計(jì)的殘差單元(記為R);其次,在跳躍連接中添加注意力門(mén)控結(jié)構(gòu)(記為A)。模型的具體結(jié)構(gòu)細(xì)節(jié)如表1 所示,其中EResidual 單元和D-Residual 單元分別表示編碼和解碼塊中的殘差單元。
圖1 RA-WaveUNet 模型框圖Fig. 1 Block diagram of RA-WaveUNet model
表1 RA-WaveUNet 模型結(jié)構(gòu)細(xì)節(jié)Table 1 Architecture details of RA-WaveUNet model
傳統(tǒng)的Wave-U-Net 結(jié)構(gòu)中,輸入的混合音頻首先經(jīng)過(guò)12 層連續(xù)下采樣一維卷積層,每層的時(shí)間分辨率減少為前一層的一半,然后最終編碼的低分辨率特征表示再經(jīng)過(guò)12 層連續(xù)上采樣一維卷積層輸入尺寸相同的輸出。同時(shí),為了保持時(shí)間的連續(xù)性并避免產(chǎn)生高頻噪聲,在每個(gè)上采樣層中進(jìn)行線性插值。
基于時(shí)域分析的源分離方法的性能很大程度上取決于特征提取的性能。為了在不引發(fā)梯度消失的前提下通過(guò)加深網(wǎng)絡(luò)提取更高層次語(yǔ)義特征,本文在Wave-U-Net 模型的編碼和解碼塊中都引入了殘差單元,即在整個(gè)網(wǎng)絡(luò)中除主干路之外的每一對(duì)具有相同尺寸特征圖的相鄰卷積層之間搭建了支路。對(duì)比跳躍連接中的拼接層,編碼和解碼模塊中采用融合層,將上一層卷積與下一層卷積得到的特征圖進(jìn)行特征維度的融合,融合完成后再回到主干路。引入殘差單元后網(wǎng)絡(luò)的整體結(jié)構(gòu)變得更密集,增強(qiáng)了層與層之間特征信息傳遞,最大程度提高了網(wǎng)絡(luò)層中特征信息的利用率。
圖2 示出了普通神經(jīng)單位與3 種不同殘差單元的對(duì)比結(jié)果。傳統(tǒng)的Wave-U-Net 結(jié)構(gòu)中采用的普通神經(jīng)單元如圖2(a)中的紅框所示。第i層普通神經(jīng)單元的輸入xi和輸出x(i+1)之間的關(guān)系如下:
圖2 普通神經(jīng)單位與3 種不同殘差單元的對(duì)比Fig. 2 Comparison between the plain neural unit and three different kinds of residual units
其中:f(xi;φi) 表示普通神經(jīng)單元之間的映射關(guān)系;φi為可訓(xùn)練的參數(shù)。
文獻(xiàn)[15] 中提出的常規(guī)殘差單元包含卷積層、ReLU 激活層、批歸一化(BN)層和映射連接。映射連接可以分為恒等映射連接和卷積映射連接,前者卷積層為輸入和輸出設(shè)置相同的特征維度用實(shí)線表示,后者設(shè)置卷積濾波器的尺寸為1 以調(diào)節(jié)輸出的尺寸,在圖2 中用虛線表示[15]。如圖2(b) 和圖2(c)中紅框所示,Residual unit 1 和Residual unit 2 分別表示選擇維度匹配和維度不匹配的映射連接的情況。模型設(shè)計(jì)過(guò)程中為了方便對(duì)比,引入了Residual unit 1 和Residual unit 2 的Wave-U-Net 的 模 型 效 果,如圖2(b) 和圖2(c) 中藍(lán)框所示,兩者處理輸入數(shù)據(jù)的R0 部分相同。Residual unit 1 和Residual unit 2的輸入xi和輸出x(i+1)之間的關(guān)系分別如式(2)和式(3)所示:
其中:f(xi;φi) 表示殘差單元之間的映射關(guān)系; φi為可訓(xùn)練的參數(shù)。相加是對(duì)應(yīng)通道間兩個(gè)特征圖逐個(gè)元素相加,因此如果xi和xi+1維度不同,需要給xi進(jìn)行一個(gè)線性映射 ω 來(lái)匹配維度。
卷積神經(jīng)網(wǎng)絡(luò)通過(guò)逐層抽象的方式提取目標(biāo)特征,在這過(guò)程中如果感受野設(shè)置太小,只能觀察到局部的特征,設(shè)置太大,則會(huì)獲取過(guò)多的無(wú)效信息。Residual unit 2 中采用卷積核尺寸為1 的卷積映射連接,它只能解決尺寸匹配問(wèn)題。在不違反Resnet 核心思想的前提下,為了進(jìn)一步探索更好的特征提取能力,本文提出了圖2(d)所示的Residual unit 3,并應(yīng)用 在RA-WaveUNet 模型中。Residual unit 3 的架構(gòu)類(lèi)似于Residual unit 2,兩者的區(qū)別在于卷積映射連接中采用的卷積核尺寸不同。RA-WaveUNet 的編碼和解碼塊中的Residual unit 3 分別采用濾波器大小為15 和5 的卷積捷徑連接,與殘差學(xué)習(xí)部分中卷積層采用的濾波器大小保持一致。
為了使殘差單元更適合SVS 任務(wù),本文提出的3 種殘差單元均去除了Resnet 的常規(guī)殘差單元中的BN 層。去除原因是:一方面,在端到端的SVS 模型中,為了加速訓(xùn)練,音頻輸入和小批量 (Mini-batch)數(shù)據(jù)的大小通常被設(shè)置得很小,例如傳統(tǒng)的Wave-UNet 中分別設(shè)置為0.74 s 和16。樂(lè)音隨時(shí)間變化非??欤虼嗣總€(gè)音頻片段之間的內(nèi)部關(guān)聯(lián)性不穩(wěn)定,這樣不同批次之間的均值和方差差異很大。另一方面,訓(xùn)練與預(yù)測(cè)階段BN 層的計(jì)算并不完全相同,訓(xùn)練階段BN 層會(huì)計(jì)算每個(gè)小批量的均值和方差,而在測(cè)試階段采用的則是移動(dòng)平均估計(jì)下的全局均值和方差,這種不一致會(huì)造成密集樣本值預(yù)測(cè)的精度損失。
傳統(tǒng)的Wave-U-Net 結(jié)構(gòu)為了獲取編碼塊中提取的細(xì)節(jié)信息,將編碼塊的輸出直接與用于音源合成的解碼塊相應(yīng)層的前一層輸出相拼接,然而,這種直接拼接并沒(méi)有考慮兩者之間的語(yǔ)義鴻溝。與文獻(xiàn)[16] 提出的在跳躍連接部分添加幾個(gè)CNN 層和非線性變換不同,本文引入注意力門(mén)控機(jī)制來(lái)縮小從編碼塊中提取的低級(jí)特征和解碼塊中高級(jí)語(yǔ)義特征之間的語(yǔ)義差距。
注意力機(jī)制是一種區(qū)域權(quán)重學(xué)習(xí)問(wèn)題,已經(jīng)在圖像語(yǔ)義分割領(lǐng)域取得了很好的效果[18]。可訓(xùn)練的注意力模型可以分為硬注意力模型和軟注意力模型。在硬注意力模型中,每個(gè)區(qū)域的注意力權(quán)重被設(shè)為0 或1,模型的訓(xùn)練通常依賴(lài)于參數(shù)更新的強(qiáng)化學(xué)習(xí),導(dǎo)致模型訓(xùn)練的難度很大。在軟注意力模型中,每個(gè)區(qū)域的注意力權(quán)重可以是0 到1 之間的任何值,在訓(xùn)練階段通常采用標(biāo)準(zhǔn)的反向傳播,并且可以在無(wú)需蒙特卡洛采樣 (Monte Carlo Sampling)的情況下訓(xùn)練模型。此外為了消除訓(xùn)練過(guò)程中模型對(duì)外部門(mén)控信息的依賴(lài),文獻(xiàn)[19]提出了一種基于特征圖和分配權(quán)重的自我學(xué)習(xí)的注意力機(jī)制。本文提出的注意力門(mén)控機(jī)制屬于自我學(xué)習(xí)的軟注意力門(mén)控機(jī)制。
圖3 注意力門(mén)控結(jié)構(gòu)Fig. 3 Architecture of attention gate
實(shí)驗(yàn)采用公開(kāi)數(shù)據(jù)集MUSDB18[20]作為實(shí)驗(yàn)對(duì)象。該數(shù)據(jù)集包含150 首不同類(lèi)型的音樂(lè)曲目,總時(shí)長(zhǎng)590 min,分別由訓(xùn)練集(100 首音頻)和測(cè)試集(50 首音頻)組成。每個(gè)樣本由4 種音源組成:人聲、貝斯、鼓聲和其他。所有音頻均為立體聲信號(hào),并以44.1 kHz 編碼。為了對(duì)本文提出的模型和基線模型[12]進(jìn)行性能對(duì)比,實(shí)驗(yàn)中將MUSDB18 數(shù)據(jù)集分為3 個(gè)子集:訓(xùn)練集(75 首音頻)、驗(yàn)證集(25 首音頻)和測(cè)試集(50 首音頻)。此外,實(shí)驗(yàn)還采用了CCMixter數(shù)據(jù)集[21]擴(kuò)充訓(xùn)練集,該數(shù)據(jù)集包含50 首不同類(lèi)型的全長(zhǎng)音樂(lè)曲目,總時(shí)長(zhǎng)192.5 min。每個(gè)樣本由2 種音源組成:人聲和背景音樂(lè)聲。所有音頻都被下采樣到22050 Hz,并保留立體聲。
音源分離評(píng)價(jià)指標(biāo)(BSSEval)[22]中的SDR (Source to Distortion Ratio)是源分離性能評(píng)估的常用指標(biāo)。實(shí)驗(yàn)中計(jì)算比較了整個(gè)數(shù)據(jù)集中每首歌單個(gè)源的SDR 中位值(Med.)、均值(Mean)、中值絕對(duì)差(MAD)和標(biāo)準(zhǔn)差(SD)。對(duì)于中位值和均值,數(shù)值越大則表示源分離性能越好。
在訓(xùn)練階段,每首歌2~3 min 的音頻被隨機(jī)分為包含16384 個(gè)樣本點(diǎn)的音頻片段用作模型的輸入,實(shí)驗(yàn)使用隨機(jī)值初始化模型參數(shù),然后基于Adam 優(yōu)化算法[23]通過(guò)反向傳播進(jìn)行訓(xùn)練。批數(shù)據(jù)大小設(shè)置為16,學(xué)習(xí)率從0.0001 開(kāi)始,如果20 次迭代后的驗(yàn)證準(zhǔn)確性沒(méi)有改善,則降低至0.00001,這種提前終止訓(xùn)練的方式將有效防止過(guò)擬合問(wèn)題。訓(xùn)練過(guò)程通過(guò)最小化估計(jì)源的波形和相應(yīng)的樣本源之間的均方誤差 (Mean Square Error, MSE)實(shí)現(xiàn)。
2.2.1 結(jié)合不同殘差單元的Wave-U-Net 性能對(duì)比為了研究不同殘差單元對(duì)基于Wave-U-Net 的SVS模型的適用性,并驗(yàn)證Residual unit 3 在SVS 任務(wù)中的優(yōu)勢(shì),表2 示出了傳統(tǒng)Wave-U-Net[12](M4)、Wave-U-Net 結(jié) 合Residual unit 1 (M4-R1)、Wave-U-Net 結(jié)合Residual unit 2 (M4-R2)、Wave-U-Net 結(jié)合Residual unit 3 (M4-R3)的性能。結(jié)果顯示,對(duì)于人聲估計(jì),M4-R3 模型獲得了最高的中位值(5.04 dB)和最高的均值(1.43 dB)。
表2 引入不同類(lèi)型殘差單元后Wave-U-Net 的性能對(duì)比Table 2 Performance comparison of Wave-U-Net with different types of residual units
2.2.2 BN 層對(duì)源分離性能的影響 為了驗(yàn)證去除常規(guī)殘留單元中BN 層對(duì)于SVS 任務(wù)的必要性,實(shí)驗(yàn)對(duì)比了在Wave-U-Net 中有和沒(méi)有BN 層的殘差單元的性能,結(jié)果如表3 所示。實(shí)驗(yàn)結(jié)果表明去除常規(guī)殘差單元中的BN 層明顯有助于提高源分離性能。
表3 BN 層對(duì)源分離性能的影響Table 3 Influence of BN layer on the separation performance
2.2.3 M4-R3 的 模 型 復(fù) 雜 度 和 性 能 的 權(quán) 衡 M4-R3 在編碼和解碼塊中均包含12 層,可實(shí)現(xiàn)最佳性能,但是之前的實(shí)驗(yàn)發(fā)現(xiàn)M4-R3 模型的訓(xùn)練參數(shù)規(guī)模大,訓(xùn)練耗時(shí)長(zhǎng),因此實(shí)驗(yàn)測(cè)試并比較了包含8、10、12 層的M4-R3 模型的分離性能,分別表示為M4-R3-8、M4-R3-10、M4-R3-12,希望在M4-R3 的模型復(fù)雜度和性能之間進(jìn)行權(quán)衡。圖4 示出了不同層數(shù)的M4-R3 模型的訓(xùn)練參數(shù)數(shù)量對(duì)比結(jié)果。由圖4可以看出,M4-R3-12 模型的訓(xùn)練參數(shù)數(shù)量分別約是M4-R3-10 模型和M4-R3-8 模型的兩倍和三倍。圖5示出了不同層數(shù)M4-R3 模型的性能對(duì)比結(jié)果。可以看出,對(duì)于M4-R3 模型,更多的層數(shù)對(duì)應(yīng)于更好的性能;3 種M4-R3 模型均優(yōu)于M4,證明了在傳統(tǒng)的Wave-U-Net 的編碼和解碼塊中引入Residual unit 3 有助于提高源分離性能;M4-R3-8 模型在均值方面其人聲分離性能遠(yuǎn)低于M4-R3-12 模型。然而,M4-R3-10 模型的性能與M4-R3-12 模型相當(dāng),但是訓(xùn)練參數(shù)數(shù)量要少得多。因此,本文認(rèn)為M4-R3-10 模型可以在模型復(fù)雜度和性能之間達(dá)到較好的平衡。
圖4 不同層數(shù)M4-R3 模型的訓(xùn)練參數(shù)數(shù)量對(duì)比Fig. 4 Parameter numbers comparison of M4-R3 models with different numbers of layers
圖5 不同層數(shù)M4-R3 模型的性能對(duì)比Fig. 5 Performances achieved by M4-R3 models with different numbers of layers
2.2.4 引入注意力門(mén)控機(jī)制的必要性 為了驗(yàn)證注意力門(mén)控機(jī)制的引入對(duì)性能增強(qiáng)的貢獻(xiàn),比較了M4、結(jié)合注意力門(mén)控機(jī)制的M4(表示為M4-A)、M4-R3-10、結(jié)合了Residual unit 3 和注意力門(mén)控機(jī)制的RA-WaveUNet 4 種模型的性能,結(jié)果見(jiàn)表4,其中對(duì)應(yīng)于同一列中的最佳性能值以黑體顯示。
表4 注意力門(mén)控機(jī)制對(duì)性能的影響Table 4 Contribution of the attention gate to the performance
實(shí)驗(yàn)結(jié)果表明:RA-WaveUNet 性能優(yōu)于M4-R3-10,驗(yàn)證了注意力門(mén)控機(jī)制的引入進(jìn)一步提高了分離性能;RA-WaveUNet 的性能優(yōu)于M4-A 和M4-R3-10,驗(yàn)證了以上兩種改進(jìn)之間存在互補(bǔ)性;M4-A 和M4-R3-10 的性能均優(yōu)于M4,驗(yàn)證了以上兩種改進(jìn)均有助于增強(qiáng)Wave-U-Net 的分離性能。
2.2.5 SVS 算法 性能對(duì)比 在MUSDB18 數(shù) 據(jù)集的測(cè)試集上將RA-WaveUNet 模型與其他4 種最新的端到端SVS 模型[12-14,17]進(jìn)行對(duì)比,結(jié)果如表5 所示??梢钥闯?,RA-WaveUNet 模型在人聲估計(jì)方面的分離性能略差于HydraNet+H7 模型,但是在背景音樂(lè)估計(jì)方面明顯優(yōu)于該模型,并且所有分離性能指標(biāo)均優(yōu)于Wave-U-Net 模型、MHE0 模型以及U310 模型。實(shí)驗(yàn)結(jié)果表明RA-WaveUNet 模型取得了與最新的端到端SVS 模型相當(dāng)或更好的分離性能。
表5 與最新SVS 模型的性能對(duì)比Table 5 Performance comparison with state-of-the-arts SVS models
本文對(duì)傳統(tǒng)的基于Wave-U-Net 的SVS 模型進(jìn)行了改進(jìn)以提高其源分離的準(zhǔn)確性。在特征提取和合成階段,在Wave-U-Net 的編碼和解碼模塊中設(shè)計(jì)并引入了殘差單元來(lái)解決梯度消失問(wèn)題。這樣可以構(gòu)建更深的體系結(jié)構(gòu)以提取更深層語(yǔ)義特征;在Wave-U-Net 的跳躍連接中設(shè)計(jì)并引入了注意力門(mén)控機(jī)制,利用從解碼塊提取的特征來(lái)調(diào)整從編碼塊轉(zhuǎn)換的特征的權(quán)重,以減少它們之間存在的語(yǔ)義鴻溝。在MUSDB18 數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果表明,RAWaveUNet 模型優(yōu)于傳統(tǒng)的Wave-U-Net 模型和大部分最新的端到端SVS 模型,同時(shí),以上改進(jìn)均對(duì)模型性能的提高有幫助。未來(lái)我們將引入GAN 進(jìn)行數(shù)據(jù)增強(qiáng)去解決SVS 領(lǐng)域由于訓(xùn)練樣本少所引發(fā)的泛化能力差的問(wèn)題。