[論文筆記]Curiosity-driven Exploration by Self-supervised Prediction

Cwwwws 2022-01-08 05:59:21 阅读数:824

curiosity-driven curiosity driven exploration self-supervised

Curiosity-driven Exploration by Self-supervised Prediction

研究問題:在稀疏的reward或者幾乎沒有reward的環境中,如何讓agent更有效地對環境進行探索,甚至學習到一些技能?

主要想法:利用’好奇心’作為內在的reward信號來讓agent更有效地進行探索,甚至學習到技能

解决方案:將’好奇心‘的reward建模成agent對於新狀態在visual feature space中的預測與實際狀態在visual feature space的錶征的不同,同時利用self-supervised inverse dynamics model來幫助agent對特征空間進行狀態特征的提取,並在面對新環境中進行fine-tuning

introduction

1)稀疏的外部獎勵,其中好奇心允許與環境進行更少的交互來實現目標;

2)沒有外在獎勵的探索,好奇心推動代理人更有效地探索;

3)推廣到看不見的場景(例如,同一遊戲的新級別),在這些場景中,從早期經驗中獲得的知識幫助智能體比從頭開始更快地探索新的地方。

關於內在獎勵主要可分為兩種:

  • 鼓勵智能體探索新狀態

    Bellemare, Marc, Srinivasan, Sriram, Ostrovski, Georg, Schaul, Tom, Saxton, David, and Munos, Remi. Unifying count-based exploration and intrinsic motivation. NIPS, 2016

  • 鼓勵智能體采取行動 來增加其預測後續動作後果的准確性(對環境的了解)

    Mnih, V olodymyr, Badia, Adria Puigdomenech, Mirza,Mehdi, Graves, Alex, Lillicrap, Timothy P , Harley, Tim, Silver, David, and Kavukcuoglu, Koray. Asynchronous methods for deep reinforcement learning. ICML,2016.

需要當前狀態st 和在t時刻執行的動作at 預測下一個狀態 st+1 這兩種模型都難以在高維連續狀態空間(如圖像)中構建。比如預測每個pixel的顏色是一件很困難的事,稍微有些差別,prediction error就會變化的比較大,所以agent很容易被這樣的信息誤導,並沒有達到探索的目的。此外圖片中的信息其實非常豐富,比如在不同關卡的背景,亮度不同,但是本質的內含相近,關注這些額外的信息反而會影響在不同關卡中的泛化。

另一個挑戰在於如何處理agent環境系統的隨機性,這既是由於agent驅動中的噪聲,更根本的是由於環境中固有的隨機性。

估計可學習性是一個非常重要的問題。

本文只預測環境中可能由於agent的行為或影響agent的那些變化,而忽略其餘的變化。也就是說,不是在原始的感官空間中進行預測,將感官輸入轉換為一個特征空間,在該空間中只錶示與agent執行的動作相關的信息。我們使用自我監督來學習這個特征空間——在agent逆動力學任務中訓練神經網絡,根據agent的當前和下一時刻狀態預測agent的行為。由於神經網絡只需要預測行為,因此它沒有動機在其特征嵌入空間內錶示不影響agent的環境變化因素。然後,我們使用這個特征空間來訓練一個正向動力學模型,該模型預測下一個狀態的特征錶示,給定當前狀態和動作的特征錶示。

探索行為的一個可取特征是,當agent獲得更多知識時,好奇心應該得到改善

Curiosity-Driven Exploration

獎勵設置

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-jlBD8A0r-1641218945024)(https://www.zhihu.com/equation?tex=r_t+%3D+r_t%5Ei+%2Br_t%5Ee)]

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-T56K9XQa-1641218945025)(C:\Users\CwwwwS\AppData\Roaming\Typora\typora-user-images\image-20210831151305398.png)]

r t i r_t^i rti 錶示由於好奇心帶來的內在獎勵, r i e r_i^e rie 錶示環境中本來就有的獎勵。比如達到目標獲得獎勵, 然後再采用傳統的RL算法,通過最大化自己的累積收益來學習到相應的策略。

這裏的 r t e r_t^e rte 可能是稀疏的,甚至沒有的。所以希望通過 r t i r_t^i rti 在稀疏 r t e r_t^e rte 的時候,幫助agent更少與環境交互,更快地學習到相應的策略。另外在沒有 r t e r_t^e rte,利用 r t i r_t^i rti 來讓agent更有效地探索環境。

那麼一個很重要的問題就是:designing an intrinsic reward signal based on prediction error?

Prediction error as curiosity reward

