劉 偉,孫 蒙,張 玥,張雄偉
(中國人民解放軍陸軍工程大學,江蘇 南京 210007)
音頻分類是計算機自動實施聽覺感知和理解的重要步驟,也是一項非常具有挑戰性的任務,如自動音樂標記、音樂類型分類、說話人識別、音頻場景分類和多媒體檢索等。深度神經網絡的發展使得音頻分類任務的準確率取得了顯著提升。當前,深度神經網絡一般是建立在對輸入音頻提取時頻特征等預處理的基礎上,如首先通過廣泛使用的梅爾濾波器組提取時頻譜圖特征,然后將時頻譜圖特征輸入到各種后端分類網絡。
特征提取的預處理過程通常采用固定的時頻參數和濾波器類型,難以保證對所有的后端分類網絡結構持續提取出最優特征。此外,這些預處理過程一般需要線下完成,不能無縫對接到神經網絡分類器中,因此難以適用于一些需要對聲音波形進行反向求導的任務,如求解對抗樣本[1]等。這些局限性推動了研究者們尋求構建端到端模型來完成音頻分類任務。所謂端到端的分類網絡結構是指直接輸入聲音波形,然后輸出類別標簽,而無須用戶通過額外的特征提取工具來提取特征。例如,Dai等提出了具有不同網絡結構和不同數量參數的端到端卷積神經網絡(Convolutional Neural Network,CNN)用于音頻分類[2]。Tokozume等提出了一種含有8層網絡并以原始波形為輸入的端到端網絡結構,通過調節超參數并選擇適當大小的卷積核來提高分類性能[3]。 此外,還有端到端的CNN架構AclNet[4],受到MobileNet[5]的啟發,其計算僅需155k參數和每秒4 930萬次乘法加法即可高效完成分類任務。
當前的端到端模型中,大部分前端特征提取模塊僅能適用于特定的后端分類網絡,即前端和后端存在過度的耦合性。這種過耦合性源于可微分的前端需要根據后端分類網絡的學習情況調整參數?,F有的可微分前端主要使用標準的卷積層作為提取特征的前端,需要調整超參數以保證學習的過程中和后端分類網絡的學習程度一致,如果前端的結構和超參數選擇不合適,容易出現前端的欠擬合或者過擬合情況,使其缺乏魯棒性,同時也缺乏直觀的物理意義。因此,當把可微分前端的后端分類網絡替換成另外一個模型時,性能會有很大的起伏。本文嘗試對可微分前端引入濾波器形狀、正交性等約束,提高前端特征提取模塊對各種類型后端分類網絡的適配能力。
最近提出的SincNet的第一層卷積是一個能兼顧分類性能和濾波器可解釋性的可微分前端[6],在說話人識別和欺騙語音檢測[7]中取得了成功的嘗試。SincNet第一個卷積層對原始波形進行操作,并包含一組以Sinc函數形式實施參數化的帶通濾波器。SincNet把濾波器的截止頻率作為可調節的參數,相對于固定參數的梅爾濾波器取得進步,但是其參數的靈活調節卻使得其容易收斂到較差的局部最優解。文獻[8]僅采用了SincNet的結構和初始化參數,但未對其參數進行迭代優化。因此,如何改進Sinc-Net的構造,使后端分類網絡既能充分利用其設計靈活性又便于優化求解,成為本文的研究動機之一。
本文以SincNet可微分前端為基礎,引入正交約束提高求解效率,提高所得可微分前端可解釋性,并同時提高多種后端網絡的分類性能。新型可微分前端命名為正交約束型SincNet(OrthSincNet),它使用一組實現帶通濾波器的Sinc函數,以梅爾濾波器的結構初始化卷積核,通過矩陣的正交性質約束卷積核的正交學習過程,從而減少濾波器之間的相關性。OrthSincNet的頻譜既具有類似于梅爾濾波器的形態,又可根據實際分類任務來細微調整其濾波器參數,提高分類效果。為評價所提方法的性能,本文將在音頻場景分類數據集UrbanSound8k上結合6種有代表性的分類網絡進行實施驗證和分析。
在基于波形輸入的端到端神經網絡模型中,最重要的結構之一是用于提取特征的前端結構,其不僅需要處理波形采樣的高維輸入,且更容易受到梯度消失問題的影響,尤其當網絡層數較多的時候。第一層結構因最先學習到有價值信息,提取特征的好壞直接影響模型的性能。使用CNN作為提取特征的第一層網絡時,濾波器通常會呈現嘈雜且不協調的多波段形狀,尤其在訓練樣本很少的情況下,基本不具備物理意義上的可解釋性。由于只是普通的卷積結構,缺少有效的約束,不能像傳統梅爾濾波器那樣有效地提取聲音不同頻率的能量分布,從而導致整體分類任務性能的低效。
為了使CNN的輸入層成為更有物理意義的濾波器,SincNet對其形狀添加一些約束。標準CNN的濾波器組的功能取決于多個參數,其中濾波器向量的每個元素都可以直接學習。與標準CNN相比,SincNet改進了標準的CNN濾波器。通過一組實現帶通濾波器參數化的Sinc函數初始化卷積核,使網絡聚焦于對濾波器的最終形狀和帶寬有廣泛影響的少量可調參數的調節過程。
標準CNN的第一層在輸入波形和一些有限脈沖響應(FIR)濾波器之間執行一組時域卷積[9]。每個卷積定義如下:

