康宏博 馮雨佳 臺(tái)文鑫 藍(lán) 天 吳祖峰 劉 嶠
1 (電子科技大學(xué)信息與軟件工程學(xué)院 成都 610054)
2 (電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院 成都 611731)
日常生活中,人們經(jīng)常會(huì)使用到移動(dòng)電話和微信聊天等,在這些語(yǔ)音通信中,環(huán)境噪聲和其他干擾不可避免地影響了通話質(zhì)量.因此,降低背景噪聲,提高語(yǔ)音的質(zhì)量和清晰度一直都是語(yǔ)音處理應(yīng)用中的一個(gè)關(guān)鍵問(wèn)題.語(yǔ)音增強(qiáng)的目的就是消除噪聲和干擾,最大可能地提高語(yǔ)音的聽(tīng)覺(jué)質(zhì)量和可懂度.目前很多的語(yǔ)音增強(qiáng)算法僅僅改善了語(yǔ)音質(zhì)量,在可懂度方面存在很大不足,即在低信噪比環(huán)境下,噪聲得到了控制,但引入了較大的語(yǔ)音失真.因此,如何保證在語(yǔ)音不失真的前提下,有效抑制噪聲和干擾,是語(yǔ)音增強(qiáng)領(lǐng)域一個(gè)主要挑戰(zhàn).
語(yǔ)音增強(qiáng)方法主要有傳統(tǒng)方法和深度學(xué)習(xí)方法.傳統(tǒng)方法如譜減法[1]、維納濾波[2]和最小均方誤差(minimum mean square error,MMSE)估計(jì)[3]在語(yǔ)音處理領(lǐng)域得到了廣泛地研究,其主要采用無(wú)監(jiān)督數(shù)字信號(hào)分析方法,通過(guò)對(duì)語(yǔ)音信號(hào)進(jìn)行分解,確定干凈語(yǔ)音和噪聲的特征,實(shí)現(xiàn)語(yǔ)音和噪聲的分離.然而,這些方法都是基于穩(wěn)定噪聲的假設(shè),在處理非平穩(wěn)噪聲時(shí)性能會(huì)大大降低,為了解決這些局限性,基于深度學(xué)習(xí)的方法被提出,深度學(xué)習(xí)方法主要有基于時(shí)頻掩蔽的語(yǔ)音增強(qiáng)方法和基于特征映射的語(yǔ)音增強(qiáng)方法.基于時(shí)頻掩蔽的語(yǔ)音增強(qiáng)方法主要將噪聲和干凈語(yǔ)音相互關(guān)系的時(shí)頻掩蔽作為學(xué)習(xí)目標(biāo),該方法需要假設(shè)純凈語(yǔ)音和噪聲具有一定的獨(dú)立性;而基于特征映射的語(yǔ)音增強(qiáng)方法主要學(xué)習(xí)干凈語(yǔ)音特征和帶噪語(yǔ)音特征之間的復(fù)雜關(guān)系,從而找到兩者間的映射,網(wǎng)絡(luò)的輸入與輸出通常是同種類型的聲學(xué)特征,且在實(shí)現(xiàn)過(guò)程中幾乎不會(huì)對(duì)語(yǔ)音和噪聲信號(hào)做任何假設(shè).研究人員在此基礎(chǔ)上提出了許多基于神經(jīng)網(wǎng)絡(luò)的模型[4-6],如深度神經(jīng)網(wǎng)絡(luò)(deep neural network,DNN)[7-9]、循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural network,RNN)[10-12]、卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)[13-17]和其他一些變體.Xu 等人[8]首先使用了一種基于DNN 的回歸方法,學(xué)習(xí)噪聲語(yǔ)音到干凈語(yǔ)音的對(duì)數(shù)功率譜的映射函數(shù).該方法取得了令人滿意的結(jié)果,從而證明了基于深度學(xué)習(xí)方法的有效性.然而,DNN 由幾個(gè)完全連通的層組成,這些層對(duì)語(yǔ)音信號(hào)[18]的時(shí)域結(jié)構(gòu)建模困難.此外,參數(shù)的數(shù)量隨著層數(shù)和節(jié)點(diǎn)數(shù)的增加而迅速增加,從而增加了計(jì)算量.
近年來(lái)CNN 被不斷應(yīng)用于語(yǔ)音處理領(lǐng)域,使得其在減少參數(shù)量的同時(shí),可以顯著捕捉語(yǔ)音信號(hào)中的隱含信息.在一定范圍內(nèi),CNN 可以保持語(yǔ)音特征在頻域內(nèi)的小幅度移動(dòng),從而應(yīng)對(duì)說(shuō)話人和環(huán)境的變化.為了提高去噪性能和重構(gòu)語(yǔ)音,很多方法會(huì)利用跳躍連接幫助模型恢復(fù)頻譜.然而,目前廣泛使用的跳躍連接機(jī)制在特征信息傳輸時(shí)會(huì)引入噪聲成分,不可避免地降低了去噪性能;除此之外,CNN 中普遍使用的固定形狀的卷積核在處理各種聲紋信息時(shí)效率低下.基于上述考慮,本文提出了一種基于跨維度協(xié)同注意力機(jī)制(cross-dimensional collaborative attention mechanism)和形變卷積(deformable convolution)的端到端編-解碼器網(wǎng)絡(luò)CADNet.具體地:1)在跳躍連接中引入卷積注意模塊,跳躍連接自適應(yīng)分配注意權(quán)值來(lái)抑制噪聲成分.不同于單一方面的注意力機(jī)制設(shè)計(jì),我們從通道和空間2 個(gè)維度及其相互依賴等方面對(duì)其進(jìn)行了細(xì)化,進(jìn)一步提高信息控制能力,從而有效解決噪聲引入的問(wèn)題.2)在編碼器和解碼器之間,將多個(gè)自注意力模塊串聯(lián)起來(lái)對(duì)信息進(jìn)行處理,為了防止注意力操作堆疊造成的信息遺忘,在每個(gè)自注意力模塊(self-attention block,SAB)中添加殘差連接,將每個(gè)原始輸入直接傳遞到下一層.3)在每個(gè)標(biāo)準(zhǔn)卷積層之后引入可形變卷積層,以更好地匹配聲紋的自然特征,增強(qiáng)信息的解析能力.
本文的主要貢獻(xiàn)包括3 個(gè)方面:
1)提出了一種基于通道和空間的跨維度協(xié)同注意力機(jī)制方法,通過(guò)在跳躍連接中協(xié)同學(xué)習(xí)注意力機(jī)制來(lái)抑制噪聲成分,進(jìn)一步提高信息控制能力,且該方法只涉及很少的參數(shù);
2)在解碼器的每個(gè)標(biāo)準(zhǔn)卷積層后引入形變卷積層,對(duì)解析結(jié)果進(jìn)行重新校準(zhǔn)和校正,以獲得更好的特征處理能力;
3)在TIMIT 公開(kāi)數(shù)據(jù)集上對(duì)多個(gè)基準(zhǔn)模型進(jìn)行了充分實(shí)驗(yàn),并與本文所提出的模型進(jìn)行了比較分析,實(shí)驗(yàn)驗(yàn)證了所提出的算法在語(yǔ)音質(zhì)量和可懂度的評(píng)價(jià)指標(biāo)方面的有效性.
隨著CNN 被引入到語(yǔ)音處理中,F(xiàn)u 等人[14]提出了一種信噪比感知的CNN 來(lái)估計(jì)話語(yǔ)的信噪比,然后自適應(yīng)增強(qiáng),從而提高泛化能力.Hou 等人[16]使用了音頻和視覺(jué)信息來(lái)進(jìn)行語(yǔ)音增強(qiáng).Bhat 等人[17]提出了一個(gè)多目標(biāo)學(xué)習(xí)CNN,并將其作為應(yīng)用程序在智能手機(jī)上實(shí)現(xiàn).由于CNN 在特征提取方面更為有效,所以近年來(lái)的研究多采用基于卷積編碼器-解碼器(convolutional encoder-decoder)的網(wǎng)絡(luò)進(jìn)行語(yǔ)音增強(qiáng).此外,Park 等人[19]去掉了CNN 中的全連接層,將全卷積網(wǎng)絡(luò)(fully convolutional network,F(xiàn)CN)引入語(yǔ)音增強(qiáng)領(lǐng)域.近年來(lái),基于FCN 的工作層出不窮.Tan 等人[20]提出了卷積循環(huán)網(wǎng)絡(luò)(convolutional recurrent network,CRN),它在FCN 的編碼器和解碼器之間插入了2 個(gè)長(zhǎng)短期記憶網(wǎng)絡(luò)(long-short-memory,LSTM)層,可以有效地捕獲局部和序列屬性.Grzywalski等人[21]將門控循環(huán)單元(gate recurrent unit,GRU)層添加到FCN 的每個(gè)構(gòu)建塊中.文獻(xiàn)[14,16,17,19,20,21]所述的模型利用神經(jīng)網(wǎng)絡(luò)的時(shí)間建模能力,提高了自身的信息表示能力.FCN 中的最大池化層用于提取特定區(qū)域中最活躍的部分,但會(huì)導(dǎo)致細(xì)節(jié)信息的丟失.因此,F(xiàn)CN 在一些只需要獲得整體特征的語(yǔ)音識(shí)別領(lǐng)域中就可以取得良好的效果.但在語(yǔ)音增強(qiáng)領(lǐng)域中,細(xì)節(jié)信息是恢復(fù)干凈語(yǔ)音的關(guān)鍵,如果沒(méi)有細(xì)節(jié)信息,將會(huì)大大影響語(yǔ)音增強(qiáng)的效果.為了解決這個(gè)問(wèn)題,文獻(xiàn)[19]中還提出了冗余卷積編碼器-解碼器(redundant convolutional encoder-decoder,RCED)網(wǎng)絡(luò),該網(wǎng)絡(luò)丟棄了FCN 中的最大池化層和相應(yīng)的上采樣層,保持特征圖的大小,從而達(dá)到保留細(xì)節(jié)信息的目的,提高了語(yǔ)音增強(qiáng)的性能.為了進(jìn)一步提高去噪性能,Lan 等人[22]在每個(gè)卷積層之后引入注意力塊來(lái)捕獲復(fù)雜的依賴關(guān)系.此外,考慮到深度神經(jīng)網(wǎng)絡(luò)通常缺乏細(xì)粒度的信息,使得語(yǔ)音重構(gòu)更加困難,文獻(xiàn)[22]所述的方法還利用了跳躍連接幫助模型恢復(fù)頻譜.
注意力機(jī)制最初被用于機(jī)器翻譯工作[23],現(xiàn)在已經(jīng)成為了神經(jīng)網(wǎng)絡(luò)領(lǐng)域中的一個(gè)重要概念.在人工智能領(lǐng)域,注意力機(jī)制已經(jīng)作為神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的重要組成部分,并在自然語(yǔ)言處理、語(yǔ)音和計(jì)算機(jī)等領(lǐng)域得到了廣泛地應(yīng)用.注意力機(jī)制來(lái)源于人類視覺(jué)機(jī)制,通常人類的視覺(jué)系統(tǒng)傾向于關(guān)注圖像中重要的信息和忽略掉不相關(guān)的信息[24].而注意力的基本思想是:在預(yù)測(cè)輸出時(shí)允許模型動(dòng)態(tài)地關(guān)注有利于執(zhí)行任務(wù)輸入的部分,并將這種相關(guān)性概念結(jié)合起來(lái).注意力機(jī)制不僅能夠告訴模型應(yīng)該注意什么,同時(shí)也能增強(qiáng)特定區(qū)域的表征能力.傳統(tǒng)的注意力方法是將網(wǎng)絡(luò)的特征圖的權(quán)重傳遞到下一層,而Hu 等人[25]提出了一種注意力機(jī)制,其學(xué)習(xí)了每一個(gè)卷積模塊的通道注意力,提升了CNN 的性能.其核心思想在于建模通道之間的相互依賴關(guān)系,通過(guò)網(wǎng)絡(luò)的全局損失函數(shù)自適應(yīng)地重新矯正通道之間的權(quán)重.
在此基礎(chǔ)上,本文首先在通道維度使用了注意力機(jī)制,依賴于特征圖的全局信息來(lái)確定每個(gè)通道的重要性.但由于卷積操作是將跨通道信息和空間信息融合在一起來(lái)提取信息特征,因此從通道級(jí)全局視角進(jìn)行細(xì)化、確定每個(gè)通道的重要性之后,我們還利用特征的空間關(guān)系生成空間注意圖,以區(qū)分不同權(quán)重的內(nèi)空間關(guān)系特征,把2 個(gè)分支的信息融合在一起,從而形成了一種跨維度的協(xié)同注意力機(jī)制.
本節(jié)介紹基于跨維度協(xié)同注意力機(jī)制和形變卷積的單通道語(yǔ)音增強(qiáng)算法及應(yīng)用.
通常情況下,一條帶噪語(yǔ)音可以表示為
其中t表示時(shí)間幀的索引,Y,X,N表示對(duì)應(yīng)時(shí)間幀的含噪語(yǔ)音信號(hào)、純凈語(yǔ)音信號(hào)及噪聲波形.從含噪語(yǔ)音信號(hào)Y中消除噪聲N,得到純凈語(yǔ)音X的過(guò)程就是語(yǔ)音增強(qiáng)的任務(wù).一般情況下,不同語(yǔ)音往往具有不同的時(shí)間長(zhǎng)度,因?yàn)檎Z(yǔ)音的時(shí)間幀的總數(shù)不是固定的.語(yǔ)音的時(shí)域信號(hào)通過(guò)分幀、加窗以及短時(shí)傅里葉變換得到短時(shí)傅里葉變換幅度譜.給定一個(gè)長(zhǎng)度為L(zhǎng)的實(shí)值向量Y,可通過(guò)短時(shí)傅里葉變換(short-time Fourier transform,STFT )將其轉(zhuǎn)換為時(shí)頻域,即
式(1)可以重寫(xiě)為
其中Yt,f,Xt,f,Nt,f分別代表含噪語(yǔ)音、純凈語(yǔ)音和噪聲在時(shí)間幀t和頻點(diǎn)f時(shí)的值.通過(guò)神經(jīng)網(wǎng)絡(luò)模型,獲取增強(qiáng)后的幅度譜,并利用帶噪相位和快速傅里葉逆變換還原到時(shí)域空間,最終得到降噪后的語(yǔ)音波形.
如圖1 所示,CADNet 的整體框架圖一共包含了4 個(gè)模塊,分別為:編碼層(encoder)、自注意力模塊(self-attention blocks,SAB)、解碼層(decoder)和跨維度協(xié)同注意力模塊(cross-dimensional collaborative attention blocks).
Fig.1 The overall architecture of CADNet圖1 CADNet 的總體架構(gòu)
1)編碼層
在特征處理和語(yǔ)音重構(gòu)的后續(xù)步驟中,充分的特征表示將會(huì)起到很重要的作用.考慮到特定的幀長(zhǎng)和時(shí)間軸與頻率軸之間的分辨率關(guān)系,我們決定采用一個(gè)更大的卷積核來(lái)對(duì)特征進(jìn)行提取,從而在層數(shù)較少的情況下能夠獲得更大的感受野[26].首先,利用短時(shí)傅立葉變換將語(yǔ)音波形轉(zhuǎn)換為頻譜域,并以幅度譜作為輸入.然后,使用由4 個(gè)大小為11×11的卷積核組成的卷積層進(jìn)行特征提取,并在每個(gè)卷積層之后使用PReLU 激活函數(shù).除此之外,我們將輸出特征通道數(shù)分別設(shè)置為4,8,16,32,并將步長(zhǎng)和膨脹率值均設(shè)置為1,以避免信息丟失.
2)自注意力模塊
受到文獻(xiàn)[27]的啟發(fā),將6 個(gè)SAB 串聯(lián)起來(lái)對(duì)信息進(jìn)行處理.每個(gè)SAB 的第1 步是使用1 層卷積(卷積核大小為11×11)進(jìn)行線性變換.然后,將特征輸入到2 個(gè)并行的卷積層中(卷積核大小均為11×11),其中一個(gè)卷積層生成重要權(quán)值來(lái)控制另一個(gè)卷積層的信息流.使用注意力機(jī)制的本意是更好地獲取全局信息,但堆疊的注意力層也會(huì)使模型喪失了捕捉局部特征的能力,使得特征圖包含的圖像信息會(huì)逐層減少,造成一定的信息遺忘.為了防止注意力操作堆疊造成的信息遺忘,還在每個(gè)SAB 中添加了殘差連接[28],將每個(gè)原始的輸入直接傳遞到下一層.在具體的實(shí)現(xiàn)過(guò)程中,將每個(gè)SAB 的輸入和輸出通道的數(shù)量都固定為32 個(gè),并在每個(gè)卷積層之后應(yīng)用PReLU 激活函數(shù).
3)解碼層
標(biāo)準(zhǔn)卷積使用固定的卷積核在輸入的特征圖上采樣時(shí),將卷積核與特征圖中對(duì)應(yīng)位置的數(shù)值逐個(gè)相乘,最后求出加權(quán)和,就得到該位置的卷積結(jié)果,不斷移動(dòng)卷積核,就可算出各個(gè)位置的卷積結(jié)果.在同一層標(biāo)準(zhǔn)卷積中,所有的激活單元的感受野是一樣的.但由于不同位置可能對(duì)應(yīng)著不同尺度或形變的特征信息,因此在提取特征信息的過(guò)程中對(duì)尺度或者感受野大小進(jìn)行自適應(yīng)地調(diào)整是必須的.受到文獻(xiàn)[29]的啟發(fā),我們?cè)诮獯a層的卷積模塊中引入了形變卷積,即在每個(gè)標(biāo)準(zhǔn)的卷積層之后添加了形變卷積層來(lái)重新校正解析結(jié)果.形變卷積基于一個(gè)平行網(wǎng)絡(luò)學(xué)習(xí)偏移量,對(duì)卷積核中每個(gè)采樣點(diǎn)的位置都增加了一個(gè)偏移變量,可以實(shí)現(xiàn)在當(dāng)前位置附近隨意采樣而不局限于之前的規(guī)則格點(diǎn).
我們可以看到,形變卷積可以通過(guò)操縱偏移pn來(lái)改變感受野的大小,從而更好地匹配聲紋的自然特征.在具體實(shí)現(xiàn)中,我們?cè)诿總€(gè)核大小為11×11 的標(biāo)準(zhǔn)卷積之后應(yīng)用核大小為3×3 的形變卷積.解碼器的8 層輸入、輸出通道數(shù)目分別為(32,32,16,16,8,8,4,4)和(16,16,8,8,4,4,1,1).形變卷積的結(jié)構(gòu)如圖2 所示.
Fig.2 Details of deformable convolution圖2 形變卷積細(xì)節(jié)
4)跨維度協(xié)同注意力模塊
為了區(qū)分不同類型的信息,抑制不相關(guān)的噪聲部分,我們?cè)谔S連接操作中插入一個(gè)跨維度協(xié)同注意力模塊[24],如圖3 所示.由于卷積是將跨通道信息和空間信息融合在一起來(lái)提取信息特征的,因此我們沿著這2 個(gè)主要維度設(shè)計(jì)了跨維度協(xié)同注意力機(jī)制.首先,我們采用一種基于通道的注意力機(jī)制,該機(jī)制依賴于特征圖的全局信息來(lái)確定每個(gè)通道的重要性.
Fig.3 Cross-dimensional collaborative attention mechanism blocks圖3 跨維度協(xié)同注意力機(jī)制模塊
設(shè)一個(gè)卷積層的輸出為X∈RW×H×C,其中W,H,C分別表示寬度、高度和通道維度.我們用Xe和Xd分別表示編碼器和解碼器的一個(gè)卷積塊的輸出.首先,我們通過(guò)元素求和的方式融合Xe和Xd,即
其次,采用全局平均池化方法,沿通道維度對(duì)信息進(jìn)行擠壓,即聚合特征
由于注意力機(jī)制的有效性,Lan 等人[22]使用了SENet,SE-Net 學(xué)習(xí)了每一個(gè)卷積模塊的通道注意力從而提升了網(wǎng)絡(luò)的性能,但是SE-Net 中的2 個(gè)全連接層之間的維度縮減不利于學(xué)習(xí)通道注意力的權(quán)重,且文獻(xiàn)[30]表明降維會(huì)對(duì)學(xué)習(xí)通道注意力產(chǎn)生副作用,效率較低,沒(méi)有必要捕獲所有通道之間的依賴關(guān)系.適當(dāng)?shù)目缤ǖ澜换?duì)于保持性能和顯著降低模型復(fù)雜度很有價(jià)值.因此我們提出了一種獲取局部跨通道交互的方法,旨在保證效率和有效性.假設(shè)經(jīng)過(guò)全局平均池化后的聚合特征為y∈RC且沒(méi)有降維,其中C為特征維度,即過(guò)濾器的數(shù)量.σ(·)表示sigmoid 函數(shù),則可以通過(guò)式(7)來(lái)學(xué)習(xí)通道注意力 ω:
其中Wy是一個(gè)C×C的矩陣,C表示通道維度.
我們使用一個(gè)帶狀矩陣Wk來(lái)學(xué)習(xí)通道注意力:
其中Wk包含k×C個(gè)參數(shù).
我們可以僅考慮yi和 它相鄰的k個(gè)通道之間的相互關(guān)系來(lái)計(jì)算yi的權(quán)值,讓所有的通道共享相同的學(xué)習(xí)參數(shù),即
其中 Ω表示yi的k個(gè)相鄰?fù)ǖ赖募希⑶以摲N方法可以使用卷積核大小為k的快速一維卷積來(lái)實(shí)現(xiàn):
其中C1D指一維卷積,且該一維卷積僅包含k個(gè)參數(shù)就可以獲取局部跨通道交互的信息.
由于該模塊旨在適當(dāng)?shù)夭东@跨通道信息交互,因此需要確定交互的覆蓋范圍(即一維卷積核的大小k),我們可以通過(guò)手動(dòng)調(diào)整具有不同通道數(shù)的卷積塊來(lái)確定跨通道交互信息的范圍,但是手動(dòng)調(diào)優(yōu)會(huì)消耗大量計(jì)算機(jī)資源,組卷積已經(jīng)成功運(yùn)用于改進(jìn) CNN 架構(gòu)[31-33],其中高維通道擁有較長(zhǎng)的固定組卷積,而低維通道擁有較短的固定組卷積.因此,我們可以得到通道交互的覆蓋范圍(即一維卷積的核大小k)與通道維度C成正比.也就是說(shuō),k和C之間存在映射φ:
最簡(jiǎn)單的映射是一個(gè)線性函數(shù),即
其中,γ和b是線性函數(shù)的參數(shù).然而,以線性為特征的關(guān)系功能太有限了.另一方面,通道維度C通常設(shè)置為2 的冪因子,我們可以通過(guò)此關(guān)系將線性函數(shù)(式(12))擴(kuò)展到非線性函數(shù),即
那么,給定通道維度C,內(nèi)核大小k可以是自適應(yīng)地確定:
其中|t|odd表示最接近t的奇數(shù).
本文中,我們把所有實(shí)驗(yàn)中的y和b分別設(shè)置為2 和1.顯然,通過(guò)映射函數(shù)ψ(·),高維通道具有更遠(yuǎn)距離的相互作用.在自適應(yīng)地確定了內(nèi)核大小k之后,執(zhí)行一維卷積,然后,使用sigmoid 激活函數(shù)來(lái)標(biāo)準(zhǔn)化每個(gè)權(quán)值,通過(guò)乘法求出權(quán)值來(lái)細(xì)化Xe和Xd.從通道級(jí)全局視角進(jìn)行細(xì)化后,利用特征的空間關(guān)系生成空間注意圖,以區(qū)分不同權(quán)重的內(nèi)空間關(guān)系特征.首先融合2 個(gè)分支的信息,然后應(yīng)用一系列的操作(ReLU 激活函數(shù),1×1的卷積操作和sigmoid 激活函數(shù))來(lái)獲得空間注意圖.特別地,將卷積層的輸出通道維度C設(shè)置為1,以通過(guò)通道尺寸縮小注意圖(參見(jiàn)圖3).
本節(jié)詳細(xì)介紹實(shí)驗(yàn)的數(shù)據(jù)集及其實(shí)驗(yàn)配置,以及基準(zhǔn)模型和不同模型的實(shí)驗(yàn)結(jié)果對(duì)比分析.
本文在TIMIT 語(yǔ)料庫(kù)[34]上進(jìn)行了實(shí)驗(yàn),同時(shí)選取NOISEX92[35]中的噪聲以及其他105 種噪聲作為實(shí)驗(yàn)中的噪聲數(shù)據(jù)集,并從TIMIT 語(yǔ)料庫(kù)的訓(xùn)練數(shù)據(jù)集中分別選取2 000 和100 條干凈語(yǔ)音進(jìn)行訓(xùn)練和驗(yàn)證,并選擇TIMIT 核心測(cè)試中的192 條語(yǔ)音進(jìn)行測(cè)試.
訓(xùn)練過(guò)程中我們采用了105 種噪聲,其中包括100 種非言語(yǔ)噪音[29]和自助餐廳、餐廳、公園、辦公室和會(huì)議這5 種不同環(huán)境的生活噪音[36].在-5~10 dB的信噪比(signal noise rate,SNR)范圍內(nèi)以1 dB 為間隔混合訓(xùn)練集的共2 100 條干凈語(yǔ)音分別創(chuàng)建了訓(xùn)練和驗(yàn)證數(shù)據(jù)集.測(cè)試過(guò)程中,我們?cè)?05 種噪聲的基礎(chǔ)上還增加了NOISEX92 中的5 種噪音(babble,f16,factory2,m109,white),并在4 種信噪比(-5 dB,0 dB,5 dB,10 dB)條件下混合192 條干凈測(cè)試語(yǔ)音創(chuàng)建測(cè)試數(shù)據(jù)集.
在混合語(yǔ)音的過(guò)程中,我們首先把所有的噪聲拼接成一個(gè)長(zhǎng)向量;然后隨機(jī)選擇一個(gè)切割點(diǎn),在一定的信噪比條件下將其與待混合的干凈語(yǔ)音進(jìn)行混合.如表1 所示,混合語(yǔ)言分別生成了36 h 的訓(xùn)練數(shù)據(jù)、1.5 h 的驗(yàn)證數(shù)據(jù)和1 h 的測(cè)試數(shù)據(jù).
Table 1 Dataset of Our Experiment表1 實(shí)驗(yàn)數(shù)據(jù)集
我們將實(shí)驗(yàn)中所使用到的所有語(yǔ)音片段均采樣到16 kHz.在數(shù)據(jù)預(yù)處理過(guò)程中,使用窗口大小為20 ms的漢明窗對(duì)語(yǔ)音信號(hào)進(jìn)行短時(shí)傅里葉變換,將語(yǔ)音信號(hào)分割成一組幀,相鄰幀重疊50%.每幀對(duì)應(yīng)一個(gè)161 維的特征向量.我們將epoch 大小設(shè)置為30,并將學(xué)習(xí)率固定為0.000 2,使用平均絕對(duì)誤差(mean absolute error,MAE)作為損失函數(shù),并通過(guò)Adam優(yōu)化器來(lái)優(yōu)化模型參數(shù).我們通過(guò)短時(shí)客觀可解性(STOI)[37]、感知評(píng)價(jià)語(yǔ)音質(zhì)量(PESQ)[38]和比例不變信號(hào)失真比(SI-SDR)[39]來(lái)評(píng)估不同模型的性能.對(duì)于這3 個(gè)評(píng)價(jià)指標(biāo),我們分別計(jì)算了每一個(gè)基準(zhǔn)模型在不同信噪比下的評(píng)價(jià)指標(biāo)的平均值,避免了實(shí)驗(yàn)結(jié)果的偶然性.本文實(shí)驗(yàn)所用到的實(shí)驗(yàn)平臺(tái)是Ubuntu LTS 18.04,其帶有i7-9700 和RTX 2060.
我們?cè)诮? 年較為流行的幾個(gè)時(shí)頻域網(wǎng)絡(luò)中選取了4 個(gè)模型(CRN[20],GRN[40],AUNet[41],DARCN[42]),與本文所提出的方法CADNet 進(jìn)行了對(duì)比,驗(yàn)證了CADNet 方法的有效性.
1)CRN 將卷積編碼器-解碼器網(wǎng)絡(luò)和長(zhǎng)短期記憶網(wǎng)絡(luò)結(jié)合到CRN 體系結(jié)構(gòu)中,并引入了跳躍連接操作,從而形成了一個(gè)適用于實(shí)時(shí)處理的單通道語(yǔ)音增強(qiáng)系統(tǒng);
2)GRN 將語(yǔ)音增強(qiáng)視為序列到序列的映射,結(jié)合了擴(kuò)展卷積和門控機(jī)制進(jìn)行序列建模,在擴(kuò)大感受野的同時(shí)使用簡(jiǎn)單的聚合操作來(lái)保留重要特征,從而實(shí)現(xiàn)語(yǔ)音增強(qiáng);
3)AUNet 在編碼器和解碼器之間采用了一種空間上的注意機(jī)制,用于學(xué)習(xí)聚焦不同形狀和大小的目標(biāo)結(jié)構(gòu),以盡可能地消除噪聲,從而提升語(yǔ)音增強(qiáng)的準(zhǔn)確率;
4)DARCN 設(shè)計(jì)了一個(gè)并行注意子網(wǎng)絡(luò)來(lái)控制信息流,同時(shí)引入動(dòng)態(tài)注意力機(jī)制和遞歸學(xué)習(xí),通過(guò)在多個(gè)階段重用網(wǎng)絡(luò)來(lái)動(dòng)態(tài)減少可訓(xùn)練參數(shù)的數(shù)量,增強(qiáng)單通道語(yǔ)音.
表2 分別顯示了不同模型的性能,其中Noisy 表示帶噪語(yǔ)言的語(yǔ)音質(zhì)量.我們可以觀察到:在不同的信噪比條件下,CRN 的3 項(xiàng)指標(biāo)結(jié)果都優(yōu)于帶噪語(yǔ)音Noisy,但在低信噪比水平上(-5dB)性能會(huì)嚴(yán)重下降;采用了空間注意力機(jī)制的AUNet 獲得了比CRN更好的結(jié)果;DARCN 利用注意力機(jī)制動(dòng)態(tài)控制信息流,即使在低信噪比的情況下也能取得良好的效果,而在低信噪比的情況下,跳躍連接引入的噪聲更加明顯,從而降低了去噪性能,這與之前的分析一致;沒(méi)有采用跳躍連接的GRN 即使性能指標(biāo)不是最佳,但也獲得了相對(duì)較好的結(jié)果,這可能是由于其簡(jiǎn)單的聚合操作,以一種粗略的方式提供所有流程信息.與目前最先進(jìn)的模型相比,本文所提出的CADNet 性能提升顯著,即在STOI,PESQ,SI-SDR 指標(biāo)方面,CADNet 的性能分別提高了0.70%,3.83%,2.61%.
Table 2 Indicators Comparison of Different Models Under Different SNR Conditions表2 不同信噪比條件下各個(gè)模型的指標(biāo)比較
為了進(jìn)一步研究模型中單個(gè)模塊對(duì)性能的影響,我們進(jìn)行了消融實(shí)驗(yàn),分別構(gòu)建了去掉形變卷積模塊的CANet 網(wǎng)絡(luò)、去掉協(xié)同注意力模塊的DNet 網(wǎng)絡(luò)以及同時(shí)去掉這2 個(gè)模塊的基本網(wǎng)絡(luò).BASENet 分別比較了這3 個(gè)模型和CADNet 在不同信噪比下(-5dB,0dB,5dB,10dB)的STOI,PESQ,SI-SDR 值,實(shí)驗(yàn)結(jié)果如圖4 所示.跨維度協(xié)同注意力模塊和形變卷積模塊均能夠較好地提升模型BASENet 的性能指標(biāo),從而改善實(shí)驗(yàn)結(jié)果.更為重要的是,兩者的貢獻(xiàn)是相輔相成的,因此消融實(shí)驗(yàn)結(jié)果也表明了跨維度協(xié)同注意力和形變卷積這2 種機(jī)制的重要性.
Fig.4 Experimental results of ablation studies under different SNRs圖4 不同信噪比下的消融實(shí)驗(yàn)結(jié)果
通道注意力模塊中包含一個(gè)參數(shù)k,即卷積核大小,在第2 節(jié)我們提到卷積核大小k和通道維度具有某種關(guān)系并且給出了推導(dǎo),因此,我們做了參數(shù)敏感性實(shí)驗(yàn)來(lái)證明我們的結(jié)論.通過(guò)設(shè)置k=3,5,7,9,我們分別對(duì)模型進(jìn)行了訓(xùn)練,然后在混合信噪比語(yǔ)音測(cè)試集上進(jìn)行了測(cè)試.結(jié)果如表3 所示,可以觀察到當(dāng)k=5 時(shí),模型可以獲得最優(yōu)的結(jié)果.
Table 3 Experimental results of Channel-Based Attention Modules with Various k values表3 不同k 值對(duì)應(yīng)的通道注意力模塊的實(shí)驗(yàn)結(jié)果
為了證明CADNet 的效率,我們還對(duì)模型復(fù)雜度進(jìn)行了分析.表4 顯示了不同模型的訓(xùn)練參數(shù)量和測(cè)試每個(gè)樣本(即每條語(yǔ)音)的測(cè)試時(shí)長(zhǎng).可以看到,與其他模型相比,CADNet 的參數(shù)量相對(duì)較少.這是由于在模型設(shè)計(jì)過(guò)程中使用了小通道搭配較大的卷積核,從而降低了模型的參數(shù)復(fù)雜度,達(dá)到令人滿意的性能.因此,CADNet 由于內(nèi)存消耗少且推理時(shí)間快,具有廣泛的應(yīng)用性.
本文首先剖析了近年來(lái)基于CNN 的語(yǔ)音增強(qiáng)模型,并提出了其所面臨的挑戰(zhàn).然后,提出了一種新的CADNet 方法,該方法包含2 個(gè)具體的設(shè)計(jì):1)在編碼器和解碼器之間引入了一個(gè)跨維度協(xié)同注意力模塊,首先依賴于特征圖的全局信息來(lái)確定每個(gè)通道的重要性,從通道級(jí)全局視角進(jìn)行細(xì)化后;再利用特征的空間生成空間注意力圖,以區(qū)分不同權(quán)重的內(nèi)空間關(guān)系特征;最后將2 個(gè)維度的信息進(jìn)行融合,從而更好地控制信息,抑制不相關(guān)的噪聲部分.2)在解碼器部分引入形變卷積模塊,對(duì)尺度或者感受野大小進(jìn)行自適應(yīng)地調(diào)整,提取不同位置對(duì)應(yīng)的不同尺度或形變的特征信息,更好地匹配聲紋的自然特征,從而增強(qiáng)了信息解析能力.為了進(jìn)一步驗(yàn)證模型的有效性和效率,我們?cè)赥IMIT 語(yǔ)料庫(kù)上進(jìn)行了一系列實(shí)驗(yàn).實(shí)驗(yàn)結(jié)果表明,所提出的模型能夠在降低參數(shù)量的同時(shí),性能始終優(yōu)于現(xiàn)有的先進(jìn)模型.由于低級(jí)的粒度特征和高級(jí)語(yǔ)義表示之間的直接連接會(huì)削弱自注意力模塊的重要性,我們未來(lái)的工作將會(huì)重點(diǎn)研究如何在上述條件下提高自注力模塊的重要性.
作者貢獻(xiàn)聲明:康宏博和馮雨佳對(duì)本文具有相同的貢獻(xiàn).其中康宏博提出了算法思路和實(shí)驗(yàn)方案并撰寫(xiě)論文;馮雨佳負(fù)責(zé)完成實(shí)驗(yàn)并撰寫(xiě)論文.臺(tái)文鑫提出論文修改意見(jiàn);藍(lán)天、吳祖峰和劉嶠提出了指導(dǎo)意見(jiàn).