炼数成金 门户 商业智能 自然语言处理 查看内容

HFL技术分享#14 | Reinforcement Learning Applications for NLP

2019-6-14 14:09| 发布者: 炼数成金_小数| 查看: 24396| 评论: 0|来自: 哈工大讯飞联合实验室

摘要: 强化学习(RL)是机器学习的一个分支,是介于监督学习和非监督学习之间的,从经验中学习的方法。由于强化学习在机器控制、游戏等领域获得了瞩目的研究成果,学者们开始尝试将RL与自然语言处理相结合,希望解决传统方 ...

算法 模型 基础 自然语言处理 强化学习 自然语言

引言
强化学习(RL)是机器学习的一个分支,是介于监督学习和非监督学习之间的,从经验中学习的方法。由于强化学习在机器控制、游戏等领域获得了瞩目的研究成果,学者们开始尝试将RL与自然语言处理相结合,希望解决传统方法难以解决的问题。

摘要
本文首先回顾强化学习(RL)的基础知识,及其结合神经网络的发展(称为深度强化学习,DRL);再由RL中的REINFORCE算法转向DRL在自然语言处理领域的应用,并介绍强化学习在NLP领域中两个重要任务,对话生成和机器翻译方向的工作。

1  强化学习基础回顾
1.1 马尔科夫性
强化学习的目标是在不确定的情况下,找到一种制定决策的较佳办法,即用agent模拟人类科学家,不断探索,在试错中学习。马尔科夫性是探索的过程中的重要假设,其内容可理解为:未来状态只由现在的状态决定,而与过去无关。因此,在探索尝试的过程中,agent只需要根据当前的信息,做出最有益于当前状态的决定。这样的决策过程,加上状态转移模型、动作集和奖励函数,共同构成了实现强化学习的一种简单方法,即马尔科夫决策过程,图 1说明了从马尔科夫过程到马尔科夫决策过程。

图 1:从马尔科夫过程到马尔科夫决策过程

1.2 强化学习重要组件
强化学习主要由两部分组成,agent和环境(environment)。环境为agent提供了进行探索的基础;agent根据当前环境的状态做出动作决定(action),并对环境产生一定的影响和改变,同时,agent从环境中获得奖励(reward)并依靠该奖励进行学习。图 2为agent和环境的交互示意图。

图 2:Agent和环境的交互图

以下以赛车游戏为例对强化学习的组件进行介绍:
环境:赛车游戏中的赛道及赛道上的其他车辆的位置、速度等。
Agent:赛车游戏中的玩家控制的车辆。
Observation/state:agent观察到的environment的状态。即玩家车辆对它所处环境的观察,包括自己的位置、其它车辆的位置。
Action:对当前的状态(observation/state)采取的动作。即向左/向右移动、加速、减速。
Reward:environment对于agent采取的action的反馈。若采取动作后超过其它车辆,则奖励分数+1;若采取动作后被超车,则分数-1。
Policy:通过不断迭代学习,得出的在给定状态下需要采取的动作的策略集合。

1.3 方法分类
强化学习主要有基于值函数、基于策略、和结合二者的方法,如图 3。

图 3:强化学习方法

2  强化学习在自然语言处理领域的应用
2.1 从强化学习(RL)到自然语言处理(NLP)
在自然语言处理领域,有一些无法直接优化的评价指标。如BLEU,需要首先生成完整的句子,才能对模型的生成效果进行评价;如一组对话的好坏(可从是否获得了需要的信息、是否能流畅的进行对话等),需要在对话完成后才能评价。为了解决这些问题,强化学习被引入自然语言处理,利用reward进行模型的迭代学习。由于语言的特殊性,RL agent可采取的action是一个无限集合(因为句子长度无限制,句子中的每个词都可以看成是一个action),无法用传统RL的Q-learning,Sarsa等方法进行迭代学习。通常,Policy Gradient算法[4]是常用于NLP的强化学习迭代算法。

损失函数:
监督学习在RL领域被称为模拟学习(imitation learning),即给出每一步的标准答案,使agent根据答案学习,其损失函数如公式 1[1]:

公式 1:模拟学习损失函数
对当前获得的模型进行抽样(相当于对environment进行抽样,获得observation的过程),如公式 2[1],则这时的损失函数可表示为公式 3[1]。

优化方法:
有了损失函数,再运用适当的优化方法,就能开始对强化学习模型的训练。在这里用到了Policy Gradient算法对公式 4进行优化。然而在NLP领域,强化学习与其他方法相比具有不稳定性,尤其是当输出空间过大的时候,即词表(vocabulary size)过大、输出序列过长的时候。为了减少训练的不稳定性,需要引入一个baseline reward,即对一个batch的预计平均reward。这个baseline reward可以是词级别(图 4)的平均reward[1],也可以是句子级别(如图 5)的平均reward[1]。