其中,x(n)是輸入的語音信號,h(n)是長度為L的濾波器,y(n)是卷積濾波后的輸出。在標準CNN中,每個過濾器的所有L個元素都是從數據中學習的。SincNet用一個特別設計的預先定義形態的函數g(·)代替式(1)中的h(n),使卷積核成為具有良好頻率響應特征的濾波器,如下所示:

其中,g(·)使用由矩形帶通濾波器組成的濾波器組,其每個頻帶f的頻率響應函數設計為兩個低通濾波器之間的差值:

其中,f1和f2是可學習的初始低截止頻率和高截止頻率數值,而rect(·)是矩形頻率響應函數。用傅里葉逆變換[9]返回時域后,可得函數g(·):

為了確保單調性f1≥0和f2≥f1,式(3)和式(4)中的截止頻率可采用以下形式:

實際上,理想帶通濾波器是通帶完全平坦且阻帶衰減無限的濾波器。因此,g(·)的任何截斷都不可避免地產生理想濾波器的近似值,緩解這個問題的一個解決方案是施加短時窗[9]。短時窗是通過將函數g(·)乘以窗函數來實現的,其目的是平滑g(·)末端的突變:

因此,在SincNet的設計中,使用gω(·)完成對特征提取卷積層的建模。通過估計參數f1和f2在各頻帶響應上作調整,擬合后端模型、訓練數據和訓練任務,提高固定濾波器組的學習能力,從而實現端到端的網絡構造。
本文以SincNet可微分前端為基礎,提出一種使用初始化的濾波器,將描述濾波器的整個卷積核作為學習的參數,通過卷積正交正則化約束學習過程的新型可微分前端OrthSincNet。相對于SincNet,整個濾波器卷積核的學習可提高模型的表示能力。
本文提出在訓練期間使用正則化對卷積層進行正交性約束,使得各濾波器盡可能聚焦不同的頻率成分,減少冗余。因此,模型容量得到了更好的利用,提高了特征表達能力和后端任務的性能。具體操作過程中,為了實現對卷積核的約束,本文把卷積視為一種矩陣向量乘法[10],其中矩陣K由核K生成,如圖1所示,其中,核K在本文提出的可微分前端中是第一層卷積的核,表示濾波器組。接下來,將卷積正交正則化項添加到提取特征的第一層卷積中即可。

圖1 基于Doubly Block-Toeplitz(DBT)矩陣的卷積
將卷積視為矩陣的乘法運算的具體過程如下:卷積層的輸入張量為X∈RC×H×W,核為K∈RM×C×k×k,卷積的輸出張量表示為Y=Conv(K,X),其中Y∈RM×H′×W′。如果將K看作M個不同的過濾器,{Ki∈RM×C×k×k},由于卷積是線性的,可以用矩陣向量的形式將Conv(K,X)轉化為:

其中,x是X展平后的向量,K的每一行都有對應于特定空間位置的特定過濾器Ki的非零元素。因此,K可以從核張量K∈RM×C×k×k構造為Doubly Block-Toeplitz(DBT)矩陣K∈R(MH′W′)×(CHW)。對應到圖1中K,其大小為(M×2×2)×(C×3×3)。
如上所述,理論上實現了DBT矩陣K可以對其直接強制執行正交性條件。然而,由于K是高度結構化和稀疏的,可以使用一種更有效的正交計算方法,如下所述。
對于本文使用的卷積核K展開的矩陣K形狀是MH′W′<CHW,需要矩陣的行正交減少濾波器的相關性。K的每一行對應于特定空間位置(h′,w′)處的濾波器Ki,該濾波器被展平為向量,表示為Kih′w′∈RCHW。理論上各行向量之間內積為0則是正交矩陣,所以DBT矩陣K行正交的條件如式(9)所示:

