黎 鵬, 陳 寧(華東理工大學信息科學與工程學院,上海 200237)
基于降噪自動編碼器特征學習的音樂自動標注算法
黎 鵬, 陳 寧
(華東理工大學信息科學與工程學院,上海 200237)
目前,音樂自動標注模型大多采用手動設計模式,因而存在最佳特征難以選擇的問題。提出了一種基于非監督學習的特征學習算法,該算法能自動學習特征的潛在結構而不需要依賴先驗知識。 首先,預處理階段主要提取音樂的音級輪廓頻率譜并進行PCA白化降維處理;然后,采用深度學習中的降噪自動編碼器算法對降維后的特征進行無監督的學習,并采用最大值池化和取均值來聚合得到新的特征向量;最后,將特征向量和標簽送入多層感知機中進行有監督的學習。 基于Magnatagatune和GTZAN數據庫的實驗結果表明,本文算法在一定程度上提高了音樂自動標注的準確率。
深度學習; 音樂自動標注; 降噪自動編碼器; 多層感知機
隨著數字化技術、多媒體技術和互聯網的廣泛興起和應用,在線數字音樂蓬勃發展,其數量按指數規律增長。 互聯網使得人們更加容易共享、瀏覽各種音樂資源,同時也產生了諸多具有挑戰性的問題,例如,用不同的方法實現歌曲檢索、歌曲分類、翻唱歌曲的識別或者個性化推薦音樂等。 基于內容的音樂信息檢索(Music Information Retrieval,MIR)在一定程度上解決了這些問題。
音樂自動標注的目的是根據音樂內容來預測多種標簽,進行自動識別和標注,它是一種基于音樂內容的音樂分類技術。 一般地,音樂分類任務分成兩步:特征提取和監督學習。Hamel等[1]提出了提取PCA降維后的Mel頻率譜特征,利用池化函數將頻率譜聚合成新的特征,最后用監督學習算法學習標簽。之后,Hamel等[2]提出利用監督學習將不同分幀長度的特征融合成新的特征。 Mel頻率譜都是手動設計的,雖然在一定程度上取得了較好效果,但是這些基于先驗知識的特征往往需要大量實驗,而且如何實現特征的選擇以達到最佳的組合也是一個問題。
近幾年,機器學習和深度學習在計算機視覺和自然語言處理領域已取得了很好的效果[3]。深度學習是具有多層結構的機器學習算法,它能有效地表征特征的潛在結構,其中深度置信網絡和卷積神經網絡就是兩種典型的算法。盡管深度學習取得了較好的性能,但是人們很難解釋這些數據挖掘算法以及學習算法與音樂語義之間存在的內在聯系。
分類算法是機器學習中常見的算法,被廣泛運用于信號處理領域,例如KNN算法用于手寫識別[4]、半監督式排序用于學習推薦系統中的用戶偏好[5]以及多協同表示用于人臉識別[6]等。在音樂信息檢索領域,MIR研究人員將分類算法應用于自動標注。 Lee等[7]提出基于卷積深度置信網絡的頻譜學習和音樂分類算法;Henaff等[8]提出基于稀疏編碼無監督學習的對數頻率譜特征,然后用線性支持向量機SVM進行學習;Wulfing等[9]提出基于自舉式K-means算法對特征聚類形成特征字典,然后用SVM進行分類;Nam等[10]提出基于稀疏限制玻爾茲曼機無監督學習的Mel頻率譜,并對其采用線性分類器進行分類;Sigtia等[11]用深度神經網絡進行音樂流派分類;Oord等[12]提出用球形K-means算法無監督學習音樂特征,然后用MLP進行音樂分類;Dieleman等[13]提出用卷積神經網絡對頻率譜和原始歌曲特征學習,用學習后的特征進行音樂自動標注;Choi等[14]提出用完全卷積神經網絡進行音樂自動標注。
本文提出了基于降噪自動編碼器[15]深度特征學習的音樂自動標注算法。目前,將降噪自動編碼器用于音樂自動標注領域的研究鮮見報道。 本文算法采用無監督和監督兩種不同的學習方法對降維后的chroma標度的頻率譜進行學習,在無監督學習階段,采用降噪自動編碼器對特征矩陣進行無監督的學習,然后將學習后的特征矩陣進行最大值池化和取均值來聚合成“詞袋”(Bag-of-features)形式的特征向量。 在監督學習階段,將聚合后的特征向量作為輸入,對應歌曲的標簽作為輸出,采用預訓練后的多層感知機模型進行有監督的學習。 最后,仿真實驗結果驗證了非監督學習的特征比手動設計特征具有更好的性能,顯示出非監督學習算法特征學習具有一定的優勢.
1.1 自動編碼器算法
降噪自動編碼器(Denoising autoencoder)是自動編碼器(Autoencoder)[15]的一種變形,是一種無監督學習算法,多層疊加可構成深度學習網絡。
自動編碼器是一種無監督學習算法,是一種特殊的神經網絡。 神經網絡將輸入數據x(i)映射成輸出標簽z(i),是一種監督學習算法。 而自動編碼器的特點是它的輸出標簽就是輸入本身,即z(i)=x(i),它通過網絡來學習輸入數據潛在的結構和特性,而用潛在的隱含層作為真正的輸出y(i)。


