何宇洋,李媛
(北京信息科技大學,北京,100192 )
通過研究一些相關(guān)文獻:于茗川分析中國流行音樂流行的因素中提出了與音樂本身相關(guān)的歌詞,曲調(diào),歌手與演唱對音樂流行的影響[1]除此之外,張莉莉則從大眾文化研究視野,提出市場營銷內(nèi)容,包括一首音樂制作出來,從作詞者,作曲者,演唱者,唱片公司等等,都會賣力宣傳,引導輿論的方向來分洗音樂的流行程度[2],這些都是流行音樂影響的主要因素,然而他們只是根據(jù)大量的信息進行的定性的總結(jié)與歸納,并不能對一首音樂是否流行做一個預判,并沒有一個衡量標準。田向弘,楊曉云等人還提出了現(xiàn)代科技對音樂的影響[3]。
他們提出的觀點很好的展現(xiàn)了科技對音樂的影響,因此,模型的建立也是同這個角度(基于科技)更深入的探究對音樂的影響,但他們的觀點美中不足的地方還是信息量大,信息數(shù)據(jù)不能量化。
綜上所述,發(fā)現(xiàn)當前研究音樂的影響的問題:信息數(shù)據(jù)無法量化;信息量較大;量化無法預測。
(1)信息數(shù)據(jù)無法量化:音樂的形式和風格(即特征)在人類歷史上一直在變化、適應和演變。由于科技的進步,近百年來的音樂有了很好的文獻記載,研究和記錄了音樂的特征[4],如節(jié)奏、調(diào)子、流行度等,這使得利用數(shù)學工具研究音樂成為可能。這些數(shù)據(jù)的記錄便解決了此次信息量化的問題。(2)信息量大,可能會導致它們線性相關(guān)性不強。(3)量化無法預測:這倆個問題剛好滿足于BP神經(jīng)網(wǎng)絡的使用條件。
BP神經(jīng)網(wǎng)絡有著良好的非線性映射能力(三層的神經(jīng)網(wǎng)絡就能夠以任意精度逼近任何非線性連續(xù)函數(shù))以及自學習和自適應能力(能夠通過學習自動提取輸出、輸出數(shù)據(jù)間的“合理規(guī)則”,適合處理較大的數(shù)據(jù)量)并且通過這些學習建立相應的模型,對未來數(shù)據(jù)進行預測。除此之外,它的泛化能力和容錯能力也高于其他的神經(jīng)網(wǎng)絡[5]。
因此,采用BP神經(jīng)網(wǎng)絡方法來研究較為復雜的音樂影響因素這是最優(yōu)解,用足夠的數(shù)據(jù)對其進行適當?shù)恼{(diào)整和訓練,通過神經(jīng)網(wǎng)絡的訓練,來建立一個影響音樂流行程度的模型[6]。除此之外,BP神經(jīng)網(wǎng)絡模型的功能不僅限于預測一個特征,而且只要它還可以預測音樂風格變化的趨勢[7],或任何期望的音樂特征。
美國研究人員調(diào)查了近百年來(1921年-2020年),音樂創(chuàng)作者們創(chuàng)造的音樂作品,收集其音樂作品的各種特征,并且給每一個音樂作品音樂的受歡迎程度。數(shù)據(jù)包含過去90年中5,854位美國音樂流行樂壇有影響力藝術(shù)家的相關(guān)信息,同時收集其音樂創(chuàng)作影響者和關(guān)注者,以及98,340首歌曲中的每首的創(chuàng)作者的名字和編號。
通過分析歌曲的特點,提煉出15個特征變化量,主要內(nèi)容如表1所示。
表1 音樂的特征量
通過對全部變量數(shù)據(jù)(共5854條)的提取每一個特征值,進行數(shù)據(jù)統(tǒng)計分析[8]。
每個變量的極值較?。ㄏ鄬τ谧兞勘旧恚?。波動性相對其他數(shù)據(jù)較低(即方差小)。篩選出了12個變量作為流行程度的影響。主要包括:舞蹈性,能量,價態(tài),節(jié)奏,響度,調(diào)式,技巧,不插電樂器,樂器,活力度,歌詞,時長。采用神經(jīng)網(wǎng)絡能夠?qū)⒁恍┈F(xiàn)象量化,揭示其背后的發(fā)展規(guī)律。
BP網(wǎng)絡是一種多層前饋神經(jīng)網(wǎng)絡。它的名字來自網(wǎng)絡訓練中的反向傳播算法。調(diào)整網(wǎng)絡權(quán)重的訓練算法。同時,BP網(wǎng)絡是具有三層或更多層神經(jīng)元的神經(jīng)網(wǎng)絡(圖1),包括輸入層,中間層(隱藏層)和輸出層。上層和下層完全連接,同一層中的神經(jīng)元之間沒有連接。輸入層神經(jīng)元和隱藏層神經(jīng)元是網(wǎng)絡的權(quán)重,每個神經(jīng)元都有輸入,并向一個或多個其他神經(jīng)元產(chǎn)生單個輸出。接收外部數(shù)據(jù)的層是輸入層。產(chǎn)生最終結(jié)果的層是輸出層。輸入層和輸出層之間是隱藏層??赡苡幸粋€或多個隱藏層,或者根本沒有隱藏層。隱藏層或輸出層中的任何神經(jīng)元都會集成來自上一層中所有神經(jīng)元的信息,通常會向集成信息添加閾值,然后將集成信息用作該層中神經(jīng)元的輸入[9]。
圖1 BP神經(jīng)網(wǎng)路基本原理
(1)具體步驟如下[10]:
①設(shè)定網(wǎng)絡結(jié)構(gòu)、輸入層、隱藏層、輸出層節(jié)點個數(shù),以及學習率、最大學習周期等數(shù),設(shè)定l=1。
②隨機亂數(shù)生成初始權(quán)重Wji與Wkj,選定節(jié)點輸出轉(zhuǎn)換的激活函數(shù)。
多個值x1,x2,x3,輸入相應的權(quán)重w1,w2,w3。輸入值x和權(quán)重w乘以并求和,因此有一個輸出y。
③隨機選取一組訓練樣本。包括輸入層向量Xk,輸出層向量dk。
④計算隱藏層每個節(jié)點的輸出值Zj,以及輸出層每個節(jié)點的輸出值yk。
⑤計算誤差值Error。
⑥計算輸出層的差距量,隱藏層的差距量。
⑦誤差值若超過20%則重新調(diào)整參數(shù)和比對數(shù)據(jù)。
(2)參數(shù)設(shè)定
經(jīng)過多次的數(shù)據(jù)訓練后,可以達到了設(shè)定的誤差。訓練獲得的其他信息為:訓練次數(shù)5000,目標誤差0.0000001,最大誤差0.0557501,最小誤差0.0000000,最小誤差學習速率0.05。訓練結(jié)果顯示此模型的收斂速度較快,誤差較小。
(3)神經(jīng)元數(shù)目的選擇
為確定隱藏層神經(jīng)元數(shù)目,選擇計算的公式為:
其中x為輸入層,z為輸出層,y為隱藏層。代入數(shù)據(jù),得y=5。
此神經(jīng)網(wǎng)絡共5層,輸入層為1,有12個神經(jīng)元(對應著12個變量),輸出層為1,有1個神經(jīng)元(對應著1個變量)。又因為此次輸入層與輸出層之間神經(jīng)元的數(shù)目差距過大,所以選擇了3個隱含層依次過度,神經(jīng)元個數(shù)(以5為中點)依次選為8,6,1。
(4)函數(shù)的選擇
網(wǎng)絡訓練函數(shù)為tringlm(trainlm是指L-M優(yōu)化算法,其優(yōu)點為速度快,精度高),網(wǎng)絡性能函數(shù)為mse(均方誤差,用于檢測模型預測值與真實值的偏差)。
因為輸入層變量大小的不同而無法比較和應用,所以運用激勵函數(shù)(歸一化)進行處理。
即將各個變量的范圍控制在了(0,1)區(qū)間內(nèi)。隱藏層的激活函數(shù)設(shè)置為tansig,purelin函數(shù)。
此次應用激活函數(shù)的公式為:
預測本質(zhì)是用歷史數(shù)據(jù)來預測未來可能發(fā)生的行為或現(xiàn)象。但是,模型的好壞,是在預測工作中,需要根據(jù)估計某變量未來的可能性的值,要驗證預測結(jié)果的正確性,只能待其發(fā)生后再觀察以驗證。
但是,此次對于音樂的流行程度,選擇采用數(shù)據(jù)的一部分是未參加訓練的數(shù)據(jù)作為預測數(shù)據(jù),并以其真實值作為結(jié)果來驗證模型的準確。
預測數(shù)據(jù)采用中抽取100條進行模擬預測,最終結(jié)果如圖所示:其中紅色代表實際值,分布范圍為83到100,藍色部分代表預測值,分布范圍為70到96。
從圖2的重合程度來看,BP神經(jīng)網(wǎng)絡預測值與實際值基本吻合。運用方程公式(2)計算最終結(jié)果的誤差。
圖2 預測值和真實值的比對
在下面的圖3中畫出了最終結(jié)果誤差的分布,誤差范圍在-0.2到0.15之間(通常認為(-0.2,0.2)的誤差范圍是良好結(jié)果的指示)
圖3 誤差范圍
對幾個波動稍大(誤差稍大)的數(shù)據(jù)進行合理分析(即討論除所給數(shù)據(jù)的變量之外的影響)如受戰(zhàn)爭,政治,經(jīng)濟等因素影響,某些作品受人們喜愛,而某些作品會被封殺等等。
經(jīng)驗證,采用BP神經(jīng)網(wǎng)絡的方法可以有效且高效的實現(xiàn)對音樂特征的分析及預測。
以美國近百年(1921年-2020年)歷史數(shù)據(jù)為樣本建立時間序列訓練樣本,進行訓練與預測,獲得以下研究成果:(1)采用BP神經(jīng)網(wǎng)絡方法預測,預測標準誤差控制較小,預測效果較好。(2)結(jié)果分析,舞蹈性對音樂的流行程度起到主要的作用。(3)結(jié)果顯示,再創(chuàng)建音樂時,采用本模型,能夠很好的預測音樂的流行程度。