APP下载

基于奖励值RNN和A2C模型的音乐生成

2019-10-08孙承爱张馨俸田刚

软件 2019年7期
关键词:演员评论家

孙承爱 张馨俸 田刚

摘  要: 我们提出了一个新的方法—基于奖励值RNN的优势演员-评论家算法(R-A2C)来生成音乐。我们的模型首先使用一个带有注意力机制的RNN模型(Recurrent neural network)预处理数据并将此作为先验策略,然后我们将包含先验策略和用户反馈信息的奖励值RNN增加到A2C(Advantage Actor-Critic)模型中,使得任意用户给定的约束与循环网络的风格相结合,以此来鼓励演员生成更符合用户需求的音乐,实验表明我们的模型取得了预期的效果。

关键词: 音乐生成,演员-评论家,奖励值函数,用户反馈

中图分类号: 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  引言

近年來,生成音乐一直是一个非常活跃且具有挑战性的领域。传统的方法中Van Der Merwe[1]采用马尔科夫模型生成音乐,成功地模拟不同声音的音调之间的关系。

在机器学习领域中,越来越多的人通过研究神经网络模型生成音乐,Kang等人[2]采用神经网络算法[3-5]对音乐自动评价系统进行了研究,尝试将旋律与鼓声结合去生成音乐。楚[6]使用一个分层的RNN(循环神经网络)模型,以此用来生成多轨道(旋律、和弦和鼓)流行音乐。

虽然RNN模型在生成方面取得了很大的进展,但是在生成音乐方面,由于其生成的旋律和主题比较随机,很难契合用户的需求[7,8],而强化学习的优势就在于能够指导模型,使得任意用户给定的约束与循环网络的风格相结合,所以我们提出R-A2C模型,在A2C[9](优势演员-评论家模型)的基础上增加奖励值RNN,既包含先前策略,又能够结合用  户回馈的信息,在最大程度上生成满足用户需求的音乐。

1  相关概念及算法

在深度学习中,有动作、状态、环境、代理等基本元素。代理会与环境发生交互,从而产生运动轨迹。假定在时刻t时环境的状态为 ,代理通过策略 执行动作 ,使得环境的状态发生变化, 。环境会根据当前的动作回馈给代理一个奖励(积极的或者消极的)。代理与环境会不断的进行交互,通过这种交互,代理的目标就是在执行的一系列动作中积累经验,更新策略,从而最大化奖励值(最小化损失函数J)。

首先定义策略π为参数θ的函数[10],记为 。定义 为t时刻开始到一段音乐结束的总回报值。定义 为策略π的价值函数,其中 为因子,表示为:

2  R-A2C模型基本结构

2.1  R-A2C模型

音乐生成可以看做是一个序列化决策问题,而强化学习在处理最大化与奖励相关的决策问题时表现良好。Jaques[12]等就采用极大似然估计(MLE)结合强化学习的方式(引入两个基于值迭代的网络)生成音乐,保存了数据的原始信息的同时也保证了样本的多样性。而优势演员-评论家算法不仅有着强化学习的诸多优点,在收敛性上也强于基于值迭代的算法。与此同时,演员-评论家算法既能针对连续动作进行处理,又能实现单步更新,在这一点上更是优于传统上基于策略梯度的算法。所以在此模型中我们选择优势评论家算法来学习音乐生成的策略问题。

所以在此模型中,先引入一个带有注意力机制的Seq2Seq[13]来处理数据,预测和生成初步的音乐旋律。然后将数据引入到演员-评论家模型中,演员基于概率选动作,评论家基于演员的动作给出奖励值,演员根据评论家的奖励值修改选动作的概率,如果动作是好的,则调整网络让这个动作出现的概率变大,反之,使其变小。其中奖励值函数同样采用一个RNN来表示,将关于先前政策 的信息和用户回馈的信息 的组合为奖励值函数R。强化学习的优势使得任意用户给定的约束与循环网络的风格相结合。模型图如图1所示。

2.2  奖励值RNN

奖励值函数R可以看做是关于先前策略 的信息和用户回馈信息 的组合。可以用log函数来近似计算先前策略π,即 。而用户反馈的信息,可以封装为额外的奖励:

对于正反馈信息,级别逐渐增强:

● 级别一:用户反复收听某个音乐片段

● 级别二:用户反复收听完整的音乐

● 级别三:用户将刚收听的音乐收藏或添加到音乐列表

对于负反馈信息,级别同样逐渐增强:

● 级别一:用户在收听一小段刚生成的音乐后停止播放或音乐播放不完全

● 级别二:用户大幅度跳跃收听刚生成的音乐

● 级别三:用户将音乐从播放列表删除