圖1 自動編碼器算法示意圖
每個輸入向量x(i)都映射成了對應的隱含層向量y(i)以及重構輸出向量z(i),模型參數的優化值可以通過最小化重構誤差得到。 最優化的過程可以通過對式(1)進行隨機梯度下降法來實現。
(1)
其中L為損失函數。最常見的損失函數是均方誤差L(x,z)=‖x-z‖2,如果輸入x∈[0,1]d或服從Bernoullis分布,損失函數也可以定義為式(2)的重構交叉熵形式。
(2)
1.2 降噪自動編碼器


圖2 降噪自動編碼器示意圖
降噪自動編碼器是在自動編碼器的基礎上,在訓練數據中加入噪聲,所以自動編碼器必須學習去除這種噪聲而獲得真正的沒有被噪聲污染的輸入。因此,這就迫使編碼器去學習輸入信號更加魯棒性的表達,這也是它的泛化能力比一般編碼器強的原因。
2.1 概述
本文提出的方法可以分為3個階段:預處理階段、無監督學習和聚合階段、監督學習階段。 圖3展示了該算法的主要流程,圖中虛線表示只在訓練過程中執行該步驟。

圖3 音樂自動標注的主流程圖
2.2 預處理
這一階段的主要目的是提取未歸一化的chroma頻率譜特征,并進行PCA降維處理。 預處理階段可以大致分成短時傅里葉變化、自動增益控制、映射成未歸一化的chroma頻率譜、幅度壓縮以及PCA白化5個步驟。
首先,對音樂信號進行短時傅里葉變換,從而得到頻率譜。 由于音樂信號在聲音幅度上有較大的動態差別,受到人耳動態范圍壓縮機制的啟發,利用自動增益控制[16]來調節音樂幅度。
然后,將自動增益調節后的線性頻譜映射為chroma頻譜。與傳統方法不同,在提取chroma時不對數據進行歸一化處理,這一步既保留了原來線性頻譜的顯著特性,又降低了輸出的維度。
之后,將chroma頻率譜按對數壓縮公式(3)進行幅度壓縮。
Z=lg(1+C·chroma)
(3)
其中C控制壓縮程度。在這一步后,每一首歌曲對應了一個幅度壓縮后的chroma特征矩陣。
由于在訓練過程中,訓練的歌曲較多,每首歌都對應著一個特征矩陣,如果不加以選擇全部用于訓練會導致訓練中的特征矩陣維度非常大,而且并不是所有特征都是有用且具有代表性的。為了在第2階段無監督學習過程中,盡可能學習到有用的特征向量,采用起始點檢測的方法從每首歌的特征矩陣中抽取出起始點處的特征向量,將這些向量構成新的特征矩陣作為訓練的輸入特征。需要注意的是,起始點檢測僅僅用于訓練過程,在非訓練過程中,特征依然是整個幅度壓縮后的chroma頻率譜。
PCA白化是預處理的一個常見步驟,它被用來去除成對的相關性或降低數據的維度。PCA白化矩陣實際上是在訓練過程中得到的,它的計算是將起始點檢測后的樣本矩陣進行PCA處理,并在PCA空間進行個體方差歸一化后得到,本文在PCA降維過程中保留了90%的方差。
2.3 無監督學習和聚合
在這個階段,對PCA降維后的特征矩陣無監督地學習,然后用最大值池化和取均值來聚合成“詞袋”(Bag-of-features)形式的特征向量。
(1) 降噪自動編碼器。在前一階段,我們得到了PCA白化后的chroma特征,由于這個特征是根據先驗知識手動設計的,因此在這一步,采用具有較強魯棒性和泛化能力的降噪自動編碼器來無監督學習特征。
降噪自動編碼器是個典型的瓶頸模型,隱含層作為真正輸出。 在訓練過程中,將PCA白化后的特征矩陣X破壞成X0,并讓破壞后的X0無監督學習得到最終輸出層Xc,我們希望Xc盡可能與未破壞的X接近。在這一階段要優化目標函數(式(4))并得到最佳的參數權重矩陣W和偏差向量b:
(4)
其中:λ為正則項參數,也稱為權值衰減(Weight decay);‖·‖F為Frobenius范數。
在訓練過程中,將起始點檢測抽樣的每幀特征作為輸入向量,隱含層節點數設置為1 024,使用AdaDelta[17]進行梯度更新。該方法不需要手動微調學習速率,同時對模型結構中的噪聲梯度信息和方差具有較強魯棒性。 降噪自動編碼器算法采用一個深度學習軟件庫(deepmat),在訓練過程中使用GPU加速,大大縮短訓練時間。
(2) 聚合。訓練結束后,學習起始點檢測后的特征矩陣,并得到最優的權重矩陣W和偏差向量b。 然后將每首歌的所有特征通過具有最優參數的降噪自動編碼器模型激活得到隱含層,將該特征作為之后的輸入。
按照圖4所示的聚合過程采用最大值池化和取均值對學習到的特征進行聚合。用最大值池化聚合特征已在文獻[1]中被證明是有效的,因為它按照時域對固定的特征分塊,最大值池化用來保留分塊中具有最大峰值的幀,濾除剩余不具典型的幀。 將最大值池化后的特征取均值得到新的“詞袋”形式的特征向量。
2.4 監督學習
在這一階段,有監督地將“詞袋”形式的特征向量和對應的歌曲標簽送入分類器學習,采用預訓練后的多層感知機MLP來預測音樂的標簽。構造具有4層結構的多層感知機,即隱含層3層,以監督學習方式來學習“詞袋”形式的特征向量和對應歌曲語義標簽。

