深度學習和強化學習(五)深度強化學習.Valuebased

價值函數(shù)的近似表示:假如我們遇到復雜的狀態(tài)集合呢米愿?甚至很多時候鼻吮,狀態(tài)是連續(xù)的,那么就算離散化后违柏,集合也很大,此時我們的傳統(tǒng)方法香椎,比如Q-Learning漱竖,根本無法在內存中維護這么大的一張Q表畜伐。

一個可行的建模方法是價值函數(shù)的近似表示。方法是我們引入一個狀態(tài)價值函數(shù)v^, 這個函數(shù)由參數(shù)w描述万矾,并接受狀態(tài)s作為輸入慎框,計算后得到狀態(tài)s的價值,即我們期望:


類似的

價值函數(shù)近似的方法很多们颜,比如最簡單的線性表示法,用?(s)表示狀態(tài)s的特征向量努溃,則此時我們的狀態(tài)價值函數(shù)可以近似表示為:


當然阻问,除了線性表示法,我們還可以用決策樹第队,最近鄰刨秆,傅里葉變換,神經網絡來表達我們的狀態(tài)價值函數(shù)衡未。而最常見,應用最廣泛的表示方法是神經網絡如失。因此后面我們的近似表達方法如果沒有特別提到送粱,都是指的神經網絡的近似表示

對于神經網絡,可以使用DNN脆丁,CNN或者RNN橄镜。沒有特別的限制冯乘。如果把我們計算價值函數(shù)的神經網絡看做一個黑盒子,那么整個近似過程可以看做下面這三種情況


對于Qlearning?采用上面右邊的第三幅圖的動作價值函數(shù)建模思路來做姊氓,現(xiàn)在我們叫它Deep Q-Learning喷好。

和Q-Learning不同的地方在于,它的Q值的計算不是直接通過狀態(tài)值s和動作來計算禾唁,而是通過上面講到的Q網絡來計算的。這個Q網絡是一個神經網絡荡短,我們一般簡稱Deep Q-Learning為DQN掘托。

 DQN的輸入是我們的狀態(tài)s對應的狀態(tài)向量?(s), 輸出是所有動作在該狀態(tài)下的動作價值函數(shù)Q闪盔,主要使用的技巧是經驗回放(experience replay),即將每次和環(huán)境交互得到的獎勵與狀態(tài)更新情況都保存起來,用于后面目標Q值的更新听绳。為什么需要經驗回放呢异赫?我們回憶一下Q-Learning,它是有一張Q表來保存所有的Q值的當前結果的贴妻,但是DQN是沒有的蝙斜,那么在做動作價值函數(shù)更新的時候,就需要其他的方法娩鹉,這個方法就是經驗回放稚伍。

通過經驗回放得到的目標Q值和通過Q網絡計算的Q值肯定是有誤差的,那么我們可以通過梯度的反向傳播來更新神經網絡的參數(shù)w个曙,當w收斂后垦搬,我們的就得到的近似的Q值計算方法,進而貪婪策略也就求出來了


f步和g步的Q值計算也都需要通過Q網絡計算得到


DQN有個問題对雪,就是它并不一定能保證Q網絡的收斂米绕,也就是說馋艺,我們不一定可以得到收斂后的Q網絡參數(shù)迈套。這會導致我們訓練出的模型效果很差


進階:?Nature DQN:

注意到DQN(NIPS 2013)里面,我們使用的目標Q值的計算方式:


Nature DQN嘗試用兩個Q網絡來減少目標Q值計算和要更新Q網絡參數(shù)之間的依賴關系雏赦。下面我們來看看Nature DQN是怎么做的芙扎。

Nature DQN使用了兩個Q網絡戒洼,一個當前Q網絡Q用來選擇動作,更新模型參數(shù)圈浇,另一個目標Q網絡Q′用于計算目標Q值。目標Q網絡的網絡參數(shù)不需要迭代更新召耘,而是每隔一段時間從當前Q網絡Q復制過來褐隆,即延時更新,這樣可以減少目標Q值和當前的Q值相關性衫贬。


DDQN:

