深度学习(三十九)——深度强化学习(2)概述, Deep Q-learning Network(1)

概述

在这里插入图片描述

上图是深度强化学习的脉络图,参考文献中还有该领域的关键论文列表。

在这里插入图片描述

在这里插入图片描述

原图地址:

http://louiskirsch.com/maps/reinforcement-learning

参考:

https://mp.weixin.qq.com/s/781fVvKr4yuq4q2GI1Y1gA

从Zero到Hero,OpenAI重磅发布深度强化学习资源

https://spinningup.openai.com/en/latest/spinningup/keypapers.html

深度强化学习关键论文列表

DeepMind vs OpenAI

DeepMind和OpenAI算是DRL的两大重镇。

DeepMind主要是David Silver和他导师Richard Sutton一脉,最初来源于control theory,代表作是Deep Q-learning, DDPG。

OpenAI背后的派别是Berkeley帮,主要工作是围绕Pieter Abbeel以及他的两位superstar博士生Sergey Levine和John Schulman,最初来源于Robotics,代表作是TRPO以及后来的PPO。

某牛的点评:

现在的研究发现policy gradient的方法效果比Q-learning这种单纯基于value的方法好,所以选择policy gradient,事实上是把两者结合起来的actor-critic效果最好!只是说actor-critic的关键在于policy gradient。
然后呢,说说目前DeepMind和OpenAI的研究情况,DeepMind在Q-Learning上造诣太深,OpenAI的Pieter Abbeel派很难从中弄成什么新的东西,因此从改进policy gradient的方法入手,得到TRPO+GAE等方法。(然后DeepMind基本不鸟,论文根本不比较他们的方法,而OpenAI这边到现在也不敢和A3C比较,估计必败)
现在OpenAI又因为有一些Deep Generative Model的大神,又把这方面也结合进来了。OpenAI这边的优势在于机器人控制上之前做的多,把传统控制和深度学习结合的方法也能搞出一些东西比如GPS,其他的团队比如Satinder Singh, Honglak Lee那就更只能从边边上去做了,比如做了Atari视频预测,给网络加上memory network。
最后还是从方法上说一下,Policy Gradient显然比基于Value的方法更直接,输入感知,输出控制。按道理来说是更符合人类行为的方法。特别在控制上。但是在一些离散的决策上,人类也是评估各方好坏value来做选择的,所以这一块Q-Learning应该会做的更好。事实上,DeepMind也将DQN的Gorila分布式系统用在了Google的推荐系统上。还有,就是接下来机器人控制将会是深度学习要占领的一块地盘,在连续控制上,基于value的方法本身就不好做,连续DQN比如那个NAF方法使用了很多小技巧。而基于Policy的方法则很直接。

参考:

https://www.zhihu.com/question/316626294

请问DeepMind和OpenAI身后的两大RL流派有什么具体的区别?

https://www.zhihu.com/question/49787932

RL两大类算法的本质区别?(Policy Gradient和Q-Learning)

参考

https://www.nervanasys.com/demystifying-deep-reinforcement-learning/

深度强化学习揭秘

https://zhuanlan.zhihu.com/p/24446336

深度强化学习Deep Reinforcement Learning学习整理

https://mp.weixin.qq.com/s/K82PlSZ5TDWHJzlEJrjGlg

深度学习与强化学习

http://mp.weixin.qq.com/s/lLPRwInF5qaw7ewYHOpPyw

深度强化学习资料

http://lamda.nju.edu.cn/yangjw/project/drlintro.html

深度强化学习初探

https://zhuanlan.zhihu.com/p/21498750

深度强化学习导引

https://mp.weixin.qq.com/s/RnUWHa6QzgJbE_XqLeAQmg

深度强化学习,决策与控制

https://mp.weixin.qq.com/s/SckTPgEw7KWmfKXWriNIRg

浅谈强化学习的方法及学习路线

https://mp.weixin.qq.com/s/-JHHOQPB6pKVuge64NkMuQ

DeepMind主攻的深度强化学习3大核心算法及7大挑战

https://mp.weixin.qq.com/s/2SOHQElaYbplse3QqG9tYw

强化学习介绍

https://mp.weixin.qq.com/s/R30quVGK0TgjerLpiIK9eg

从算法到训练,综述强化学习实现技巧与调试经验

https://www.zhihu.com/question/49230922

强化学习(reinforcement learning)有什么好的开源项目、网站、文章推荐一下?

