當前位置:
首頁 > 新聞 > 論文導讀:從強化學習到進化策略

論文導讀:從強化學習到進化策略

機器之心報道



本文將由簡單介紹幾篇強化學習論文開始,並隨後展示最新提出的進化策略。


論文導讀:從強化學習到進化策略

Mnih 等人提出了四個強化學習方法的非同步方法,包括 Q-learning、SARSA、n-step Q-learning、高級 actor-critic 演算法。其中,非同步的高級 actor-critic (A3C) 演算法的表現最好。並行的執行器使用不同的探索策略來穩定訓練過程,所以經歷回放 (experience replay) 並沒有被使用。與大多數深度學習演算法不同,非同步方法能夠在單個多核 CPU 上運行。以 Atari 遊戲為例,A3C 能夠在更快的速度下,表現得與之前的演算法旗鼓相當,甚至更好。A3C 在連續動態控制問題上也取得了成功:包括賽車遊戲 TORCS、物理控制遊戲 MujoCo、以及迷宮遊戲 Labyrinth。在 Labyrinth 中,隨機的 3D 迷宮直接通過視覺輸入,每一個章節中,玩家都要面對全新的迷宮,因此該演算法也需要學習一個能夠探索隨機迷宮的指導性戰略。

論文鏈接:https://arxiv.org/pdf/1602.01783.pdf



論文導讀:從強化學習到進化策略

這篇 Nature 論文可以說引爆了深度強化學習。它介紹了 Deep Q-Networks (DQN) 演算法,並且在 49 個 Atari 遊戲上取得了很好的性能:基本都超越了以前的演算法,大部分比職業玩家要好。這一演算法的突出貢獻是,在 Q-learning 中引入了深度神經網路,並且通過 experience replay 和 target network 技術穩定學習過程。而在此之前,普遍認為非線性函數近似與 Q-learning 結合就會有不收斂等問題。DQN 使用了端到端機制:輸入是遊戲幾幀的像素,輸出是操作策略,中間不需要人為進行特徵標記工程。更令人驚訝的是,它用一個神經網路結構,一套超參數設置,就可以玩好 49 個遊戲。DQN演算法出現之後,許多改進版本和其它Deep RL工作也相繼出現。

論文地址:http://www.nature.com/nature/journal/v518/n7540/full/nature14236.html

摘要:

強化學習理論為動物行為提供了一個根植於心理學和神經科學視角的規範化解釋,它告訴我們主體(agent)是如何優化他們對環境的控制。然而,為了在接近現實複雜性的情況下成功地使用強化學習,主體面臨著一個艱巨的任務:他們必須從高維的感官輸入的環境中獲得有效的表徵,並使用這些表徵來將過去的經驗應用到新的情境中。值得注意的是,人類和其他動物看起來已經通過結合強化學習和等級知覺處理系統解決了這個問題。人類身上體現出的強化學習理論被豐富的神經數據證實,這些神經數據揭示了多巴胺能神經元釋放的相位信號與時域差分強化學習演算法之間的顯著相似之處。

雖然強化學習的主體已經在多個領域實現了一些成功,但是它們的應用一直局限於只能指定有用表徵的領域,或者能被完全觀察的低維狀態空間中。我們使用了最近在神經元訓練上取得了一些進展,開發出一個新型人工主體,稱為 deep Q-network,它可以使用端到端的強化學習,直接從高維知覺輸入中學習成功的策略。我們用經典 Atari2600 遊戲中具有挑戰性的領域測試了這個主體。我們證明,只接收像素和遊戲得分作為輸入的 deep Q-network 的表現,能超越之前所有演算法,並在一組 49 場比賽中達到了相當於專業人類遊戲測試者的水平。DQN 使用同樣的演算法、網路架構和超參數。這個成果在高維知覺輸入和行為之間架起了一座橋樑,創造出了世界上第一個具備學習執行多元化的挑戰任務能力的人工主體。



論文導讀:從強化學習到進化策略

進化策略(ES:evolution strategy)是一種已存在了數十年的優化技術,其在現代強化學習基準(如 Atari/MuJoCo)上的表現可以比肩標準的強化學習技術,同時還能克服強化學習的許多不便。

特別的幾點包括:進化策略的實現更加簡單(不需要反向傳播),更容易在分布式環境中擴展,不會受到獎勵稀疏的影響,有更少的超參數。這個結果令人吃驚,因為進化策略就好像是在一個高維空間中簡單地爬山,每一步都沿著一些隨機的方向實現一些有限的差異。

我們的發現是這種已有數十年之久思想強大結果的現代延續。比如說,在 2012 年,AlexNet 論文表明可以如何設計、擴展和訓練卷積神經網路(CNN)以在圖像識別任務上實現極其優秀的結果,而那時候大多數研究者還認為 CNN 並不是一種有希望的計算機視覺技術。類似地,在 2013 年,深度 Q 學習(Deep Q-Learning)論文表明可以將 Q 學習與 CNN 結合起來以成功地解決 Atari 遊戲,從而使強化學習(RL)發展成為了一個有激動人心的實驗結果的研究領域,而不再只是理論構想了。同樣,我們的研究也表明進化策略可以在強化學習基準上實現優秀的表現,從而消除了人們之前普遍認為的進化策略方法不能用於高維問題的觀點。