在DDQN之前歇攻,基本上所有的目標Q值都是通過貪婪法直接得到的? 使用max雖然可以快速讓Q值向可能的優(yōu)化目標靠攏,但是很容易過猶不及葬毫,導致過度估計(Over Estimation)斧散,所謂過度估計就是最終我們得到的算法模型有很大的偏差(bias)摊聋。為了解決這個問題, DDQN通過解耦目標Q值動作的選擇和目標Q值的計算這兩步箍镜,來達到消除過度估計的問題。

Nature DQN對于非終止狀態(tài)香缺,其目標Q值的計算式子是

在DDQN這里歇僧,不再是直接在目標Q網絡里面找各個動作中最大Q值,而是先在當前Q網絡中先找出最大Q值對應的動作祸轮,即


 然后利用這個選擇出來的動作在目標網絡里面去計算目標Q值侥钳。即



Prioritized Replay DQN:

Nature DQN舷夺, DDQN等,他們都是通過經驗回放來采樣给猾,進而做目標Q值的計算的。在采樣的時候给僵,我們是一視同仁详拙,在經驗回放池里面的所有的樣本都有相同的被采樣到的概率。但是注意到在經驗回放池里面的不同的樣本由于TD誤差的不同蹲诀,對我們反向傳播的作用是不一樣的弃揽。TD誤差越大,那么對我們反向傳播的作用越大矿微。而TD誤差小的樣本涌矢,由于TD誤差小,對反向梯度的計算影響不大娜庇。在Q網絡中方篮,TD誤差就是目標Q網絡計算的目標Q值和當前Q網絡計算的Q值之間的差距励负。

這樣如果TD誤差的絕對值|δ(t)|較大的樣本更容易被采樣,則我們的算法會比較容易收斂:

Prioritized Replay DQN根據(jù)每個樣本的TD誤差絕對值|δ(t)|巾表,給定該樣本的優(yōu)先級正比于|δ(t)|略吨,將這個優(yōu)先級的值存入經驗回放池』菰常回憶下之前的DQN算法负间,我們僅僅只保存和環(huán)境交互得到的樣本狀態(tài),動作趾访,獎勵等數(shù)據(jù)董虱,沒有優(yōu)先級這個說法。由于引入了經驗回放的優(yōu)先級愤诱,那么Prioritized Replay DQN的經驗回放池和之前的其他DQN算法的經驗回放池就不一樣了淫半。因為這個優(yōu)先級大小會影響它被采樣的概率。在實際使用中科吭,我們通常使用SumTree這樣的二叉樹結構來做我們的帶優(yōu)先級的經驗回放池樣本的存儲。

這樣保存有什么好處呢谣殊?主要是方便采樣以上面的樹結構為例牺弄,根節(jié)點是42,如果要采樣一個樣本鲜棠,那么我們可以在[0,42]之間做均勻采樣内斯,采樣到哪個區(qū)間杯瞻,就是哪個樣本盒音。比如我們采樣到了26馅而, 在(25-29)這個區(qū)間,那么就是第四個葉子節(jié)點被采樣到瓮恭。而注意到第三個葉子節(jié)點優(yōu)先級最高屯蹦,是12,它的區(qū)間13-25也是最長的登澜,會比其他節(jié)點更容易被采樣到。

Prioritized Replay DQN和DDQN相比购撼,收斂速度有了很大的提高谴仙,避免了一些沒有價值的迭代,因此是一個不錯的優(yōu)化點锁摔。同時它也可以直接集成DDQN算法哼审,所以是一個比較常用的DQN算法。


Dueling DQN:在Dueling DQN中十气,我們嘗試通過優(yōu)化神經網絡的結構來優(yōu)化算法春霍,Dueling DQN考慮將Q網絡分成兩部分,第一部分是僅僅與狀態(tài)S有關,與具體要采用的動作A無關衅疙,這部分我們叫做價值函數(shù)部分鸳慈,第二部分同時與狀態(tài)狀態(tài)S和動作A有關,這部分叫做優(yōu)勢函數(shù)(Advantage Function)部分绩郎,最終我們的價值函數(shù)可以重新表示為:


