只用1/500資料就打敗人類!一種取樣高效的強化學習演算法

大資料文摘發表於2021-12-13

只用1/500資料就打敗人類!一種取樣高效的強化學習演算法

大資料文摘授權轉載自智源社群

主講人:高陽  整理:李佳倫
編校:葉葳蕤、李夢佳

近日,清華大學交叉資訊研究院高陽研究組在強化學習領域中取得突破,研究組所提出的模型EfficientZero首次在雅達利(Atari )遊戲資料上超過同等遊戲時長的人類平均水平。EfficientZero的高效率學習能力為強化學習演算法應用到現實世界場景提供了更大可能。

本文主要介紹了清華大學交叉資訊研究院助理教授高陽博士的新研究《使用有限資料掌握Atari遊戲》,大致分為兩部分:一,強化學習在現實應用的主要問題;二,強化學習方法介紹。


只用1/500資料就打敗人類!一種取樣高效的強化學習演算法

主講人:高陽,博士,清華大學交叉資訊研究院助理教授。博士畢業於美國加州大學伯克利分校,本科畢業於清華大學計算機系。主要研究計算機視覺與機器人學。

個人主頁:~gaoyang/

強化學習在現實應用的主要問


自DQN提出之後,強化學習演算法第一次在比較大規模的環境中取得了和人類相似的水平。之後AlphaGo的出現,又第一次完整解決了狀態空間高達10的300次方的二人博弈遊戲——圍棋,戰勝了人類高手。

在此之後,強化學習又被用來解決多智慧體問題,如DeepMind公司使用AlphaStar來解決星際爭霸遊戲,以及後續的DOTA2等等。不過,雖然強化學習取得了一系列成功,但我們可以發現一個問題:這些強化學習的成果都出現在遊戲領域,那麼,強化學習在現實世界中的應用如何呢? 

在強化學習在現實生活中應用的典型場景,如更智慧地推薦一些內容、驅動家務機器人做一些瑣碎的家務活、進行自動駕駛的複雜判斷、和量化交易等等任務中,目前還沒有強化學習的身影。那麼,現有的強化學習方法又因為哪些不足而無法較好地應用在現實世界中呢?

高陽博士認為:造成上述問題的一個非常重要的原因是,強化學習演算法依賴於大量的環境互動來獲得足夠的訓練資料。以AlphaGo為例,該演算法在圍棋上大概需要6000000次遊戲才能超過人類。替換成人類,假如一個圍棋選手每天進行10次圍棋,也需要18082年才能達到66000000這個資料量!簡單的遊戲環境可以提供這樣的互動次數,而對於現實世界而言,巨大的互動次數是難以保證的,尤其是在同人類進行互動的環境中,強化學習的學習策略所需要的次數更是遠遠無法提供的。該問題主要導致了強化學習難以在現實世界中落地。

只用1/500資料就打敗人類!一種取樣高效的強化學習演算法

有人提出透過基於模型的強化學習演算法來解決取樣資料量巨大的問題,即透過構建當前環境的模擬器,之後在模擬器中進行取樣與訓練。然而,在這樣的場景下,最終能夠取樣的資料量仍然是有限的。原因如下:首先,模擬器所模擬的場景越複雜,模擬器越逼真,其執行的速度就會越慢,如果執行速度越慢,那麼訓練效率必然也會低很多;其次,即使是構建這樣的一個模擬器,有時也是非常複雜的。比如蛋白質結構的構建,本身就是一個極其複雜的過程,需要偏微分方程等一些複雜的建模,這種建模也是非常困難的。

除此之外,很多現實場景很難用模擬器模擬。比如,廚房裡的炒菜,涉及到包含微觀與宏觀的各種變化,其本身就是一個較難模擬的過程——更何況為做菜構建模擬器也是一個價值不大的問題。因此,在現實生活的應用或者在一些複雜場景下,資料量有限是一個不可避免的限制,這就導致了大部分強化學習演算法很難應用到這些場景。因此如何在有限的資料下能夠讓強化學習演算法擁有較高的效能是一個非常重要的話題。

鑑於此,高陽博士提出了EfficientZero,該方法一定程度上解決了強化學習在資料量有限的情況下的效能問題。為了驗證該演算法的有效性,EfficientZero在強化學習演算法通用測試基準Atari Game上取得了大幅度的提升。

只用1/500資料就打敗人類!一種取樣高效的強化學習演算法