https://zhuanlan.zhihu.com/p/75913329

深度强化学习简介

DRL和Robotics

虽然,DRL似乎生来就是为了Robotics,然而现实中的无人系统,目前基本还是使用传统的控制方法。

例如:

https://www.zhihu.com/question/50050401

如何看待百度无人车, 三千多个场景,一万多个if?

不止国内,就连业界标杆Boston Dynamics也是这样:

https://www.zhihu.com/question/29871410

波士顿动力Boston Dynamics的大狗Big Dog用的了哪些控制、估计等算法?

直到最近才终于有了改观:

https://mp.weixin.qq.com/s/xSODAGf3QcJ3A9oq6xP11A

真的超越了波士顿动力!深度强化学习打造的ANYmal登上Science子刊

此外,还有一些论文:

《Learning to Drive in a Day》

参考:

https://zhuanlan.zhihu.com/p/59197798

那些个端到端的自动驾驶研发系统

https://mp.weixin.qq.com/s/yU-6r-7l50y5msw8gUWnUQ

美团技术部解析:无人车端到端驾驶模型概述

Deep Q-learning Network

基本思想

Deep Q-learning Network是DL在RL领域的开山之作。它的思想主要来自于Deepmind的两篇论文:

《Playing Atari with Deep Reinforcement Learning》

《Human-level control through deep reinforcement learning》

Deepmind是当今DL领域最前沿的科研机构,尤其在RL领域更是领先同行一大截,是当之无愧的RL王者。

在这里插入图片描述

上图是DQN的网络结构图。由于这里的任务是训练Atari游戏的AI,因此网络的输入实际上就是游戏的画面。而理解游戏画面,就需要一定的CNN结构。所以DQN的结构实际上和一般的CNN是一致的,其关键要害在于loss函数的设定。

由《机器学习(三十三)》中的“价值函数的近似表示”可知: Q ( s , a ) ≈ f ( s , a , w ) Q(s,a)\approx f(s,a,w) Q(s,a)f(s,a,w)

老套路,我们可以用一个神经网络来拟合f函数,这也就是所谓的Q网络(Q-Network)。

对于Atari游戏而言,这是一个高维状态输入(原始图像),低维动作输出(只有几个离散的动作,比如上下左右)。那么怎么来表示这个函数f呢?

Deepmind采取的方法是:只把状态s作为输入,但是输出的时候,会输出每一个动作的Q值,也就是输出一个向量 [ Q ( s , a 1 ) , Q ( s , a 2 ) , … , Q ( s , a n ) ] [Q(s,a_1),Q(s,a_2),\dots,Q(s,a_n)] [Q(s,a1),Q(s,a2),,Q(s,an)]。这样我们只要输入状态s,就可以得到所有的动作Q值。

在《机器学习(二十七)》中,我们指出Q-Learning算法的transition rule为:

Q ( s , a ) = R ( s , a ) + γ max ⁡ ( Q ( s ~ , a ~ ) ) Q(s,a)=R(s,a)+\gamma \max(Q(\tilde s,\tilde a)) Q(s,a)=R(s,a)+γmax(Q(s~,a~))

这时就存在两个Q值了:

  • 根据当前的<s,a>,由Q网络计算得到的Q值,被称为current Q-value

  • 使用transition rule,也由Q网络计算得到的Q值,被称为target Q-value

显然从Q函数的定义来看,这两者是等价的。因此,我们的目标就是使这两者尽可能的一致,即:

L = E [ ( r + γ max ⁡ a ′ Q ( s ′ , a ′ , w ) − Q ( s , a , w ) ) 2 ] L=E[(\color{blue}{r+\gamma \max_{a'}Q(s',a',w)}-Q(s,a,w))^2] L=E[(r+γamaxQ(s,a,w)Q(s,a,w))2]

上式中蓝色的部分即为target Q-value。

DQN虽然是model-free的,但是也有难点,那就是Reward的定义。好在在Atari游戏的例子里,这个问题比较简单,直接采用游戏得分即可。但得分奖励过于肤浅,在动作类游戏中或许没啥问题,但对于《Montezuma’s Revenge》这样的解谜游戏,就不太好使了。

此外,Deepmind在Atari游戏中,采用了连续4帧图像作为DQN的输入。这样的行为也被称作状态的表示。状态的表示会严重影响学习的效果,然而目前来说,它还是一门艺术,而非科学。例如,AlphaGo采用了过去八手棋局作为状态的表示。

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值