其中翁逞,w是公共部分的網絡參數(shù)挖函,而α是價值函數(shù)獨有部分的網絡參數(shù),而β是優(yōu)勢函數(shù)獨有部分的網絡參數(shù)


在Dueling DQN中津畸,我們在后面加了兩個子網絡結構哲思,分別對應上面上到價格函數(shù)網絡部分和優(yōu)勢函數(shù)網絡部分。對應上面右圖所示棚赔。最終Q網絡的輸出由價格函數(shù)網絡的輸出和優(yōu)勢函數(shù)網絡的輸出線性組合得到靠益。

DQN算是深度強化學習的中的主流流派,代表了Value-Based這一大類深度強化學習算法胧后。但是它也有自己的一些問題,就是絕大多數(shù)DQN只能處理離散的動作集合纸巷,不能處理連續(xù)的動作集合眶痰。雖然NAF DQN可以解決這個問題,但是方法過于復雜了存哲。而深度強化學習的另一個主流流派Policy-Based而可以較好的解決這個問題

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市察滑,隨后出現(xiàn)的幾起案子修肠,更是在濱河造成了極大的恐慌,老刑警劉巖魂爪,帶你破解...
    沈念sama閱讀 218,386評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件艰管,死亡現(xiàn)場離奇詭異蒋川,居然都是意外死亡捺球,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,142評論 3 394
  • 文/潘曉璐 我一進店門裂逐,熙熙樓的掌柜王于貴愁眉苦臉地迎上來泣栈,“玉大人,你說我怎么就攤上這事掺涛√劢” “怎么了?”我有些...
    開封第一講書人閱讀 164,704評論 0 353
  • 文/不壞的土叔 我叫張陵拣帽,是天一觀的道長嚼锄。 經常有香客問我,道長峡谊,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,702評論 1 294
  • 正文 為了忘掉前任濒析,我火速辦了婚禮啥纸,結果婚禮上,老公的妹妹穿的比我還像新娘盾致。我一直安慰自己荣暮,他們只是感情好,可當我...
    茶點故事閱讀 67,716評論 6 392
  • 文/花漫 我一把揭開白布护赊。 她就那樣靜靜地躺著砾跃,像睡著了一般。 火紅的嫁衣襯著肌膚如雪判耕。 梳的紋絲不亂的頭發(fā)上翘骂,一...
    開封第一講書人閱讀 51,573評論 1 305
  • 那天,我揣著相機與錄音请毛,去河邊找鬼瞭亮。 笑死,一個胖子當著我的面吹牛统翩,可吹牛的內容都是我干的。 我是一名探鬼主播委粉,決...
    沈念sama閱讀 40,314評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼贾节,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了栗涂?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 39,230評論 0 276
  • 序言:老撾萬榮一對情侶失蹤角寸,失蹤者是張志新(化名)和其女友劉穎忿墅,沒想到半個月后疚脐,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經...
    沈念sama閱讀 45,680評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡橄杨,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,873評論 3 336
  • 正文 我和宋清朗相戀三年照卦,在試婚紗的時候發(fā)現(xiàn)自己被綠了乡摹。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,991評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡瞬痘,死狀恐怖框全,靈堂內的尸體忽然破棺而出干签,到底是詐尸還是另有隱情,我是刑警寧澤容劳,帶...
    沈念sama閱讀 35,706評論 5 346
  • 正文 年R本政府宣布竭贩,位于F島的核電站,受9級特大地震影響留量,放射性物質發(fā)生泄漏哟冬。R本人自食惡果不足惜忆绰,卻給世界環(huán)境...
    茶點故事閱讀 41,329評論 3 330
  • 文/蒙蒙 一较木、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧伐债,春花似錦峰锁、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,910評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至晃虫,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間扛吞,已是汗流浹背荆责。 一陣腳步聲響...
    開封第一講書人閱讀 33,038評論 1 270
  • 我被黑心中介騙來泰國打工做院, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人山憨。 一個月前我還...
    沈念sama閱讀 48,158評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像玛迄,于是被迫代替她去往敵國和親棚亩。 傳聞我的和親對象是個殘疾皇子虏杰,可洞房花燭夜當晚...
    茶點故事閱讀 44,941評論 2 355

推薦閱讀更多精彩內容