黃璟
摘? 要: 為高效、精準(zhǔn)地判斷音樂(lè)風(fēng)格歸屬,幫助用戶快速獲取偏好音樂(lè)風(fēng)格,基于群智優(yōu)化神經(jīng)網(wǎng)絡(luò)構(gòu)建音樂(lè)風(fēng)格分類模型。提取音樂(lè)樣本的音質(zhì)、節(jié)奏、旋律特征作為模型訓(xùn)練樣本輸入BP神經(jīng)網(wǎng)絡(luò),通過(guò)初始化、隱含層及輸出層計(jì)算、權(quán)值計(jì)算等步驟完成神經(jīng)網(wǎng)絡(luò)模型訓(xùn)練。采用粒子群算法確定神經(jīng)網(wǎng)絡(luò)的最優(yōu)權(quán)值與閾值,粒子群算法首先編碼神經(jīng)網(wǎng)絡(luò)權(quán)值與閾值,其次計(jì)算粒子適應(yīng)度值,更新粒子速度和位置,符合終止條件時(shí)輸出神經(jīng)網(wǎng)絡(luò)的權(quán)值與閾值優(yōu)化結(jié)果,并據(jù)此構(gòu)建基于群智優(yōu)化神經(jīng)網(wǎng)絡(luò)的音樂(lè)風(fēng)格分類模型。模型測(cè)試結(jié)果表明,所提模型在正確區(qū)分不同音樂(lè)風(fēng)格的同時(shí),展示了音質(zhì)、節(jié)奏、旋律等特征。
關(guān)鍵詞: 音樂(lè)分類; 分類模型; 特征提取; 模型訓(xùn)練; 最優(yōu)權(quán)值確定; 模型構(gòu)建
中圖分類號(hào): TN911.1?34; TP181? ? ? ? ? ? ? ? ? ?文獻(xiàn)標(biāo)識(shí)碼: A? ? ? ? ? ? ? ? ? ? 文章編號(hào): 1004?373X(2020)03?0096?04
Research on music classification model based on optimal neural network
HUANG Jing
(Music Department, Putian University, Putian 351100, China)
Abstract: In order to efficiently and accurately judge the type of music style and help users quickly obtain their preference for music style, a music style classification model was built based on swarm intelligence optimization neural network. The acoustic quality, rhythm and melody characteristics of music samples are extracted as model training samples and input into BP neural network. The neural network model training is completed after the steps of initialization, hidden layer and output layer calculation, weight calculation and so on. The particle swarm algorithm is adopted to determine the optimal neural network weight and threshold, and then code the neural network weight and threshold, and calculate particle fitness value to update the particle velocity and position. When they conform to with the termination conditions, the optimization results of the neural network weight and threshold are output. On the basis of the results, the music style classification model based on swarm intelligence optimization neural network is constructed. The model testing results show that the model can correctly distinguish different music styles, and exhibits the characteristics of sound quality, rhythm and melody.
Keywords: music classification; classification model; feature extraction; model training; optimal weight determination; model building
0? 引? 言
當(dāng)代互聯(lián)網(wǎng)技術(shù)高速更新,移動(dòng)終端設(shè)備使用人群規(guī)模迅速增加,流行音樂(lè)傳播方式從電臺(tái)和唱片形式逐漸過(guò)渡到網(wǎng)絡(luò)電臺(tái)在線收聽(tīng)和互聯(lián)網(wǎng)下載等形式。相關(guān)調(diào)查顯示,65%用戶難以精準(zhǔn)獲取期待收聽(tīng)的歌曲或不明確自身音樂(lè)風(fēng)格喜好。網(wǎng)絡(luò)電臺(tái)通常依照用戶對(duì)音樂(lè)風(fēng)格的喜好推薦歌曲,用戶喜好的音樂(lè)類型可能包含多種音樂(lè)風(fēng)格,導(dǎo)致待分類音樂(lè)規(guī)模較大,音樂(lè)分類難度大。因此,采用一種智能方法實(shí)現(xiàn)音樂(lè)風(fēng)格分類十分重要[1]。流行音樂(lè)傳統(tǒng)分類包括流行、鄉(xiāng)村、爵士、搖滾、節(jié)奏布魯斯、新世紀(jì)等六大類別,每一大類劃分成不同小類,部分小類還可以進(jìn)一步劃分[2]。依靠人為方式劃分音樂(lè)風(fēng)格存在很多弊端,如分類效率低、音樂(lè)風(fēng)格歸屬判斷困難大、音樂(lè)風(fēng)格類別過(guò)于粗糙或者過(guò)于精細(xì)等[3]。因此,亟待研究一種音樂(lè)風(fēng)格分類模型,采用合理方法解決音樂(lè)風(fēng)格分類問(wèn)題。
群體智能優(yōu)化算法簡(jiǎn)稱群智優(yōu)化算法,群智優(yōu)化算法中最知名的是粒子群算法[4]。本文采用典型的BP神經(jīng)網(wǎng)絡(luò)構(gòu)建音樂(lè)風(fēng)格分類模型,利用粒子群算法改進(jìn)BP神經(jīng)網(wǎng)絡(luò),確定神經(jīng)網(wǎng)絡(luò)最優(yōu)輸入權(quán)值與閾值,避免網(wǎng)絡(luò)隨機(jī)性,解決神經(jīng)網(wǎng)絡(luò)訓(xùn)練時(shí)間長(zhǎng)、陷入局部最優(yōu)解的缺點(diǎn),構(gòu)建智能的音樂(lè)風(fēng)格分類模型。
1? BP神經(jīng)網(wǎng)絡(luò)音樂(lè)風(fēng)格分類模型
1.1? 訓(xùn)練樣本處理
選擇流行音樂(lè)作為神經(jīng)網(wǎng)絡(luò)訓(xùn)練樣本數(shù)據(jù),涵蓋六種音樂(lè)風(fēng)格。根據(jù)音樂(lè)信號(hào)提取音樂(lè)的音質(zhì)、節(jié)奏、旋律特征,音質(zhì)特征體現(xiàn)音樂(lè)信號(hào)的紋理特性;節(jié)奏特征體現(xiàn)音樂(lè)信號(hào)時(shí)序性,反映音樂(lè)動(dòng)態(tài)韻律信息;旋律特征體現(xiàn)音樂(lè)曲調(diào)輪廓,描述音樂(lè)風(fēng)格基本情況。將上述特征作為神經(jīng)網(wǎng)絡(luò)訓(xùn)練的輸入樣本。
1.2? BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
BP神經(jīng)網(wǎng)絡(luò)是由輸入層、輸出層以及隱含層構(gòu)成的一種多層前饋神經(jīng)網(wǎng)絡(luò)[5]。BP神經(jīng)網(wǎng)絡(luò)中各層次神經(jīng)元之間全面連接,同一層次神經(jīng)元彼此無(wú)連接。BP神經(jīng)網(wǎng)絡(luò)基本網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。BP神經(jīng)網(wǎng)絡(luò)輸入向量數(shù)量用[n]表示,輸入向量用[X]表示,其中,[X=(X1,X2,…,Xn)]。BP神經(jīng)網(wǎng)絡(luò)輸出向量數(shù)量用[m]表示,輸出向量用[Y]表示,其中[Y=(Y1,Y2,…,Ym)]。
1.3? BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練步驟
BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練步驟如下:
1) 網(wǎng)絡(luò)初始化
明確BP神經(jīng)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),選擇[n],[d],[m]分別作為BP神經(jīng)網(wǎng)絡(luò)的輸入層節(jié)點(diǎn)數(shù)量、隱含層節(jié)點(diǎn)數(shù)量、輸出層節(jié)點(diǎn)數(shù)量,選擇Sigmoid函數(shù)作為各層節(jié)點(diǎn)間的傳遞函數(shù)[6]。設(shè)[Rij]表示輸入層和隱含層各神經(jīng)元間彼此連接權(quán)值,[Rjk]表示隱含層和輸出層各神經(jīng)元間彼此連接權(quán)值。
2) 隱含層輸出計(jì)算
隱含層輸出計(jì)算如式(1)所示:
3) 輸出層輸出計(jì)算
輸出層輸出計(jì)算如式(2)所示:
5) 目標(biāo)函數(shù)結(jié)果判斷
算法終止條件為:誤差函數(shù)值滿足預(yù)設(shè)精度要求或?qū)W習(xí)次數(shù)超出限定值。如不滿足終止條件,則繼續(xù)選擇樣本輸入和樣本對(duì)應(yīng)期望輸出,跳轉(zhuǎn)到步驟2),繼續(xù)訓(xùn)練BP神經(jīng)網(wǎng)絡(luò)直至誤差值達(dá)到標(biāo)準(zhǔn)或?qū)W習(xí)次數(shù)達(dá)到限定值[7]。
2? 基于粒子群算法的神經(jīng)網(wǎng)絡(luò)優(yōu)化
由于BP神經(jīng)網(wǎng)絡(luò)存在收斂時(shí)間較長(zhǎng)、容易陷入局部最優(yōu)解等缺點(diǎn),導(dǎo)致BP神經(jīng)網(wǎng)絡(luò)音樂(lè)風(fēng)格分類模型分類速率較慢,音樂(lè)風(fēng)格分類結(jié)果不準(zhǔn)確。為解決這一問(wèn)題,利用收斂速度快、精度高的粒子群算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的權(quán)值與閾值,確保權(quán)值與閾值的誤差最小,構(gòu)建精準(zhǔn)的神經(jīng)網(wǎng)絡(luò)音樂(lè)分類模型。
2.1? 粒子群算法
粒子群優(yōu)化(PSO)算法又稱為鳥(niǎo)群覓食算法,是一種進(jìn)化計(jì)算技術(shù),起源于鳥(niǎo)群捕食行為研究。受鳥(niǎo)類集群活動(dòng)規(guī)律啟發(fā),利用群體智能構(gòu)建簡(jiǎn)化模型[8]。PSO是一種基于迭代的優(yōu)化算法,采用迭代方式從隨機(jī)解中搜尋最優(yōu)解[9]。該方法的優(yōu)勢(shì)在于精度高、收斂速度快、容易實(shí)現(xiàn),無(wú)需調(diào)整大量參數(shù)[10]。PSO搜索空間上的粒子代表優(yōu)化問(wèn)題的候選解,每個(gè)粒子均存在一個(gè)適應(yīng)度值和一個(gè)速度,適應(yīng)度值由目標(biāo)函數(shù)決定,速度決定粒子移動(dòng)的方向和距離,依照最優(yōu)粒子所處位置和粒子自身所在位置,粒子在搜索空間智能調(diào)節(jié)速度和適應(yīng)度值,直至達(dá)到最終要求[11]。
粒子速度和位置在迭代中的更新方式見(jiàn)式(5)、式(6):
式中:[?],[ε]分別表示慣性權(quán)重和約束因子;[c1],[c2]分別表示粒子跟蹤自己的權(quán)重系數(shù)、粒子跟蹤群體最優(yōu)值權(quán)重系數(shù);[γ],[ψ]表示在[0,1]范圍內(nèi)均勻分布的隨機(jī)數(shù);[UkiH],[Uk+iiH]表示更新前后粒子速度;[LkiH],[Lk+iiH]表示更新前后粒子位置;[PkiH],[PkgH]分別表示個(gè)體極值、全局極值。
2.2? 基于PSO的BP神經(jīng)網(wǎng)絡(luò)優(yōu)化
BP神經(jīng)網(wǎng)絡(luò)在實(shí)際運(yùn)用過(guò)程中容易出現(xiàn)收斂時(shí)間較長(zhǎng)、陷入局部最優(yōu)解等情況,為彌補(bǔ)該缺陷,采用PSO算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)權(quán)值和閾值[12],具體實(shí)現(xiàn)步驟如下:
步驟1:還原PSO算法種群數(shù)量、粒子位置、粒子速度取值區(qū)間、學(xué)習(xí)因子、慣性權(quán)重以及最大迭代次數(shù)等參數(shù)。
步驟2:依照輸入、輸出信號(hào)數(shù)量構(gòu)建BP神經(jīng)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),初始化處理神經(jīng)網(wǎng)絡(luò)權(quán)值和閾值長(zhǎng)度[13]。
步驟3:編碼BP神經(jīng)網(wǎng)絡(luò)的權(quán)值和閾值,獲取PSO算法初始種群。
步驟4:采用PSO優(yōu)化BP神經(jīng)網(wǎng)絡(luò)尋優(yōu)迭代,獲取各組粒子的適應(yīng)度值,通過(guò)適應(yīng)度值明確粒子極值和粒子群極值,粒子歷史最佳位置為粒子尋優(yōu)迭代過(guò)程中的最佳位置[14]。
步驟5:通過(guò)式(5)、式(6)更新處理迭代粒子的速度和位置。
步驟6:判斷結(jié)束條件。若適應(yīng)度值符合預(yù)設(shè)精度或誤差要求、適應(yīng)度值達(dá)到最大迭代次數(shù),尋優(yōu)迭代停止;此時(shí)粒子所在位置為所求目標(biāo)的最優(yōu)解,解碼最優(yōu)解得到BP神經(jīng)網(wǎng)絡(luò)的最優(yōu)權(quán)值和閾值[15]。若不滿足結(jié)束條件,跳轉(zhuǎn)到步驟4。
基于PSO優(yōu)化BP神經(jīng)網(wǎng)絡(luò)流程如圖2所示。
基于PSO優(yōu)化后的BP神經(jīng)網(wǎng)絡(luò)權(quán)值和閾值構(gòu)建BP神經(jīng)網(wǎng)絡(luò),輸入涵蓋音質(zhì)、節(jié)奏、旋律特征的音樂(lè)樣本完成神經(jīng)網(wǎng)絡(luò)訓(xùn)練,構(gòu)建基于PSO優(yōu)化的神經(jīng)網(wǎng)絡(luò)音樂(lè)風(fēng)格分類模型,即基于群智優(yōu)化神經(jīng)網(wǎng)絡(luò)的音樂(lè)風(fēng)格分類模型。
3? 音樂(lè)分類模型驗(yàn)證
音樂(lè)風(fēng)格分類模型訓(xùn)練樣本包括六種音樂(lè)風(fēng)格,共計(jì)300首音樂(lè),基于該數(shù)據(jù)建立基于群智優(yōu)化神經(jīng)網(wǎng)絡(luò)的音樂(lè)風(fēng)格分類模型。模型訓(xùn)練結(jié)束后,選擇60首音樂(lè)作為測(cè)試樣本,展開(kāi)音樂(lè)風(fēng)格分類測(cè)試。
圖3? 最優(yōu)個(gè)體適應(yīng)度值趨勢(shì)
從圖3可以看出,粒子群算法優(yōu)化后神經(jīng)網(wǎng)絡(luò)迭代48次后收斂,收斂后曲線趨于平穩(wěn);而優(yōu)化前神經(jīng)網(wǎng)絡(luò)需迭代62次完成收斂,收斂之后產(chǎn)生短時(shí)期波動(dòng)。由此可知,采用粒子群算法優(yōu)化后神經(jīng)網(wǎng)絡(luò)適應(yīng)度值收斂速度較快、運(yùn)行穩(wěn)定。
本文分類模型得到的音樂(lè)風(fēng)格分類結(jié)果與實(shí)際結(jié)果對(duì)比情況如圖4所示,限于篇幅僅詳細(xì)列舉其中12首音樂(lè)分類結(jié)果與分類特征情況,如表1所示。
圖4中,本文模型大部分分類結(jié)果與實(shí)際分類結(jié)果一致,僅在搖滾音樂(lè)中錯(cuò)誤識(shí)別一首音樂(lè)風(fēng)格,由此可知,本文模型分類準(zhǔn)確率高達(dá)98.3%,可靠性強(qiáng)。
音樂(lè)風(fēng)格分類結(jié)果顯示,本文音樂(lè)模型分類結(jié)果不僅可以展示音樂(lè)風(fēng)格,還能體現(xiàn)音樂(lè)的音質(zhì)、節(jié)奏、旋律特征,為全面了解音樂(lè)風(fēng)格提供有力的參考依據(jù)。
4? 結(jié)? 論
傳統(tǒng)神經(jīng)網(wǎng)絡(luò)權(quán)值和閾值隨機(jī)性容易造成網(wǎng)絡(luò)訓(xùn)練收斂時(shí)間長(zhǎng)、陷于局部最優(yōu)解,本文采用群智優(yōu)化算法中的粒子群優(yōu)化神經(jīng)網(wǎng)絡(luò)的權(quán)值與閾值,解決了傳統(tǒng)神經(jīng)網(wǎng)絡(luò)分類模型的缺陷,由此構(gòu)建基于群智優(yōu)化神經(jīng)網(wǎng)絡(luò)分類模型,并將其應(yīng)用于音樂(lè)風(fēng)格分類。但受經(jīng)驗(yàn)水平等因素限制,本文模型中神經(jīng)網(wǎng)絡(luò)泛化能力有待改善,今后的研究可充分結(jié)合其他高性能算法,改善神經(jīng)網(wǎng)絡(luò)的泛化能力,進(jìn)一步提高模型分類性能,達(dá)到更好的音樂(lè)風(fēng)格分類效果。
參考文獻(xiàn)
[1] 胡昭華,余媛媛.深度卷積神經(jīng)網(wǎng)絡(luò)在音樂(lè)風(fēng)格識(shí)別中的應(yīng)用[J].小型微型計(jì)算機(jī)系統(tǒng),2018,39(9):1932?1936.
[2] 郁偉生,鄧偉,張瑤,等.基于時(shí)間序列的音樂(lè)流行趨勢(shì)預(yù)測(cè)研究[J].計(jì)算機(jī)工程與科學(xué),2018,40(9):1703?1709.
[3] 邵曦,姚磊.基于SVM主動(dòng)學(xué)習(xí)的音樂(lè)分類[J].計(jì)算機(jī)工程與應(yīng)用,2016,52(6):127?133.
[4] 陳月云,簡(jiǎn)榮靈,趙庸旭.基于快速群體智能算法的毫米波天線設(shè)計(jì)[J].電子與信息學(xué)報(bào),2018,40(2):493?499.
[5] 張強(qiáng),肖剛,藍(lán)屹群.基于BP神經(jīng)網(wǎng)絡(luò)多類分類的湍流目標(biāo)探測(cè)[J].系統(tǒng)工程與電子技術(shù),2018,40(7):75?79.
[6] 田靜,邢艷秋,姚松濤,等.基于元胞自動(dòng)機(jī)和BP神經(jīng)網(wǎng)絡(luò)算法的Landsat?TM遙感影像森林類型分類比較[J].林業(yè)科學(xué),2017,53(2):26?34.
[7] 曹兆偉,林寧,徐文斌,等.基于BP神經(jīng)網(wǎng)絡(luò)的東嶼島遙感影像分類[J].海洋通報(bào),2016,35(5):587?593.
[8] 馬馳,趙亮,梅雪松,等.基于粒子群算法與BP網(wǎng)絡(luò)的機(jī)床主軸熱誤差建模[J].上海交通大學(xué)學(xué)報(bào),2016,50(5):686?695.
[9] 陳嘯,王紅英,孔丹丹,等.基于粒子群參數(shù)優(yōu)化和BP神經(jīng)網(wǎng)絡(luò)的顆粒飼料質(zhì)量預(yù)測(cè)模型[J].農(nóng)業(yè)工程學(xué)報(bào),2016,32(14):306?314.
[10] 王志芳,王書(shū)濤,王貴川.粒子群優(yōu)化BP神經(jīng)網(wǎng)絡(luò)在甲烷檢測(cè)中的應(yīng)用[J].光子學(xué)報(bào),2019,48(4):141?148.
[11] 吳金文,王玉鵬,周海波.采用量子粒子群算法耦合差分進(jìn)化算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的銑床熱誤差預(yù)測(cè)研究[J]. 制造技術(shù)與機(jī)床,2018(6):114?118.
[12] 游丹丹,陳福集.基于改進(jìn)粒子群和BP神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)輿情預(yù)測(cè)研究[J].情報(bào)雜志,2016,35(8):156?161.
[13] 張璐,雷雪梅.基于粒子群優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的養(yǎng)腸胃菜譜判定[J].計(jì)算機(jī)科學(xué),2016,43(z2):63?66.
[14] 劉加存,梅其祥,楊東紅.基于盲動(dòng)粒子群頻率分解的極速學(xué)習(xí)機(jī)神經(jīng)網(wǎng)絡(luò)建模[J].信息與控制,2017,46(1):60?64.
[15] 林宇鋒,鄧洪敏,史興宇.基于新的改進(jìn)粒子群算法的BP神經(jīng)網(wǎng)絡(luò)在擬合非線性函數(shù)中的應(yīng)用[J].計(jì)算機(jī)科學(xué),2017,44(11A):51?54.