Atari遊戲是一組遊戲環境,它包含豐富的遊戲場景,且各個遊戲規則各異,因此經常被用來作為強化學習領域的benchmark。在2015年,Deep Mind團隊提出演算法DQN,透過200M幀訓練資料,在Atari遊戲上達到了人類平均水平。然而200M幀訓練資料相當於1000個小時的訓練時間,對於真實場景任務,很難獲取如此大規模的資料量。因此有學者提出一個資料更加稀缺的benchmark:Atari 400K。在這樣的基準下,僅僅允許400K幀的訓練資料,約為2小時。

作為首個在Atari 400K資料下超過人類平均水平的演算法,EfficientZero達到與DQN同等水平僅僅需要其資料量的1/500,並遠遠超過此前Atari 400K上的SoTA SPR的效能。而低樣本效率是限制強化學習演算法應用於真實場景的障礙之一。這表明EfficientZero的高樣本效率與高效能能夠讓強化學習演算法更加貼近真實應用的場景,為強化學習演算法能夠落地提供了更大的可能性。

只用1/500資料就打敗人類!一種取樣高效的強化學習演算法


方法介紹


EfficientZero是基於MuZero的一種演算法。該類演算法同屬於蒙特卡洛樹搜尋(MCTS)強化學習。比較著名的AlphaGO系列如AlphaGO、Alpha GO Zero、AlphaZero、MuZero均隸屬於該類演算法。

與DQN等使用Bellman backups的方法不同,MCTS主要是藉助於搜尋(依靠狀態轉移方程)作為策略提升的方法,這樣的優點是:這種方法可以在需要推理的環境中(如圍棋)可以獲得更好的表現;同時,這種方法也可以在不需要強推理的環境中(如Atari遊戲)具有良好的效果。所以這種基於搜尋的方法總體是比較通用的。

下面首先介紹基於蒙特卡洛樹搜尋的強化學習。

以下圍棋為例,我們可以為下圍棋的決策模型構建一棵搜尋樹,亦即窮舉出所有可能的落子方法。該樹對應指數級別的複雜度,而這樣的複雜度是無法承受的。針對這個問題,解決方案主要包括兩種:

第一種是降低搜尋樹的深度,即只需要思考未來若干步之內如何落子即可,其目標是構建一個狀態評估器,期望若干步之後整個棋盤的整體狀態相對較好。該類思路對應於強化學習中的value network,即透過評估狀態的值來進行最佳化。

第二種思路是降低搜尋樹的寬度。同樣以圍棋舉例,雖然以遍歷的角度來看所有的空位都可以落子,但直覺上很多地方落子是相當危險且沒有意義的——如此便可構建一個動作評估器去把所有動作中最有可能觸發的若干個動作確定下來,以降低搜尋樹的寬度。這種方法對應於強化學習中的prior network。

下面以MuZero演算法為例介紹該類方法。這是一種model-based的,基於蒙特卡洛樹搜尋的演算法,它透過預測環境狀態的變化來進行更好的決策。MuZero主要包括以下四類網路模型:
1. Value/Policy network,評估當前狀態價值以及對應的策略機率分佈;
2. Reward network,預測在給定動作下產生的回報;
3. Representation network,將所觀測到的圖片輸入對映成隱空間的狀態;4. Dynamics network 預測給定動作下環境的下一個狀態。

MuZero演算法在AlphaZero演算法的基礎上,學習出環境模型Dynamics network使得這類演算法能夠通用於各種未知規則場景。但是MuZero仍然存在一定的缺陷。其中最大的問題便是需要大量的取樣資料進行。除此之外,MuZero缺少預訓練過程,無法應用於複雜的環境之中。

作者認為MuZero的缺陷主要來自於以下三方面:

1. 不充足的監督學習訊號

如前所述,MuZero需要預測狀態的轉移,但是其訓練監督訊號主要來自於value網路、policy網路和reward網路三者輸出的組合。而這些資訊的維度是很低的,如value和reward僅僅是一維的數字,使用該訊號很難訓練出較好的狀態預測器,因此需要大量的環境互動。

2. model aliasing problem

第二個問題是不合理的預測要求導致模型預測的誤差。MuZero要求模型預測每一步動作下環境的回報,但是這在某些場景下,是非常模糊且困難的,這使得模型在預測時有較大的誤差。

以下圖所示的乒乓球遊戲為例(白色是乒乓球,綠色方板為遊戲可控制球拍),預測白色球在何時出界是一個困難的任務,但是預測白色球在某段時間內會不會出界卻是較為簡單的。如果預測球在哪個特定的時間點出界了,那麼對模型的需求就會高很多,也更加困難。同時,這也是一種過度的需求。

