Playing Atari with Deep Reinforcement Learning
這是一篇論文,原地址在:
https://arxiv.org/abs/1312.5602
我屬於邊看便翻譯,邊理解,將他們記錄在這裏:
Abstract:
我們提出了第一個深學習模型,成功地學習控制策略直接從高維感官輸入使用強化學習。該模型是一個卷積神經網絡,用Q-學習的變體訓練,其輸入是原始像素,其輸出是估計未來的值函數。我們運用我們的方法在Atari 2600 遊戲中測試,沒有調整結構或學習的算法。我們發現它比所有之前的方法都好,比人類專家玩得都厲害。
1 Introduction
直接從高維的輸入數據中來學習控制機器人,像是vision和speech這樣,是加強學習的的長期目標。在這些領域運作的最成功的RL應用程序依賴於手動設置的特性,並與線性值函數或策略表示相結合。顯然,這種系統的性能在很大程度上依賴於特征表示的質量。深層學習的最新進展使得從原始感官數據中提取高級特征成為可能,導致計算機視覺和語音識別方面的突破。這些方法使用一系列的神經網絡結構,包括卷積網絡,多層感知器,受限玻爾茲曼機神經網絡,並利用有監督和無監督學習。類似的技術是否有益於加強和直接利用傳感器數據?
然而,強化學習從深度學習的角度提出了一些挑戰。首先,迄今為止最成功的深學習應用程序需要大量的手工標記的訓練數據。另一方面,RL算法必須能夠從稀疏、嘈雜和延遲的標量獎勵信號中學習。行動和得到的回報之間的延遲,可能會有數千個時間步長,與監督學習中輸入和目標之間的直接關聯相比,似乎特別令人畏懼。另一個問題是大多數深學習算法假定數據樣本是獨立的,而在強化學習中,通常會遇到高度相關的序列。此外,在RL中,當算法學習新行為時,數據分布也發生了變化,但這這對於深度學習方法來說,可能是個問題,因為深度學習的方法假設一個固定的潛在的分布。
本文證明了卷積神經網絡可以克服這些挑戰,能夠成功在一個復雜的RL環境當中從原始視頻當中學習出一個控制策略。這個網絡是由Q-learning的變體來訓練的,使用隨機梯度下降來進行更新權值。緩解相關數據和非平穩分布的問題,我們采用一個經驗重播的算法,這會隨機從之前的轉變當中曲陽,因此能夠在很多的過去行為當中會平滑訓練的訓練分布。
我們采取我們的方法來去萬Atari 2600遊戲,這個是在ALE環境中實現的(The Arcade Learning Environment)。A2600是一個有挑戰的RL的測試床,可以給機器人呈現210 × 160 RGB video at 60Hz 的視覺輸入,並且一個多樣化和有趣的任務集合用來給人類玩家進行挑戰的。我們的目標是創建一個單一的神經網絡代理,它能夠成功地學習盡可能多地玩遊戲。網絡沒有提供任何特定於遊戲的信息或手工設計的視覺特征,也不了解模擬器的內部狀態。它只從視頻輸入、獎勵和終端信號以及一套可能的動作中學習,就像人類玩家一樣。此外,網絡結構和參數全部用於訓練保持恒定在遊戲。到目前為止,該網絡在我們所嘗試的七場比賽中,超過了以前的RL算法,超過了三個人類玩家。
2、Background
我們考慮機器人要完成的任務,需要和環境進行交互,在這裏,也就是 Atari emulator,有一個序列的行動,觀察值和rewards。在每一個時間長度(time-step),機器人都會從一個合法的遊戲行動當中選擇一個行動
表示的是這個遊戲的合法行動。
這個行動會被傳遞到遊戲模擬器,並且會修改它的內部狀態和這個遊戲的得分。一般來說 可能是隨機的。這個模擬器的內部狀態是不能夠給機器人所觀察到的。機器人只能夠觀察到的是圖片,這是一個代表當前屏幕的原始像素值的一個響亮。除此之外,它還會收到一個獎勵值:,代表的是遊戲得分的改變。註意,一般情況下,遊戲的得分可能是依靠之前的整個的行動和觀察值;對於一個行動的反饋可能是很多個time-steps之後才會進行返回。
由於代理只考察當前屏幕圖像,這個任務是部分可以被觀察的,並且很多模擬器的狀態是感知上的別名的,也就是說,要從當前的屏幕完全了解當前的情況是不可能的。因此,我們考慮行動和觀察的序列 ,
並且依靠這些序列來學習遊戲的策率。所有的在模擬器中的序列都是被假設會在一個有限的時間序列中結束。這種形式產生了一個大但有限的馬爾可夫決策過程(MDP),其中每個序列是一個不同的狀態。因此,我們可以運用學習方法MDPs,只要簡單地使用完整的序列作為代表在時間t的狀態。
機器人的目標是通過選擇動作來進行和模擬器進行交互,然後使將來的回報達到最高。我們作出了這樣一個標準的假設,未來的回報是會被一個因子,在每一個time-step,都會被進行折扣。並且定義未來的時間 t 被打折的回報作為:
其中T是這個遊戲結束的time-step。我們定義最優的 action-value 函數為 最大的期望回報,是由下面的任何一個策略所獲得的,在看到一些序列 s 然後采取一些行動 a後,
其中,是一個映射序列到行動的策略(或是隨著行動而產生的分布)
最優的action-value函數遵循一個重要的標識,就是 Bellman equation 。 這個是基於下面的直覺而得出的。如果一個序列的最優值 在下一個time-step,對於所由的可能的動作,那麽最優的測錄額就是選擇行動使得下面等式的期望值最大化
在很多加強學習算法的背後的基本的想法就是估計action-value函數,通過使用Bellman equation 作為叠代的更新,就得出
這樣的一個值叠代的函數,會在趨向無窮的時候,叠代達到最優的值,
然而,在實際上,這種基本的方法是完全不可行的,因為 action-value 函數是每個序列都會分開估計的, 而不是相互之間互相影響(也就是求出一個,另外一個是可以解出的)。
然而,更加可見的是,使用一個函數的估計,來對 action-value 函數進行一個估計。
在加強學習的社區當中,這是一個線性的函數估計函數,但是有時候也使用非線性的估計函數,比如說使用神經網絡。我們所指的神經網絡估計,是帶有一個參數weight 作為一個Q-network。一個Q-network 可以通過減少損失函數 來作為訓練, 這個損失函數,在每一次叠代 中都會進行改變。
其中 是這次叠代的目標,是一個經過了序列 s 和 行動 a 的一個概率分布,我們把它稱為 behaviour distribution。
從上一次叠代 中得到的參數是固定的,當優化損失函數 的時候。註意,註意,目標取決於網絡權重;這與用於監督學習的目標形成對比,監督學習的目標是在學習開始前就已經固定的。將損失函數與權重區分開來,我們得出以下梯度
與計算上述梯度的完全期望值相比,隨機梯度下降法優化損失函數往往是計算方便的。如果權重每一time-step更新後,期望通過從行為分布ρ和仿真器分別為單樣本代替,然後我們來到熟悉的Q學習算法。
註意,該算法是無模型的:它直接利用仿真器中的樣本解決了強化學習任務,沒有明確地構造一個模擬器的一個估計。
這也是沒有策率的: 它學習貪婪策略 ,遵循行為分布,確保對狀態空間進行充分的探索。
在實踐中,行為分布通常是通過一個 的策略(同時也會產生一個的貪心策略)來進行選擇的,並且會由概率盡心隨機選擇一個概率。
看完背景後,蒙逼了沒,我第一次看完,睡起來就不記得由什麽鬼跟什麽鬼了,重看一遍,總結總結吧:
元素:
背景的第一部分
描寫遊戲的過程:
也就是文字的第一段,主要描寫過程。
背景第二部分
描寫這個些遊戲,能夠被建模成一個MDP的依據,並且,使用序列 st來作為狀態的序列。
背景的第三部分:
遊戲的目標:最大化未來的回報
所作的一個假設:回報會被一個未來的折扣因子折扣。
定義了 有折扣因子的未來的回報的公式
定義了最優的action-value函數,這個函數的意思是,在狀態序列 s 後,采取行動 a 的 最大化未來收獲就是 Q ()。 π 是行為後的概率分布
背景的第四部分:
action-value 遵循一個等式:Bellman equation。
述說它的根據:如果有一個序列 ,它的最優的值是 ,這說明,要想取得最優值,下一個行動,它就得采取了行動。選擇了這個行動,就可以最大化 這個等式的期望值。這個等式的意思就是 回報 r 加上 一個折扣後的最優值。於是,根據這個等式,得出了最優值的一個公式:
這個公式給我的感覺就是,聯系了序列S和序列 。
背景第五部分:
根據平常的方法來解它,是不可行的。
所以必須使用一個估計的方程。新的方法是使用一個Q-network來進行估計。這個Q-network能夠使用一個損失函數來進行訓練優化。
Playing Atari with Deep Reinforcement Learning