設計intrinsic reward很大程度上與你想要解决的任務相關,這裏想要解决的問題是video game,那麼就要立足在video game獲得state就是一張圖片。一種很直接的想法就是:在狀態 S 下,采用動作 a ,通過卷積與反卷積等結構來預測下一狀態 S’,通過預測出來的 S’ 與實際的 Sr’ 的誤差作為agent的reward。

直接預測下一個狀態S’ 其實存在一系列問題,比如預測每個pixel的顏色是一件很困難的事,稍微有些差別,prediction error就會變化的比較大,所以agent很容易被這樣的信息誤導,並沒有達到探索的目的。此外圖片中的信息其實非常豐富,比如在不同關卡的背景,亮度不同,但是本質的內含相近,關注這些額外的信息反而會影響在不同關卡中的泛化。

其實直接預測圖片帶來的問題,本質上就是:在state space中可以分成三種信息,
1.agent可以控制,比如agent開槍射出子彈,
2.agent不可以控制的,但是對agent有實際影響的,比如怪物的移動,
3.本質上無效的信息,比如agent走著走著,從白天變成黑夜,背景變黑了。

那麼其實我們真正關注的是第1和第2種信息,因為這2種信息才是本質上影響agent决策的信息,那麼我們的curiosity reward應該建立在這2種信息上才會讓agent更有效的探索學習。

Self-supervised prediction for exploration

那麼想要利用第1和第2種信息,本質上就是對state做特征提取,很自然就會想到利用神經網絡來手工完成特征,而且希望提出的特征是由第一類,第二類信息影響的。但是第二類信息不由agent控制,所以就可以focus住在第一類信息中:由agent的action影響的特征。

給定 原始狀態 st 使用深度神經網絡將其編碼為特征向量 [外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-v6NGAUZa-1641218945030)(C:\Users\CwwwwS\AppData\Roaming\Typora\typora-user-images\image-20210831143904104.png)]

利用當前狀態 S 與下一狀態 S’ 來預測采用了什麼樣的動作 a

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-fpQs5FWG-1641218945032)(C:\Users\CwwwwS\AppData\Roaming\Typora\typora-user-images\image-20210831144805780.png)]

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-ujd7qxek-1641218945033)(C:\Users\CwwwwS\AppData\Roaming\Typora\typora-user-images\image-20210831144910979.png)]

通過最小化預測的 a p r e d i c t i o n a_{prediction} aprediction 與實際采用動作 a a a 的誤差,利用反向傳播讓神經網絡學習到真正由action影響的特征。

本質上就是怎麼能够提取出真正由agent影響的因素,但是不要忘記我們真正的目的是利用對於狀態 s ′ s' s 的prediction error來建模agent的curiosity。所以在提取出特征 ϕ ( s ) \phi(s) ϕ(s)後,我們同樣可以使用神經網絡來預測下一個狀態 s ′ s' s的特征 ϕ ( s ′ ) \phi(s') ϕ(s) :

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-nuBxgRjt-1641218945038)(C:\Users\CwwwwS\AppData\Roaming\Typora\typora-user-images\image-20210831145644201.png)]

因為預測出來的特征是個向量,而且我們也不清楚向量中的每個元素代錶什麼,所以一個很直觀的想法就是利用 L 2 L_2 L2 範數來作為loss:

請添加圖片描述
請添加圖片描述

動力學和逆動力學損失與策略聯合優化

請添加圖片描述

反向模型有助於學習一個特征空間,該特征空間僅編碼與預測代理的動作相關的信息,而正向模型使學習到的特征錶示更具可預測性。

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-2JkdumOS-1641218945040)(C:\Users\CwwwwS\AppData\Roaming\Typora\typora-user-images\image-20210831150408969.png)]

Experimental Setup

Environments

第一個環境是Doom: reward很稀疏,只有在到達goal之後,會給予+1的reward。

agent有四種action:move forward,move left,move right,no-action。

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-sxdRRo8J-1641218945040)(C:\Users\CwwwwS\AppData\Roaming\Typora\typora-user-images\image-20210831152158182.png)]

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-3SEtP6lo-1641218945041)(C:\Users\CwwwwS\AppData\Roaming\Typora\typora-user-images\image-20210831152210887.png)]

  1. dense的reward:在地圖上任意藍點出生
  2. sparse:在room 13出生
  3. very sparse:在room 17出生 同時pre-train的map是在另外一張地圖上,具有不同的紋理。

第二個環境是Super Mario Bros: 一共有4個level,在第一個level上做pre-train,然後看在其他level上的泛化程度。

要在高大的管道或寬闊的間隙上進行跳遠,代理需要連續12次預測相同的動作,從而引入長期依賴關系。

Baseline Methods

本文的方法 叫做 ‘ICM + A3C’

