强化学习之基于伪计数的探索算法
?作者|王治海
學校|中國科學技術大學碩士生
研究方向|強化學習與機器博弈
強化學習基于智能體與環境的交互,以最大化累積獎勵為目標,學習狀態到動作的映射(即策略)。本文將主要圍繞強化學習中的探索問題展開,首先介紹強化學習中的探索問題,并針對此問題介紹基于偽計數的探索算法,從核心思想和算法有效原因兩個角度對該算法進行了深入的分析與討論。
強化學習中的探索問題介紹
強化學習(Reinforcement Learning)
強化學習用于解決序貫決策問題,而該類問題往往通過馬爾可夫決策過程(Markov Decision Process)進行建模。該過程可以通過五元組表示。其中
表示狀態空間,假設狀態空間連續。
表示動作空間,假設動作空間連續。
是狀態轉移的概率密度函數。
是獎勵函數。
表示折扣因子,是一個常數。
接下來將介紹強化學習算法面臨的一個重要挑戰,探索與利用困境。
探索與利用困境(Exploration and Exploitation Dilemma)
何為探索與利用困境
探索與利用困境是強化學習算法的一個重要挑戰。直觀的例子是今天小明想去吃頓好的,現在他有兩家飯店A,B可以選擇,A飯店是吃過一次的店,體驗還不錯,B飯店是新開張的店,B飯店有可能物美價廉,也有可能又貴又難吃。擺在小明面前的選擇難題就是探索與利用困境。如果小明傾向于「利用」自己已有的信息,則會選擇A飯店;如果小明傾向于「探索」自己不確定的動作,則會選擇嘗試B飯店。
圖1. 小明選擇飯館吃飯(圖片來源:UC Berkeley CS188 Intro to AI 課程ppt)在對環境未知的情況下,智能體通過與環境交互,即嘗試A 飯店或者B 飯店,收集關于環境的信息。智能體應該基于已有的經驗選擇自認為最優的動作,如小明選擇A飯店;還是去選擇智能體不確定度高的動作,如小明嘗試B飯店,便是探索與利用困境。
如果智能體只利用,則由于信息的不完整性,智能體很有可能陷入次優策略,如上例中B 飯店遠優于A 飯店;如果智能體均勻隨機盲目探索,則依舊會訪問已經確認是低獎勵的狀態動作對,增加低質量的樣本數量,如上例中小明分別去過4次A 飯店和B 飯店,幾乎確認B 飯店體驗極差,而如果小明均勻隨機盲目探索,則還是會嘗試B 飯店。因此,強化學習算法需要考慮如何平衡探索與利用,高效的探索環境,降低對環境的不確定性。接下來將介紹一種高效探索的原則——面向不確定度的樂觀探索(Optimism in the Face of Uncertainty)。
面向不確定度的樂觀探索(Optimism in the Face of Uncertainty)
何為不確定度(Uncertainty)
不確定度是涉及不完美或者未知信息時的認知情況。如小明在十八歲那一年高考750分和獲得750萬現金二選一,小明該如何決策。相信很多讀者都沒法直接給出決策,因為選擇高考750分的未來發展的信息幾乎未知,這個選擇涉及非常高的不確定度,可能“一戰封神“,也可能如仲永泯然眾人。
深度學習領域中能夠建模的不確定度主要有兩種類別:偶然不確定度和認知不確定度[5][7]。
在強化學習中偶然不確定度產生于環境本身的隨機性,認知不確定度的主要來源是因為收集的數據量不足而導致的不確定度。認知不確定度的特點是隨著數據收集越來越多,不確定度會越來越小,直至0。如智能體走迷宮,在智能體沒有充分的和環境交互之前,迷宮終點附近的數據量不足,智能體對于迷宮終點附近的認知不確定度高,這些地點可能有寶藏,也可能有陷阱。
以下通過例子給出一種數學建模認知不確定度的方式。
「例子:」 給定一個單狀態單動作問題,定義獎勵為隨機變量,服從分布,為區間上的未知分布。假設已經獨立采集4個樣本,我們希望去估計,一種常用的估計器是使用樣本均值估計,即,但是我們對于的估計是不確定的,這個不確定度的大小可以由置信區間給出。給定置信度90%,應用霍夫丁不等式(Hoeffding's inequality),我們可得
注意其中,可以求得 有至少90%的概率落入區間,此時對于隨機變量 均值的估計的不確定度的度量為。這類對于隨機變量均值的估計的不確定度屬于認知不確定度,因為隨著收集的數據量趨于無窮,相應不確定度會趨于0 (大數定理)。
面向不確定度的樂觀探索
直觀來說,面向不確定度的樂觀探索是一個探索原則,即智能體傾向于探索不確定度高的狀態動作對,以便確認這些狀態動作對是否具備高獎勵。智能體對于環境的不確定度可以由度量[2],為常數(離散狀態離散動作問題設置,代表狀態動作對 被訪問的次數)。具體推導細節由于篇幅限制在此不展開敘述,感興趣的同學可以參考文獻[2]。至此,基于計數的探索算法呼之欲出,具體地,將作為獎勵函數的額外獎勵,即用于訓練智能體的獎勵為
直覺解釋為如果智能體訪問一個狀態動作對越少,即越小,對應的額外獎勵越大,智能體應該更傾向于訪問這個狀態動作對,確認這個狀態動作對是否會是高獎勵狀態動作對。
但是基于計數的探索算法依賴于統計訪問過的狀態動作對的次數,這限制了其在連續狀態空間下的應用。因為連續狀態空間問題中,訪問過的狀態動作對幾乎不會重復,在大部分狀態動作對下都是零,無法起到指導探索的作用。針對于連續狀態空間設置下的問題,下文介紹一種基于「偽計數(pseudo-count)」 的探索算法[1]。
基于偽計數的探索算法
算法基本思想
在連續空間問題下,直接對狀態動作對計數將失效,所以基于「偽計數(pseudo-count)」 的探索算法通過設計密度模型(density model)來評估狀態出現的頻率,從而計算偽計數替代真實計數,將作為獎勵函數的額外獎勵,即訓練智能體的獎勵為
何為偽計數
為了簡化推導,假設只考慮狀態的計數。假定狀態空間為集合,給定已經訪問過的狀態信息, 學習密度模型評估狀態出現的頻率,其中為模型參數。該密度模型應該滿足以下幾個性質:
(1)輸出總是非負,即。
(2)對于沒有見過且與都不相似的狀態,輸出接近于0。
(3)對于出現過或者與中的狀態比較相似,輸出較高的值。
在智能體收集到新樣本后,歷史數據更新為,密度模型也會更新為,密度模型的更新方式可以參考文獻[4]。基于密度模型,模擬計數特性,依據頻率逼近概率的思想,定義偽計數函數和偽計數總數,
也就是說,我們希望在觀察到一個數據后,密度模型預測的的概率密度會上升,反映到偽計數函數上為相應偽計數增長1,即。由此聯立方程可求出
為了使得偽計數符合我們的直覺,它需要滿足,因此,密度模型需要滿足性質:
(4)對于每次收集到任意新樣本時,滿足。即數據 出現的頻率增加,密度模型預測的概率密度上升。
綜上,只要有能夠滿足以上4點性質的密度模型,則可以估計偽計數,從而利用偽計數指導探索。具體密度模型的實現方式見文獻[4]。
注意,以上定義能方便地拓展延伸到計數狀態動作對的情況,即。
算法流程
以下是基于偽計數探索算法的偽代碼,由于論文中沒有給出相應的偽代碼,我根據自己的理解列出了該算法基本的流程。
圖2. 基于偽計數的探索算法偽代碼算法有效的原因
該算法有效的主要原因在于以下兩點:理論啟發,在表格問題設置下,前人證明了可以作為智能體對環境的不確定度,將加入獎勵函數,可以保證高效探索;在連續空間問題下,該算法設計的偽計數函數具備泛化性的同時能有效反映真實計數的變化情況。
「(1)理論啟發:作為探索額外獎勵符合直覺且具備理論保證。」 該算法沿襲了算法Model Based Interval Estimation with Exploration Bonus(MBIE-EB)[2] 的思路。從理論角度看,在表格的問題設置下,MBIE-EB從理論上推導出了可以度量智能體對環境的不確定度。因此,「如果偽計數能夠有效反映真實計數,」 則可以近似認為也可以度量智能體對環境的不確定度,將加入獎勵函數,依舊可以保證高效探索。從直覺角度看,如果智能體訪問一個狀態動作對越少,則計算出來的越小,智能體應該更傾向于去訪問這個狀態動作對,確定這個狀態動作對是否會是高獎勵狀態動作對,即對應的額外獎勵越大。
「(2)偽計數具備泛化性的同時能有效反映真實計數的變化情況,即偽計數和真實計數在總體趨勢上成正相關關系。」 論文[1] 中的Figure 1展示了Atari 游戲環境FREEWAY 環境中使用連續密度模型計算的偽計數和真實計數有較強正相關關系。也就是圖3,右側是FREEWAY 游戲環境,游戲任務是控制一只小雞過馬路,在過馬路的過程中可能會被小車撞擊導致倒退。小雞被初始化在馬路的一邊,目標是控制小雞到達馬路對邊。左側曲線橫軸代表和環境交互的步數,縱軸代表偽計數。黑色曲線代表小雞初始化的位置對應的偽計數、變化趨勢是持續正向增加,和真實發生的次數的變化趨勢一致。綠色曲線代表小雞到達馬路對面對應的偽計數,淡綠色區域對應的時間段內,小雞到達了馬路對面,偽計數變化趨勢是迅速增加,而在小雞還沒有到達過馬路對面時,其偽計數接近于0。
圖3. FREEWAY 環境偽計數變化趨勢圖示 [1]研究思路分析
本文介紹的基于偽計數的探索算法由論文[1] 提出,而這篇論文研究科學問題的思路有許多值得借鑒之處,故在這一章節專門針對論文[1] 的研究思路進行總結與分析。
(1)理論啟發。在有限馬爾科夫決策過程中,基于計數指導探索的思路具備理論保證,從而啟發在連續控制問題中使用相關技術去近似計數。
(2)方法以性質為導向。論文[1] 提出了求取偽計數的一種思路之后,圍繞偽計數直覺上應該滿足的性質進行分析與驗證,從而使得方法有效的原因更加清晰。
總結
本文針對于強化學習中的高效探索問題介紹了一種基于偽計數的探索算法。首先介紹了強化學習和探索與利用困境。然后給出解決如何高效探索問題的算法——基于偽計數的探索算法。分析了該算法的基本思想和有效的原因。該算法的基本思想來自于表格環境下的基于計數的探索算法,但是基于計數的探索算法依賴于統計訪問過的狀態動作對的次數,而連續狀態空間問題中,訪問過的狀態動作對幾乎不會重復,在大部分狀態動作對下都是零,無法起到指導探索的作用。因此,該算法通過設計滿足一定性質的密度模型來評估頻次,計算在連續空間下具有泛化性的偽計數鼓勵探索。最后,本文分析了提出基于偽計數的探索算法的論文的研究思路。
參考文獻
[1] Bellemare M, Srinivasan S, Ostrovski G, et al. Unifying count-based exploration and intrinsic motivation[C] Advances in neural information processing systems. 2016: 1471-1479.
[2] Strehl A L, Littman M L. An analysis of model-based interval estimation for Markov decision processes[J]. Journal of Computer and System Sciences, 2008, 74(8): 1309-1331.
[3] THEREFORE STOC, ASM. Guide to the Expression of Uncertainty in Measurement[J]. 1993.
[4] Bellemare M, Veness J, Talvitie E. Skip context tree switching[C] International Conference on Machine Learning. 2014: 1458-1466.
[5] Kendall A, Gal Y. What uncertainties do we need in bayesian deep learning for computer vision?[C] Advances in neural information processing systems. 2017: 5574-5584.
[6] Brockman G, Cheung V, Pettersson L, et al. Openai gym[J]. arXiv preprint arXiv:1606.01540, 2016.
[7] Clements W R, Robaglia B M, Van Delft B, et al. Estimating risk and uncertainty in deep reinforcement learning[J]. arXiv preprint arXiv:1905.09638, 2019.
作者簡介:
王治海,2020年畢業于華中科技大學電氣與電子工程學院,獲得工學學士學位。現于中國科學技術大學電子工程與信息科學系的 MIRA Lab 實驗室攻讀研究生,師從王杰教授。研究興趣包括強化學習與機器博弈。
????
現在,在「知乎」也能找到我們了
進入知乎首頁搜索「PaperWeekly」
點擊「關注」訂閱我們的專欄吧
關于PaperWeekly
PaperWeekly 是一個推薦、解讀、討論、報道人工智能前沿論文成果的學術平臺。如果你研究或從事 AI 領域,歡迎在公眾號后臺點擊「交流群」,小助手將把你帶入 PaperWeekly 的交流群里。
總結
以上是生活随笔為你收集整理的强化学习之基于伪计数的探索算法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 直播 | CVPR 2021论文解读:引
- 下一篇: 调参,注意神经网络处于哪种相态