只用1/500資料就打敗人類!一種取樣高效的強化學習演算法

3. off-policy error

只用1/500資料就打敗人類!一種取樣高效的強化學習演算法

第三個問題是,在資料量有限的情況下,會出現目標價值偏移的問題。這是因為在資料有限時,通常會重複利用之前取樣的資料進行訓練,而在計算這些老舊的資料的價值時是透過n步bootstrap的方式計算一段取樣軌跡的回報與價值的,但是隨著訓練,模型的策略函式有較大的變化,這就使得之前取樣的軌跡與當前策略的不匹配。因此,在這種情況下目標價值就會有產生一定幅度的偏差。

EfficientZero針對以上三個點進行了改進。

1. 自監督學習下的環境預測模型

考慮到reward value等訊號無法支援環境預測模型的學習,因此EfficientZero借用對比學習來訓練環境狀態預測模型。具體而言,EfficientZero透過時序上的環境一致性構建對比學習損失函式。如下圖所示。

只用1/500資料就打敗人類!一種取樣高效的強化學習演算法

其中時序一致性的實現是透過計算機視覺領域中的對比學習演算法SimSiam實現的,這使得狀態轉移模型(dynamics network)所預測的下一步狀態靠近真實軌跡的下一步狀態,從而促進狀態轉移模型的學習。

此外,為了驗證時序一致性的有效性,作者透過訓練解碼器還原所預測的觀測影像。下圖是一個視覺化結果。

只用1/500資料就打敗人類!一種取樣高效的強化學習演算法

圖中第二行和第三行分別是在無時序一致性和有時序一致性情況下訓練出來的隱空間特徵,圖中第一列是還原當前時刻的影像,後面幾列是還原預測未來幾步的影像。從中可以看出,兩者在還原當前時刻都表現不錯,但是在還原未來幾步影像時,無時序一致性的特徵完全無法還原,然而有時序一致性的特徵則可以一定程度上還原部分,這也證明了時序一致性在特徵學習上的有效性。

2. 解決model-aliasing 問題:value prefix

EfficentZero對這種過度預測的問題的解決方案是:不去預測每一步的回報,而是預測一個區間內的回報和,即將預測回報模型替換成預測價值字首模型。文中提出,在訓練過程中,有些狀態的回報是很難預測的,因此預測每步狀態的回報會有較高的不確定性,但是預測階段的回報相對來說更加平滑,從而使減少這種不確定性。具體實現上,EfficientZero使用LSTM預測多步狀態變化下的回報和,即value prefix(形式上像value計算公式的字首),如下面的公式所示:

只用1/500資料就打敗人類!一種取樣高效的強化學習演算法

為了進一步驗證預測value prefix的有效性,作者收集一些資料,包括訓練和測試,並進行監督訓練,最終在在測試集上比較二者的回報預測誤差。從下圖可以看出,加入value prefix之後,模型在訓練時損失損失比之前更大,但卻可以獲得更好的預測效果。這證明了value prefix能夠減小預測回報時的誤差,同時也表明之前的模型由於任務過度複雜產生一定的過擬合問題。

只用1/500資料就打敗人類!一種取樣高效的強化學習演算法

3. off-policy correction:

最後是透過更改目標價值函式實現離線策略價值函式的糾正。在資料量較少時,智慧體只能從過去收集的資料中進行訓練,而過去所收集的資料是按照過去的策略函式所取樣的,這就導致了離線策略價值函式的偏移。因此在計算目標價值時,一方面透過減少價值計算的步長,將固定的步長k修改為一個更小的步長l,一方面透過MCTS估計最終狀態的價值,從而實現對目標價值的一定糾正,減少偏移。

只用1/500資料就打敗人類!一種取樣高效的強化學習演算法

文中透過比較二者與真實目標價值的誤差來驗證這一改進的有效性。

其效果提升(F1 Error)如下:

只用1/500資料就打敗人類!一種取樣高效的強化學習演算法

可以看出,在使用off-policy correction的情況下,目標價值的評估誤差在當前時刻狀態和未來5步的狀態都有所降低。

此外,EfficientZero還在部分模擬機器人控制環境DMControl中進行了實驗,並取得了目前最佳效能,這也進一步表明EfficientZero在更復雜的模擬環境情形下仍然能維持高樣本效率和高效能。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31562039/viewspace-2847386/,如需轉載,請註明出處,否則將追究法律責任。

相關文章