對于具有核大小k和步長S的卷積,文獻[11]推理出了一個與式(9)等價且更方便計算的條件,通過填充的標準卷積檢驗正交性,如式(10)所示:

本文使用Mel濾波器組的截止頻率初始化卷積核,實際使用的卷積核大小為K∈RN×1×L,其中N代表Mel濾波器的個數,L代表窗長。卷積的步長代替了手工提取聲譜的幀移。如果不增加正交約束,初始化好的濾波器會在學習的過程中存在很高的耦合性,相互之間產生影響,對可微分前端參數的變化缺乏控制。理想的情況是濾波器之間互不影響,可以將初始化的卷積核帶入式(10),通過正交實現對可學習濾波器的約束,減小相關性。
根據上述理論,最終卷積正交正則化損失函數是:

最終損失上增加了一個額外的軟卷積正交正則化損失,從而可以同時實現任務目標和正交正則化。將λ>0表示為正交正則化損失的權重,分類任務的損失函數使用交叉熵損失函數LCE,最終損失函數為:

本文采用6種經典的分類網絡結構作為后端分類器,檢驗第1節所提出的新型可微分前端的效果。
LeNet[12]是最早提出的卷積神經網絡結構之一。LeNet通過巧妙的設計,利用卷積、參數共享、池化等操作提取特征,避免了大量的計算成本,最后再使用全連接神經網絡進行分類識別。
AlexNet[13]是較為常用的CNN模型。AlexNet加深了LeNet的卷積層數;用ReLU代替了傳統的tanh或sigmoid激活函數;參考了生物學上神經網絡的側抑制的功能,做了鄰近數據歸一化,提高了模型的泛化能力;重疊池化減少了系統的過擬合。
VGG[14]是一種結構非常簡潔的神經網絡,整個網絡都使用了同樣大小的卷積核尺寸(3×3)和最大池化尺寸(2×2),相對于AlexNet采用連續的幾個3×3的卷積核代替7×7的卷積核,加深了網絡的結構,減少了卷積的參數量,提升了網絡的性能。但是,網絡中使用了三層全連接層,整個結構需要消耗的計算資源并沒有減少。
MobileNetV3[11]是神經架構搜索得到的模型,是一種輕量化的結構。它繼承了之前版本的所有特點:深度可分離卷積,具有線性瓶頸的倒殘差結構,基于擠壓與激勵結構的輕量級注意力。MobileNetV3在圖像分類和語義分割任務中都取得了比前兩個版本更快的運算速度。
殘差結構的提出使得卷積神經網絡梯度消失和梯度爆炸的問題得到了有效的解決,SEResNeXt[15]在ResNet[16]的基礎上,提出了聚合變換,用一種平行堆疊相同拓撲結構的殘差塊代替原來ResNet的三層卷積的殘差塊,在不明顯增加參數量級的情況下提升了模型的準確率。同時,由于拓撲結構相同,超參數減少,便于模型移植。將通道注意力機制SENet引入了模型,增加了更多的非線性,對于通道的復雜性有了更好的擬合。
AASIST[17]是卷積神經網絡和圖神經網絡的結合。卷積使用基于RawNet2[18]的編碼器,用于將提取的具有聲學意義的特征變換成更高級特征圖。圖神經網絡包括圖注意力機制和圖池化層,以高維的向量為節點,利用對不同節點之間的非歐幾里德數據流形進行建模。圖注意力機制是將圖中節點都連通,無法預先確定哪個節點對分類任務具有相關性,通過數據驅動用自注意力導出各邊的權重,確定出對分類任務有用的節點。AASIST同時建模頻域和時域子圖,提高了網絡分類能力。
UrbanSound8k數據集包含8 732個樣本(單聲道和立體聲),分為10個類別:“空調”(air conditioner)、“汽車喇叭”(car horn)、“兒童玩耍”(children playing)、“狗叫”(dog bark)、“鉆井”(drilling)、“發動機怠速”(engine idling)、“槍聲”(gun shot)、“手提鉆”(jackhammer)、“警笛”(siren)和“街頭音樂”(street music)[18]。就每種類別的總錄音長度而言,各類別并不均衡。每個音頻的長度也不一樣,最長可達4秒,采樣率也從16 kHz到48 kHz不等。數據集的作者將數據集分成了10份,本文使用官方的分割方式分配訓練集、測試集,使用10折交叉驗證,選取9份樣本為訓練集,1份樣本為測試集,重復10次交叉驗證,確保每一份都能遍歷一次測試集,測試結果取10次的平均值,將以便于結果復現和對比。
本文使用隨機梯度下降算法SGD[19]訓練模型。初始學習率為0.02,每過10輪學習率變成原來的1/10,每個批次載入16個樣本。在訓練的過程中,在數據中添加隨機高斯噪聲,增加模型的魯棒性防止過擬合。測試和驗證集的處理過程不添加噪聲。
本文使用Librosa 0.7.2庫將音頻樣本標準化為44.1 kHz的采樣率[20],根據本文提出的可微分前端使用的是梅爾濾波器作為初始化。本文的第一層卷積近似于使用梅爾濾波器組提取特征,等價于使用2 048個采樣點的窗口長度,128個采樣點的幀移大小。
為了驗證提出的可微分前端的性能,本文將OrthSincNet和第2節中的后端分類模型分別組合在UrbanSound8k數據集上訓練、測試。為了對比效果,使用常用的傳統特征——梅爾譜圖代替OrthSincNet分別在后端分類模型上訓練和測試。
本文采用官方分割的訓練-測試集配置[18]。表1是在測試集上的結果,對比了本文提出的可微分模型提取的特征和梅爾聲譜特征在各個模型上的效果,所有的模型都是在3.2節的訓練模式下進行的。

