欢迎大家关注微信公众号: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算法,给定目标位置,机械臂可以很快做出反应并到达指定位置,可以说是很棒棒了。

简单介绍其概念及学习方法和顺序,在之后的过程中会推出深度强化学习专栏,敬请期待!

Reinforcement Learning,微信公众号:DRL学习的更多相关文章

  1. 微信公众号入门学习1_使用C#,ASP.NET APIController如何公众号接入服务器并启动开发者模式

    前言:  本文是以微信公众号中的订阅号(个人)来进行简单介绍,本人也是刚刚开始学习,有不足之处,欢迎批评指正. 先粘贴2个帮助链接: 入门指引:http://mp.weixin.qq.com/wiki ...

  2. python微信公众号开发学习记录

    网上有很多微信公众号的开发教程,但是都是好几年前的了,而且很多都是抄袭其他人的,内容几乎一模一样.真的无语了.只好自己总结一下开发的一些简单流程. 一先去注册个微信公众号,这个就不详细说了, 二登录后 ...

  3. 微信公众号入门学习2_使用C#,ASP.NET APIController如何被动回复用户消息

    前言: 这里就可以凸显使用APIController的一个优势了,因为可以通过MVC的路由设置相同的路由,但改变请求的方式(HttpPost),可以单独写被动回复接口. 毕竟,微信服务器转入到咱们自己 ...

  4. C#开发微信公众号-学习笔记

    由于最近要做微信服务号的开发,所以开始找相关说明和接口文档开始学,故把学习过程及注意事项记录一下,帮助想学习的快速上手.废话不多少了,直接上干货! 1.申请微信公众号 这个就不需要多说了吧,大家直接照 ...

  5. httpClient实现微信公众号消息群发

    1.实现功能 向关注了微信公众号的微信用户群发消息.(可以是所有的用户,也可以是提供了微信openid的微信用户集合) 2.基本步骤 前提: 已经有认证的公众号或者测试公众账号 发送消息步骤: 发送一 ...

  6. 【原创】【2015最新】微信公众平台开发手把手入门之一:缘起微信公众号(PHP,MYSQL, BAE)

    最近因为业务的需要,老板布置做了两个月简单的的微信公众平台开发,从网上搜了一些资料,实话说资料不多. 在参考学习的过程中也遇到了不少难缠的小问题,虽然不难逾越,但是确实浪费了时间. 我发现网上仅有不多 ...

  7. Unity自学路线整理(参看微信公众号Unity墙外的世界的文章 )

    目前还是个新手. 发现自己有时候还是会一脸蒙...的对着电脑屏幕不知所措,为了利用好在大学零散的时间所以整理一下学习unity的路线. 计划好才能更好的利用时间. 1. 先学好C#再去看引擎,我看的是 ...

  8. .net微信公众号开发——快速入门

    作者:王先荣 最近在学习微信公众号开发,将学习的成果做成了一个类库,方便重复使用. 现在微信公众号多如牛毛,开发微信的高手可以直接无视这个系列的文章了. 使用该类库的流程及寥寥数行代码得到的结果如下. ...

  9. .NET C#使用微信公众号登录网站

    适用于:本文适用于有一定微信开发基础的用户 引言:花了300大洋申请了微信公众平台后,发现不能使用微信公众号登录网站(非微信打开)获得微信帐号.仔细研究后才发现还要再花300大洋申请微信开放平台才能接 ...

随机推荐

  1. 统计redis大key信息(前topN)

    相关包下载链接 https://github.com/sripathikrishnan/redis-rdb-tools/releaseshttps://pypi.org/project/python- ...

  2. CPPU OJ | 开发日志

    2019.12.18 ~ 2019.12.22 用腾讯云的学生服务器测试搭建OJ(踩了无数的坑) 2019.12.25 ~ 2019.12.28 在模管中心办理申请虚拟服务器的手续 2019.12.3 ...

  3. vjudge 棋盘

    原题目链接:https://vjudge.net/contest/331118#problem/B 在一个给定形状的棋盘(形状可能是不规则的)上面摆放棋子,棋子没有区别.要求摆放时任意的两个棋子不能放 ...

  4. [CF546C] Soldier and Cards - 模拟

    两个人玩牌,首先两个人都拿出自己手牌的最上面的进行拼点,两张拼点牌将都给拼点赢得人,这两张牌放入手牌的顺序是:先放对方的牌再放自己的.若最后有一个人没有手牌了,那么他就输了,求输出拼点的次数和赢得人的 ...

  5. [HAOI2011] 向量 - 裴蜀定理

    给你一对数a,b,你可以任意使用(a,b), (a,-b), (-a,b), (-a,-b), (b,a), (b,-a), (-b,a), (-b,-a)这些向量,问你能不能拼出另一个向量(x,y) ...

  6. PP: Shape and time distortion loss for training deep time series forecasting models

    Problem: time series forecasting Challenge: forecasting for non-stationary signals and multiple futu ...

  7. android 获取所有SD卡目录

    //返回sd卡路径public static List<String> getStorageDirectories(Context context) { StorageManager sm ...

  8. 使用VS2017创建EF框架实例

    本文例子中使用环境:vs2017,sql server 2008 一,创建EF项目 1,解决方案添加.Net Framework类库项目,在新建的项目下新建项:data->ADO.NET实体数据 ...

  9. 将用户名密码邮箱制成表格,以用户名为q结束

    print("输入用户名.密码.邮箱长度不能超过20个") s="" while True: v = input("用户名:") if v= ...

  10. n皇后问题(dfs-摆放问题)

    你的任务是,对于给定的N,求出有多少种合法的放置方法. Input共有若干行,每行一个正整数N≤10,表示棋盘和皇后的数量:如果N=0,表示结束.Output共有若干行,每行一个正整数,表示对应输入行 ...