圖4 “詞袋”形式的特征向量的聚合過程
在預訓練過程中,首先利用疊加的3層降噪自動編碼器對“詞袋”形式的輸入特征向量進行無監督學習;然后,用降噪自動編碼器學習到的各層優化后的參數分別初始化多層感知機的隱含層參數;最后通過BP(Back Propagation)算法對整個多層感知機模型進行微調。
假設第i個“詞袋”向量為ui,對應的標簽向量為vi∈[0,1]160(本實驗數據庫中每首歌對應160個標簽,所有標簽向量維數為160),微調過程中需要優化的目標函數如下:
(5)
對誤差進行隨機梯度下降法可以優化得到最佳的參數θ,本文采用AdaDelta進行梯度更新。除此之外,采用dropout[18]技術通過將隱含層和輸入層隨機置0來實現增強神經網絡的泛化誤差。AdaDelta和dropout有效地提升了學習的性能。
3.1 實驗1
3.1.1 數據庫 Magnatagatune歌曲庫[19]是音樂標注領域一個常用的數據庫,也是本文實驗采用的數據庫。 該庫包含長度為29 s的帶標簽的MP3歌曲片段,每個歌曲片段對應160個歌曲標簽。 本文采用與文獻[1]相同的2009版本的數據庫,將該數據庫分成訓練庫、驗證庫和測試庫,對應的庫分別包含14 660、1 629、6 499首歌曲,訓練庫和驗證庫用于訓練,測試庫用于測試得出最終實驗結果。
3.1.2 評估方法 采用與文獻[1]相同的評估方法,分別為針對標簽的ROC(Receiver Operating Characteristic)曲線下的面積(AUC-T)、針對歌曲片段的ROC曲線下的面積(AUC-C),以及top-K準確度,實驗中K分別取值3、6、9、12、15。
3.1.3 實驗參數 預處理階段,將采樣率為22.05 kHz的音頻文件分幀,每幀1 024點(約46 ms)且50%重疊,加漢寧窗,映射到chroma頻率帶,但是不對chroma進行歸一化,過濾掉較低頻率帶,最終得到80維的chroma特征。 幅度壓縮時將壓縮強度參數C設置為10,PCA白化過程中保留了90%的方差。
無監督過程中,將學習速率為0.03的降噪自動編碼器的隱含層設置為1 024,然后分別按照時間長度為0.25、0.5、1、2、4 s分塊對特征進行最大值池化,討論池化長度對實驗結果的影響。
在監督學習的預訓練過程中,將3層降噪自動編碼器的每一層的權值衰減系數λ在0.000 1和0.001之間調整,并對實驗結果進行討論。
3.1.4 實驗結果 分別按照時間長度為0.25、0.5、1、2、4 s分塊對特征進行最大值池化,討論最大值池化的不同長度對本文算法的影響,圖5示出了池化長度對實驗結果的影響。 實驗結果表明,隨著池化長度的增加,AUC-T結果呈現出先增加后微弱下降的趨勢,而當池化長度為1 s時取得最好的AUC-T結果。