表1 不同前端的分類效果對比圖(準確率/%)
表1中“SincNet”表示SincNet可微分前端[6],而“OrthSincNet”表示所提OrthSincNet可微分前端??梢杂^察到OrthSincNet可微分前端在經典的分類網絡中的分類準確率比傳統的手工特征梅爾譜更高。本文提出的OrthSincNet和AASIST組合的端到端模型,相對端到端基線模型EnvNet-v2[8],分類準確率由78%提高到了81.45%。
部分文獻也在UrbanSound8k數據集驗證了他們提出的分類模型,例如文獻[21]取得了88.02%的準確率,文獻[22]取得了93%的準確率,文獻[23]端到端模型取得了89%的準確率。雖然相比于基線模型取得了更高的準確率,但是這些模型沒有使用官方的數據分割方式,在分類準確率的數值上和本文實驗的結果無法進行公平比較。
為了直觀地觀察到OrthSincNet前端的濾波器學習到的內容,本文將OrthSincNet和AASIST聯合訓練得到的訓練好的前端可視化,對比了梅爾濾波器組和OrthSincNet前端濾波器組的形狀,如圖2所示。對比發現OrthSincNet濾波器組保證了具有梅爾濾波器的特性,保證了濾波器的基本物理意義,同時可以根據后端模型進行細微的調整,使學習到的特征是和后端分類網絡最匹配的特征。對比圖2兩個濾波器,相對于梅爾濾波器組,OrthSincNet保留了更多高頻的信息。人的發聲有效信息主要集中在低頻部分,高頻部分也存在一些對分類有用的特征信息,所以音頻場景分類任務中,取得了比梅爾譜更好的效果。
圖3是由OrthSincNet和AASIST聯合訓練得到的模型分類結果,可以發現“街頭音樂”和“兒童玩?!眱蓚€類別互相誤識別的較多。原因在于“街頭音樂”音頻中有人的笑聲,“兒童玩?!敝杏斜尘耙魳贰T诼晫W特征上,這兩類音頻存在較大的相似性,增加了識別的難度。對于具有相似度的音頻進行分類,是將來研究的重點。

圖3 OrthSincNet和AASIST分類結果的混淆矩陣
針對現有的可微分前端對后端網絡的耦合性強和遷移性弱,標準的CNN卷積缺乏約束以及傳統特征難以保證適配后端分類器等難點,本文提出了新型的可微分前端,使用實現帶通濾波器的Sinc函數,通過卷積波形來初始化卷積核,進而采用卷積正交正則化的方式,約束濾波器的學習過程。在將OrthSincNet前端代替梅爾譜應用到6個經典分類網絡中,驗證了本文提出的可微分前端比梅爾譜有更強的表征能力,并且具有較好的可解釋性。