楊利平 郝峻永 辜小花 侯振威
①(重慶大學(xué)光電技術(shù)及系統(tǒng)教育部重點(diǎn)實(shí)驗(yàn)室 重慶 400044)
②(重慶科技學(xué)院電氣工程學(xué)院 重慶 401331)
聲音事件檢測(cè)(Sound Event Detection, SED)旨在識(shí)別出音頻序列中的聲音事件類別并確定該事件發(fā)生的時(shí)間起止點(diǎn),在諸如異常聲音事件檢測(cè)[1]、安全監(jiān)控[2]和聲音場(chǎng)景感知[3]等各方面都有極大的潛在應(yīng)用價(jià)值。與聲音事件檢測(cè)類似,音頻標(biāo)記(Audio Tagging, AT)則僅對(duì)音頻序列中的聲音事件進(jìn)行分類,即僅判別音頻序列中包含的聲音事件類別,而無需確定聲音事件的起止位置。
近年來,基于深度學(xué)習(xí)的聲音事件檢測(cè)已經(jīng)成為計(jì)算聲學(xué)領(lǐng)域的研究熱點(diǎn)。通常是先將聲音信號(hào)轉(zhuǎn)化為2維時(shí)頻譜圖,然后利用深度神經(jīng)網(wǎng)絡(luò)模型進(jìn)行特征表征和分類。卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network, CNN)、循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network, RNN)是常用的神經(jīng)網(wǎng)絡(luò)模型[4,5]。在聲音事件檢測(cè)中,CNN通過卷積核的權(quán)值共享在時(shí)頻譜圖上進(jìn)行局部運(yùn)算來提取樣本的局部特征,有效地克服了不同聲場(chǎng)或聲源造成的音高移位、頻帶移位等聲學(xué)特性對(duì)聲音事件檢測(cè)的影響[6]。然而,由于感受野的固定,CNN在處理時(shí)頻譜圖時(shí)只能利用固定范圍的音頻上下文信息,不利于處理不同時(shí)間長度的聲音事件。循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network, RNN)[7]將時(shí)頻譜圖的各幀作為序列處理,能夠有效地對(duì)樣本幀間關(guān)系進(jìn)行建模,但其對(duì)時(shí)頻譜圖的頻域信息提取能力較差。卷積循環(huán)神經(jīng)網(wǎng)絡(luò)(Convolutional Recurrent Neural Network, CRNN)[6]結(jié)合CNN和RNN的優(yōu)點(diǎn),先通過CNN提取時(shí)頻譜圖的幀級(jí)特征,然后使用RNN進(jìn)行幀間關(guān)系建模,是當(dāng)前主流的聲音事件檢測(cè)模型[8–10]。盡管級(jí)聯(lián)CNN和RNN使CRNN網(wǎng)絡(luò)獲得了音頻樣本的上下文信息,但最新的研究發(fā)現(xiàn):CNN對(duì)音頻樣本特征表征能力的不足仍然是限制CRNN網(wǎng)絡(luò)聲音事件檢測(cè)性能的重要原因[11–13]。
為提升CRNN網(wǎng)絡(luò)的聲音事件檢測(cè)性能,當(dāng)前主要有兩方面研究工作:一是增大CNN的感受野,使CNN在提取音頻樣本幀級(jí)特征時(shí)能在更長的時(shí)間尺度內(nèi)表征音頻特征;二是引入門控機(jī)制或者注意力機(jī)制對(duì)CNN的特征圖進(jìn)行選擇和加權(quán),提升CNN的特征表征能力。文獻(xiàn)[11]在CRNN網(wǎng)絡(luò)中使用空洞卷積來增大CNN的感受野,使得CNN能夠?qū)ΩL的音頻時(shí)序上下文進(jìn)行建模。文獻(xiàn)[12]在CRNN網(wǎng)絡(luò)中引入線性門控單元(Gated Linear Unit, GLU)作為激活函數(shù)實(shí)現(xiàn)了CNN對(duì)音頻特征的門控選擇。文獻(xiàn)[13]則引入SENet[14]提出的SE(Squeeze-and-Excitation)通道注意力機(jī)制,使CNN在提取幀級(jí)特征時(shí)能對(duì)不同通道特征進(jìn)行加權(quán)。這些對(duì)CRNN網(wǎng)絡(luò)結(jié)構(gòu)的改進(jìn)或者注意力機(jī)制的引入均表現(xiàn)出比基本CRNN更有效的聲音事件檢測(cè)性能。由此可見,改善CNN的特征表征能力是提升CRNN網(wǎng)絡(luò)聲音事件檢測(cè)性能的有效手段。
當(dāng)前對(duì)CRNN聲音事件檢測(cè)網(wǎng)絡(luò)的改進(jìn)主要集中在改變CNN的結(jié)構(gòu)上。將空洞卷積或注意力機(jī)制等加入CNN后,應(yīng)用交叉熵?fù)p失以端到端的學(xué)習(xí)方式訓(xùn)練獲得聲音事件檢測(cè)的CRNN模型。然而,這種端到端的學(xué)習(xí)方式無法從功能上區(qū)別CRNN網(wǎng)絡(luò)中CNN和RNN結(jié)構(gòu)的作用。作者認(rèn)為:具有明顯功能結(jié)構(gòu)的CRNN網(wǎng)絡(luò)可能更適合聲音事件檢測(cè)。為驗(yàn)證這一想法,本文以經(jīng)典的CRNN網(wǎng)絡(luò)為基礎(chǔ),提出音頻標(biāo)記一致性約束CRNN聲音事件檢測(cè)方法(Audio Tagging Consistency Constraint CRNN, ATCC-CRNN)。該方法將CRNN聲音事件檢測(cè)網(wǎng)絡(luò)的CNN結(jié)構(gòu)和RNN結(jié)構(gòu)從功能上區(qū)別看待,CNN結(jié)構(gòu)主要完成樣本的音頻標(biāo)記功能,RNN結(jié)構(gòu)主要完成樣本的幀間關(guān)系建模和事件定位功能。為實(shí)現(xiàn)CRNN網(wǎng)絡(luò)功能劃分的目標(biāo),本文設(shè)計(jì)了CNN音頻標(biāo)記網(wǎng)絡(luò)對(duì)骨干CRNN網(wǎng)絡(luò)CNN結(jié)構(gòu)輸出的特征圖進(jìn)行音頻標(biāo)記,并在模型訓(xùn)練階段限定CNN和CRNN的音頻標(biāo)記結(jié)果保持一致。通過音頻標(biāo)記一致性約束,使得CNN結(jié)構(gòu)在提取音頻局部特征的同時(shí)獲取更多的上下文信息,提升CRNN的音頻特征表征能力。需特別說明的是:與單純的音頻標(biāo)記任務(wù)不同,為了保證聲音事件定位的準(zhǔn)確性,本文CRNN網(wǎng)絡(luò)中的CNN結(jié)構(gòu)并未在時(shí)間維度進(jìn)行大尺度下采樣以獲得音頻的低維特征。此外,為了更好地表征音頻樣本特征,本文對(duì)CRNN網(wǎng)絡(luò)的CNN結(jié)構(gòu)進(jìn)行了微調(diào)。在CNN結(jié)構(gòu)的前端使用層歸一化(Layer Normalization, LN)[15]取代批歸一化(Batch Normalization,BN)[16]實(shí)現(xiàn)了單樣本的規(guī)范化操作;在CNN結(jié)構(gòu)的后端使用殘差結(jié)構(gòu)取代普通卷積結(jié)構(gòu),確保梯度信息的有效傳播,減輕了訓(xùn)練過程的梯度消失現(xiàn)象。作者在IEEE DCASE 2019任務(wù)4(家庭環(huán)境聲音事件檢測(cè)競(jìng)賽)數(shù)據(jù)集上評(píng)估了音頻標(biāo)記一致性約束聲音事件檢測(cè)方法的性能。實(shí)驗(yàn)結(jié)果表明:音頻標(biāo)記一致性約束調(diào)整了CNN結(jié)構(gòu)和RNN結(jié)構(gòu)的功能,顯著提升了CRNN聲音事件檢測(cè)模型的泛化能力。
在以往的CRNN聲音事件檢測(cè)方法中,研究者期望通過結(jié)合CNN和RNN各自在描述樣本局部特征和序列特征上的優(yōu)勢(shì),改善聲音事件檢測(cè)的性能[8,10]。然而,以端到端的方式通過最小化分類交叉熵?fù)p失訓(xùn)練得到的CRNN聲音事件檢測(cè)模型并未從功能上區(qū)別CNN和RNN的作用,這對(duì)于發(fā)揮兩者的優(yōu)勢(shì)是不利的。為了克服CRNN聲音事件檢測(cè)方法的這一不足,本文提出了音頻標(biāo)記一致性約束CRNN聲音事件檢測(cè)方法。
ATCC-CRNN方法的目的是通過增加音頻標(biāo)記一致性約束使訓(xùn)練后的CRNN網(wǎng)絡(luò)中CNN和RNN結(jié)構(gòu)具有不同的功能。如圖1所示為音頻標(biāo)記一致性約束聲音事件檢測(cè)方法的網(wǎng)絡(luò)架構(gòu),包括特征提取網(wǎng)絡(luò)、聲音事件分類網(wǎng)絡(luò)和CNN音頻標(biāo)記網(wǎng)絡(luò)3部分。特征提取網(wǎng)絡(luò)用于表征輸入樣本時(shí)頻譜圖的特征;聲音事件分類網(wǎng)絡(luò)對(duì)輸入樣本各幀的特征進(jìn)行分類實(shí)現(xiàn)聲音事件檢測(cè);CNN音頻標(biāo)記網(wǎng)絡(luò)以特征提取網(wǎng)絡(luò)CNN結(jié)構(gòu)的特征圖為輸入完成音頻標(biāo)記功能。
如圖1所示為由CNN結(jié)構(gòu)和RNN結(jié)構(gòu)級(jí)聯(lián)形成的音頻標(biāo)記一致性約束方法特征提取網(wǎng)絡(luò)。該網(wǎng)絡(luò)是典型的C R N N 網(wǎng)絡(luò),由包含1 3 層卷積層的CNN結(jié)構(gòu)和2層雙向門控循環(huán)單元(Bidirectional-Gated Recurrent Unit, Bi-GRU)的RNN結(jié)構(gòu)組成。為了改善CNN對(duì)音頻樣本時(shí)頻譜圖的特征表征性能,本文CNN結(jié)構(gòu)的前端和后端采用了兩種不同的卷積模塊:低層CNN模塊和高層CNN模塊。
圖1 音頻標(biāo)記一致性約束聲音事件檢測(cè)方法網(wǎng)絡(luò)架構(gòu)
在CNN結(jié)構(gòu)前端,網(wǎng)絡(luò)由兩個(gè)低層CNN模塊組成。每個(gè)低層CNN模塊包含了一個(gè)5×5卷積層和一個(gè)3×3卷積層,主要學(xué)習(xí)樣本時(shí)頻譜圖的紋理、邊緣、角度等低級(jí)特征。為了克服音頻樣本間差異對(duì)卷積網(wǎng)絡(luò)的影響,低層CNN模塊采用LN+Tanh的單樣本規(guī)范化和激活函數(shù)對(duì)特征圖進(jìn)行規(guī)范化和非線性處理。在CNN結(jié)構(gòu)后端,網(wǎng)絡(luò)由3個(gè)高層CNN模塊組成。每個(gè)高層CNN模塊由3個(gè)3×3卷積層和批歸一化層堆疊形成,并在ReLU中利用殘差連接使梯度信息得以有效傳遞。此外,為了獲得足夠的時(shí)間分辨率以提高聲音事件的定位精度,本文CNN結(jié)構(gòu)僅在兩個(gè)低層CNN模塊中進(jìn)行了時(shí)間維度的下采樣(采樣步長為2),高層CNN模塊則僅在頻率維度通過最大池化降低樣本的特征維度。
最后,CNN結(jié)構(gòu)的特征圖通過兩層Bi-GRU組成的RNN結(jié)構(gòu)實(shí)現(xiàn)樣本幀間關(guān)系建模,形成音頻樣本的CRNN特征。為了防止過擬合,在CRNN的高層CNN模塊和RNN結(jié)構(gòu)中均采用了Dropout操作。
為了使CRNN網(wǎng)絡(luò)的CNN結(jié)構(gòu)和RNN結(jié)構(gòu)具備不同功能,本文通過整合聲音事件分類網(wǎng)絡(luò)的預(yù)測(cè)輸出產(chǎn)生CRNN網(wǎng)絡(luò)的音頻標(biāo)記預(yù)測(cè);通過CNN音頻標(biāo)記網(wǎng)絡(luò)產(chǎn)生CNN結(jié)構(gòu)的音頻標(biāo)記預(yù)測(cè)。然后,在訓(xùn)練過程中增加CRNN音頻標(biāo)記和CNN音頻標(biāo)記的一致性約束,使兩者的音頻標(biāo)記預(yù)測(cè)保持一致。
設(shè)X? =[x?1,x?2,...,x?T]為聲音樣本時(shí)頻譜圖經(jīng)CRNN網(wǎng)絡(luò)產(chǎn)生的輸出特征圖,其中x?i(i=1,2,...,T)表示聲音樣本每一幀的特征向量,T為樣本的幀數(shù)。如圖1所示,聲音事件分類網(wǎng)絡(luò)利用全連接層和sigmoid函數(shù)計(jì)算聲音樣本每一幀的預(yù)測(cè)概率pi ∈?C×1(i=1,2,...,T),并基于該幀級(jí)預(yù)測(cè)概率實(shí)現(xiàn)樣本中的聲音事件檢測(cè),其中C為待檢測(cè)的聲音事件類別數(shù)。對(duì)于一個(gè)給定的音頻樣本,通過特征提取網(wǎng)絡(luò)、聲音事件分類網(wǎng)絡(luò)和CNN音頻標(biāo)記網(wǎng)絡(luò)后,可以獲得該樣本的兩個(gè)不同的音頻標(biāo)記預(yù)測(cè)—CRNN音頻標(biāo)記預(yù)測(cè)概率p和CNN音頻標(biāo)記預(yù)測(cè)概率pCNN。為了使聲音事件檢測(cè)CRNN特征提取網(wǎng)絡(luò)的CNN結(jié)構(gòu)和RNN結(jié)構(gòu)具備不同的功能,ATCCCRNN方法在模型訓(xùn)練時(shí)增加了音頻標(biāo)記一致性約束,要求對(duì)于同一音頻樣本,CRNN音頻標(biāo)記預(yù)測(cè)概率p和CNN音頻標(biāo)記預(yù)測(cè)概率pCNN盡可能相同。該一致性約束可使CRNN網(wǎng)絡(luò)的CNN結(jié)構(gòu)更關(guān)注音頻標(biāo)記任務(wù);而RNN結(jié)構(gòu)更關(guān)注建立音頻樣本的幀間關(guān)系,實(shí)現(xiàn)聲音事件定位。
音頻標(biāo)記一致性約束聲音事件檢測(cè)模型的訓(xùn)練可以由兩個(gè)過程交替迭代實(shí)現(xiàn)。第1個(gè)過程與現(xiàn)有CRNN聲音事件檢測(cè)一樣,利用訓(xùn)練數(shù)據(jù)學(xué)習(xí)特征提取網(wǎng)絡(luò)參數(shù)θCNN,θRNN以及聲音事件分類網(wǎng)絡(luò)參數(shù)θSED;其中θCNN,θRNN分別為特征提取網(wǎng)絡(luò)CNN結(jié)構(gòu)和RNN結(jié)構(gòu)的參數(shù)。本文稱該過程為骨干CRNN網(wǎng)絡(luò)訓(xùn)練過程。第2個(gè)過程在固定θRNN和θSED的基礎(chǔ)上,根據(jù)音頻標(biāo)記一致性約束更新θCNN和CNN音頻標(biāo)記網(wǎng)絡(luò)參數(shù)θAT。本文稱該過程為音頻標(biāo)記一致訓(xùn)練過程。如圖2所示為模型訓(xùn)練過程示意圖。CNN音頻標(biāo)記網(wǎng)絡(luò)僅在模型訓(xùn)練時(shí)輔助卷積神經(jīng)網(wǎng)絡(luò)完成音頻標(biāo)記;在測(cè)試應(yīng)用時(shí),聲音事件檢測(cè)結(jié)果直接由聲音事件分類網(wǎng)絡(luò)獲得,不需要對(duì)輸入信號(hào)進(jìn)行音頻標(biāo)記,運(yùn)算量與典型的CRNN模型一致。
圖2 音頻標(biāo)記一致性約束聲音事件檢測(cè)模型訓(xùn)練過程示意圖
2.3.1 骨干CRNN網(wǎng)絡(luò)訓(xùn)練過程
為了充分使用3種訓(xùn)練數(shù)據(jù)集,本文采用半監(jiān)督方式訓(xùn)練骨干CRNN網(wǎng)絡(luò)參數(shù)。強(qiáng)標(biāo)簽和弱標(biāo)簽數(shù)據(jù)集上采用監(jiān)督方式學(xué)習(xí),無標(biāo)簽數(shù)據(jù)集上采用無監(jiān)督方式學(xué)習(xí)。
2.3.2 音頻標(biāo)記一致訓(xùn)練過程
其中,λ3為調(diào)節(jié)音頻標(biāo)記一致和骨干CRNN兩個(gè)訓(xùn)練過程的超參數(shù)。鑒于Lc和Lu均為一致性約束損失且收斂趨勢(shì)相同,本文設(shè)置λ3=2。通過最小化Lt獲得音頻標(biāo)記一致性約束的最優(yōu)CRNN聲音事件檢測(cè)模型。
本文使用DCASE 2019 task4 家庭環(huán)境聲音事件數(shù)據(jù)集1)https://project.inria.fr/desed/(DESED)[18]進(jìn)行實(shí)驗(yàn)驗(yàn)證。數(shù)據(jù)集共有alarm/bell/ringing, blender, cat, dishes, dog, electric_shaver/toothbrush, frying, running water,speech和vacuum_cleaner等10個(gè)聲音事件類別。本文按照DCASE 2019官方劃定的數(shù)據(jù)集使用方案開展實(shí)驗(yàn)。數(shù)據(jù)集被劃分為訓(xùn)練集、驗(yàn)證集和評(píng)估集3個(gè)部分;其中,訓(xùn)練集包含具有強(qiáng)標(biāo)簽的合成音頻2045個(gè)、具有弱標(biāo)簽的真實(shí)音頻1578個(gè)以及無標(biāo)簽的真實(shí)音頻11412個(gè),驗(yàn)證集包含1168個(gè)真實(shí)音頻,評(píng)估集包含692個(gè)真實(shí)音頻。所有數(shù)據(jù)中,合成音頻為使用Scaper軟件生成的10s時(shí)長音頻片段;弱標(biāo)簽和無標(biāo)簽真實(shí)音頻數(shù)據(jù)均來自Audioset[19],音頻樣本持續(xù)時(shí)間不超過10s。驗(yàn)證集和評(píng)估集音頻樣本均由人工標(biāo)注了聲音事件類別和起止時(shí)間點(diǎn),便于評(píng)估聲音事件檢測(cè)方法的性能。
為了與現(xiàn)有聲音事件檢測(cè)方法比較,本文采用音頻樣本的對(duì)數(shù)梅爾時(shí)頻譜圖作為模型的輸入。對(duì)每個(gè)音頻樣本,本文以22050Hz對(duì)其進(jìn)行重采樣并使用2048點(diǎn)的漢明窗分幀后進(jìn)行傅里葉變換(幀移設(shè)置為1617點(diǎn)),然后經(jīng)過64個(gè)通道的梅爾濾波器組并取對(duì)數(shù)得到大小為512 × 64的對(duì)數(shù)梅爾時(shí)頻譜圖。
訓(xùn)練過程中,本文采用Adam優(yōu)化器優(yōu)化網(wǎng)絡(luò)參數(shù),學(xué)習(xí)率設(shè)置為0.002。訓(xùn)練共進(jìn)行200次迭代,每個(gè)迭代批次的訓(xùn)練數(shù)據(jù)數(shù)量設(shè)置為24。為了確保有標(biāo)簽樣本和無標(biāo)簽樣本的數(shù)據(jù)量平衡,每個(gè)批次中包含6個(gè)合成的強(qiáng)標(biāo)簽音頻樣本,6個(gè)弱標(biāo)簽音頻樣本和12個(gè)無標(biāo)簽音頻樣本。獲得最優(yōu)模型參數(shù)后,本文在驗(yàn)證集和評(píng)估集上采用基于事件的F1得分和錯(cuò)誤率(Error Rate, ER)來評(píng)價(jià)聲音事件檢測(cè)方法的性能。為便于和已有方法比較,F(xiàn)1得分和錯(cuò)誤率的計(jì)算方法均與DCASE2019 task4官方保持一致[18]。
為驗(yàn)證音頻標(biāo)記一致性約束聲音事件檢測(cè)方法的有效性,本文首先通過消融實(shí)驗(yàn)驗(yàn)證音頻標(biāo)記一致性約束的作用,然后比較了音頻標(biāo)記一致性約束聲音事件檢測(cè)方法與當(dāng)前主流聲音事件檢測(cè)方法的性能。
在音頻標(biāo)記一致性約束的消融實(shí)驗(yàn)中,本文以DCASE 2019競(jìng)賽聲音事件檢測(cè)任務(wù)(任務(wù)4)的基線模型2)http://dcase.community/challenge2019/task-sound-event-detection-in-domestic-environments-results(Baseline)和本文建立的CRNN特征提取網(wǎng)絡(luò)為基礎(chǔ),分別在兩個(gè)模型上增加音頻標(biāo)記一致性約束并對(duì)比了增加一致性約束前后兩個(gè)模型的聲音事件檢測(cè)結(jié)果。需要說明的是,DCASE 2019任務(wù)4的基線模型也是CRNN網(wǎng)絡(luò),該網(wǎng)絡(luò)由3層CNN結(jié)構(gòu)和2層雙向GRU構(gòu)成。表1給出了驗(yàn)證集和評(píng)估集上增加一致性約束前后Baseline模型和本文建立的CRNN模型的聲音事件檢測(cè)F1得分以及相應(yīng)的錯(cuò)誤刪除率(Deletion Rate, DR)和錯(cuò)誤插入率(Insertion Rate, IR)指標(biāo),其中,ATCCBaseline和ATCC-CRNN分別表示在原基線模型以及本文建立的CRNN模型上增加了音頻標(biāo)記一致性約束的聲音事件檢測(cè)方法。
表1結(jié)果顯示:增加音頻標(biāo)記一致性約束前后相比,在驗(yàn)證集和評(píng)估集上,DCASE 2019基線模型的聲音事件檢測(cè)F1得分分別提高了5.3%和6.0%,本文建立的CRNN模型的聲音事件檢測(cè)F1得分分別提高了4.1%和3.7%。這說明音頻標(biāo)記一致性約束可以顯著提升CRNN聲音事件檢測(cè)模型的性能。進(jìn)一步對(duì)比錯(cuò)誤刪除率(DR)和錯(cuò)誤插入率(IR)的變化可以發(fā)現(xiàn):增加一致性約束前后,模型的錯(cuò)誤刪除率稍有下降,而錯(cuò)誤插入率顯著降低了。這說明音頻標(biāo)記一致性約束的加入可以顯著降低聲音事件檢測(cè)系統(tǒng)的虛警率,對(duì)聲音事件檢測(cè)技術(shù)推廣到實(shí)際應(yīng)用具有積極作用。
表1 不同CRNN模型的聲音事件檢測(cè)F1得分及DR, IR
為了具體分析音頻標(biāo)記一致性約束對(duì)各種聲音事件檢測(cè)性能的影響,我們給出了本文建立的CRNN模型在增加音頻標(biāo)記一致性約束前后的聲音事件檢測(cè)結(jié)果,如表2所示。從各種聲音事件檢測(cè)的F1得分看:增加音頻標(biāo)記一致性約束可以顯著提升CRNN模型對(duì)大多數(shù)聲音事件的檢測(cè)能力,尤其是對(duì)攪拌機(jī)聲(blender)、洗碗聲(dishes)、流水聲(running water)和吸塵器(vacuum clearner)等長時(shí)聲音事件的檢測(cè)能力。這表明音頻標(biāo)記一致性約束不僅改善了CRNN模型中CNN結(jié)構(gòu)的功能,也提升了RNN結(jié)構(gòu)對(duì)音頻樣本幀間關(guān)系的建模能力。但是,從實(shí)驗(yàn)結(jié)果看,增加了音頻標(biāo)記一致性約束后,警報(bào)聲(alarm)和貓叫聲(cat)等短時(shí)聲音事件的檢測(cè)能力有所降低。產(chǎn)生這一現(xiàn)象的原因可能是由于短時(shí)聲音事件在整個(gè)音頻樣本中的能量占比低,導(dǎo)致音頻標(biāo)記不準(zhǔn)確。
表2 CRNN網(wǎng)絡(luò)在驗(yàn)證集和評(píng)估集中對(duì)每種聲音事件檢測(cè)的F1得分和錯(cuò)誤率結(jié)果
最后,本文比較了所提ATCC-CRNN方法與當(dāng)前性能最佳的幾種CRNN模型的聲音事件檢測(cè)性能。我們選擇了DCASE 2019任務(wù)4競(jìng)賽中性能最佳的兩種CRNN聲音事件檢測(cè)模型[20,21]。與DCASE-2019基線模型相比,文獻(xiàn)[20]的CRNN模型堆疊了更深的卷積層并引入時(shí)移、頻移和添加高斯噪聲擾動(dòng)等數(shù)據(jù)增廣方法;文獻(xiàn)[21]的CRNN模型則引入了Mixup, MixMatch等數(shù)據(jù)增廣策略,并通過模型融合的方式提升了網(wǎng)絡(luò)的泛化性能。表3給出了ATCC-CRNN與文獻(xiàn)[20,21]兩種模型在DCASE 2019任務(wù)4上的聲音事件檢測(cè)F1得分。需要說明的是,表3中ATCC-CRNN并未進(jìn)行數(shù)據(jù)增廣。從表3可以看出,即使不做數(shù)據(jù)增廣,ATCC-CRNN的聲音事件檢測(cè)性能仍與主流CRNN方法的性能相當(dāng)。說明音頻標(biāo)記一致性約束可以顯著改善CRNN模型的泛化能力。此外,最新的DCASE 2020任務(wù)4競(jìng)賽中3)http://dcase.community/challenge2020/task-soundevent-detection-and-separation-in-domestic-environmentsresults,文獻(xiàn)[20]的CRNN模型被用作官方的基線模型(Baseline2020)。在無數(shù)據(jù)增廣的情況下,該基線模型在驗(yàn)證集和評(píng)估集上的F1得分分別為36.5%和39.8%[22]。文獻(xiàn)[23]為DCASE 2020競(jìng)賽中典型的基于CRNN聲音事件檢測(cè)方法。該方法在CRNN網(wǎng)絡(luò)中引入通道注意力和上下文門控機(jī)制等網(wǎng)絡(luò)結(jié)構(gòu)提升了CNN對(duì)音頻特征的表征能力。與DCASE2020競(jìng)賽中的CRNN聲音事件檢測(cè)方法相比,ATCC-CRNN方法的性能依然具有優(yōu)勢(shì),表明音頻標(biāo)記一致性約束的加入可以顯著提升CRNN網(wǎng)絡(luò)的特征表征能力。
表3 ATCC-CRNN與幾種代表性CRNN網(wǎng)絡(luò)在DCASE競(jìng)賽任務(wù)4上的聲音事件檢測(cè)F1得分比較(%)
為了分析模型的復(fù)雜度,表4給出了ATCCCRNN方法中各結(jié)構(gòu)的參數(shù)量以及處理一個(gè)音頻樣本的計(jì)算復(fù)雜度(Flops)統(tǒng)計(jì),由ptflops4)https://github.com/sovrasov/flops-counter.pytorch工具包計(jì)算得到。與CRNN相比,增加了音頻標(biāo)記一致性約束后,模型參數(shù)增加了17802個(gè),僅約占CRNN模型大小的1.0%。從計(jì)算復(fù)雜度來看,與CRNN相同,ATCC-CRNN方法的絕大部分運(yùn)算為CNN結(jié)構(gòu)運(yùn)算。與之相比,音頻標(biāo)記一致性約束的運(yùn)算量可忽略不計(jì)。
表4 CRNN網(wǎng)絡(luò)的各模型結(jié)構(gòu)的參數(shù)量與計(jì)算復(fù)雜度(Flops)
最后,我們對(duì)訓(xùn)練模型的損失函數(shù)的收斂性進(jìn)行分析。依據(jù)2.3節(jié)介紹的模型訓(xùn)練過程,本文使用的4個(gè)損失函數(shù)在訓(xùn)練過程中的變化情況如圖3所示。從中可以發(fā)現(xiàn):(1)與分類相關(guān)的損失Lf和Lcp自模型訓(xùn)練開始便逐漸減小,這表明通過監(jiān)督學(xué)習(xí)迭代更新網(wǎng)絡(luò)參數(shù)能夠逐步提高模型的分類能力。(2)與特征表征相關(guān)的一致性約束損失Lu和Lc在訓(xùn)練過程中先逐漸增大后又逐漸減小直至收斂。這表明訓(xùn)練初期由于模型的特征表征能力不足,對(duì)無標(biāo)簽數(shù)據(jù)的音頻標(biāo)記預(yù)測(cè)錯(cuò)誤較多,一致性較差;通過一定時(shí)間的學(xué)習(xí),隨著模型的特征表征能力增強(qiáng),一致性約束損失呈下降趨勢(shì)并逐漸收斂。
圖3 訓(xùn)練過程各項(xiàng)損失的變化趨勢(shì)圖
本文提出了一種基于CRNN的音頻標(biāo)記一致性約束聲音事件檢測(cè)方法。該方法的網(wǎng)絡(luò)框架包含了CRNN特征提取網(wǎng)絡(luò)、聲音事件分類網(wǎng)絡(luò)和CNN音頻標(biāo)記網(wǎng)絡(luò)3部分。在模型訓(xùn)練階段,通過約束CNN音頻標(biāo)記與CRNN音頻標(biāo)記結(jié)果保持一致,使CRNN網(wǎng)絡(luò)的CNN結(jié)構(gòu)具有了明確的音頻標(biāo)記功能;同時(shí)也提升了RNN結(jié)構(gòu)對(duì)音頻樣本幀間關(guān)系的建模能力。實(shí)驗(yàn)證實(shí):在CRNN聲音事件檢測(cè)模型訓(xùn)練時(shí)增加一致性約束可以取得與改進(jìn)網(wǎng)絡(luò)結(jié)構(gòu)相當(dāng)?shù)男阅芴嵘?。這充分說明:增加約束條件訓(xùn)練具有明顯功能結(jié)構(gòu)的CRNN網(wǎng)絡(luò)是提升其聲音事件檢測(cè)性能的合理途徑。同時(shí),我們發(fā)現(xiàn)ATCC-CRNN對(duì)于短時(shí)聲音事件的檢測(cè)能力不足,結(jié)合注意機(jī)制提升模型對(duì)短時(shí)聲音事件的檢測(cè)能力是值得進(jìn)一步研究的問題。此外,運(yùn)用合適的數(shù)據(jù)增廣策略來提升ATCC-CRNN聲音事件檢測(cè)性能也值得仔細(xì)研究。