「学术报告」中科院计算所赵地:强化学习简介及大规模计算实现
不到现场,照样看最干货的学术报告!
嗨,大家好。这里是学术报告专栏,读芯术小编不定期挑选并亲自跑会,为大家奉献科技领域最优秀的学术报告,为同学们记录报告干货,并想方设法搞到一手的PPT和现场视频——足够干货,足够新鲜!话不多说,快快看过来,希望这些优秀的青年学者、专家杰青的学术报告 ,能让您在业余时间的知识阅读更有价值。
2018年8月4月,由北京理工大学大数据创新学习中心与中国科学院人工智能联盟标准组联合主办的“2018深度强化学习:理论与应用”学术研讨会,学界与业界顶级专家济济一堂,共同分享深度强化学习领域的研究成果。
强化学习简介及大规模计算实现
报告主要是大家一起交流强化学习的基本内容。报告从《强化学习》这本书开始,该书是去年下半年到今年上半年赵老师和其他五位老师共同翻译的,主要介绍了强化学习的基本概念等,该书将很快面市。在翻译该书的过程中,赵老师对强化学习的概念有了更加深入的理解,同时认为在研究深度强化学习时,强化学习的基本知识对研究工作也极为重要。
通过这本书的目录,我们能够发现很多与强化学习相关的、有价值的信息,通过学习可以对强化学习的概念有更好的了解,该书后面的章节会谈到强化学习过程当中如何求解最佳算式的问题,同时也会提到很多强化应用案例,最多的案例是游戏的应用和机器的应用方面。从学习的角度来看,在众多强化学习的资料当中,该书向大家提供一个很好的强化学习解决方案。
基于stanford大学feifei li教授的ppt,赵老师对强化学习进行了深入浅出的介绍。赵老师介绍机器学习的三个方面分别是:非监督学习,监督学习,强化学习。其中,强化学习最新的概念是Agent,可以译为学习器,这是产生动作最主要的部分;另一个是Environment,其作用是针对Agent Action产生影响的信息来源,但还需要看Environment是有限的还是无限的。
在强化学习算法设计应用的过程当中,有的Environment是有限的,例如:电脑游戏不管怎样变化,所有的信息都是通过电脑终端显示出来,所以通过分析电脑终端屏幕能够获得关于Environment的所有信息,这样对强化学习算法信息有很大帮助。也有Environment是无限的,例如:自动驾驶机器人没有办法把所有信息都通过传感器存取下来,因此强化学习算法无法获得足够的信息。无论是有限环境还是无限环境,最后都会形成一些更高级的方法,主体思路是:根据算法能够获得的信息设计相关的算法。
再一个就是State,因为Environment是随着时间变化的信息流,在这种情况下,对于任何固定的时间,都要有一种State,也就是状态。Agent主要是根据State的情况,做出一个Action。因此在强化学习当中,Agent不停地和Environment交互,获得State信息,然后Take Action。Reward和State的反馈,指导Agent产生 Action,再作用于Environment,获得新的Reward和State以后又反馈给Agent,产生新的Action,直到整个过程完成为止。例如:想在车子运动的过程当中保持杆处于竖立状态,我们可以通过看State的定义,Action的定义,以及Reward的定义。通过三种定义能够理解相关过程的含义;在机器人运动的例子当中也可以运用同样的方法进行分析,来理解强化学习的过程。
Atari Games游戏是通过操作一个飞船或者操作一把枪去打对面的这些物体,2016年的《Nature》文章讲的是通过某种过程可以让计算机自动玩这个游戏,该游戏是有限环境,其所有信息都呈现在显示屏上面,这样对强化学习算法设计是非常有利的。因此从这个意义上来讲,通过算法超过人类是很有可能的,也是完全可以做到的,因为其信息是有限的。
对于下围棋的游戏,其信息终端也是有限的过程,只要计算能力足够,能够把策略优化得非常好,就能取得好的结果,这也是Alpha-Go能够战胜世界冠军的原因,这就是有限信息输出问题。
通过对强化学习的几个基本概念介绍,我们接下来要思考怎么样才能从数学方面对其进行严谨的定义?因为如果想进行计算机程序的设计,就要把一些直观的知识通过数学模型表达出来,而强化学习中最重要的概念是Markov Decision Process。Markov DecisionProcess最重要的内容是当前的状态可以对环境进行描述,当前的步骤由过去的一步或者多步来决定,其定义了五个参数,对这些参数深入的理解可以促进对强化学习过程的理解。
MDP首先定义了在t0时刻环境具有一个初始的状态,因此会有Agent和Reward的初始值,引入Policy来决定如何采取下一步Action的策略。所谓的Policy就是怎么去玩这个游戏,到底是往前走还是往后走,例如在坦克大战的游戏中往前走还是往后走就是Policy。强化学习最核心的内容是寻找到最佳策略,即通过玩游戏尽快获胜。从数学的定义来讲就是能够让Reward最大化,这是策略的目标,因此所有算法的设计都是围绕着这样一个OptimalPolicy来进行,通过Reward和期望值的形式定义相关方法。
为评价状态的好坏,通过定义Value Function来看状态多好,评价当前状态的情况。同时也定义了Q-Value Function,两者都是根据期望的Reward,针对当前的状况可能得到的Reward来评价状态,所以也是强化学习当中的重要概念。
在很多情况下,环境都是无限的状态,我们可以采用Policy Gradient的方法进行求解;对有限的Involvement,可以通过Q-Learning的方法能够进行比较完全的采样,获得Optimal Policy。Bellman Equation可以对State Action好坏进行评价,也可以求出最佳的Q。因此在强化学习当中,最重要的问题是如何求解最佳Q Value函数。
在数学当中,我们如何寻找最佳策略?从数学定义方面来讲,可以通过Iterative Update的方法来求解最佳策略;在环境信息有限的情况下,很多信息都是已知的,在这种情况下我们可以采用Q-Learning的方式来实现。2016年的文章当中,通过CNN方式将游戏屏幕变成一个可识别的特征,然后根据这个特征的方式来求OptimalPolicy,不是采用显示屏的原始信息,这样能够提高准确率,同时也能够减少计算的复杂度,这也是实现了DeepQ-Learning。
我们通过Gradient方式进行Update,经过多个循环以后,刚开始的目标逐渐得到优化,电脑自动玩游戏的水平变得越来越高,但是其计算量很大,需要花费大量的时间进行相应的计算。2013年和2015年的文章都是通过DeepQ-Learning的方式来进行,仔细研究文章会发现其利用Q-network Architecture方法来决定Action到底是向前走还是向后走、向左走还是向右走。其前提建立在环境信息是有限的情况下。
文章中是如何训练Q-Networkloss function?实际上就是Follow Q-Learning的形式,把Q和Y之间的信息能够定义到损失函数里面,通过对损失函数L值的计算来决定出Mixed Action的步骤,通过多次循环以后Q-Network权重值就能够学习到,算法完成以后计算机就学会了玩个游戏。文章中提到了ExperienceReplay的概念,即当前的Action不仅仅是基于前面的Action实现,而是提高到以前多个Action来让算法和效力更高一点。在这里Q-Network是通过Q-Learning加上Experience Reply来使算法达到最好的效果,所付出的代价是需要存储前面Action信息,对存储复杂度不会带来太大的影响。
在很多情况下,环境的信息来源是无限的,比如自动驾驶的情况,道路的信息和附近场景的信息完全超过了传感器能够接受信息的容量。在这种情况下,我们必须采用另外一种方式——Policy Gradient来进行求解。该方法的下一步动作是根据在有限的信息情况下做出自己对Agent最有利的Action,在这种情况下我们定义一个value,下一个Policy是根据当前或者以前Policy的情况进行学习,利用CNN算法中的梯度下降可以对算法进行学习。
Policy Gradient可以通过算法来实现,通过积分的方式,所求解的下一个Policy是当前的Policy加上Gradient,通过MC的方式来计算出相应的积分,计算Gradient的时候,会出现很多小的Trick,同时也要减小Variance。对于减小Variance可以采用Baseline函数的方式来进行。那么该如何求解Baseline?可以通过对过去所有Action Trajectory求平均值的方式得到Baseline,这也是针对过去action回顾性的方法求得Baseline。
这里引出一个比较重要的概念:Trajectory。Trajectory就是按照之前所有Action的时序,看action是怎样做的,就像坦克大战当中的坦克是怎么运动的,通过TrajectoryAverage形式来确定Baseline。通过这种方式可以对PolicyGradient进行有效的计算。
通过将Q-Learning与Policy Gradient 结合起来就会形成Actor-CriticAlgorithm这样的策略,可以更大地提高效率。
对于手写字体识别的例子,我们通常采用CNN的方式来实现,但是在强化学习中也能够实现。在强化学习中,我们需要首先寻找一个部分的信息,然后决定怎样获得下一步的信息,这样就设计出了用于字体识别的强化学习方式。
在每个循环中输出Action以后决定下一步如何采样,通过这种红色的框能够游历目标所有的信息,识别完整以后通过分类算法决定到底是哪一个字符,这样就也可以达到比较高的效率。Alpha-Go在这方面更加有名,其采用了Actor-Critic算法,能够对围棋游戏规则进行更好的编码,采用Policy-Gradient算法达到良好效果。
归纳起来,今天我们讲了强化学习的5个基本概念,通过数学定义引出了MDP的概念,最终引到强化学习当中最重要的问题——怎么求得Optimal Policy。对于Optimal Policy的求解方法,提到了两种方法,即Policy Gradient方法与Q-Learning方法。
当环境信息量太大、变量太多的时候需要大量采样,而难以做到时,通常采用Policy Gradient的方法;当环境信息有限并且能够实现比较好的采样,通常采用Q-Learning的方法。不管是通过Policy Gradient还是Q-Learning都可以获得比较好的求解方案。
获取完整PPT,请后台回复:学术报告
供稿人:陶易
精彩的学术报告背后,是一群优秀的学术人才。都说搞学术的人需要“超凡脱俗”,需要耐得住清贫寂寞,其实……芯君想说:完全不需要这样啊!比如,马上申请2018百度奖学金——是的,百度为每位具有AI才能的“潜力股”学术精英们提供了广阔的平台资源和发展空间,为其提供20万研究资金支持,帮助优秀学子全身心投入科研工作,心无旁骛地进行科学探索。
还等什么,你——未来的学术之星,赶快申请报名吧!
如需转载,请后台留言,遵守转载规范