首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >课程实录丨增强学习入门(答疑篇)

课程实录丨增强学习入门(答疑篇)

作者头像
博文视点Broadview
发布2020-06-11 14:48:20
3150
发布2020-06-11 14:48:20
举报

本实录是根据“博文视点在线课堂”线上分享内容汇总整理而成 分享嘉宾:冯超 相关图书:《深度学习轻松学:核心算法与视觉实践》

那我现在就开始回答一下大家的一些问题,大家如果要有什么问题想问的话可以留下言,我挑其中的几个问题跟大家一起探讨一下。

Q: 如何系统地学习,增强学习的知识?

如果真的想系统的话,我们可以先从看一些书或者一些教程开始吧。像我自己入门时候看过一本叫Sutton的人写过的一本书,它应该算是增强学习当中一个泰斗吧,他写了一个比较基础又比较全面的一本书,名字我可以稍微去找一下,然后如果可以翻墙的话,国外还有一个配套的课程,但那个课程讲地会相对比较深一些,初学者学可能会有点困难。剩下的我觉得大家就可以找一些比较经典的一些代码,比方说像我刚才说的这个flappybird,这个实际有很多人去实现了,然后大家可以去读一读,去感受一下。增加学习的书就刚才我说了那一本,我觉得基本上把那本书看完的话,你会对算法整个大体的脉络有一些了解。其实今天主要讲了一些MDP的东西,再往后会有一些比方说我们知道StateTranslation的话,那就算是一个我们知道mode问题,那么就可以用policy Iteration或者Value Iteration这样的算法可以去解,那么如果我们不知道mode的,就现在来说,基本上大家会用Monte Carlo或者Temporal Difference这样的方法去解,然后TD又会发展出来一些Sarsa或Q-Learning的一些方法,再往后有一些像Policy Gradient,然后还有像A3C这样的一些算法,但是我自己目前在了解后面的一些算法,主要就是直接读论文去了,但是像刚才说的这些算法像Q-Learning这样的算法实际上在那本书上都有,大家去搜索一下,他们最近也在出第二版,那本书还是不错的。

Q: 增强学习的前沿代表性算法有哪些?

前沿算法其实也挺多的吧,现在很多其实都是在以前的算法上做一些演变吧。像近几年现在比较有名的一些算法,其实一个是像A3C就是一个异步Actor-Critic一个算法,还有就是像TRPO这个算是我还了解一些的,可能有的更前沿的我也不是很了解,当然这个除了这两个之外,其实后面还有很多新的东西吧,反正有人曾经做过一些总结,就是近几年来,这样的算法还是非常非常多的。

Q: 增强学习目前的工业界有哪些应用呢?

其实这个东西反正在很多地方,只要我们能发现它是有这种序列交互性质的东西,实际上都可以做,然后比方说我们可以把它用在像无人驾驶这样的一些事情上吧,无人驾驶其实就是一个序列的问题,比方说我们当前发现某一个时刻现在路况是什么样子的,然后要产生一个行动去怎么开,踩油门、刹车,还是往左打打转,或往右打转,然后怎么办,然后下一个时刻又是一些状态来了,然后reward是什么呢?我觉得就是我们只要不出事那reward应该是正的,出事了那就是负的或者是负无穷大的。基本上我们只要拿MDP,就是拿我们刚才学的这个能套上去,那就可以用增强学习去解。我刚才发的这个就是我曾经入门看的书,这本书的作者也非常牛,是很多算法的作者,然后他这本书写得非常详尽,希望就是大家有兴趣的话,真的可以好好深读这本书,读懂它的话后面很多新算法基本上都可以用这样的思想去解释,后面再去读其他的文献也就不那么吃力了。

Q: 增强学习和深度学习有什么区别?

增强学习和深度学习不算是同一个级别的比较,就是其实我们看机器学习这个大的问题有很多角度去看,深度学习是从一个角度去看,增强学习是从另一个角度去看。深度学习同一个类型的学习有什么呢?比方说既然深度学习,那肯定有浅层学习了,浅层学习代表就是我们曾经学的一些系数学习的一些问题。比方说像Logistic的回归,这样的模型就是属于浅层的学习,那么对于增强学习同类型的学习,我们一般都是说像监督学习和非监督学习,这两种学习一般是和增加学习放在一起,它们属于一种大的学习类型。自动驾驶应该是可以用增强学习去实现,自动驾驶也可以用其他的方法去实现。总之,有很多种方法其实都可以实现,关键是看我们的问题可以用什么样的方法去定义,只要能把它定义清楚,那就可以用比方说一些思想或者一些模型去把它解出来,具体来说实际上它们每一种方法是有区别的,但是它的应用实际上是很广泛的,实际上很多很多的问题我们都可以用增加学习去做,甚至说一些大家认为不太可能用增强学习的东西,只要你能把它用这个模型套上,它也可以用这个方法去做。

这个问题是百度的小度机器人有没有用到怎样学习。我猜它是有可能用到了,但是小度机器人应该是有很多功能吧,我不知道你具体说的是哪个功能了,但我猜反正每个功能其实它都有可以用它的点。还是那句话,如果它的这个应用场景我们可以用增强学习的方法给它建模,比方说我们有这种交互概念的东西,比方说它如果做一些自动聊天机器人这样的事情,只要有这样持续的这么一些东西,那其实都可以用增强学习去做,只不过看我们怎么定义了。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-09-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 博文视点Broadview 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档