圖5 不同池化長度對實驗結果的影響
在用多層感知機進行3層監督學習之前,采用預訓練的降噪自編碼器的參數對多層感知機進行初始化,具體做法是分別調整各層的權值衰減系數為0.000 1和0.001,在調節單層時,保持該層參數不變,其他層參數變化,分別討論3個隱含層L1、L2、L3降噪自編碼器的權值衰減λ對實驗結果的影響,得到8種不同的預訓練結果。分析這些數據得到如圖6的分析圖。可以發現L1層隨著權值衰減系數λ的增加,實驗結果呈下降趨勢,最優的實驗結果在λ為0.000 1時得到。L2層中,當權值衰減系數λ取0.001時,實驗結果具有最大值和平均值,而L3層中,當權值衰減系數λ增加時,實驗結果具有緩慢下降的趨勢。 分析結果表明,隨著L1和L3層權值衰減系數λ的增加,實驗結果呈現下降的趨勢,實驗結果的最優值傾向于衰減系數較小時得到。

圖6 不同層的權值衰減系數λ的實驗結果
通過實驗發現,當池化長度設置為1 s,L1衰減系數系數設置為0.000 1,L2和L3衰減系數設置為0.001時,實驗取得最佳結果。將本文算法與文獻[1-2]提出的算法進行對比,表1列出了對比結果,但文獻[1-2]是對所有160個標簽進行AUC-T評估。實驗結果顯示,本文算法的實驗結果比文獻[1-2]的實驗結果要好,AUC-T160達到了0.881,AUC-C達到了0.954,而top-K中P3和P6的準確率提高了0.02左右,P9、P12和P15也都有所提高。
文獻[12-14]提出的音樂自動標注算法都是基于Magnatagatune數據庫,但是這些算法都選取Top-50標簽,以此來進行實驗評估。由于這些算法只有Top-50標簽的ROC曲線下的面積AUC參數,為了對比,本文在之前的實驗基礎上,也將輸出的標簽設置為Top-50的標簽,以此對整個歌曲庫作出AUC-T50的評估,實驗結果如表2所示。實驗結果顯示,當池化長度設置為1 s,L1衰減系數設置為0.000 1,L2和L3衰減系數設置為0.001時,取得基于Top-50的標簽最大的AUC-T50。

表1 160個標簽時的實驗對比結果

