李 哲 陳 宇 張 博 陳 亮 郭 濱
(長春理工大學電子信息工程學院 吉林 長春 130022)
隨著社會現(xiàn)代化的發(fā)展,生活節(jié)奏加快給人們帶來焦慮情緒。對于影響情緒的方式而言,音樂是非入侵的有效方法,其作用在臨床應(yīng)用上也得到了認可,研究表明音樂能夠有效影響人的情緒[1]。
傳統(tǒng)生成音樂的方法有概率模型[2],由于音符被認為是無序的,重構(gòu)音樂時忽略上下文的連接?,F(xiàn)已有更多算法用于重構(gòu)音樂,包括馬爾可夫模型和遺傳算法[3]。馬爾可夫模型重構(gòu)音樂時處理長時間序列會隨著時間增加而衰減,遺傳算法每次迭代延遲較高。在神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)上,音樂重構(gòu)在深度學習上有更好的發(fā)展。重構(gòu)音樂序列過程可以映射到深度學習算法上[4]。文獻[5]為了解決循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)生成長時間序列時的梯度消失問題,利用長短期記憶循環(huán)神經(jīng)網(wǎng)絡(luò)(LSTM)生成鼓的節(jié)奏序列。通過訓練LSTM網(wǎng)絡(luò)可以生成指定風格的音樂,如Hutchings等[6]通過訓練LSTM網(wǎng)絡(luò)生成爵士樂,文獻[7]基于BiLSTM和NN網(wǎng)絡(luò)生成巴赫風格的曲子。但以上研究沒有提出基于情感背景重構(gòu)影響情緒的音樂。
臨床上測評焦慮程度多采用漢密爾頓焦慮量表(HAMA)和焦慮自評量表(SAS)。文獻[8]采用HAMA對66名重度抑郁焦慮合并癥患者進行心理評估,以分析焦慮情緒與癥狀的因果關(guān)系。SAS應(yīng)用于焦慮情緒療效評估的效度信度高,適用于廣泛人群測評焦慮程度[9]。
基于以上研究,本文提出重構(gòu)減壓音樂模型。對多軌道音樂進行減壓特征提取,通過訓練LSTM網(wǎng)絡(luò)重構(gòu)音樂,并分析重構(gòu)的音樂質(zhì)量,結(jié)合HAMA和SAS設(shè)計合理化減壓實驗,分析重構(gòu)音樂的減壓效果。
頻譜質(zhì)心是音樂在頻域上的特征,通過快速傅里葉變換(FFT)由音頻轉(zhuǎn)化到頻域上分析音樂信號頻譜包絡(luò)的質(zhì)心。頻譜質(zhì)心可以用來衡量樂曲中所含高頻分量和低頻分量的比重。頻譜質(zhì)心較低時,樂曲有較多低頻內(nèi)容,樂曲呈現(xiàn)的低沉陰郁品質(zhì),頻譜質(zhì)心較高時,樂曲有更多明亮舒緩的高頻內(nèi)容。頻譜質(zhì)心計算公式如下:
(1)
式中:N為幀長;k表示頻率下標;Si(k)代表在第i幀信號位置的快速傅里葉在k處的幅度值。
自動編碼器AE(Auto Enconer)是無監(jiān)督學習的神經(jīng)網(wǎng)絡(luò)。AE的構(gòu)建是基于反向傳播算法,有輸入層,隱藏層和輸出層。輸入層與輸出層的神經(jīng)元數(shù)量相同,隱藏層的神經(jīng)元數(shù)少于輸入層的神經(jīng)元數(shù)。如圖1所示,AE分為編碼器(Encoder)和解碼器(Decoder)兩部分,x代表原始輸入數(shù)據(jù),h代表表征,r代表輸出數(shù)據(jù)。編碼器是輸入層到隱藏層的數(shù)據(jù)處理過程,使原始數(shù)據(jù)x被迫降維,壓縮成潛在的維度表征h,并能學習到樣本數(shù)據(jù)的特征。解碼器的過程是隱藏層到輸出層,由于隱藏層的維數(shù)少于輸出層的維數(shù),輸出數(shù)據(jù)r通過壓縮數(shù)據(jù)的表征重新構(gòu)造得到。此過程處理多維訓練數(shù)據(jù),提取更高的潛在特征。
圖1 自編碼器結(jié)構(gòu)圖
編碼器的函數(shù)表達式如下:
h=f(x)
(2)
編碼過程激活函數(shù)使用sigmoid函數(shù),表達式如下:
(3)
解碼過程函數(shù)表達式如下:
r=g(h)=g(f(x))
(4)
用于數(shù)據(jù)重構(gòu)的誤差函數(shù)為均方誤差函數(shù)(MSE),表達式如下:
(5)
代價函數(shù)表達式如下:
(6)
式中:N為訓練樣本的數(shù)量;xi為輸入向量;ri為自動編碼器網(wǎng)絡(luò)重構(gòu)的輸出結(jié)果。訓練自動編碼器網(wǎng)絡(luò)的目的是學習輸入向量xi與輸出向量ri相似的關(guān)系,為了減小輸出與原始數(shù)據(jù)的誤差,訓練代價函數(shù)使其值減小。
棧式自編碼器(Stacked Auto Encoder,SAE)是堆疊多個自編碼器構(gòu)成[10],又稱深度自編碼器。本研究使用的棧式自編碼器結(jié)構(gòu)是由兩個自編碼器嵌套組成,如圖2所示。隱藏層的神經(jīng)元數(shù)目是逐層減少的,前一層的輸出是下一層的輸入,通過深層壓縮,提取潛在特征,二階特征為此網(wǎng)絡(luò)學習到和弦與旋律的更高維度的特征。
圖2 棧式自編碼器網(wǎng)絡(luò)結(jié)構(gòu)圖
循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)是閉合反饋神經(jīng)網(wǎng)絡(luò),利用歷史信息通過隱藏層的網(wǎng)絡(luò)結(jié)構(gòu),影響當前處理的數(shù)據(jù)。但訓練長序列的重構(gòu)比較困難,主要原因在于向前傳播和反向傳播都會乘上多次隱藏層的參數(shù)。隱藏層參數(shù)小于1,導致前向傳播中小于1的值乘上多次時減少對輸出的影響,反向傳播時會導致梯度彌散問題。在傳統(tǒng)RNN的基礎(chǔ)上,Hochreiter等[11]提出了長短期記憶循環(huán)神經(jīng)網(wǎng)絡(luò)(LSTM)解決RNN的梯度消失,改善長序列生成問題。
LSTM設(shè)計目的是通過使用常數(shù)誤差流(CEC)來獲得長時間的恒定誤差流。LSTM通過“門”的結(jié)構(gòu)遺忘和增強信息到神經(jīng)元的能力,來記憶長期的信息,“門”是一種讓信息選擇性通過的方法。LSTM中歷史信息存儲在存儲單元,更新和處理數(shù)據(jù)通過輸入門、遺忘門和輸出門控制。LSTM單元結(jié)構(gòu)如圖3所示。
圖3 LSTM單元結(jié)構(gòu)圖
時間步長t下的輸入值為xt,隱藏狀態(tài)值為ht,w為加權(quán)矩陣,b為偏置向量,σ為sigmoid激活函數(shù)。LSTM向前傳播具體計算過程如下。
遺忘門的輸入通過sigmoid函數(shù),使其輸出的值在0~1之間,1表示信息完全保留,0表示信息完全遺忘。遺忘門可以選擇性遺忘神經(jīng)元狀態(tài)中無意義信息,控制歷史信息對當前狀態(tài)的影響。遺忘門計算公式如下:
ft=σ(wxfxt+whfht-1+bf)
(7)
輸入門控制對當前神經(jīng)元狀態(tài)的更新,計算公式如下:
it=σ(wxixt+whiht-1+bi)
(8)
輸出門控制儲存單元的狀態(tài)值的輸出,計算公式如下:
ot=σ(wxoxt+whoht-1+bo)
(9)
t時刻候選記憶值:
zt=σ(wxzxt+whzht-1+bz)
(10)
t時刻記憶單元值:
ct=it×zt+ft×ct-1
(11)
t時刻輸出值:
ht=ot×tanh(ct)
(12)
下載480首舒緩的MIDI(Musical Instrument Digital Interface)格式音樂,MIDI格式的音樂文件攜帶數(shù)字化音樂信息,每個軌道表示一種樂器,準確記錄每個樂器的演奏過程。由于節(jié)奏和調(diào)式影響音樂對情緒的引導,篩選出4/4拍慢節(jié)奏420首音樂,并轉(zhuǎn)化成C大調(diào)音樂。將MIDI格式音樂轉(zhuǎn)化為WAV格式的音頻,音頻通過快速傅里葉變換轉(zhuǎn)換到頻域,計算每首音樂的頻譜質(zhì)心。篩選出頻譜質(zhì)心高于平均水平的音樂,共360首音樂作為訓練樣本。
將頻譜質(zhì)心較高的360首音樂轉(zhuǎn)化MIDI格式,每首音樂截取成90 s的音樂序列。在90 s的MIDI格式音樂中只保留鋼琴、吉他、小提琴、短笛四個軌道,刪除其他樂器所占的軌道。MIDI為各軌道的樂器定義出128個音符,編號為0~127,中央C編號為60。對每個音符演奏的力度定義編號為0~127。采用Python的music21包讀取MIDI音樂文件的音符與和弦信息保存文本格式,通過One-hot編碼生成128維向量作為訓練數(shù)據(jù)。
棧式自編碼器用于提取頻譜質(zhì)心較高的音樂樣本,提取各個樂器的和弦與旋律的潛在特征稱為減壓特征。前一層的輸出即為下一層的輸入,逐層訓練之后再進行反向訓練。通過已有數(shù)據(jù)對棧式自編碼器進行預(yù)訓練,在Tensorflow框架中構(gòu)建棧式自編碼網(wǎng)絡(luò),設(shè)置棧式自編碼器輸入與輸出神經(jīng)元數(shù)量相等,輸出數(shù)據(jù)的維度與輸入數(shù)據(jù)相同為128維,一階特征層設(shè)置88維,二階特征層設(shè)置64維。由棧式自編碼器提取二階特征層的數(shù)據(jù)即為潛在的減壓音樂特征向量,用x
將音樂特征向量x
圖4 完整音樂重構(gòu)模型圖
LSTM網(wǎng)絡(luò)的隱藏層層數(shù)分別選擇2、3、4層進行訓練,LSTM網(wǎng)絡(luò)層數(shù)等于隱藏層層數(shù),迭代次數(shù)對訓練結(jié)果的影響如圖5所示,其中橫坐標為迭代次數(shù),縱坐標為損失函數(shù)的值。
圖5 不同層LSTM網(wǎng)絡(luò)的損失值
LSTM網(wǎng)絡(luò)層數(shù)設(shè)置過多時,梯度下降明顯速率緩慢,3層LSTM網(wǎng)絡(luò)收斂效果較好。重構(gòu)音樂模型的生成音樂序列部分設(shè)置3層的LSTM網(wǎng)絡(luò)。
3.4.1重構(gòu)音樂的和諧度
重構(gòu)音樂采用單獨LSTM網(wǎng)絡(luò)和加入SAE結(jié)構(gòu)的LSTM網(wǎng)絡(luò)(以下稱SAE-LSTM網(wǎng)絡(luò))分別訓練,設(shè)置產(chǎn)生相同的隨機種子用于兩種模型重構(gòu)音樂,分別重構(gòu)100首音樂作為音樂質(zhì)量分析。
為了評定重構(gòu)音樂的多軌道之間的和旋配合,對生成的音樂進行和諧度分析,軌道之間演奏相似的和旋則說明音樂和諧。和諧度計算公式為:
(12)
表1 重構(gòu)音樂和諧度平均值
SAE-LSTM網(wǎng)絡(luò)重構(gòu)音樂較單獨LSTM網(wǎng)絡(luò)重構(gòu)音樂的和諧度更高,結(jié)果說明SAE對音樂特征的提取可使LSTM網(wǎng)絡(luò)在多軌道音樂上學習效果更好,重構(gòu)的樂曲中各樂器之間搭配更和諧。
3.4.2重構(gòu)音樂的音符分布均方誤差
評估重構(gòu)音樂模型學習樂器特性的效果,通過音符分布均方誤差來衡量。樂器特性含義為每個樂器有獨自分布的音域,例如鋼琴有88個琴鍵,音域為A2-c5,而小提琴多演奏高音,音域為g-c4。音符分布均方誤差越小說明重構(gòu)音樂的模型學習效果好,計算公式為:
(13)
表2 重構(gòu)音樂音符分布均方誤差 (×10-4)
結(jié)果表明,SAE-LSTM網(wǎng)絡(luò)重構(gòu)音樂的音符分布均方誤差較小,SAE對音樂特征的提取有效提高LSTM網(wǎng)絡(luò)學習不同樂器的特性,從而提高重構(gòu)音樂的質(zhì)量。
3.5.1實驗條件及對象
招募本校由自感由壓力引發(fā)焦慮狀態(tài)的志愿者30人,年齡20~24歲,均聽力正常且受過音樂訓練,告知實驗內(nèi)容均同意作為受試者參加減壓實驗。減壓實驗在心理治療室中進行,保持室內(nèi)安靜和整潔并設(shè)置音響、耳機設(shè)備。
3.5.2測評指標
由于壓力引發(fā)焦慮癥狀,通過受試者測評焦慮自評量表(SAS)和漢密爾頓焦慮量表(HAMA)的方式判斷受試者的減壓情況。SAS含有20個項目測評,每個項目有4個程度的選項,選項分值為1分、2分、3分、4分。計算測評總分數(shù),總分在50以下表示沒有焦慮癥狀,50~59為輕度焦慮,60~69為中度焦慮,69分以上為重度焦慮,分數(shù)越高代表焦慮程度越顯著。HAMA包含14個項目,每個項目為0~4分五級評分法,總得分7分以下表示無焦慮,大于7分代表有明顯焦慮,大于21分為嚴重焦慮。情緒越焦慮,測評出的分數(shù)越高。
3.5.3實驗過程
通過計算頻譜質(zhì)心,由SAE提取減壓特征輸入的LSTM網(wǎng)絡(luò)重構(gòu)100首音樂,音樂總播放時長為342分鐘52秒。30名受試者依次單獨進入心理治療室中,測評SAS與HAMA并記錄得分情況。受試者被引導閉眼,坐于沙發(fā)以舒適姿勢隨機聆聽重構(gòu)的減壓音樂,播放時長為十分鐘。間歇三分鐘,再次隨機播放減壓音樂十分鐘。受試者聆聽結(jié)束后,在無人干預(yù)的情況下再次測評SAS和HAMA,并記錄得分情況。
3.5.4重構(gòu)音樂減壓效果分析
30名受試者依次參與完成上述實驗過程,為了提高實驗結(jié)果的效信度,記錄減壓音樂干預(yù)焦慮情緒前后的SAS與HAMA得分情況并分析,如表3所示。其中N代表參加實驗的受試者人數(shù)。受試者在實驗開始之前焦慮情緒均為顯著,在聆聽減壓音樂之后焦慮情緒得到舒緩,根據(jù)每個人對音樂感知不同,減壓效果也有所差異。得分情況表明該方法重構(gòu)的音樂有效調(diào)節(jié)焦慮情緒,達到減壓效果。
表3 減壓音樂干預(yù)前后的SAS與HAMA得分
本研究提出多軌道減壓音樂特征的提取方法,構(gòu)建重構(gòu)減壓音樂模型。計算樣本音樂的頻譜質(zhì)心,通過棧式自編碼器對頻譜質(zhì)心較高的音樂進行特征高維度壓縮,提取的音樂特征為減壓特征,將特征輸入LSTM網(wǎng)絡(luò)訓練重構(gòu)減壓音樂序列。在研究中發(fā)現(xiàn)棧式自編碼器提高了LSTM網(wǎng)絡(luò)對音樂特性與和弦搭配的學習,重構(gòu)的多軌道音樂和諧度更高。設(shè)計減壓實驗,實驗結(jié)果表明本文方法重構(gòu)的音樂序列有減壓效果。