孫承愛 張馨俸 田剛
摘? 要: 我們提出了一個新的方法—基于獎勵值RNN的優(yōu)勢演員-評論家算法(R-A2C)來生成音樂。我們的模型首先使用一個帶有注意力機制的RNN模型(Recurrent neural network)預處理數據并將此作為先驗策略,然后我們將包含先驗策略和用戶反饋信息的獎勵值RNN增加到A2C(Advantage Actor-Critic)模型中,使得任意用戶給定的約束與循環(huán)網絡的風格相結合,以此來鼓勵演員生成更符合用戶需求的音樂,實驗表明我們的模型取得了預期的效果。
關鍵詞: 音樂生成,演員-評論家,獎勵值函數,用戶反饋
中圖分類號: TP391? ? 文獻標識碼: A? ? DOI:10.3969/j.issn.1003-6970.2019.07.017
【Abstract】: We present a novel method—Advantage Actor-Critic with Reward RNN(R-A2C)for generating music. Our model first uses a RNN with attention mechanism to pre-trained the data and use this as a prior strategy. Then we add the reward value RNN containing the a prior strategy and user feedback information to the A2C model, to encourage the actors to generate music that better suits the user's needs.Experimental results have shown that our model has achieved the desired results.
【Key words】: Music generation; Actor-Critic; Reward function; User feedback
0? 引言
近年來,生成音樂一直是一個非?;钴S且具有挑戰(zhàn)性的領域。傳統(tǒng)的方法中Van Der Merwe[1]采用馬爾科夫模型生成音樂,成功地模擬不同聲音的音調之間的關系。
在機器學習領域中,越來越多的人通過研究神經網絡模型生成音樂,Kang等人[2]采用神經網絡算法[3-5]對音樂自動評價系統(tǒng)進行了研究,嘗試將旋律與鼓聲結合去生成音樂。楚[6]使用一個分層的RNN(循環(huán)神經網絡)模型,以此用來生成多軌道(旋律、和弦和鼓)流行音樂。
雖然RNN模型在生成方面取得了很大的進展,但是在生成音樂方面,由于其生成的旋律和主題比較隨機,很難契合用戶的需求[7,8],而強化學習的優(yōu)勢就在于能夠指導模型,使得任意用戶給定的約束與循環(huán)網絡的風格相結合,所以我們提出R-A2C模型,在A2C[9](優(yōu)勢演員-評論家模型)的基礎上增加獎勵值RNN,既包含先前策略,又能夠結合用? 戶回饋的信息,在最大程度上生成滿足用戶需求的音樂。
1? 相關概念及算法
在深度學習中,有動作、狀態(tài)、環(huán)境、代理等基本元素。代理會與環(huán)境發(fā)生交互,從而產生運動軌跡。假定在時刻t時環(huán)境的狀態(tài)為 ,代理通過策略 執(zhí)行動作 ,使得環(huán)境的狀態(tài)發(fā)生變化, 。環(huán)境會根據當前的動作回饋給代理一個獎勵(積極的或者消極的)。代理與環(huán)境會不斷的進行交互,通過這種交互,代理的目標就是在執(zhí)行的一系列動作中積累經驗,更新策略,從而最大化獎勵值(最小化損失函數J)。
首先定義策略π為參數θ的函數[10],記為 。定義 為t時刻開始到一段音樂結束的總回報值。定義 為策略π的價值函數,其中 為因子,表示為:
2? R-A2C模型基本結構
2.1? R-A2C模型
音樂生成可以看做是一個序列化決策問題,而強化學習在處理最大化與獎勵相關的決策問題時表現良好。Jaques[12]等就采用極大似然估計(MLE)結合強化學習的方式(引入兩個基于值迭代的網絡)生成音樂,保存了數據的原始信息的同時也保證了樣本的多樣性。而優(yōu)勢演員-評論家算法不僅有著強化學習的諸多優(yōu)點,在收斂性上也強于基于值迭代的算法。與此同時,演員-評論家算法既能針對連續(xù)動作進行處理,又能實現單步更新,在這一點上更是優(yōu)于傳統(tǒng)上基于策略梯度的算法。所以在此模型中我們選擇優(yōu)勢評論家算法來學習音樂生成的策略問題。
所以在此模型中,先引入一個帶有注意力機制的Seq2Seq[13]來處理數據,預測和生成初步的音樂旋律。然后將數據引入到演員-評論家模型中,演員基于概率選動作,評論家基于演員的動作給出獎勵值,演員根據評論家的獎勵值修改選動作的概率,如果動作是好的,則調整網絡讓這個動作出現的概率變大,反之,使其變小。其中獎勵值函數同樣采用一個RNN來表示,將關于先前政策 的信息和用戶回饋的信息 的組合為獎勵值函數R。強化學習的優(yōu)勢使得任意用戶給定的約束與循環(huán)網絡的風格相結合。模型圖如圖1所示。
2.2? 獎勵值RNN
獎勵值函數R可以看做是關于先前策略 的信息和用戶回饋信息 的組合??梢杂胠og函數來近似計算先前策略π,即 。而用戶反饋的信息,可以封裝為額外的獎勵:
對于正反饋信息,級別逐漸增強:
● 級別一:用戶反復收聽某個音樂片段
● 級別二:用戶反復收聽完整的音樂
● 級別三:用戶將剛收聽的音樂收藏或添加到音樂列表
對于負反饋信息,級別同樣逐漸增強:
● 級別一:用戶在收聽一小段剛生成的音樂后停止播放或音樂播放不完全
● 級別二:用戶大幅度跳躍收聽剛生成的音樂
● 級別三:用戶將音樂從播放列表刪除
根據用戶反饋信息級別(b)的不同,對 施加不同的權重,獎勵值函數表示為
2.3? 損失函數
2.3.1? 政策熵的正則化
在演員與環(huán)境進行交互的一個回合中,獎勵的期望往往由一個樣本近似,為了使采樣得到的樣本不要太過于集中,使得輸出的分布更加均衡化,必須要讓演員以一定的幾率采取其他的動作,所以,在模型中引入政策熵[14]的正則化[15],目標函數重新定義為:
2.3.2? 蒙特卡洛評估(Monte Carlo Evaluation)
擬合值函數 的過程稱為策略評估。對于策略評估,一般采取兩種方式,基于時間差分的方法(temporal difference,簡稱TD)和蒙特卡洛方法[16](Monte Carlo,簡稱)。在此模型中采用MC方法作為優(yōu)勢函數的無偏估計。
3? 實驗
為了驗證模型的性能,我們在R-A2C模型上生成音樂。
3.1? 數據處理
為了訓練模型,我們從包含超過50000首MIDI(Musical Instrument Digital Interface,樂器數字接口)音樂的語料庫中提取單聲道旋律[17],為了減少偏差,將不完整文件,的例如沒有聲道的音樂刪? 除。最后,我們的數據集保存了包含13264首MIDI文件。
為了更好的學習樣本,確保所有的樣本在同一個曲調上,將所有的MIDI文件轉換為C大調。為了確保所有的音符都是整數節(jié)拍,將音樂每分鐘節(jié)拍數設置為60或者120。
將數據預處理后,我們隨機的挑選7624首音樂作為本模型訓練的數據集,其中5000首用于訓練數據,1500首用于調參,剩下的1124首作為測試數據。
3.2? 模型實現
首先將處理好的數據集編碼為獨熱音符,將該數據集基于音樂規(guī)則預訓練Seq2Seq(Sequence to Sequence)模型,以此為R-A2C模型提供可接受的初始化數據。在訓練期間,演員和評論家均采用隱藏層大小為80的單層神經網絡。模型在每個小節(jié)結束后實時更新。
對于獎勵值RNN,使用基于用戶反饋信息和先前政策的組合機制,對于用戶反饋的信息進行分級處理,使用參數b實際上相當于為用戶的判斷施加權重值,以此產生更符合用戶需求的音樂旋律。
3.3? 評估結果
由于音樂生成任務通??梢员灰暈樾蛄猩蓡栴},我們選取了2個基線模型[18]在成功率和回報值兩個維度上進行比較測試。
● A2C是僅僅基于優(yōu)勢演員-評論家的模型
● A2C-P是在A2C的基礎上增加獎勵值RNN,但是僅僅有先前策略。
● R-A2C是在A2C的基礎上增加基于先前策略和用戶反饋信息的獎勵值RNN模型
一般的機器學習模型都有評判的依據,該依據與模型生成的結果產生損失,然后修正參數從而優(yōu)化之前的模型。考慮到音樂生成較為特殊,對于生成的音樂,沒有準確統(tǒng)一的衡量標準。根據Schmeling的提出的音樂觀點,我們在旋律的流暢度和音樂的完整性上給出了一些指標(比如在旋律的流暢度上,是否在音樂進行時有明顯的停頓;在音樂的完整性上,生成的音樂是否完整而不僅僅是音樂片段)。為了評估本模型中音樂生成的質量,我們邀請了10名音樂愛好者和5名非專業(yè)人士進行本次調查。我們隨機抽取10段旋律,要求這15名志愿者在試聽之后進行打分,分數為1到5,學習曲線如圖2所示,評估結果如表1所示。
通過表1的成功率、獎勵值和人工打分三個指標明顯發(fā)現R-A2C模型在音樂生成任務上的性能優(yōu)于其他幾個方法。
4? 結論
本文提出了一種基于獎勵值RNN模型的優(yōu)勢演員-評論家模型。該模型在利用深度學習校正RNN生成序列的同時,與其他模型相比,增加獎勵值RNN中的用戶反饋信息,通過大量實驗,無論是自動指標還是人工評估,本模型均表現出比較好的? 性能。在未來的方向上,我們希望繼續(xù)優(yōu)化模型,以應用于更復雜的音樂生成任務上和其他強化學習領域。
參考文獻
[1] Andries V D M, Schulze W. Music Generation with Markov Models[J]. IEEE Multimedia, 2011, 18(3): 78-85.
[2] Kang S, Ok S Y, Kang Y M. Automatic Music Generation and Machine Learning Based Evaluation[M]//Multimedia and Signal Processing. Springer Berlin Heidelberg, 2012. 436–443.
[3] 劉騰飛, 于雙元, 張洪濤, 等. 基于循環(huán)和卷積神經網絡的文本分類研究[J]. 軟件, 2018, 39(01): 64-69
[4] 石黎, 孫志梅. 教學質量評價的BP 神經網絡模型[J]. 軟件, 2015, 36(3): 19-21
[5] 張曉明, 尹鴻峰. 基于卷積神經網絡和語義信息的場景分類[J]. 軟件, 2018, 39(01): 29-34
[6] Chu H, Urtasun R, Fidler S. Song From PI: A Musically Plausible Network for Pop Music Generation[J]. 2016. In Proc. ICLR, Workshop Track, 2017.
[7] 張玉環(huán), 錢江. 基于兩種 LSTM 結構的文本情感分析[J]. 軟件, 2018, 39(1): 116-120
[8] 陳海紅. 多核SVM 文本分類研究[J]. 軟件, 2015, 36(5): 7-10.
[9] Konda V R, Tsitsiklis J N. OnActor-Critic Algorithms[J]. SIAM Journal on Control and Optimization, 2000, 42(4).
[10] Williams R J. Simple statistical gradient-following algorithms for connectionist reinforcement learning[J]. Machine Learning, 1992, 8(3-4): 229-256.
[11] Mnih V, Badia, Adrià Puigdomènech, Mirza M, et al. Asynchronous Methods for Deep Reinforcement Learning[J]. 2016. pp. 1928–1937.
[12] Jaques N, Gu S, Turner R E, et al. Tuning Recurrent Neural Networks with Reinforcement Learning[J]. 2016.
[13] Models G W L. (2017). Cold fusion: training seq2seq models to-[J]. 2017.
[14] Shannon C E. The mathematical theory of communication. 1963[J]. Bell Labs Technical Journal, 1950, 3(9): 31-32.
[15] 呂國豪, 楊東坡, 劉金環(huán). 基于卷積神經網絡的商品圖像精細分類. 山東科技大學學報(自然科學版), 2014;33(6): 91-96.
[16] Shapiro A. Monte Carlo Sampling Methods[J]. Handbooks in Operations Research and Management Science, 2003, 10(03): 353-425.
[17] 王程, 周婉, 何軍. 面向自動音樂生成的深度遞歸神經網絡方法[J]. 小型微型計算機系統(tǒng), 2017(10).
[18] Peng B, Li X, Gao J, et al. Adversarial Advantage Actor-Critic Model for Task-Completion Dialogue Policy Learning[J]. 2017.