強化學習中的好奇心驅動學習演算法:隨機網路精餾探索技術
本文為翻譯發表,轉載需要註明來自公眾號EAWorld。
作者:Rani Horev
譯者:白小白
原題:Explained: Curiosity-Driven Learning in RL— Exploration By Random Network Distillation
原文:http://t.cn/EL5bylU
全文3860字,閱讀約需要9分鐘
近年來,強化學習已經被證明是一種強大的技術,用於解決具備常量獎勵的封閉任務,以及最常見的遊戲場景。該領域的一個主要挑戰仍然是,當對於特定行動的外部反饋(獎勵)十分稀少或不存在時,如何訓練模型。最近的模型試圖通過建立一種被稱為好奇心的內在的獎勵機制來克服這一挑戰,當模型發現了新的領域或者狀態時,就會觸發相關獎勵。
OpenAI的一篇新論文,利用隨機網路蒸餾(RND)技術,提出了一種新的內部獎勵方法。該模型試圖預測給定的狀態以前是否見過,並對不熟悉的狀態給予更大的獎勵。
該模型顯示了在幾個Atari遊戲中的最先進的成果,包括眾所周知的RL演算法難題:《蒙特祖馬的復仇》。這被已證明是在分散背景噪聲環境下相對簡單而有效的方法。
一、背景
強化學習(Reinforcement learning)是一組以獎勵為導向的演算法,著力於學習如何在不同的狀態下通過最大化從環境中獲得的回報(即獎勵)來採取行動。Atari遊戲是一個具有挑戰性的強化學習測試平臺,研發於30多年以前,提供了豐富的視覺輸入(每幀210X160X3)和一組為人類設計的不同種類的任務。
這一系列遊戲因其複雜性和外部獎勵的頻率而各不相同。在《打磚塊》遊戲中,當你每次擊打磚塊時,都會得到獎勵,而在《蒙特祖馬的復仇》和其他遊戲中,在某一等級只存在有限的獎勵。《蒙特祖馬的復仇》之所以被認為是具有挑戰性,是因為它需要長時間(數百個步驟)和複雜的行動組合,才能通過致命的障礙並獲得獎勵。下面的動畫說明了遊戲之間的區別。
《打磚塊》:機器人代理可以經常得到外部獎勵,每個磚塊一次。
《蒙特祖馬的復仇》:唯一的外部獎勵是拿到鑰匙的時刻
為了在沒有頻繁的外在獎勵的遊戲中取得成功,機器人代理必須探索環境,寄希望於發現稀疏的獎勵。這些場景在現實生活中很常見,從在家裡找到丟失的鑰匙到發現新的癌症藥物。在這種情況下,機器人代理需要使用獨立於外在獎勵的內在獎勵機制來採取正確的行動。強化學習領域有兩種常見的內在獎勵方法:
1. 基於計數的方法。這種方法可以對以前訪問過的領域進行統計,並對新的狀態給予更大的獎勵。這種方法的缺點是,隨著可能的狀態數的增加,它往往變得不那麼有效。
2. 另一種方法是“下一狀態預測”,在這種方法中,模型試圖預測下一狀態,採取行動轉換到下一狀態,然後將實際狀態與預測狀態相比的誤差最小化。通過探索,更多的狀態變為已知狀態,從而逐漸降低誤差。
這些方法比僅基於外在獎勵的模型(如著名的DQN和A3C模型)表現得更好,但仍然比一般的人類水平要更差一些。
總體來說,當使用內在獎勵時,對未來狀態的評估會受到三種可能的誤差來源的影響:
1. 陌生狀態誤差:模型未能從先前訪問過的狀態歸納出新的狀態,從而導致在預測未來狀態時存在很大的誤差。通過反覆探索新的狀態並從中學習,模型可以逐漸減少這種誤差。
2. 隨機噪聲:這也被稱為“電視噪聲”問題,起因是環境的一部分產生隨機噪聲(就房間裡電視的白噪聲)。這導致許多狀態對機器人代理來說都是新的,下一個狀態通常是不可預測的,並且與機器人代理的操作無關。
譯註:
隨機噪聲比較有趣,因為代理醉心於探索新的狀態,而隨機噪聲本身是近乎無窮無盡的,一旦在探索中發現了隨機噪聲,就會讓機器人代理困於其中,從而無法去探索真正有意義的新的狀態。比較典型的是代理在迷宮中看到一張電視牆,就忘記了要去找路,如下圖。
機器人代理在迷宮中遇到隨機噪聲
( 圖片來源:http://t.cn/EL5cQph)
3. 模型約束:模型的體系結構是有限的,不能準確地概括環境以預測下一個狀態。例如,當預測下一個狀態所需的神經網路的層數和大小是未知的時候,就遭遇了模型約束。
二、RND是如何工作的?
具有內在獎勵的強化學習系統使用陌生狀態誤差(誤差#1)進行探索,目的是消除隨機噪聲(誤差#2)和模型約束(錯誤#3)的影響。為此,該模型需要三個神經網路:一個固定的目標網路,它為給定的狀態生成常量輸出,一個預測網路,用於預測目標網路的輸出,一個策略網路,決定機器人代理的下一步行動。
目標網路和預測網路
通過計算兩種網路輸出的差異,目標網路和預測網路對陌生狀態產生更大的內在回報。兩種網路的大小和結構是相同的,使用卷積編碼器(CNN)和全連線層,將狀態嵌入到特徵向量f中。然而,兩者之間有一個重要的區別:
1.目標網路是具有固定隨機權值的神經網路,目標網路從不會被訓練。因此,它的輸出對於給定的狀態(輸入)是常數的,但是在不同的狀態之間是可變的:對於任何時間步驟i,fi(x)=fj(x),而對於任意兩個不同的輸入,fi(x)≠fi(y)。
2.預測網路被訓練來預測目標網路的輸出。每個狀態都被輸入到兩個網路中,但預測網路會進行訓練,以最小化兩張網路之間輸出(ri)的差異(MSE)。
目標網路與預測網路
當更多的狀態被輸入到系統中時,預測網路就可以接收到更多已知的狀態,從而在預測目標網路的輸出時變得更有效。當到達先前訪問過的狀態時,機器人代理會得到一小部分獎勵(因為目標輸出是可預測的),並且代理也傾向於不會重複探索這些已知狀態。換句話說,與普通模型不同,代理並不試圖根據當前狀態和操作來預測下一個狀態,而是試圖預測未來狀態的新穎性。
“目標網路/預測網路”架構有幾個好處:
經過對隨機噪聲狀態的足夠訓練(訓練過程基於固定的“平穩分佈”概率理論,又稱為馬爾可夫鏈),預測網路能夠更好地預測目標網路的輸出。隨著預測誤差的減小,代理對噪聲狀態的興趣比對其他未探測狀態的興趣要小。這減少了噪聲-電視誤差(誤差#2)。
在下一步預測模型中,雖然還無法提前預知需要哪種體系結構(神經網路層數和大小等)來對動作的結果進行建模,然而,預測網路只需要預測目標網路的輸出結果即可。因為具有與目標網路相同的體系結構,預測網路應該能夠正確地學習到已知狀態的輸出。這“解決” 了模型約束誤差(誤差#3)。
這一架構讓機器人代理更容易在遊戲中生存,因為死亡迫使它回到熟悉的狀態。其他基於好奇心的強化學習方法也可以共享了這一收益。
採用這一模型的挑戰之一是,隨著更多的狀態變得熟悉,不同的環境之間可能會發生變化,固有的回報就會減少,因此很難選擇“超引數”。為了克服這一問題,在每個更新週期內,內部獎勵都是標準化的。
譯註:
超引數,在機器學習的上下文中,超引數是在開始學習過程之前設定值的引數,而不是通過訓練得到的引數資料。通常情況下,需要對超引數進行優化,給學習機選擇一組最優超引數,以提高學習的效能和效果。
策略網路
策略網路的作用是根據當前狀態及其內部模型決定下一個操作,該模型是針對以前的狀態進行訓練的。為了做出相關決策,策略網路使用了一個輸入嵌入器和一個策略優化器:
輸入嵌入器
輸入嵌入器將環境狀態編碼為特徵值。論文比較了兩種結構:CNN以及CNN和遞迴層(GRU單元)的混合結構。遞迴層被設定為通過捕捉更長的遊戲上下文(例如在當前狀態之前發生的事件)來幫助預測下一個動作,在大多數情況下確實比單獨使用CNN的效果更好。
近端策略優化(PPO)
訓練策略模型的一個主要問題是趨同,即使簡單的獎勵更新,也會引發策略的巨大變化。例如,在某些架構中,一個超難的關卡(通常在遊戲中很常見)就可以完全改變您的策略。因此,在嵌入層之上,神經網路架構中有一個近端策略優化器(PPO),它根據嵌入狀態預測下一個操作。PPO的主要貢獻是在不進行根本更新的情況下安全地優化策略,方法是縮小連續策略更新之間的差異。
譯註:
PPO的基本原理是在多個訓練步驟中實現小批量的更新。
要更新策略,PPO首先需要估計給定狀態的未來內部和外部獎勵(“價值頭部”)。對每一種型別的獎勵進行單獨處理,可以更靈活地確定每種型別對策略的影響以及每種型別的計算方式,比如:
內部獎勵按照一批固定的時間步驟(例如128個時間步驟)來進行計算,而不管機器人代理是否在遊戲中“死亡”。研究發現,這種(排除偶然性的)獨特方法可以更好地探索,因為它鼓勵代理採取可能揭示新狀態的冒險行動。如果內部獎勵是偶然的,這些行為可能已經結束了遊戲,從而結束了獎勵。
外部獎勵在整個事件中被計算,直到代理死亡。使用非偶然性獎勵可能會導致代理在遊戲中“作弊”。例如,找到簡單而迅速的回報,然後自殺。
下圖顯示了策略網路和整個體系結構:
策略網路
RND體系結構
注:
論文中的PPO是使用Actor-Critic模型(A3C)來實現的。但是,它可以與任何優勢函式一起使用。
PPO的另一個好處是,它通過允許多階段的訓練來提高效率。由於每個訓練階段都僅有小批量的輸入,這樣在策略更新的範圍內,即使有多個訓練階段,也能夠確保總變化不會太激進。
三、結果
作為基線,論文將RND模型與最先進的演算法以及兩種類似模型進行了比較
一個標準的PPO沒有內在的探索獎勵。
基於前向動態誤差的PPO模型。該模型根據當前狀態和動作預測下一個狀態,並將預測誤差降到最小,從而得到內在回報。
RND代理在6次遊戲中取得了3勝3負的優異成績,並在《蒙特祖馬的復仇》中獲得了比“平均人類水平”更好的分數。然而,它在其他兩個遊戲中的效能明顯低於其他最新演算法。論文沒有解釋是怎樣的遊戲屬性讓這種技術不再那麼管用。
各種強化學習演算法的得分比較
(來源:OpenAI‘s部落格)
四、結論
RND模型例舉了近年來在具備極高難度的探索類遊戲中取得的進展。該模型的創新部分,即固定網路和目標網路,由於其(實現和計算的)簡單性及能夠與各種策略演算法一起工作,而充滿前景。
另一方面,仍舊前路漫漫:沒有形成統一的模式,在不同的遊戲中表現也不盡相同。此外,儘管RNN可能有助於保持更長的上下文,但全域性探索仍然是一個挑戰。在需要長期關係的情景,例如使用在第一個房間找到的鑰匙開啟最後一個門,仍然是遙不可及的。
若要對最新的機器學習研究保持關注,請訂閱我在LyrnAI( https://www.lyrn.ai/ )的部落格。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31562043/viewspace-2284823/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- [譯] 強化學習中的好奇心與拖延症強化學習
- 深度學習、強化學習核心技術實戰深度學習強化學習
- 【強化學習】強化學習術語表(A-Z)強化學習
- 女生能學網路安全技術嗎?網路安全技術學習路線
- 運籌學練習Python精解——網路計劃技術Python
- 基於口罩識別模型,探索機器學習自動化的技術應用模型機器學習
- DeepMind用元強化學習框架探索多巴胺在學習過程中的作用強化學習框架
- 深度強化學習核心技術實戰強化學習
- 學習網路安全能掌握哪些知識點?網路安全技術學習
- 機器學習在滴滴網路定位中的探索和實踐機器學習
- 【強化學習】使用off-policy演算法機器人抓取任務基準;生成對抗網路 GAN 就是強化學習強化學習演算法機器人
- 強化學習(十七) 基於模型的強化學習與Dyna演算法框架強化學習模型演算法框架
- 動手學強化學習(四):動態規劃演算法強化學習動態規劃演算法
- 深度學習技術在網路入侵檢測中的應用深度學習
- 深度強化學習技術開發與應用強化學習
- 強化學習-學習筆記13 | 多智慧體強化學習強化學習筆記智慧體
- 大資料學習路線圖 讓你精準掌握大資料技術學習大資料
- Session跟蹤機制是怎樣的?網路安全技術學習Session
- 我如何使用工具學習網路技術?
- 乾貨|淺談強化學習的方法及學習路線強化學習
- 推薦系統中的前沿技術研究與落地:深度學習、AutoML與強化學習 | AI ProCon 2019深度學習TOML強化學習AI
- 強化學習10——迭代學習強化學習
- 機器學習、深度學習、和AI演算法可以在網路安全中做什麼?機器學習深度學習AI演算法
- 基於動態規劃的強化學習演算法動態規劃強化學習演算法
- 強化學習-學習筆記14 | 策略梯度中的 Baseline強化學習筆記梯度
- TensorFlow Hub:探索機器學習元件化機器學習元件化
- 強化學習強化學習
- 機器學習、深度學習、強化學習課程超級大列表!機器學習深度學習強化學習
- 技術 | 強化學習入門以及程式碼實現強化學習
- 強化學習-學習筆記3 | 策略學習強化學習筆記
- 網路安全學習要多長時間?滲透測試技術學習
- 【強化學習篇】--強化學習案例詳解一強化學習
- 深度強化學習day01初探強化學習強化學習
- 《用Python動手學機器學習》中的網址Python機器學習
- 【機器學習】整合學習——Bagging與隨機森林機器學習隨機森林
- 哪些人適合學習網路安全技術?
- GPB | 王向峰綜述:機器學習技術驅動植物AI育種機器學習AI
- 機器人學前班助力機器人簡單快速學習,給予強化學習的自動駕駛策略 | 一週AI學術機器人強化學習自動駕駛AI