進化策略易於實現和擴展。我們的實現運行在一個包含了 80 台機器和 1440 個 CPU 內核的計算集群上,其可以僅在 10 分鐘內就訓練出一個 3D MuJoCo 人形步行者(在 32 核上,A3C 需要大約 10 小時)。使用 720 核,我們也能在 Atari 上實現可與 A3C 媲美的表現,同時還能將訓練時間從 1 天降低至 1 小時。

強化學習

首先讓我們簡單看看強化學習的工作方式。假設我們有一些環境(比如遊戲),我們想要在其中訓練一個代理。為了描述該代理的行為,我們要定義一個策略函數(policy function),這是該代理的大腦,用於計算該代理如何在一個給定的情形中採取行動。在實踐中,這個策略通常是一個神經網路,其輸入是該遊戲的當前狀態,然後計算可用的所有允許動作的概率。一個典型的策略函數可能有大約 1,000,000 個參數,所以我們的任務就是找到這些參數的確切配置,以使得該策略能夠實現良好的表現(即在很多遊戲中獲勝)。

論文導讀:從強化學習到進化策略

上圖:在 Pong 遊戲中,策略根據輸入的屏幕像素來計算移動玩家拍子的概率(右邊綠色的拍子):上、下或不動。

該策略的訓練過程如下所示。首先是一個隨機初始化,我們讓該代理與環境進行一陣交互,然後收集交互的「劇情(episode)」(比如,每個 episode 就是一局 Pong 遊戲)。由此我們就能得到情況的完整記錄:遇到了什麼樣的狀態序列、在每個狀態採取了什麼動作、每一步的獎勵如何。下圖給出了一個例子,這三個 episode 每個都表示在一個假想環境中的 10 個時間步驟。其中每個矩形都是一個狀態,如果獎勵是正面的(比如把球擊回給了對方),那麼矩形就是綠色;如果獎勵是負面的(比如沒有接到球),那麼矩形則為紅色:

論文導讀:從強化學習到進化策略

這幅圖給出了改善策略的一個方法;導致綠色狀態的行為是好的行為,導致紅色的行為則很糟糕。然後我們可以使用反向傳播來計算該網路參數的一次小的更新,該更新將使得未來的狀態更有可能是綠色、更少可能是紅色。我們預計更新後的策略會更好一點。然後我們迭代這一過程:收集另一批 episode,進行另一次更新…

通過在這些動作中注入雜訊來進行探索。我們在強化學習中通常使用的策略是隨機的,它們僅計算採取任何動作的概率。通過這種方法,代理可能會在訓練過程中發現自己在不同時間處在同一個特定狀態,而且由於採樣的情況,它也將在不同的時間採取不同的動作。這能提供學習所需的信號:這些動作中有一些會導致好的結果,這些動作就會得到鼓勵;另一些則不會奏效,就會被抑制。因此我們可以說,我們通過向代理的動作注入雜訊而為其學習過程引入了探索(exploration)——我們可以通過在每個時間步驟從動作分布中採樣來做到這一點。這與進化策略不同。

進化策略

關於「進化(Evolution)」。在我們探討進化策略(ES)之前,有必要強調一下儘管這種方法名字中有「進化」這個詞,但進化策略和生物進化關係不大。也許這項技術的早期版本從生物進化上獲得了一些啟發——在一定的抽象程度上,這種方法可被視為這樣一個過程:從個體構成的群體中採樣並讓其中成功的個體引導未來後代的分布。但是,其數學細節在生物進化方法的基礎上實現了很大的抽象,我們最好將進化策略看作是一類黑箱的隨機優化技術。

黑箱優化。在進化策略中,讓我們完全忘記代理、環境、涉及的神經網路和其中的交互吧。進化策略的整個設置就是一大堆數字輸入(假設和前面提到的策略網路的參數數量一樣,有 1,000,000 個數字),然後輸出 1 個數字(對應總獎勵),我們需要找到這 1,000,000 個數字的最好配置。在數學上,我們可以說是根據輸入向量 w(該網路的參數/權重)來優化一個函數 f(w),但我們不對 f 的結構做出任何假設,我們只能對其進行評估(因此被稱為「黑箱」)。

