强化学习总结(0)—RL基本介绍

本人硕士期间就对RL比较感兴趣,当时AlpahGo还没火,可能更多是对于Strong AI的前景和未来有着较大期待吧,后来随着AlphaGo--Master---zero版本的不断更新,再加上OpenAI的星际争霸等,RL逐步焕发出了新的生机。因此,自从2016年下半年开始断断续续地学习强化学习到现在,中间因为要发各种paper,断断续续地看了一遍,只有一个大致印象,但了解不够深入,仅停留在表面。现在静下心来,开始第二遍系统学习,打算借着博客来对所学进行总结,争取有更深入的理解吧,也希望能和大家多多交流、相互学习,中间的见解可能比较浅显,还希望各位大神、大牛能多多批评指正,促进自己更好地学习。

自从2015年以来,关于RL的资料、教程越来越多,有些写的非常不错,比如莫凡python、天津包子馅的知乎专栏、其他一些博客等,还有一些视频课程也非常多,比如Divid silver在UCL的授课、优达学城的课程、伯克利、斯坦福的大学课程等,考虑到本人的实际,不习惯英文课程,看不到一半就坚持不住了,还是比较喜欢看教材、博客和代码,经过一番对比考量,本人此次RL学习的主要参考资料如下:

1.Reinforcement Learning: An Introduction.Second edition, in process.(2017 Draft). 这是自己的主要参考教材,也建议大家多看几遍,书里面有全套的对应github代码(matlab、C、python版本都有,网上很方便可以找到)。RL经典教材,现代强化学习之父sutton的著作,非常详细,由浅入深、娓娓道来,感觉入门是非常合适的。本人英语水平及其一般(CET6 < 500),但读起来并不觉得特别费劲儿,每次读感觉收获都很多。

2.莫凡python系列教程。对于python、机器学习、神经网络等都有介绍,建议整个教程都可以反复读看几遍,RL部分虽然都是一些基本算法,但手把手教的可不多,小白入门必备,自己也打算再多看几遍。

3.已有的博客系列:(这里只列举几个自己收藏的,配合上面的书和视频,对比着看效果会更好)

    a).http://www.cnblogs.com/steven-yang/p/6481772.html 

    b).http://www.cnblogs.com/jinxulin/p/3511298.html

    c). http://www.algorithmdog.com/ml/rl-series

    d).https://zhuanlan.zhihu.com/p/28563483

其他还有一些比较好的进阶版教材,比如Reinforcement Learning State-of-Art (Wiering M.A.)、强化学习原理及应用(王雪松2014版,介绍感觉比较全,但感觉不适合当作教材学习,适当看看就行)还有其他一些国外近几年的博士论文、各种顶会、期刊论文等,难度层次也略大,这些就因人而异,毕竟RL的方向很多,不是每一个都适合自己,但建议多读读多涉猎一些,每个论文都有自己看RL的角度,或许从别人的论文中看你能发现一些属于自己的东西,这应该是多读论文的意义吧。这些进阶版内容后续会找时间分享总结吧。

RL基本介绍

既然是总结,那就不能长篇大论的描述,否则不是抄书么,干脆把sutton的书翻译一遍得了,其实是自己一度想翻译的,但工作量是在太大了~~不说废话,只把自己总结出来的干货展现出来就行了。

1. What is RL? Why learn RL?

答:RL是一种以目标为直接导向、基于马尔科夫的序列决策方法,本质就是追求最大回报,寻找对应的最优策略。现代RL方法大体可分为三个分支:Trial and error 分支(1980s前后)、基于值函数和动态规划的优化控制(包括现在还很火的ADP,基本都算是RL的分支)、以sutton为代表的TD算法及后续系列(也是现在RL的主流方法)。RL是机器学习的四个组成部分之一(其他为监督学习、无监督学习、迁移学习)。

        RL的思想决定了它是通往Strong AI的必经之路,这也是为什么国外很多大牛愿意将其作为博士课题的原因。尽管RL已经发展了近三十年,并且这几年做的工作也非常多,但这些都只是皮毛而已,离Strong AI还非常远,自身发展也远远没有什么大的突破(包括AlphaGo系列,并没有理论上的大创新,还是以前的算法和思想,只是工程实现做的非常好,当然这也很了不起了),可以继续做的内容也是非常多的。 RL的学习过程其实很奇怪,你可以跑几个算法如Q-learning、sarsa、DQN等的程序,做几个不一样的应用就说我会RL了(这是我学习初期的表现),但当自己开始设计一些算法,实际做一些东西的时候,会发现还是啥也不会。这也使得我总感觉自己并没有真正入门,但又说不上来,因此就打算重新从头开始学习,希望自己不只是懂那些基本算法,更能深入地了解RL,厚积薄发,由基础看到前沿吧。

2.RL---个人看法。

    a.相比于其他领域,机器学习的发展可以说是非常缓慢的(指基础研究领域,个人看法,仅供参考),RL也是如此,虽然你可以说现在围棋都被攻破了,这是多么大的成就,但懂行的都知道,这个过程中,RL的基础研究取得的进展并不大,更多的依赖于深度网络和很多工程实现的技巧,本身算法研究并没有大的进步。

    b.RL的训练样本也是非常巨大的,尤其是面对一些复杂问题,这个难题现在依然无法彻底解决。

    c.当状态过多时,维数灾难问题依然可怕。

3.RL的几个主要研究方向

    a.多智能体强化学习。

    b.带有迁移属性的强化学习.

    c.元强化学习。

    d.分层强化学习。

    e.强化学习与神经生物学的联系。

posted @ 2017-12-07 16:36  飞翔的拖拉机  阅读(3596)  评论(0编辑  收藏  举报