Reinforcement Learning,微信公众号:DRL学习
欢迎大家关注微信公众号: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_使用C#,ASP.NET APIController如何公众号接入服务器并启动开发者模式
前言: 本文是以微信公众号中的订阅号(个人)来进行简单介绍,本人也是刚刚开始学习,有不足之处,欢迎批评指正. 先粘贴2个帮助链接: 入门指引:http://mp.weixin.qq.com/wiki ...
- python微信公众号开发学习记录
网上有很多微信公众号的开发教程,但是都是好几年前的了,而且很多都是抄袭其他人的,内容几乎一模一样.真的无语了.只好自己总结一下开发的一些简单流程. 一先去注册个微信公众号,这个就不详细说了, 二登录后 ...
- 微信公众号入门学习2_使用C#,ASP.NET APIController如何被动回复用户消息
前言: 这里就可以凸显使用APIController的一个优势了,因为可以通过MVC的路由设置相同的路由,但改变请求的方式(HttpPost),可以单独写被动回复接口. 毕竟,微信服务器转入到咱们自己 ...
- C#开发微信公众号-学习笔记
由于最近要做微信服务号的开发,所以开始找相关说明和接口文档开始学,故把学习过程及注意事项记录一下,帮助想学习的快速上手.废话不多少了,直接上干货! 1.申请微信公众号 这个就不需要多说了吧,大家直接照 ...
- httpClient实现微信公众号消息群发
1.实现功能 向关注了微信公众号的微信用户群发消息.(可以是所有的用户,也可以是提供了微信openid的微信用户集合) 2.基本步骤 前提: 已经有认证的公众号或者测试公众账号 发送消息步骤: 发送一 ...
- 【原创】【2015最新】微信公众平台开发手把手入门之一:缘起微信公众号(PHP,MYSQL, BAE)
最近因为业务的需要,老板布置做了两个月简单的的微信公众平台开发,从网上搜了一些资料,实话说资料不多. 在参考学习的过程中也遇到了不少难缠的小问题,虽然不难逾越,但是确实浪费了时间. 我发现网上仅有不多 ...
- Unity自学路线整理(参看微信公众号Unity墙外的世界的文章 )
目前还是个新手. 发现自己有时候还是会一脸蒙...的对着电脑屏幕不知所措,为了利用好在大学零散的时间所以整理一下学习unity的路线. 计划好才能更好的利用时间. 1. 先学好C#再去看引擎,我看的是 ...
- .net微信公众号开发——快速入门
作者:王先荣 最近在学习微信公众号开发,将学习的成果做成了一个类库,方便重复使用. 现在微信公众号多如牛毛,开发微信的高手可以直接无视这个系列的文章了. 使用该类库的流程及寥寥数行代码得到的结果如下. ...
- .NET C#使用微信公众号登录网站
适用于:本文适用于有一定微信开发基础的用户 引言:花了300大洋申请了微信公众平台后,发现不能使用微信公众号登录网站(非微信打开)获得微信帐号.仔细研究后才发现还要再花300大洋申请微信开放平台才能接 ...
随机推荐
- Windows2008r2、正版安装包
最近发现有很多人找我要Windows 2008的安装包,为了方便,就分享在这儿一下,有需要的自行下载. 链接:https://pan.baidu.com/s/1YZFE7FxL8O_gtfAftcX ...
- cmd 下sql语句及结果
Microsoft Windows [版本 10.0.14393](c) 2016 Microsoft Corporation.保留所有权利. C:\Users\李长青>mysql -uroot ...
- Mariadb Galera Cluster 搭建集群
1.安装MariaDB 和Galera 见另外一篇博客 2.环境修改 2.1 防火墙和SELinux 这里不做说明,参照网上教程,和官方的配置 2.2. 创建用于节点同步的账号 [root@local ...
- 彻底禁用Chrome插件停用开发者模式提示插件version.dll
下载后将dll文件放在和Chrome.exe同目录然后重启浏览器即可. 文件下载地址:https://download.csdn.net/download/ganquanzhong/11987360
- 158.Clickjacking点击劫持攻击实现和防御措施
clickjacking攻击: clickjacking攻击又称为点击劫持攻击,是一种在网页中将恶意代码等隐藏在看似无害的内容(如按钮)之下,并诱使用户点击的手段. clickjacking攻击场景: ...
- 电脑进不去BIOS解决办法
把所有外设(主要是硬盘,包括装在主板上的固态硬盘)拆下来,拆下纽扣电池给主板放电,装回纽扣电池,重启F1进入BIOS. 最终查到原因,是固态那里出的问题,固态作为启动硬盘,被自己搞得有问题了,有两个启 ...
- 题解【洛谷P6029】[JSOI2010]旅行
题面 简化版题意:给出 \(n\) 个点 \(m\) 条边的无向图,可以交换任意两条边的权值 \(k\) 次,求 \(1\) 结点到 \(n\) 结点的最短路. 考虑\(\text{DP}\). 把所 ...
- jQuery jqgrid
1.写div <div class="ibox-content"> <div class="jqGrid_wrapper"> <! ...
- IDA pro 6.8显示中文字符串的方法
IDA pro 6.8设置显示中文字符串的方法 M4x原创,转载请表明出处http://www.cnblogs.com/WangAoBo/p/7636335.html IDA是一款强大无比的反编译软件 ...
- AcWing 前缀和 一维加二维
一维 #include<bits/stdc++.h> using namespace std; ; int n,m; int a[N],s[N]; int main(){ ios::syn ...