進化策略演算法。直觀上來講,這種優化就是一種「猜測然後檢測」的過程,即我們從一些隨機參數開始,然後重複執行以下過程:1)隨機對該猜測進行一點調整,2)讓我們的猜測向效果更好的方向移動一點。具體而言,就是在每個步驟輸入一個參數向量 w,然後通過高斯雜訊對 w 進行抖動來生成一群(比如 100 個)有稍微改變的參數向量 w1, w2……w100。然後我們在環境中分別運行這 100 個候選項所對應的策略網路,從而獨立地對這 100 候選項分別進行評估,然後將每個案例中的獎勵加起來。然後其更新後的參數就變成了這 100 個向量的加權和,其中每個權重都正比於其總獎勵。(即,我們想讓更成功的候選項有更高的權重。)在數學上,你也會注意到這就相當於使用有限差分法(finite difference)來估計參數空間中預期獎勵的梯度,只是我們是沿著 100 個隨機方向來做的。

我們要看的另一種方法是仍然使用強化學習(策略梯度,具體來說是 REINFORCE),其中的代理的動作是使用高斯策略得出整個參數向量。

論文導讀:從強化學習到進化策略

上圖:進化策略優化過程,這個環境中只有兩個參數和一個獎勵函數(紅色=高、藍色=低)。在每次迭代,我們都會展示當前參數值(白色)、一群經過抖動的樣本(黑色)和估計的梯度(白色箭頭)。我們不斷將該參數移動到該箭頭的頂點,直到我們收斂到了一個局部最優值。

進化策略和強化學習間的權衡

相比於強化學習演算法,進化策略有多個優勢(一些優勢有些技術性):

  • 不需要反向傳播。進化策略只需要策略的前向通過,不需要反向傳播(或價值函數評估),這使得代碼更短、在實踐中速度快了 2-3 倍。在內存有限的系統中,也不需要保留 episode 的記錄從而進行後續的更新。我們也不需要擔心 RNN 中的梯度爆炸問題。最後,我們能夠探索更大類別的策略函數,包括不可微分的網路(比如二值網路),或者包括複雜模塊的網路(例如包括 pathfinding 或多種優化層)。

  • 高度可並行。進化策略只需要工作器彼此之間進行少量純數量的通信,然而在強化學習中需要同步整個參數向量(可能會是百萬數值的)。直觀來看,這是因為我們在每個工作器(worker)上控制隨機 seeds,所以每個工作器能夠本地重建其他工作器的微擾(perturbations)。結果是,在實驗中我們觀察到,隨著我們以千為單位增加 CPU 進行優化時,有線性的加速。

  • 高度穩健。在強化學習實現中難以設置的數個超參數在進化策略中被迴避掉了。例如,強化學習不是「無標度(scale-free)的」,所以在 Atari 遊戲中設置不同的跳幀(frame-skip)超參數會得到非常不同的學習輸出。就像我們所展現的,進化策略在任何跳幀上有同樣的結果。

  • 架構探索。一些強化學習演算法(特別是策略梯度)用隨機策略進行初始化,這總是表現為在一個位置有長時間的隨機跳躍。這種影響在 Q 學習方法中因為 epsilon-greedy 策略而有所緩和,其中的 max 運算能造成代理暫時表現出一些一致的動作(例如,維持一個向左的箭頭)。如果代理在原地跳動,在遊戲中做一些事情是更有可能的,就像策略梯度的例子一樣。類似於 Q 學習,進化策略也不會受這些問題的影響,因為我們可以使用確定性策略來實現一致的探索。通過研究進化策略和強化學習梯度評估器,我們能看到進化策略是一個有吸引力的選擇,特別是在 episode 中的時間步驟量很長的時候,也就是動作會有長時間的影響。或者是在沒有好的價值函數評估的時候進化策略也是好的選擇。

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 機器之心 的精彩文章:

Hinton「神經網路與機器學習」課程經驗與簡評
基於Sonnet,DeepMind開源可微神經計算機實現包
腦波打字,皮膚聽覺:Facebook 展示全新人機交互技術
商湯科技獲賽領資本6000萬美元投資,將加速商業化布局

TAG:機器之心 |

您可能感興趣

強化實踐策略 促成教學改進
OpenAI詳解進化策略方法:可替代強化學習
一文讀懂監督學習、無監督學習、半監督學習、強化學習四種方式
深度強化學習的資源
暑期強化複習方法指導:語言學及應用語言學
強化學習的時代,機器被指導「自主學習」
超進化物語遠古族技能強化方法 超進化物語遠古族技能怎麼升級
強化立德樹人的教學導向
你知道「模仿學習」功能強大,但它和「強化學習」有什麼關係?
如何開啟深度強化學習的大門?
劍俠情緣裝備怎麼強化 強化技巧
全新強化學習演算法詳解,看貝葉斯神經網路如何進行策略搜索
陰陽師御魂強化最簡潔明了的攻略流程 萌新必讀
全面解讀深度強化學習:從基礎概念到AlphaGo
從強化學習基本概念到Q學習的實現,打造自己的迷宮智能體
OpenAI提出強化學習新方法:讓智能體學習合作、競爭與交流
機器如何學習?5分鐘弄懂監督學習、無監督學習、半監督學習與強化學習
深化拓展巡視監督內容,強化指導性針對性實效性
專家解讀涉朝制裁:強化遏制核導計劃,在民生領域放寬