根据用户反馈信息级别(b)的不同,对 施加不同的权重,奖励值函数表示为

2.3  损失函数

2.3.1  政策熵的正则化

在演员与环境进行交互的一个回合中,奖励的期望往往由一个样本近似,为了使采样得到的样本不要太过于集中,使得输出的分布更加均衡化,必须要让演员以一定的几率采取其他的动作,所以,在模型中引入政策熵[14]的正则化[15],目标函数重新定义为:

2.3.2  蒙特卡洛评估(Monte Carlo Evaluation)

拟合值函数 的过程称为策略评估。对于策略评估,一般采取两种方式,基于时间差分的方法(temporal difference,简称TD)和蒙特卡洛方法[16](Monte Carlo,简称)。在此模型中采用MC方法作为优势函数的无偏估计。

3  实验

为了验证模型的性能,我们在R-A2C模型上生成音乐。

3.1  数据处理

为了训练模型,我们从包含超过50000首MIDI(Musical Instrument Digital Interface,乐器数字接口)音乐的语料库中提取单声道旋律[17],为了减少偏差,将不完整文件,的例如没有声道的音乐删  除。最后,我们的数据集保存了包含13264首MIDI文件。

为了更好的学习样本,确保所有的样本在同一个曲调上,将所有的MIDI文件转换为C大调。为了确保所有的音符都是整数节拍,将音乐每分钟节拍数设置为60或者120。

将数据预处理后,我们随机的挑选7624首音乐作为本模型训练的数据集,其中5000首用于训练数据,1500首用于调参,剩下的1124首作为测试数据。

3.2  模型实现

首先将处理好的数据集编码为独热音符,将该数据集基于音乐规则预训练Seq2Seq(Sequence to Sequence)模型,以此为R-A2C模型提供可接受的初始化数据。在训练期间,演员和评论家均采用隐藏层大小为80的单层神经网络。模型在每个小节结束后实时更新。

对于奖励值RNN,使用基于用户反馈信息和先前政策的组合机制,对于用户反馈的信息进行分级处理,使用参数b实际上相当于为用户的判断施加权重值,以此产生更符合用户需求的音乐旋律。

3.3  评估结果

由于音乐生成任务通常可以被视为序列生成问题,我们选取了2个基线模型[18]在成功率和回报值两个维度上进行比较测试。

● A2C是仅仅基于优势演员-评论家的模型

● A2C-P是在A2C的基础上增加奖励值RNN,但是仅仅有先前策略。

● R-A2C是在A2C的基础上增加基于先前策略和用户反馈信息的奖励值RNN模型

一般的机器学习模型都有评判的依据,该依据与模型生成的结果产生损失,然后修正参数从而优化之前的模型。考虑到音乐生成较为特殊,对于生成的音乐,没有准确统一的衡量标准。根据Schmeling的提出的音乐观点,我们在旋律的流畅度和音乐的完整性上给出了一些指标(比如在旋律的流畅度上,是否在音乐进行时有明显的停顿;在音乐的完整性上,生成的音乐是否完整而不仅仅是音乐片段)。为了评估本模型中音乐生成的质量,我们邀请了10名音乐爱好者和5名非专业人士进行本次调查。我们随机抽取10段旋律,要求这15名志愿者在试听之后进行打分,分数为1到5,学习曲线如图2所示,评估结果如表1所示。

通过表1的成功率、奖励值和人工打分三个指标明显发现R-A2C模型在音乐生成任务上的性能优于其他几个方法。

4  结论

本文提出了一种基于奖励值RNN模型的优势演员-评论家模型。该模型在利用深度学习校正RNN生成序列的同时,与其他模型相比,增加奖励值RNN中的用户反馈信息,通过大量实验,无论是自动指标还是人工评估,本模型均表现出比较好的  性能。在未来的方向上,我们希望继续优化模型,以应用于更复杂的音乐生成任务上和其他强化学习领域。

参考文献

[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] 劉腾飞, 于双元, 张洪涛, 等. 基于循环和卷积神经网络的文本分类研究[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] 张玉环, 钱江. 基于两种 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] 吕国豪, 杨东坡, 刘金环. 基于卷积神经网络的商品图像精细分类. 山东科技大学学报(自然科学版), 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]. 小型微型计算机系统, 2017(10).

[18] Peng B, Li X, Gao J, et al. Adversarial Advantage Actor-Critic Model for Task-Completion Dialogue Policy Learning[J]. 2017.

猜你喜欢

演员评论家
广东当代文学评论家
音乐评论家的“内功”修炼——论八项追求
中国文艺评论家·谢冕
评论家杨占平
青年油画家、文艺评论家
编导创作与演员呈现之间的互动
《琅琊榜》浅评