劉 偉,孫 蒙,張 玥,張雄偉
(中國人民解放軍陸軍工程大學(xué),江蘇 南京 210007)
音頻分類是計(jì)算機(jī)自動(dòng)實(shí)施聽覺感知和理解的重要步驟,也是一項(xiàng)非常具有挑戰(zhàn)性的任務(wù),如自動(dòng)音樂標(biāo)記、音樂類型分類、說話人識(shí)別、音頻場景分類和多媒體檢索等。深度神經(jīng)網(wǎng)絡(luò)的發(fā)展使得音頻分類任務(wù)的準(zhǔn)確率取得了顯著提升。當(dāng)前,深度神經(jīng)網(wǎng)絡(luò)一般是建立在對(duì)輸入音頻提取時(shí)頻特征等預(yù)處理的基礎(chǔ)上,如首先通過廣泛使用的梅爾濾波器組提取時(shí)頻譜圖特征,然后將時(shí)頻譜圖特征輸入到各種后端分類網(wǎng)絡(luò)。
特征提取的預(yù)處理過程通常采用固定的時(shí)頻參數(shù)和濾波器類型,難以保證對(duì)所有的后端分類網(wǎng)絡(luò)結(jié)構(gòu)持續(xù)提取出最優(yōu)特征。此外,這些預(yù)處理過程一般需要線下完成,不能無縫對(duì)接到神經(jīng)網(wǎng)絡(luò)分類器中,因此難以適用于一些需要對(duì)聲音波形進(jìn)行反向求導(dǎo)的任務(wù),如求解對(duì)抗樣本[1]等。這些局限性推動(dòng)了研究者們尋求構(gòu)建端到端模型來完成音頻分類任務(wù)。所謂端到端的分類網(wǎng)絡(luò)結(jié)構(gòu)是指直接輸入聲音波形,然后輸出類別標(biāo)簽,而無須用戶通過額外的特征提取工具來提取特征。例如,Dai等提出了具有不同網(wǎng)絡(luò)結(jié)構(gòu)和不同數(shù)量參數(shù)的端到端卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)用于音頻分類[2]。Tokozume等提出了一種含有8層網(wǎng)絡(luò)并以原始波形為輸入的端到端網(wǎng)絡(luò)結(jié)構(gòu),通過調(diào)節(jié)超參數(shù)并選擇適當(dāng)大小的卷積核來提高分類性能[3]。 此外,還有端到端的CNN架構(gòu)AclNet[4],受到MobileNet[5]的啟發(fā),其計(jì)算僅需155k參數(shù)和每秒4 930萬次乘法加法即可高效完成分類任務(wù)。
當(dāng)前的端到端模型中,大部分前端特征提取模塊僅能適用于特定的后端分類網(wǎng)絡(luò),即前端和后端存在過度的耦合性。這種過耦合性源于可微分的前端需要根據(jù)后端分類網(wǎng)絡(luò)的學(xué)習(xí)情況調(diào)整參數(shù)?,F(xiàn)有的可微分前端主要使用標(biāo)準(zhǔn)的卷積層作為提取特征的前端,需要調(diào)整超參數(shù)以保證學(xué)習(xí)的過程中和后端分類網(wǎng)絡(luò)的學(xué)習(xí)程度一致,如果前端的結(jié)構(gòu)和超參數(shù)選擇不合適,容易出現(xiàn)前端的欠擬合或者過擬合情況,使其缺乏魯棒性,同時(shí)也缺乏直觀的物理意義。因此,當(dāng)把可微分前端的后端分類網(wǎng)絡(luò)替換成另外一個(gè)模型時(shí),性能會(huì)有很大的起伏。本文嘗試對(duì)可微分前端引入濾波器形狀、正交性等約束,提高前端特征提取模塊對(duì)各種類型后端分類網(wǎng)絡(luò)的適配能力。
最近提出的SincNet的第一層卷積是一個(gè)能兼顧分類性能和濾波器可解釋性的可微分前端[6],在說話人識(shí)別和欺騙語音檢測[7]中取得了成功的嘗試。SincNet第一個(gè)卷積層對(duì)原始波形進(jìn)行操作,并包含一組以Sinc函數(shù)形式實(shí)施參數(shù)化的帶通濾波器。SincNet把濾波器的截止頻率作為可調(diào)節(jié)的參數(shù),相對(duì)于固定參數(shù)的梅爾濾波器取得進(jìn)步,但是其參數(shù)的靈活調(diào)節(jié)卻使得其容易收斂到較差的局部最優(yōu)解。文獻(xiàn)[8]僅采用了SincNet的結(jié)構(gòu)和初始化參數(shù),但未對(duì)其參數(shù)進(jìn)行迭代優(yōu)化。因此,如何改進(jìn)Sinc-Net的構(gòu)造,使后端分類網(wǎng)絡(luò)既能充分利用其設(shè)計(jì)靈活性又便于優(yōu)化求解,成為本文的研究動(dòng)機(jī)之一。
本文以SincNet可微分前端為基礎(chǔ),引入正交約束提高求解效率,提高所得可微分前端可解釋性,并同時(shí)提高多種后端網(wǎng)絡(luò)的分類性能。新型可微分前端命名為正交約束型SincNet(OrthSincNet),它使用一組實(shí)現(xiàn)帶通濾波器的Sinc函數(shù),以梅爾濾波器的結(jié)構(gòu)初始化卷積核,通過矩陣的正交性質(zhì)約束卷積核的正交學(xué)習(xí)過程,從而減少濾波器之間的相關(guān)性。OrthSincNet的頻譜既具有類似于梅爾濾波器的形態(tài),又可根據(jù)實(shí)際分類任務(wù)來細(xì)微調(diào)整其濾波器參數(shù),提高分類效果。為評(píng)價(jià)所提方法的性能,本文將在音頻場景分類數(shù)據(jù)集UrbanSound8k上結(jié)合6種有代表性的分類網(wǎng)絡(luò)進(jìn)行實(shí)施驗(yàn)證和分析。
在基于波形輸入的端到端神經(jīng)網(wǎng)絡(luò)模型中,最重要的結(jié)構(gòu)之一是用于提取特征的前端結(jié)構(gòu),其不僅需要處理波形采樣的高維輸入,且更容易受到梯度消失問題的影響,尤其當(dāng)網(wǎng)絡(luò)層數(shù)較多的時(shí)候。第一層結(jié)構(gòu)因最先學(xué)習(xí)到有價(jià)值信息,提取特征的好壞直接影響模型的性能。使用CNN作為提取特征的第一層網(wǎng)絡(luò)時(shí),濾波器通常會(huì)呈現(xiàn)嘈雜且不協(xié)調(diào)的多波段形狀,尤其在訓(xùn)練樣本很少的情況下,基本不具備物理意義上的可解釋性。由于只是普通的卷積結(jié)構(gòu),缺少有效的約束,不能像傳統(tǒng)梅爾濾波器那樣有效地提取聲音不同頻率的能量分布,從而導(dǎo)致整體分類任務(wù)性能的低效。
為了使CNN的輸入層成為更有物理意義的濾波器,SincNet對(duì)其形狀添加一些約束。標(biāo)準(zhǔn)CNN的濾波器組的功能取決于多個(gè)參數(shù),其中濾波器向量的每個(gè)元素都可以直接學(xué)習(xí)。與標(biāo)準(zhǔn)CNN相比,SincNet改進(jìn)了標(biāo)準(zhǔn)的CNN濾波器。通過一組實(shí)現(xiàn)帶通濾波器參數(shù)化的Sinc函數(shù)初始化卷積核,使網(wǎng)絡(luò)聚焦于對(duì)濾波器的最終形狀和帶寬有廣泛影響的少量可調(diào)參數(shù)的調(diào)節(jié)過程。
標(biāo)準(zhǔn)CNN的第一層在輸入波形和一些有限脈沖響應(yīng)(FIR)濾波器之間執(zhí)行一組時(shí)域卷積[9]。每個(gè)卷積定義如下:
其中,x(n)是輸入的語音信號(hào),h(n)是長度為L的濾波器,y(n)是卷積濾波后的輸出。在標(biāo)準(zhǔn)CNN中,每個(gè)過濾器的所有L個(gè)元素都是從數(shù)據(jù)中學(xué)習(xí)的。SincNet用一個(gè)特別設(shè)計(jì)的預(yù)先定義形態(tài)的函數(shù)g(·)代替式(1)中的h(n),使卷積核成為具有良好頻率響應(yīng)特征的濾波器,如下所示:
其中,g(·)使用由矩形帶通濾波器組成的濾波器組,其每個(gè)頻帶f的頻率響應(yīng)函數(shù)設(shè)計(jì)為兩個(gè)低通濾波器之間的差值:
其中,f1和f2是可學(xué)習(xí)的初始低截止頻率和高截止頻率數(shù)值,而rect(·)是矩形頻率響應(yīng)函數(shù)。用傅里葉逆變換[9]返回時(shí)域后,可得函數(shù)g(·):
為了確保單調(diào)性f1≥0和f2≥f1,式(3)和式(4)中的截止頻率可采用以下形式:
實(shí)際上,理想帶通濾波器是通帶完全平坦且阻帶衰減無限的濾波器。因此,g(·)的任何截?cái)喽疾豢杀苊獾禺a(chǎn)生理想濾波器的近似值,緩解這個(gè)問題的一個(gè)解決方案是施加短時(shí)窗[9]。短時(shí)窗是通過將函數(shù)g(·)乘以窗函數(shù)來實(shí)現(xiàn)的,其目的是平滑g(·)末端的突變:
因此,在SincNet的設(shè)計(jì)中,使用gω(·)完成對(duì)特征提取卷積層的建模。通過估計(jì)參數(shù)f1和f2在各頻帶響應(yīng)上作調(diào)整,擬合后端模型、訓(xùn)練數(shù)據(jù)和訓(xùn)練任務(wù),提高固定濾波器組的學(xué)習(xí)能力,從而實(shí)現(xiàn)端到端的網(wǎng)絡(luò)構(gòu)造。
本文以SincNet可微分前端為基礎(chǔ),提出一種使用初始化的濾波器,將描述濾波器的整個(gè)卷積核作為學(xué)習(xí)的參數(shù),通過卷積正交正則化約束學(xué)習(xí)過程的新型可微分前端OrthSincNet。相對(duì)于SincNet,整個(gè)濾波器卷積核的學(xué)習(xí)可提高模型的表示能力。
本文提出在訓(xùn)練期間使用正則化對(duì)卷積層進(jìn)行正交性約束,使得各濾波器盡可能聚焦不同的頻率成分,減少冗余。因此,模型容量得到了更好的利用,提高了特征表達(dá)能力和后端任務(wù)的性能。具體操作過程中,為了實(shí)現(xiàn)對(duì)卷積核的約束,本文把卷積視為一種矩陣向量乘法[10],其中矩陣K由核K生成,如圖1所示,其中,核K在本文提出的可微分前端中是第一層卷積的核,表示濾波器組。接下來,將卷積正交正則化項(xiàng)添加到提取特征的第一層卷積中即可。
圖1 基于Doubly Block-Toeplitz(DBT)矩陣的卷積
將卷積視為矩陣的乘法運(yùn)算的具體過程如下:卷積層的輸入張量為X∈RC×H×W,核為K∈RM×C×k×k,卷積的輸出張量表示為Y=Conv(K,X),其中Y∈RM×H′×W′。如果將K看作M個(gè)不同的過濾器,{Ki∈RM×C×k×k},由于卷積是線性的,可以用矩陣向量的形式將Conv(K,X)轉(zhuǎn)化為:
其中,x是X展平后的向量,K的每一行都有對(duì)應(yīng)于特定空間位置的特定過濾器Ki的非零元素。因此,K可以從核張量K∈RM×C×k×k構(gòu)造為Doubly Block-Toeplitz(DBT)矩陣K∈R(MH′W′)×(CHW)。對(duì)應(yīng)到圖1中K,其大小為(M×2×2)×(C×3×3)。
如上所述,理論上實(shí)現(xiàn)了DBT矩陣K可以對(duì)其直接強(qiáng)制執(zhí)行正交性條件。然而,由于K是高度結(jié)構(gòu)化和稀疏的,可以使用一種更有效的正交計(jì)算方法,如下所述。
對(duì)于本文使用的卷積核K展開的矩陣K形狀是MH′W′<CHW,需要矩陣的行正交減少濾波器的相關(guān)性。K的每一行對(duì)應(yīng)于特定空間位置(h′,w′)處的濾波器Ki,該濾波器被展平為向量,表示為Kih′w′∈RCHW。理論上各行向量之間內(nèi)積為0則是正交矩陣,所以DBT矩陣K行正交的條件如式(9)所示:
對(duì)于具有核大小k和步長S的卷積,文獻(xiàn)[11]推理出了一個(gè)與式(9)等價(jià)且更方便計(jì)算的條件,通過填充的標(biāo)準(zhǔn)卷積檢驗(yàn)正交性,如式(10)所示:
本文使用Mel濾波器組的截止頻率初始化卷積核,實(shí)際使用的卷積核大小為K∈RN×1×L,其中N代表Mel濾波器的個(gè)數(shù),L代表窗長。卷積的步長代替了手工提取聲譜的幀移。如果不增加正交約束,初始化好的濾波器會(huì)在學(xué)習(xí)的過程中存在很高的耦合性,相互之間產(chǎn)生影響,對(duì)可微分前端參數(shù)的變化缺乏控制。理想的情況是濾波器之間互不影響,可以將初始化的卷積核帶入式(10),通過正交實(shí)現(xiàn)對(duì)可學(xué)習(xí)濾波器的約束,減小相關(guān)性。
根據(jù)上述理論,最終卷積正交正則化損失函數(shù)是:
最終損失上增加了一個(gè)額外的軟卷積正交正則化損失,從而可以同時(shí)實(shí)現(xiàn)任務(wù)目標(biāo)和正交正則化。將λ>0表示為正交正則化損失的權(quán)重,分類任務(wù)的損失函數(shù)使用交叉熵?fù)p失函數(shù)LCE,最終損失函數(shù)為:
本文采用6種經(jīng)典的分類網(wǎng)絡(luò)結(jié)構(gòu)作為后端分類器,檢驗(yàn)第1節(jié)所提出的新型可微分前端的效果。
LeNet[12]是最早提出的卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)之一。LeNet通過巧妙的設(shè)計(jì),利用卷積、參數(shù)共享、池化等操作提取特征,避免了大量的計(jì)算成本,最后再使用全連接神經(jīng)網(wǎng)絡(luò)進(jìn)行分類識(shí)別。
AlexNet[13]是較為常用的CNN模型。AlexNet加深了LeNet的卷積層數(shù);用ReLU代替了傳統(tǒng)的tanh或sigmoid激活函數(shù);參考了生物學(xué)上神經(jīng)網(wǎng)絡(luò)的側(cè)抑制的功能,做了鄰近數(shù)據(jù)歸一化,提高了模型的泛化能力;重疊池化減少了系統(tǒng)的過擬合。
VGG[14]是一種結(jié)構(gòu)非常簡潔的神經(jīng)網(wǎng)絡(luò),整個(gè)網(wǎng)絡(luò)都使用了同樣大小的卷積核尺寸(3×3)和最大池化尺寸(2×2),相對(duì)于AlexNet采用連續(xù)的幾個(gè)3×3的卷積核代替7×7的卷積核,加深了網(wǎng)絡(luò)的結(jié)構(gòu),減少了卷積的參數(shù)量,提升了網(wǎng)絡(luò)的性能。但是,網(wǎng)絡(luò)中使用了三層全連接層,整個(gè)結(jié)構(gòu)需要消耗的計(jì)算資源并沒有減少。
MobileNetV3[11]是神經(jīng)架構(gòu)搜索得到的模型,是一種輕量化的結(jié)構(gòu)。它繼承了之前版本的所有特點(diǎn):深度可分離卷積,具有線性瓶頸的倒殘差結(jié)構(gòu),基于擠壓與激勵(lì)結(jié)構(gòu)的輕量級(jí)注意力。MobileNetV3在圖像分類和語義分割任務(wù)中都取得了比前兩個(gè)版本更快的運(yùn)算速度。
殘差結(jié)構(gòu)的提出使得卷積神經(jīng)網(wǎng)絡(luò)梯度消失和梯度爆炸的問題得到了有效的解決,SEResNeXt[15]在ResNet[16]的基礎(chǔ)上,提出了聚合變換,用一種平行堆疊相同拓?fù)浣Y(jié)構(gòu)的殘差塊代替原來ResNet的三層卷積的殘差塊,在不明顯增加參數(shù)量級(jí)的情況下提升了模型的準(zhǔn)確率。同時(shí),由于拓?fù)浣Y(jié)構(gòu)相同,超參數(shù)減少,便于模型移植。將通道注意力機(jī)制SENet引入了模型,增加了更多的非線性,對(duì)于通道的復(fù)雜性有了更好的擬合。
AASIST[17]是卷積神經(jīng)網(wǎng)絡(luò)和圖神經(jīng)網(wǎng)絡(luò)的結(jié)合。卷積使用基于RawNet2[18]的編碼器,用于將提取的具有聲學(xué)意義的特征變換成更高級(jí)特征圖。圖神經(jīng)網(wǎng)絡(luò)包括圖注意力機(jī)制和圖池化層,以高維的向量為節(jié)點(diǎn),利用對(duì)不同節(jié)點(diǎn)之間的非歐幾里德數(shù)據(jù)流形進(jìn)行建模。圖注意力機(jī)制是將圖中節(jié)點(diǎn)都連通,無法預(yù)先確定哪個(gè)節(jié)點(diǎn)對(duì)分類任務(wù)具有相關(guān)性,通過數(shù)據(jù)驅(qū)動(dòng)用自注意力導(dǎo)出各邊的權(quán)重,確定出對(duì)分類任務(wù)有用的節(jié)點(diǎn)。AASIST同時(shí)建模頻域和時(shí)域子圖,提高了網(wǎng)絡(luò)分類能力。
UrbanSound8k數(shù)據(jù)集包含8 732個(gè)樣本(單聲道和立體聲),分為10個(gè)類別:“空調(diào)”(air conditioner)、“汽車?yán)取?car horn)、“兒童玩?!?children playing)、“狗叫”(dog bark)、“鉆井”(drilling)、“發(fā)動(dòng)機(jī)怠速”(engine idling)、“槍聲”(gun shot)、“手提鉆”(jackhammer)、“警笛”(siren)和“街頭音樂”(street music)[18]。就每種類別的總錄音長度而言,各類別并不均衡。每個(gè)音頻的長度也不一樣,最長可達(dá)4秒,采樣率也從16 kHz到48 kHz不等。數(shù)據(jù)集的作者將數(shù)據(jù)集分成了10份,本文使用官方的分割方式分配訓(xùn)練集、測試集,使用10折交叉驗(yàn)證,選取9份樣本為訓(xùn)練集,1份樣本為測試集,重復(fù)10次交叉驗(yàn)證,確保每一份都能遍歷一次測試集,測試結(jié)果取10次的平均值,將以便于結(jié)果復(fù)現(xiàn)和對(duì)比。
本文使用隨機(jī)梯度下降算法SGD[19]訓(xùn)練模型。初始學(xué)習(xí)率為0.02,每過10輪學(xué)習(xí)率變成原來的1/10,每個(gè)批次載入16個(gè)樣本。在訓(xùn)練的過程中,在數(shù)據(jù)中添加隨機(jī)高斯噪聲,增加模型的魯棒性防止過擬合。測試和驗(yàn)證集的處理過程不添加噪聲。
本文使用Librosa 0.7.2庫將音頻樣本標(biāo)準(zhǔn)化為44.1 kHz的采樣率[20],根據(jù)本文提出的可微分前端使用的是梅爾濾波器作為初始化。本文的第一層卷積近似于使用梅爾濾波器組提取特征,等價(jià)于使用2 048個(gè)采樣點(diǎn)的窗口長度,128個(gè)采樣點(diǎn)的幀移大小。
為了驗(yàn)證提出的可微分前端的性能,本文將OrthSincNet和第2節(jié)中的后端分類模型分別組合在UrbanSound8k數(shù)據(jù)集上訓(xùn)練、測試。為了對(duì)比效果,使用常用的傳統(tǒng)特征——梅爾譜圖代替OrthSincNet分別在后端分類模型上訓(xùn)練和測試。
本文采用官方分割的訓(xùn)練-測試集配置[18]。表1是在測試集上的結(jié)果,對(duì)比了本文提出的可微分模型提取的特征和梅爾聲譜特征在各個(gè)模型上的效果,所有的模型都是在3.2節(jié)的訓(xùn)練模式下進(jìn)行的。
表1 不同前端的分類效果對(duì)比圖(準(zhǔn)確率/%)
表1中“SincNet”表示SincNet可微分前端[6],而“OrthSincNet”表示所提OrthSincNet可微分前端??梢杂^察到OrthSincNet可微分前端在經(jīng)典的分類網(wǎng)絡(luò)中的分類準(zhǔn)確率比傳統(tǒng)的手工特征梅爾譜更高。本文提出的OrthSincNet和AASIST組合的端到端模型,相對(duì)端到端基線模型EnvNet-v2[8],分類準(zhǔn)確率由78%提高到了81.45%。
部分文獻(xiàn)也在UrbanSound8k數(shù)據(jù)集驗(yàn)證了他們提出的分類模型,例如文獻(xiàn)[21]取得了88.02%的準(zhǔn)確率,文獻(xiàn)[22]取得了93%的準(zhǔn)確率,文獻(xiàn)[23]端到端模型取得了89%的準(zhǔn)確率。雖然相比于基線模型取得了更高的準(zhǔn)確率,但是這些模型沒有使用官方的數(shù)據(jù)分割方式,在分類準(zhǔn)確率的數(shù)值上和本文實(shí)驗(yàn)的結(jié)果無法進(jìn)行公平比較。
為了直觀地觀察到OrthSincNet前端的濾波器學(xué)習(xí)到的內(nèi)容,本文將OrthSincNet和AASIST聯(lián)合訓(xùn)練得到的訓(xùn)練好的前端可視化,對(duì)比了梅爾濾波器組和OrthSincNet前端濾波器組的形狀,如圖2所示。對(duì)比發(fā)現(xiàn)OrthSincNet濾波器組保證了具有梅爾濾波器的特性,保證了濾波器的基本物理意義,同時(shí)可以根據(jù)后端模型進(jìn)行細(xì)微的調(diào)整,使學(xué)習(xí)到的特征是和后端分類網(wǎng)絡(luò)最匹配的特征。對(duì)比圖2兩個(gè)濾波器,相對(duì)于梅爾濾波器組,OrthSincNet保留了更多高頻的信息。人的發(fā)聲有效信息主要集中在低頻部分,高頻部分也存在一些對(duì)分類有用的特征信息,所以音頻場景分類任務(wù)中,取得了比梅爾譜更好的效果。
圖3是由OrthSincNet和AASIST聯(lián)合訓(xùn)練得到的模型分類結(jié)果,可以發(fā)現(xiàn)“街頭音樂”和“兒童玩?!眱蓚€(gè)類別互相誤識(shí)別的較多。原因在于“街頭音樂”音頻中有人的笑聲,“兒童玩?!敝杏斜尘耙魳?。在聲學(xué)特征上,這兩類音頻存在較大的相似性,增加了識(shí)別的難度。對(duì)于具有相似度的音頻進(jìn)行分類,是將來研究的重點(diǎn)。
圖3 OrthSincNet和AASIST分類結(jié)果的混淆矩陣
針對(duì)現(xiàn)有的可微分前端對(duì)后端網(wǎng)絡(luò)的耦合性強(qiáng)和遷移性弱,標(biāo)準(zhǔn)的CNN卷積缺乏約束以及傳統(tǒng)特征難以保證適配后端分類器等難點(diǎn),本文提出了新型的可微分前端,使用實(shí)現(xiàn)帶通濾波器的Sinc函數(shù),通過卷積波形來初始化卷積核,進(jìn)而采用卷積正交正則化的方式,約束濾波器的學(xué)習(xí)過程。在將OrthSincNet前端代替梅爾譜應(yīng)用到6個(gè)經(jīng)典分類網(wǎng)絡(luò)中,驗(yàn)證了本文提出的可微分前端比梅爾譜有更強(qiáng)的表征能力,并且具有較好的可解釋性。