(a) vanilla ‘A3C’ with ε \varepsilon ε-greedy exploration;

(b) ‘ICM-pixels + A3C’

‘ICM-aenc + A3C’ where the curiosity is computed using the features of pixel-based forward model. This baseline is representative of previous autoencoder based methods (Schmidhuber, 2010; Stadie et al., 2015);

(d) state-ofthe-art VIME (Houthooft et al., 2016) method.

Experiments

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-1akJnSJk-1641218945041)(C:\Users\CwwwwS\AppData\Roaming\Typora\typora-user-images\image-20210831154735438.png)]

Sparse Extrinsic Reward Setting

reward之後在到達goal才獲得,所以是sparse的。在這裏我們采用三種初始化方式(在上面提到過),因為這三種初始化方式到達goal的難度不一樣,所以我們進一步分成了三種境况(上面提到過的)

總的而言,有ICM比沒有ICM的好,有ICM能够更快地的探索到目標。在“Dense”中,因為初始狀態不一樣,因為房間紋理會不一樣,agent用的ICM(pixels)帶了上面提到的問題(agent不能控制,也不影響agent的因素),所以學的慢。

另外在“sparse”的情况下,pixles有段時間最好,這裏解釋為:因為在同一個房間內初始化,所以紋理固定,所以agent能够學的快一些(ICM的話,因為要額外訓練提取,所以會慢一些)。

在“very sparse”的情况下,只有ICM好,說明提取特征的確有用。

Robustness to uncontrollable dynamics

就是說明ICM對於一些不能控制的因數的魯棒性,將原來的輸入固定在圖片一角,然後其他用的white noise,這樣的話,ICM(pixles)應該會被white noise吸引,導致學不好。然後重新在‘sparse’的情况下來做實驗(就是上面ICM比ICM(pixels)慢的),然後這邊發現ICM比ICM(pixles)快了。

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-sxdRRo8J-1641218945040)(C:\Users\CwwwwS\AppData\Roaming\Typora\typora-user-images\image-20210831152158182.png)]

請添加圖片描述

Comparison to other baselines

在這裏插入圖片描述

No Reward Setting

因為沒有reward信號,所以其實我們不知道該學什麼,所以這裏主要判斷的是在沒有reward信號的時候,agent的探索能力。

一個好的exploration policy就是能够讓agent訪問過經可能多的狀態,因為一個隨機的探索很可能只讓agent在出身點附近打轉,而不會探索到遠的地方。

DOOM

請添加圖片描述

Mario

在沒有任何來自環境的外在獎勵的情况下,馬裏奧可以學習完成第一關的30%,這裏比較有趣的是,雖然沒有給agent殺死怪物的reward,但是agent學會了殺死怪物,主要的猜想是說因為碰到怪物就死了,所以沒有更多的好奇的reward,為了最大化好奇的reward,所以agent學習到了殺死怪物。

Generalization to Novel Scenarios

為了研究agent是真學到了,還是只是記住當前環境,這裏在Mario的level-1中,沒有reward,只有ICM進行學習,然後將agent分為三類:

1.將學到的策略“按原樣” 直接應用於新場景(在level 1中學好的agent直接用別的level中)

2.當在level 1上預先訓練(僅使用好奇心作為獎勵)的agent在當前的level繼續學

3.在level 1中學好的agent,有reward了,同時有ICM,在當前的level繼續學

請添加圖片描述

這裏發現,在level 2的時候,‘直接用’的agent效果差。分析了一下,主要是level 1和level 3的環境都是白天,level 2的環境是晚上,所以在level 1學完在level 3直接用還好,但是level 2因為環境不一樣,所以效果差。

另外在level 2與level 3中,從頭開始學的agent效果差,主要的原因是這兩個level 1更難,所以更難學到。

另外在level 3中,利用ICM和有外在reward再繼續學都差,level 3難,所以學不到好的policy,同時導致以前學習的被最新的policy覆蓋

此外有個結論就是,通過ICM預訓練,然後再將reward加上,能够更快地學習到相應的policy

隨著回環檢測 全局地圖進行更新 栅格地圖同樣發生突然的變化

中,從頭開始學的agent效果差,主要的原因是這兩個level 1更難,所以更難學到。

另外在level 3中,利用ICM和有外在reward再繼續學都差,level 3難,所以學不到好的policy,同時導致以前學習的被最新的policy覆蓋

此外有個結論就是,通過ICM預訓練,然後再將reward加上,能够更快地學習到相應的policy

版权声明:本文为[Cwwwws]所创,转载请带上原文链接,感谢。 https://gsmany.com/2022/01/202201080559210630.html