欢迎大家关注微信公众号:DRL学习,我们一起来学习强化学习和深度强化学习的算法及现状应用问题。
强化学习简单说就是学习如何最大化未来奖励的预期总和,以及agent学会在环境中做出的行动序列,其中随机状态对代理人来说是未知的,并且取决于其行动。具体的强化学习分类如谢图所示,强化学习属于交叉学科,对于很多的计算及计算机学科都有帮助及涉及。
今天,就带大家来聊聊强化学习那些事以及小编这一年多走过的弯路,遇过的坑。前段时间看过一篇文章叫做《强化学习-从入门到放弃》,文章写的挺好的,而且句句扎心。内心不够强大,抗压能力不达到一定境界的孩纸,小编劝你们不要涉足强化学习,因为真的会让你疯,让你成魔。
强化学习(reinforcement learning)是高于深度学习的强人工智能领域,最被人们所熟知,也最成功的例子就是DeepMind做的AlphaGo,AlphaGo Zero以及AlphaZero。目前最值得关注的领域为无人驾驶领域,强化学习应用在无人 驾驶技术的L4级别和L5级别中,也算是最热门,坑最多的人工智能领域。其实,强化学习属于无监督学习的代表,它的思想特别简单,如下图所示。
大脑代表agent,地球代表environment,agent给出action到environment当中,同时environment给agent当前的观察observation得出的状态,同时给出当前行为的reward,agent根据返回的observation和reward决定下一步该怎么走,思想说起来其实很简单,但是真正实现起来却特别难。其原因首先是environmnent的多变性,不同的环境就会产生不同的影响;其次,reward奖励的设定也很重要,如果设置不合理,agent会投机取巧走捷径,得不到你想要的结果。因此如何设置环境和奖励是强化学习的难点也是关键点。
接下来,跟大家分享小编自己的学习方法,希望对大家的学习有益。对于强化学习的学习,小编是五步走战略,希望可以给刚涉足人工智能的小伙伴一些启示。第一步,学习强化学习,就一定要用python语言基础,因为无论你使用的平台是TF还是caffe,python语言都是基础知识,没有强大的C++和python语言做支持,学了也是白学。第二步,机器学习(machine learning),机器学习是入门人工智能的基石,在这里我推荐大神吴恩达的机器学习课程或者台湾国立大学李宏毅教授的机器学习课程,这两门课程都非常的详实,对于入门和掌握机器学习的内容都非有用,书籍推荐南京大学周志华教授的西瓜书《机器学习》,其他的一些培训机构不能说不好,会有一定用处,但我总觉得批量生产出来的程序员总有些奇怪。第三步,深度学习(deep learning),其实也就是研究经典网络,例如在CNN网络当中的几大经典网络LeNet5,AlexNet,VGG,Google Inception和ResNet是必须掌握透彻的,然后利用学习的网络自己动手做实验,如图像的分类,检索等问题,只有自己动手的网络才是自己掌握的网络,因为你会遇到各种奇奇怪怪的问题,真正解决问题才能进步。第四步,学习强化学习的基本知识,包括一些基本概念和公式的推导,基础阶段我推荐我的男神,AlphaGo之父David Silver在2015年伦敦大学的系列公开课,他的公开课讲的特别详实对学习强化学习的基础知识起到很好的理解与引导作用;目前,UC Berkely新出来了课程CS294也是很不错的,大家都可以自行观看学习。第五步,读论文,而且是最新的论文,小编的前四步,花费了一年多的时间才完成,目前在第五步阶段,并养成一个习惯是每天早上打开电脑的第一件事是去Deepmind和Openai主页看一眼,看看他们这两大巨头又在闷声干啥大事,因为这些公司一定会把他们的最新成果公布出来,所以,每天关注是对自己有好处的。
最后,我们来聊聊强化学习的现状与应用。目前,强化学习在游戏领域和机器人领域做的是最突出的,究其原因其实是因为游戏的环境相对稳定且易于操控,所以很多人喜欢用游戏进行强化学习算法的检验,最经典的游戏莫过于Atari游戏。对于机器人,小编了解相对较少,因为涉及的东西太多,但是强化学习算法在机械臂的应用非常的好,最棒的就是Openai推出的HER算法,给定目标位置,机械臂可以很快做出反应并到达指定位置,可以说是很棒棒了。
简单介绍其概念及学习方法和顺序,在之后的过程中会推出深度强化学习专栏,敬请期待!