表2 AUC-T50的實驗對比結果
3.2 實驗2
3.2.1 數據庫 為了驗證本文算法的有效性,在實驗1的基礎上增加了GTAZN歌曲庫[20],它是音樂標注領域一個常用的數據庫。 該庫包含了1 000首歌曲片段,每首歌曲片段長30 s,一共有10種標簽,每首歌曲對應一個標簽。由于GTAZN歌曲庫是第一個被公開的音樂分類庫,因此被廣泛作為音樂自動標注的基準庫[20]。
3.2.2 評估方法 用準確度進行評估,并用10折交叉驗證評估方法,每次交叉驗證時,將1 000首歌曲中的900首作為訓練,余下的100首作為驗證,一共進行10次,然后將10次得到的準確度取均值,得到最后的平均準確度。
3.2.3 實驗結果 參照Magatagatune歌曲庫相同的調節參數過程,得到了基于GTAZN庫的最優的實驗結果。 當池化長度設置為1 s,L1衰減系數設置為0.000 1,L2和L3衰減系數分別設置為0.001時,實驗取得最佳結果,表3列出了對比結果。 實驗結果顯示,基于GTAZN歌曲庫,在取得較好的平均準確率的同時,也驗證了本文算法的有效性。

表3 基于GTAZN的10-fold CV準確度實驗結果
本文提出了基于降噪自動編碼器深度學習音樂特征的自動標注算法,采用無監督的深度學習算法自動地學習特征的潛在結構而不需要依賴先驗知識。首先,在提取特征后,采用降噪自動編碼器對起始點檢測后的特征進行無監督的學習;然后,將學習到的特征進行最大值池化并取均值聚合成詞袋形式的特征向量;最后,用預訓練后的多層感知機將特征向量映射成對應標簽。討論并分析了池化長度和不同層權值衰減系數對實驗結果的影響,調節參數以達到最優。 基于Magnatagatune歌曲庫的最優實驗結果顯示本文算法取得了較高的識別率,其中AUC-T160達到0.881,AUC-C達到0.954,top-K中P3和P6都提高了0.02左右的準確率,AUC-T50達到了0.896 5。 同時為了驗證算法的有效性,在GTAZN庫上的實驗得到了0.885 2的平均準確度,在一定程度上體現了深度學習算法對音樂自動標注的有效性。在之后的研究中,可以嘗試采用其他深度學習算法實現音樂自動標注。
[1]HAMEL P,LEMIEUX S,BENGIO Y,etal.Temporal pooling and multiscale learning for automatic annotation and ranking of music audio[C]// International Society for Music Information Retrieval Conference.Miami,Florida,USA :DBLP,2011:729-734.
[2]HAMEL P,BENGIO Y,ECK D.Building musically-relevant audio features through multiple timescale representations[C]// Conference of the International Society for Music Information Retrieval(ISMIR).Porto,Portugal:DBLP,2012:553-558.
[3]BENGIO Y.Learning Deep Architectures for AI [M].USA:Now Publishers Inc.,2009.
[4]WAKAHARA T,YAMASHITA Y.k-NN classification of handwritten characters via accelerated GAT correlation[J].Pattern Recognition,2014,47(3):994-1001.
[5]CHI Y,PORIKLI F.Classification and boosting with multiple collaborative representations[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2014,36(8):1519-1531.
[6]PAN Z,YOU X,CHEN H,etal.Generalization performance of magnitude-preserving semi-supervised ranking with graph-based regularization[J].Information Sciences,2013,221:284-296.
[7]LEE H,PHAM P,LARGMAN Y,etal.Unsupervised feature learning for audio classification using convolutional deep belief networks[C]// Advances in Neural Information Processing Systems.British Columbia,Canada:DBLP,2009:1096-1104.
[8]HENAFF M,JARRETT K,KAVUKCUOGLU K,etal.Unsupervised learning of sparse features for scalable audio classification[C]//Conference of the International Society for Music Information Retrieval(ISMIR),Miami,Florida,USA:DBLP,2011:681-686.
[9]WüLFING J,RIEDMILLER M A.Unsupervised learning of local features for music classification[C]// Conference of the International Society for Music Information Retrieval(ISMIR).Porto,Portugal:DBLP,2012:139-144.
[10]NAM J,HERRERA J,SLANEY M,etal.Learning sparse feature representations for music annotation and retrieval[C]//Conference of the International Society for Music Information Retrieval(ISMIR).Porto,Portugal:DBLP,2012:565-570.
[11]SIGTIA S,DIXON S.Improved music feature learning with deep neural networks[C]//2014 IEEE International Conference on Acoustics,Speech and Signal Processing (ICASSP).USA:IEEE,2014:6959-6963.
[12]VAN DEN OORD A,DIELEMAN S,SCHRAUWEN B.Transfer learning by supervised pre-training for audio-based music classification[C]//Conference of the International Society for Music Information Retrieval.Taipei,China :DBLP,2014:29-34.
[13]DIELEMAN S,SCHRAUWEN B.End-to-end learning for music audio[C]//2014 IEEE International Conference on Acoustics,Speech and Signal Processing (ICASSP).USA:IEEE,2014:6964-6968.
[14]CHOI K,FAZEKAS G,SANDLER M.Automatic tagging using deep convolutional neural networks[EB/OL].[2016-05-10] .https://arxiv.org/abs/1606.00298.
[15]VINCENT P,LAROCHELLE H,BENGIO Y,etal.Extracting and composing robust features with denoising autoencoders[C]//Proceedings of the 25th International Conference on Machine Learning.USA:ACM,2008:1096-1103.
[16]ELLIS D.Time-frequency automatic gain control,Web resource,available[EB/OL].[2010-10-20].http://labrosa.ee.columbia.edu/matlab/tf-agc/.
[17]ZEILER M D.ADADELTA:An adaptive learning rate method[EB/OL].[2012-03-10] .https://arxiv.org/abs/1212.5701.
[18]SRIVASTAVA N,HINTON G E,KRIZHEVSKY A,etal.Dropout:A simple way to prevent neural networks fromoverfitting [J].Journal of Machine Learning Research,2014,15(1):1929-1958.
[19]LAW E,VON AHN L.Input-agreement:A new mechanism for collecting data using human computation games[C]//Proceedings of the SIGCHI Conference on Human Factors in Computing Systems.USA:ACM,2009:1197-1206.
[20]STURM B L.The GTZAN dataset:Its contents,its faults,their effects on evaluation,and its future use[EB/OL].[2013-10-11] .https://arxiv.org/abs/1306.1461.
[21]STURM B L.A survey of evaluation in music genre recognition[C]// International Workshop on Adaptive Multimedia Retrieval(AMR).Copenhagen,Denmark:Springer International Publishing,2012:29-66.
[22]BOGDANOV D,PORTER A,HERRERA P,etal.Cross-collection evaluation for music classification tasks[C]// Conference of the International Society for Music Information Retrieval (ISMIR).New York City,USA:DBLP,2016:379-385.
[23]BERGSTRA J,CASAGRANDE N,ERHAN D,etal.Aggregate features and AdaBoost for music classification[J].Machine Learning,2006,65(2/3):473-484.
Feature Learning for Music Auto-Tagging Using Denoising Autoencoder
LI Peng, CHEN Ning
(School of Information Science and Engineering,East China University of Science and Technology,Shanghai 200237,China)
At present,the models used in music auto-tagging are mostly hand-engineered,so the choice of the optimal feature is always difficult.We propose an unsupervised feature learning algorithm,which can automatically learn the underlying structure of feature without prior knowledge.The algorithm is achieved in three stages.The preprocessing stage extracts the chroma-frequency spectrogram,and reduces the dimensionality via PCA whitening.The second stage applies the denoising autoencoder to the reduced feature in an unsupervised manner,and aggregates a new feature vector by max-pooling function and averaging.The last stage maps the feature vector to song labels by pre-trained multilayer perceptron (MLP) in a supervised manner.The result based on the Magnatagatune and GTZAN datasets shows that our algorithm improves the accuracy of music auto-tagging to some degree.
deep learning; music auto-tagging; denoising autoencoder; multilayer perceptron
1006-3080(2017)02-0241-07
10.14135/j.cnki.1006-3080.2017.02.014
2016-09-05
國家自然科學基金(61271349)
黎 鵬(1992-),男,四川人,碩士生,主要研究方向為音頻信號處理和機器學習。
陳 寧,E-mail:chenning_750210@163.com
TP391
A