強化學習中很多重要的難題都圍繞著兩個問題:我們應該如何高效地與環(huán)境互動?如何從經(jīng)驗中高效學習?在這篇文章中,我想對最近的深度強化學習研究做一些調(diào)查,找到解決這兩個問題的方法,其中主要會講到三部分:
分層強化學習
記憶和預測建模
有模型和無模型方法的結(jié)合
首先我們快速回顧下DQN和A3C這兩種方法,之后會深入到最近的幾篇論文中,看看它們在這一領域做出了怎樣的貢獻。
回顧DQN和A3C/A2C
DeepMind的深度Q網(wǎng)絡(DQN)是深度學習應用到強化學習中實現(xiàn)的第一個重大突破,它利用一個神經(jīng)網(wǎng)絡學習Q函數(shù),來玩經(jīng)典雅達利游戲,例如《乓》和《打磚塊》,模型可以直接將原始的像素輸入轉(zhuǎn)化成動作。
從算法上來說,DQN直接依賴經(jīng)典的Q學習技術。在Q學習中,動作對的Q值,或者說“質(zhì)量”,是根據(jù)基于經(jīng)驗的迭代更新來估計的。從本質(zhì)上說,在每個狀態(tài)采取的行動,我們都能利用接收到的實時獎勵和新狀態(tài)的價值來更新原始狀態(tài)動作對的價值估計。
除此之外,DeepMind的A3C(Asynchronous Advantage Actor Critic)和OpenAI的變體A2C,對actor-critic方法來說都是非常成功的深度學習方法。
Actor-critic方法結(jié)合了策略梯度方法和學習價值函數(shù)。只用DQN,我們只能得到學習價值函數(shù)(Q函數(shù)),我們跟隨的“策略”也只是簡單的在每一步將Q值達到最大的動作。有了A3C和其他actor-critic方法,我們學習兩種不同的函數(shù):策略(或者“演員”)和價值(或者“評委”)。基于當前估計的優(yōu)點,策略會調(diào)整動作的概率,價值函數(shù)也會更新基于經(jīng)驗和獎勵的優(yōu)勢。策略如下:
可以看到,降至網(wǎng)絡學習了一個基準狀態(tài)值V(si;θv),有了它我們可以將目前的獎勵估計R和得到的優(yōu)點相比較,策略網(wǎng)絡會根據(jù)這些優(yōu)點用經(jīng)典強化算法調(diào)整對數(shù)幾率。
A3C之所以這么受歡迎,主要原因是它結(jié)構的平行和不同步性,具體結(jié)構不是本文重點討論的內(nèi)容,感興趣的讀者可以查看DeepMind的IMPALA論文。
DQN和A3C/A2C都是強大的基準智能體,但遇到復雜問題時,它們并不那么好用,比如可能觀察補全或者在動作和獎勵信號之間有延遲。所以,強化學習領域的研究者們一直致力于解決這些問題。
分層強化學習
分層強化學習是強化學習方法的一種,它從策略的多個圖層中學習,每一層都負責控制不同時間下的動作。策略的最下一層負責輸出環(huán)境動作,上面幾層可以完成其他抽象的目標。
為什么這種方法如此受歡迎呢?首先,從認知角度來看,長久以來的研究都表示,人類和動物的行為都是有組織的。例如,當我們想做飯的時候,我會把這一任務分成好幾部分完成:洗菜、切菜、燒水煮面等等。我還可以把其中的某一小任務進行替換,比如把煮面換成蒸米飯,也能完成做好一頓飯的總?cè)蝿铡_@就說明現(xiàn)實世界中的任務內(nèi)部是有結(jié)構的。
從技術層面來說,分層強化學習能幫助解決上述提到的第二個問題,即如何從經(jīng)驗中高效地學習,解決方法就是通過長期信用分配和稀疏獎勵信號。在分層強化學習中,由于低層次的策略是從高層次策略分布的任務所得到的內(nèi)部獎勵學習的,即使獎勵稀疏,也可以學到其中的小任務。另外,高層次策略生成的時間抽象可以讓我們的模型處理信用分配。
說到具體工作原理,實施分層強化學習的方法有很多。最近,谷歌大腦團隊的一篇論文就采取了一種簡易方法,他們的模型稱為HIRO。
核心思想如下:我們有兩個策略層,高層策略訓練的目的是為了讓環(huán)境獎勵R實現(xiàn)最大化。每一步后,高層策略都會對新動作進行采樣。低層策略訓練的目的是為了采取環(huán)境行動,生成與給定的目標狀態(tài)相似的狀態(tài)。
訓練低層策略時,HIRO用的是深度確定性策略梯度(DDPG)的變體,它的內(nèi)部獎勵是將目前得到的觀察和目標觀察之間的距離進行參數(shù)化:
DDPG是另一種開創(chuàng)新的深度強化學習算法,它將DQN的思想擴展到了持續(xù)動作空間中。他也是另一種actor-critic方法,使用策略梯度來優(yōu)化策略。
不過,HIRO絕不是唯一的分層強化學習方法。FeUdal網(wǎng)絡出現(xiàn)的時間更早,它將經(jīng)過學習的“目標”表示作為輸入,而不是原始狀態(tài)的觀察。另外還有很多方法需要一定程度的手動操作或領域知識,這就限制了其泛化能力。我個人比較喜歡的最近的一項研究成果是基于人口的訓練(PBT),其中他們將內(nèi)部獎勵看作額外的超參數(shù),PBT在訓練時人口“增長”的過程中對這些超參數(shù)進行優(yōu)化。
如今,分層強化學習是非常火熱的研究對象,雖然它的核心是非常直觀的,但它可擴展、多任務并行、能解決強化學習中的許多基礎性問題。
存儲和注意力
現(xiàn)在讓我們談談另外能解決長期信用分配和稀疏獎勵信號問題的方法。通俗點說,我們想知道智能體如何能擅長記憶。
深度學習中的記憶總是非常有趣,科學家們經(jīng)歷了千辛萬苦,也很難找到一種結(jié)構能打敗經(jīng)過良好調(diào)校的LSTM。但是,人類的記憶機制可不像LSTM。當我們從家開車去超市時,回想的都是原來走過幾百次的路線記憶,而不是怎么從倫敦的一個城市到另一個城市的路線。所以說,我們的記憶是根據(jù)情景可查詢的,它取決于我們在哪里、在干什么,我們的大腦知道哪部分記憶對現(xiàn)在有用。
在深度學習中,Neural Turing Machine是外部、關鍵信息存儲方面論文的標桿,這也是我最喜歡的論文之一,它提出通過向量值“讀取”和“寫入”特定位置,利用可區(qū)分的外部存儲器對神經(jīng)網(wǎng)絡進行增強。如果把它用在強化學習上會怎樣?這就是最近的MERLIN結(jié)構的思想。
MERLIN有兩個組成部分:基于記憶的預測器(MBP)和一個策略網(wǎng)絡。MBP負責將觀察壓縮成有用的、低維的“狀態(tài)變量”,將它們直接儲存在關鍵的記憶矩陣中。
整個過程如下:對輸入觀察進行編碼,并將其輸入到MLP中,輸出結(jié)果被添加到先驗分布中,生成后驗分布。接著,后驗分布經(jīng)過采樣,生成一個狀態(tài)變量zt。接著,zt輸入到MBP的LSTM網(wǎng)絡中,輸出結(jié)果用來更新先驗,并且進行讀取或書寫。最后,策略網(wǎng)絡運用z_t和讀取輸出生成一個動作。
關鍵細節(jié)在與,為了保證狀態(tài)表示時有用的,MBP同樣經(jīng)過訓練需要預測當前狀態(tài)下的獎勵,所以學習到的表示和目前的任務要相關。
不過,MERLIN并不是唯一使用外部存儲器的深度強化學習網(wǎng)絡,早在2016年,研究者就在一個記憶Q網(wǎng)絡中運用了這一方法,來解決Minecraft中的迷宮問題。不過這種將存儲用作預測模型的方法有一些神經(jīng)科學上的阻礙。
MERLIN的基于存儲的預測器對所有觀察進行編碼,將它們與內(nèi)部先驗結(jié)合,生成一個“狀態(tài)變量”,可以捕捉到一些表示,并將這些狀態(tài)存儲到長期記憶中,讓智能體在未來可以做出相應的動作。
智能體、世界模型和想象力
在傳統(tǒng)強化學習中,我們可以做無模型學習,也可以做基于模型的學習。在無模型的強化學習中,我們學著將原始環(huán)境觀察直接映射到某個值或動作上。在基于模型的強化學習中,我們首先會學習一個基于原始觀察的過渡模型,然后用這個模型來選擇動作。
能在模型上進行計劃比單純的試錯法更高效,但是,學習一個好的模型通常很困難,所以早期很多深度強化學習的成功都是無模型的(例如DQN和A3C)。
這就表示,無模型和有模型的強化學習之間的界線很模糊。現(xiàn)在,一種新的“Imagination-augmented Agents”算法出現(xiàn)了,將這兩種方法結(jié)合了起來。
在Imagination-Augmented Agents(I2A)中,最終策略是一個無模型模塊和有模型模塊并存的函數(shù)。有模型的模塊可以看做智能體對環(huán)境的“想象”,其中包含了智能體內(nèi)部想象的活動軌跡。但是,關鍵是有模型模塊在終點處有一個編碼器,它可以聚集想象軌跡,并將它們進行編譯,讓智能體在必要的時候忽略那些想象。所以,當智能體發(fā)現(xiàn)它的內(nèi)部模型在進行無用或不精確的想象時,它可以學習忽略模型,用無模型部分繼續(xù)工作。
I2A的工作流程
和A3C以及MERLIN類似,該策略也是通過一個標準策略梯度損失進行訓練,如下:
I2A之所以如此受歡迎的原因之一是,在某些情況下,這也是我們在現(xiàn)實中處理情況的方法。我們總是根據(jù)所處的環(huán)境下,目前的精神想法對未來做計劃和預測,但我們知道,我們的精神模型可能不完全準確,尤其是當我們來到一個陌生環(huán)境中時。在這種情況下,我們就會進行試錯法,就像無模型方法一樣,但同時我們還會利用這一段新體驗對內(nèi)在精神環(huán)境進行更新。
除此之外,還有很多研究結(jié)合了有模型和無模型兩種方法,例如伯克利的Temporal Difference Model等,這些研究論文都有著相同目標,即達到像無模型方法一樣的性能,同時具有和基于模型方法相同的高效采樣率。
結(jié)語
深度強化學習模型非常難以訓練,但是正是因為這樣的難度,我們想到了如此多種的解決方案。這篇文章只是對深度強化學習的不完全調(diào)查,除了本文提到了方法,還有很多針對深度強化學習的解決方案。但是希望文中所提到的關于記憶、分層和想象的方法對該領域中所遇到的挑戰(zhàn)和瓶頸有所幫助。最后,Happy RL hacking!
-
函數(shù)
+關注
關注
3文章
4379瀏覽量
64813 -
深度學習
+關注
關注
73文章
5561瀏覽量
122780 -
強化學習
+關注
關注
4文章
269瀏覽量
11596
原文標題:除了DQN/A3C,還有哪些高級強化學習成果
文章出處:【微信號:jqr_AI,微信公眾號:論智】歡迎添加關注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
NVIDIA Isaac Lab可用環(huán)境與強化學習腳本使用指南

【書籍評測活動NO.61】Yocto項目實戰(zhàn)教程:高效定制嵌入式Linux系統(tǒng)
18個常用的強化學習算法整理:從基礎方法到高級模型的理論技術與代碼實現(xiàn)

詳解RAD端到端強化學習后訓練范式


zeta在機器學習中的應用 zeta的優(yōu)缺點分析
螞蟻集團收購邊塞科技,吳翼出任強化學習實驗室首席科學家
什么是機器學習?通過機器學習方法能解決哪些問題?

評論