李虹磊 强化学习 (Reinforcement Learning)
新闻来源:IR实验室       发布时间:2016/11/4 20:17:23

  最近,深度强化学习已经成为了深度学习领域的前沿研究方向,并且也已经产生了很多成果。本人之前对于强化学习并不了解,但最近总能听到和看到强化学习这个词,所以也对强化学习进行了学习,下面是自己学习的一个简单总结,包括强化学习的基本学习算法、深度Q网络以及在NLP应用的一些论文。

什么是强化学习?

统计学习由监督学习、非监督学习、半监督学习和强化学习等组成。

其中,强化学习要解决的问题[1]是:一个能够感知环境的自治agent(智能体),怎样通过学习从外部环境environment中选择能够达到其最终目标的最优动作。所以强化学习考虑的问题就是agentenvironment之间进行动作交互改变环境,环境的变化好坏用reward表示。可以用下图来表示一个与环境交互的agent

 

 

 

在每个时间点t,智能体agent都可以根据观察当前的环境environment来选择一个动作at执行,然后会获得即刻汇报rt,并转移到下一个状态st+1。因此,增强学习的任务就是根据当前状态state找到一个最优的动作action,从而使reward最多。可以发现它与监督学习等不太一样,它是通过多步恰当的动作决策来达到一个目标,是一种序列多步决策的问题,不走到序列的终点是不能得到标记的,而只是一个即时反馈,所以可以看作是一种有延迟的监督学习。

2  Markov Decision Process (MDP) 马尔科夫决策过程

一系列的stateactionreward就会形成一个序列:

构成了一个马尔科夫决策过程。它服从马尔科夫假设,下一时刻状态只取决于当前时刻状态和动作,即未来只取决于现在。

强化学习的目标就是要寻找一个能够使系统获得最大累积奖赏的策略。由此,在时刻t的累积奖赏可以表示为

这是一种打折的未来奖励,γ(0<=γ<=1)是折扣系数,用于权衡即时奖励和未来奖励。时间越久,未来的影响就小。

*  当γ=0时,Gt = Rt+1,只考虑当前动作的即时反馈,是一种“短视”策略

*  0<γ<1时,Gt = Rt+1 +γRt+2 +γ2Rt+3 +…,综合考虑即时奖励和未来奖励,是一种较为“有远见”策略。

*  当γ=1时,Gt = Rt+1 + Rt+2 + Rt+3 +…,即时奖励和未来奖励比重一样。

 

对于一个状态s,它的价值函数可以记为,

展开如下:

即呈现出贝尔曼方程(Bellman Equation)的基本形态,从而状态s的价值函数可以通过迭代来进行计算[2]

3  Q-Learning算法

但是,其实我们需要的不是某个状态的价值函数,而是评估每个动作下的价值函数,然后根据动作的价值大小来决策选出合适的动作。所以定义了动作价值函数,也是迭代形式,具体公式如下:

通过最优动作价值函数,即可得到最优策略。当前的最大化动作价值函数相当于最大化即刻奖励以及下一状态的最优动作价值函数。可是,我们还在求解当前状态的最优动作价值函数Q,怎么获取下一状态的Q值呢?所以有了价值迭代公式,我们只能用之前的Q值,更新此次迭代的Q值。

(为什么定义名为Q函数呢?因为此函数表示的是某个状态下各个动作的质量Quality[3]

由价值迭代函数,得到Q-learning算法:

Q值更新时,采用渐进的方式,步长为α。

4  Deep Q-Network  (DQN)

如果用一个神经网络近似拟合Q值,w为参数,即

这样就可以将深度学习和强化学习结合起来,从而可以利用深度学习从数据中自动学习特征的优点。如上图,输入状态,通过Q网络,就能输出所有动作的价值函数大小。对于这样的回归问题,就可以利用平方损失函数作为目标函数进行优化,采用SGD进行参数学习。公式如下:

 

5  Human-level control through deep reinforcement learning

2015Nature杂志上发表的论文《Human-level control through deep reinforcement learning》中使用了深度学习和强化学习结合的方法实现了能够玩49种游戏的人工智能程序,引起了广泛关注。

该论文使用了卷积神经网络来构建Q网络,包括三个卷积层,两个全连接层。

6  DQN in NLP

下面列出了一些在NLP领域使用深度强化学习思想的几篇论文。

*  文本生成

*- Guo H. Generating Text with Deep Reinforcement Learning[J]. arXiv preprint arXiv:1510.09202, 2015.

*- Li J, Monroe W, Ritter A, et al. Deep Reinforcement Learning for Dialogue Generation[J]. arXiv preprint arXiv:1606.01541, 2016.

*- Dethlefs N, Cuayáhuitl H. Hierarchical reinforcement learning for adaptive text generation[C]//Proceedings of the 6th International Natural Language Generation Conference. Association for Computational Linguistics, 2010: 37-45.

*  文本游戏

*- He J, Chen J, He X, et al. Deep reinforcement learning with a natural language action space[J]. arXiv preprint arXiv:1511.04636, 2015.

*- Narasimhan K, Kulkarni T, Barzilay R. Language understanding for text-based games using deep reinforcement learning[J]. arXiv preprint arXiv:1506.08941, 2015.

*  热点预测和推荐

*- He J, Ostendorf M, He X, et al. Deep Reinforcement Learning with a Combinatorial Action Space for Predicting Popular Reddit Threads[J]. arXiv preprint arXiv:1606.03667, 2016.

*  信息抽取

*- Narasimhan K, Yala A, Barzilay R. Improving Information Extraction by Acquiring External Evidence with Reinforcement Learning[J]. arXiv preprint arXiv:1603.07954, 2016.

 

n  DQN in NLP – Information Extraction

论文《Improving Information Extraction by Acquiring External Evidence with Reinforcement Learning 利用deep Q网络以及大量的未标注数据来提高训练数据量稀少任务的信息抽取准确性。使用强化学习框架处理信息抽取问题,基于语境信息来学习和选择每次的最优动作,来确定是否修改或替换原始抽取的实体信息结果。实验结果表明,该方法能够提升信息抽取的准确度。

总结

强化学习解决的是智能体Agent学习动作决策的问题,它的Q学习算法适合一类被称为马尔科夫决策过程的问题。Q值函数用来衡量某一动作的价值大小,通过最大化Q值,求解问题。深度学习的引入,用来拟合Q值函数,可以很好的学习到数据的特征。如果想使用强化学习算法,需要观察问题是否能转换成reward延迟的序列决策问题,同时需要理解Q值函数的迭代计算,

并准备好强化学习需要的四个元素,<st , at , rt , st+1 >

参考文献

[1] Machine Learning, Tom M.Mitchell.

[2] http://blog.csdn.net/songrotek/article/details/50580904

[3] http://www.tuicool.com/articles/nqEFbiZ

[4]Mnih V, Kavukcuoglu K, Silver D, et al. Human-level control through deep reinforcement learning[J]. Nature, 2015, 518(7540): 529-533.

[5] http://www0.cs.ucl.ac.uk/staff/D.Silver/web/Teaching.html

[6] Narasimhan K, Yala A, Barzilay R. Improving Information Extraction by Acquiring External Evidence with Reinforcement Learning[J]. arXiv preprint arXiv:1603.07954, 2016.