其推导过程如图 6所示[1][4]

图 6:policy gradient推导过程
介绍完RL在NLP领域应用的基础知识,接下来将介绍三篇相关论文。

2.2 强化学习在对话生成方向的应用
今年来,许多学者都致力于强化学习结合对话生成的研究,其中最经典的论文之一是李纪为等人发表在EMNLP2016上的Deep Reinforcement Learning for Dialogue Generation[2]。这篇论文利用DRL解决多轮对话的问题,其中的亮点在于reward的设置,定义了ease of answering, information flow, semantic coherence三种reward,分别关注枯燥回答、重复回答和语言语法连贯性三项问题。

2.2.1 论文的整体思路
首先,用监督学习训练一个seq2seq模型用于构建对话功能,产生基础回答;其次,利用上述seq2seq模型训练互信息模型[3](mutual information model),用于改进seq2seq模型,使新模型产生更具多样性的回答;最后,在这个seq2seq模型的基础上,引入DRL结构(reward,action,policy等)用于针对seq2seq模型的缺陷的优化训练。训练方式是用两个agent轮流对话进行仿真,如图 7。

图 7:agent仿真

2.2.2 强化学习reward设置
论文中reward分为3部分,最终reward是这三部分的加权求和,如下:

2.2.2.1 Ease of answering (r1)
r1指标重点关注生成的回答是否容易被回答的。表示为公式 7:

公式 7
作者手动构建了一个dull response列表S,并预测给定的问题的回答是dull response的概率,例如“I don’t know.”。虽然这个dull response列表不涵盖所有dull response,作者认为dull response即使形式不同,但是语义相近,在训练时模型的向量空间会距离较近。

2.2.2.2 Information flow(r2)
r2重点关注信息流,即生成的回答尽量携带更多不一样的信息,从而控制生成的回答不与之前的回答重复,避免了如图 8所示的情况。

图 8:控制信息流

r2的计算方式如公式 8,目的是惩罚相似的回答。


公式 10

2.2.3 实验
2.2.3.1 仿真轮数
实验对比了三个模型(seq2seq模型,互信息模型,RL模型)进行对话轮数的平均值的差异,结果如图 9,可以看出强化学习模型可以得到最多轮对话,说明上述3个reward的有效性,能够使模型产生多轮不重复的回答。

图 9:仿真轮数结果

2.2.3.2 回答多样性
实验比较了三个模型产生的词汇多样性,具体比较的是unigram和bigram,从实验结果(图 10)可以看出RL模型拥有较高的词汇多样性,说明RL模型有一定的创造新回答的能力。

图 10:回答多样性结果

2.3 强化学习在机器翻译方向的应用
Learning to Translate in Real-time with Neural Machine Translation[5]是一篇解决实时翻译问题的论文,重点关注输入输出同步。实时翻译中较大的问题是决定输出翻译结果的时机,一般地,接收的句子越完整,翻译结果越好,然而这样的时间代价却越大(即输入和输出之间的时间差)。实时翻译除了关注翻译内容的质量,翻译时间效率也同等重要。为了研究翻译时延和翻译质量之间的trade-off,该文引入了RL模型,将输出翻译结果和读取待翻译内容作为action,用于学习能够平衡翻译时延和翻译质量的较佳时机。这篇论文的亮点在于根据实时翻译的特性将BLEU进行修改,并将翻译过程的输入和输出分开,研究输入和输出之间的时间差与翻译质量的trade-off,并用强化学习模型达到时延与质量的平衡。

2.3.1 模型介绍
在常用NMT模型的基础上,《Learning to Translate in Real-time with Neural Machine Translation》引入了两个额外的action:read/write,并结合时延(delay)和翻译质量(BLUE)设计强化学习的reward。标准NMT中的encoder是双向RNN网络,然而实时翻译任务中,读入的待翻译文本不是完整的句子,所以无法使用逆向RNN,故读取文本时,本文仅采用了正向RNN作为encoder。以上述encoder和带attention的标准decoder作为强化学习的环境,agent需要以平衡时延和翻译质量为优化目标,学习策略网络用于判断何时读取文本,何时暂停读取并输出当前的翻译结果。整体流程如图 11,标准机器翻译如图 12,模型结构及功能如图 13。

图 11:实时翻译示过程意图

图 12:一般机器翻译示过程意图

图 13:实时翻译模型结构图

2.3.2 Reward设置
实时翻译模型的reward分为两部分,一个关注翻译质量(quality),另一个关注翻译延迟(delay),最终的reward为这两部分的加和。

