深度学习(三十九)——深度强化学习(2)概述, Deep Q-learning Network(1)
概述
上圖是深度強(qiáng)化學(xué)習(xí)的脈絡(luò)圖,參考文獻(xiàn)中還有該領(lǐng)域的關(guān)鍵論文列表。
原圖地址:
http://louiskirsch.com/maps/reinforcement-learning
參考:
https://mp.weixin.qq.com/s/781fVvKr4yuq4q2GI1Y1gA
從Zero到Hero,OpenAI重磅發(fā)布深度強(qiáng)化學(xué)習(xí)資源
https://spinningup.openai.com/en/latest/spinningup/keypapers.html
深度強(qiáng)化學(xué)習(xí)關(guān)鍵論文列表
DeepMind vs OpenAI
DeepMind和OpenAI算是DRL的兩大重鎮(zhèn)。
DeepMind主要是David Silver和他導(dǎo)師Richard Sutton一脈,最初來源于control theory,代表作是Deep Q-learning, DDPG。
OpenAI背后的派別是Berkeley幫,主要工作是圍繞Pieter Abbeel以及他的兩位superstar博士生Sergey Levine和John Schulman,最初來源于Robotics,代表作是TRPO以及后來的PPO。
某牛的點(diǎn)評(píng):
現(xiàn)在的研究發(fā)現(xiàn)policy gradient的方法效果比Q-learning這種單純基于value的方法好,所以選擇policy gradient,事實(shí)上是把兩者結(jié)合起來的actor-critic效果最好!只是說actor-critic的關(guān)鍵在于policy gradient。
然后呢,說說目前DeepMind和OpenAI的研究情況,DeepMind在Q-Learning上造詣太深,OpenAI的Pieter Abbeel派很難從中弄成什么新的東西,因此從改進(jìn)policy gradient的方法入手,得到TRPO+GAE等方法。(然后DeepMind基本不鳥,論文根本不比較他們的方法,而OpenAI這邊到現(xiàn)在也不敢和A3C比較,估計(jì)必?cái)?#xff09;
現(xiàn)在OpenAI又因?yàn)橛幸恍〥eep Generative Model的大神,又把這方面也結(jié)合進(jìn)來了。OpenAI這邊的優(yōu)勢(shì)在于機(jī)器人控制上之前做的多,把傳統(tǒng)控制和深度學(xué)習(xí)結(jié)合的方法也能搞出一些東西比如GPS,其他的團(tuán)隊(duì)比如Satinder Singh, Honglak Lee那就更只能從邊邊上去做了,比如做了Atari視頻預(yù)測(cè),給網(wǎng)絡(luò)加上memory network。
最后還是從方法上說一下,Policy Gradient顯然比基于Value的方法更直接,輸入感知,輸出控制。按道理來說是更符合人類行為的方法。特別在控制上。但是在一些離散的決策上,人類也是評(píng)估各方好壞value來做選擇的,所以這一塊Q-Learning應(yīng)該會(huì)做的更好。事實(shí)上,DeepMind也將DQN的Gorila分布式系統(tǒng)用在了Google的推薦系統(tǒng)上。還有,就是接下來機(jī)器人控制將會(huì)是深度學(xué)習(xí)要占領(lǐng)的一塊地盤,在連續(xù)控制上,基于value的方法本身就不好做,連續(xù)DQN比如那個(gè)NAF方法使用了很多小技巧。而基于Policy的方法則很直接。
參考:
https://www.zhihu.com/question/316626294
請(qǐng)問DeepMind和OpenAI身后的兩大RL流派有什么具體的區(qū)別?
https://www.zhihu.com/question/49787932
RL兩大類算法的本質(zhì)區(qū)別?(Policy Gradient和Q-Learning)
參考
https://www.nervanasys.com/demystifying-deep-reinforcement-learning/
深度強(qiáng)化學(xué)習(xí)揭秘
https://zhuanlan.zhihu.com/p/24446336
深度強(qiáng)化學(xué)習(xí)Deep Reinforcement Learning學(xué)習(xí)整理
https://mp.weixin.qq.com/s/K82PlSZ5TDWHJzlEJrjGlg
深度學(xué)習(xí)與強(qiáng)化學(xué)習(xí)
http://mp.weixin.qq.com/s/lLPRwInF5qaw7ewYHOpPyw
深度強(qiáng)化學(xué)習(xí)資料
http://lamda.nju.edu.cn/yangjw/project/drlintro.html
深度強(qiáng)化學(xué)習(xí)初探
https://zhuanlan.zhihu.com/p/21498750
深度強(qiáng)化學(xué)習(xí)導(dǎo)引
https://mp.weixin.qq.com/s/RnUWHa6QzgJbE_XqLeAQmg
深度強(qiáng)化學(xué)習(xí),決策與控制
https://mp.weixin.qq.com/s/SckTPgEw7KWmfKXWriNIRg
淺談強(qiáng)化學(xué)習(xí)的方法及學(xué)習(xí)路線
https://mp.weixin.qq.com/s/-JHHOQPB6pKVuge64NkMuQ
DeepMind主攻的深度強(qiáng)化學(xué)習(xí)3大核心算法及7大挑戰(zhàn)
https://mp.weixin.qq.com/s/2SOHQElaYbplse3QqG9tYw
強(qiáng)化學(xué)習(xí)介紹
https://mp.weixin.qq.com/s/R30quVGK0TgjerLpiIK9eg
從算法到訓(xùn)練,綜述強(qiáng)化學(xué)習(xí)實(shí)現(xiàn)技巧與調(diào)試經(jīng)驗(yàn)
https://www.zhihu.com/question/49230922
強(qiáng)化學(xué)習(xí)(reinforcement learning)有什么好的開源項(xiàng)目、網(wǎng)站、文章推薦一下?
https://zhuanlan.zhihu.com/p/75913329
深度強(qiáng)化學(xué)習(xí)簡(jiǎn)介
DRL和Robotics
雖然,DRL似乎生來就是為了Robotics,然而現(xiàn)實(shí)中的無人系統(tǒng),目前基本還是使用傳統(tǒng)的控制方法。
例如:
https://www.zhihu.com/question/50050401
如何看待百度無人車, 三千多個(gè)場(chǎng)景,一萬多個(gè)if?
不止國(guó)內(nèi),就連業(yè)界標(biāo)桿Boston Dynamics也是這樣:
https://www.zhihu.com/question/29871410
波士頓動(dòng)力Boston Dynamics的大狗Big Dog用的了哪些控制、估計(jì)等算法?
直到最近才終于有了改觀:
https://mp.weixin.qq.com/s/xSODAGf3QcJ3A9oq6xP11A
真的超越了波士頓動(dòng)力!深度強(qiáng)化學(xué)習(xí)打造的ANYmal登上Science子刊
此外,還有一些論文:
《Learning to Drive in a Day》
參考:
https://zhuanlan.zhihu.com/p/59197798
那些個(gè)端到端的自動(dòng)駕駛研發(fā)系統(tǒng)
https://mp.weixin.qq.com/s/yU-6r-7l50y5msw8gUWnUQ
美團(tuán)技術(shù)部解析:無人車端到端駕駛模型概述
Deep Q-learning Network
基本思想
Deep Q-learning Network是DL在RL領(lǐng)域的開山之作。它的思想主要來自于Deepmind的兩篇論文:
《Playing Atari with Deep Reinforcement Learning》
《Human-level control through deep reinforcement learning》
Deepmind是當(dāng)今DL領(lǐng)域最前沿的科研機(jī)構(gòu),尤其在RL領(lǐng)域更是領(lǐng)先同行一大截,是當(dāng)之無愧的RL王者。
上圖是DQN的網(wǎng)絡(luò)結(jié)構(gòu)圖。由于這里的任務(wù)是訓(xùn)練Atari游戲的AI,因此網(wǎng)絡(luò)的輸入實(shí)際上就是游戲的畫面。而理解游戲畫面,就需要一定的CNN結(jié)構(gòu)。所以DQN的結(jié)構(gòu)實(shí)際上和一般的CNN是一致的,其關(guān)鍵要害在于loss函數(shù)的設(shè)定。
由《機(jī)器學(xué)習(xí)(三十三)》中的“價(jià)值函數(shù)的近似表示”可知:Q(s,a)≈f(s,a,w)Q(s,a)\approx f(s,a,w)Q(s,a)≈f(s,a,w)
老套路,我們可以用一個(gè)神經(jīng)網(wǎng)絡(luò)來擬合f函數(shù),這也就是所謂的Q網(wǎng)絡(luò)(Q-Network)。
對(duì)于Atari游戲而言,這是一個(gè)高維狀態(tài)輸入(原始圖像),低維動(dòng)作輸出(只有幾個(gè)離散的動(dòng)作,比如上下左右)。那么怎么來表示這個(gè)函數(shù)f呢?
Deepmind采取的方法是:只把狀態(tài)s作為輸入,但是輸出的時(shí)候,會(huì)輸出每一個(gè)動(dòng)作的Q值,也就是輸出一個(gè)向量[Q(s,a1),Q(s,a2),…,Q(s,an)][Q(s,a_1),Q(s,a_2),\dots,Q(s,a_n)][Q(s,a1?),Q(s,a2?),…,Q(s,an?)]。這樣我們只要輸入狀態(tài)s,就可以得到所有的動(dòng)作Q值。
在《機(jī)器學(xué)習(xí)(二十七)》中,我們指出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~))
這時(shí)就存在兩個(gè)Q值了:
-
根據(jù)當(dāng)前的<s,a>,由Q網(wǎng)絡(luò)計(jì)算得到的Q值,被稱為current Q-value。
-
使用transition rule,也由Q網(wǎng)絡(luò)計(jì)算得到的Q值,被稱為target Q-value。
顯然從Q函數(shù)的定義來看,這兩者是等價(jià)的。因此,我們的目標(biāo)就是使這兩者盡可能的一致,即:
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+γa′max?Q(s′,a′,w)?Q(s,a,w))2]
上式中藍(lán)色的部分即為target Q-value。
DQN雖然是model-free的,但是也有難點(diǎn),那就是Reward的定義。好在在Atari游戲的例子里,這個(gè)問題比較簡(jiǎn)單,直接采用游戲得分即可。但得分獎(jiǎng)勵(lì)過于膚淺,在動(dòng)作類游戲中或許沒啥問題,但對(duì)于《Montezuma’s Revenge》這樣的解謎游戲,就不太好使了。
此外,Deepmind在Atari游戲中,采用了連續(xù)4幀圖像作為DQN的輸入。這樣的行為也被稱作狀態(tài)的表示。狀態(tài)的表示會(huì)嚴(yán)重影響學(xué)習(xí)的效果,然而目前來說,它還是一門藝術(shù),而非科學(xué)。例如,AlphaGo采用了過去八手棋局作為狀態(tài)的表示。
總結(jié)
以上是生活随笔為你收集整理的深度学习(三十九)——深度强化学习(2)概述, Deep Q-learning Network(1)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 机器学习(三十八)——博弈论(1)
- 下一篇: 深度学习(四十)——深度强化学习(3)D