2.3.2.2 Delay
论文中的时延reward从两方面考虑:Average Proportion [7](AP,平均延迟词数)和Consecutive Wait length (CW,累计等待长度)。
Average Proportion (AP) [7]表示翻译每个单词时的平均等待词数(即翻译第t个词时,平均等待了多少个词)。公式表示为公式 14,其中X表示读取的待翻译的句子,Y表示输出的翻译结果。

公式 14
Consecutive Wait length (CW):两次输出翻译之间等待的词数。当模型执行动作为“写”(action=write)时,则此时延为0,公式如公式 15。

公式 15
Target Delay:目标时延是强化学习模型的优化目标,即想要达到的效果,表示为d*(AP目标),c*(CW目标),这两个参数是可以根据需要而修改的。
最终reward表示为公式 16。

公式 16

2.3.3 实验结果
论文作者在英语-德语和英语-俄语翻译数据集上进行了与其它翻译模型的时延和质量间影响和关系的对比实验,重点对比了两个reward(quality和delay)的效果,结果表明该论文提出的模型能够有效达到翻译时延和质量间的平衡。

比较的模型为:
Wait-Until-End (WUE): 读完整句再翻译;
Wait-One-Step (WOS): 逐词翻译;
Wait-If-Worse/Wait-If-Diff (WIW/WID)[7]: 当解码的较大概率下降,则输出翻译结果(WIW);当解码的较大概率词改变,则输出翻译结果(WID);
Segmentation-based (SEG)[8]: 用贪婪算法对分词结果进行优化(SEG1);用贪婪算法并结合POS信息分词结果进行优化(SEG2)。
对AP实验的结果如图 14;对CW实验的结果如图 15。

图 14:AP实验结果

图 15:CW实验结果

3  总结
强化学习是机器学习的一个分支,DeepMind的AlphaGo系列研究成果的发布极大地激发了学者们对强化学习在decision making以及gaming方向的研究热情,同时,也为其他机器学习领域(如自然语言处理、图像处理等)提供了新的思路。研究证明,强化学习在自然语言处理的任务上有不俗的表现,并且能够解决一些困扰多年的任务(如对话生成、实时翻译等),然而,在自然语言处理领域,环境和动作的表示以及reward的设置都没有统一、明确且合适的标准,使得强化学习在自然语言处理领域难以有突破性进展和普遍的应用。因此,关于强化学习与自然语言处理的结合在未来能有怎样的发展仍然需要大量的研究。

References
[1] Graham Neubig, CS11-747 Neural Networks for NLP, lecture slide, Carnegie Mellon University's Language Technology Institute
[2] Li J, Monroe W, Ritter A, et al. Deep Reinforcement Learning for Dialogue Generation[J].
[3] Jiwei Li, Michel Galley, Chris Brockett, Jianfeng Gao, and Bill Dolan. 2016. A diversity-promoting objective function for neural conversation models. In Proc. of NAACL-HLT
[4] Sutton R S, McAllester D A, Singh S P, et al. Policy gradient methods for reinforcement learning with function approximation[C]//Advances in neural information processing systems. 2000: 1057-1063.
[5] Gu J, Neubig G, Cho K, Li VO. Learning to Translate in Real-time with Neural Machine Translation. InProceedings of the 15th Conference of the European Chapter of the Association for Computational Linguistics: Volume 1, Long Papers 2017 (Vol. 1, pp. 1053-1062).
[6] Lin C Y, Och F J. Automatic Evaluation of Machine Translation Quality Using Longest Com-mon Subsequence and Skip-Bigram Statistics[J].
[7] Cho K, Esipova M. Can neural machine translation do simultaneous translation?[J]. arXiv preprint arXiv:1606.02012, 2016.
[8] Oda Y, Neubig G, Sakti S, et al. Optimizing segmentation strategies for simultaneous speech translation[C]//Proceedings of the 52nd Annual Meeting of the Association for Computational Linguistics (Volume 2: Short Papers). 2014, 2: 551-556.

声明:本文版权归原作者所有,文章收集于网络,为传播信息而发,如有侵权,请联系小编及时处理,谢谢!

欢迎加入本站公开兴趣群
商业智能与数据分析群
兴趣范围包括:各种让数据产生价值的办法,实际应用案例分享与讨论,分析工具,ETL工具,数据仓库,数据挖掘工具,报表系统等全方位知识
QQ群:81035754

鲜花

握手

雷人

路过

鸡蛋

相关阅读

最新评论

热门频道

  • 大数据
  • 商业智能
  • 量化投资
  • 科学探索
  • 创业

即将开课

 

GMT+8, 2019-7-20 02:48 , Processed in 0.254614 second(s), 25 queries .