BAIR最新RL算法超越谷歌Dreamer,性能提升2.8倍

2020-12-22 機器之心Pro

選自arXiv

作者:Aravind Srinivas等

機器之心編譯

參與:Racoon、Jamin

pixel-based RL 算法逆襲,BAIR 提出將對比學習與 RL 相結合的算法,其 sample-efficiency 匹敵 state-based RL。

此次研究的本質在於回答一個問題—使用圖像作為觀測值(pixel-based)的 RL 是否能夠和以坐標狀態作為觀測值的 RL 一樣有效?傳統意義上,大家普遍認為以圖像為觀測值的 RL 數據效率較低,通常需要一億個交互的 step 來解決 Atari 遊戲那樣的基準測試任務。

研究人員介紹了 CURL:一種用於強化學習的無監督對比表徵。CURL 使用對比學習的方式從原始像素中提取高階特徵,並在提取的特徵之上執行異策略控制。在 DeepMind Control Suite 和 Atari Games 中的複雜任務上,CURL 優於以前的 pixel-based 的方法(包括 model-based 和 model-free),在 100K 交互步驟基準測試中,其性能分別提高了 2.8 倍以及 1.6 倍。在 DeepMind Control Suite 上,CURL 是第一個幾乎與基於狀態特徵方法的 sample-efficiency 和性能所匹配的基於圖像的算法。

論文連結:https://arxiv.org/abs/2004.04136

網站:https://mishalaskin.github.io/curl/

GitHub 連結:https://github.com/MishaLaskin/curl

背景介紹

CURL 是將對比學習與 RL 相結合的通用框架。理論上,可以在 CURL pipeline 中使用任一 RL 算法,無論是同策略還是異策略。對於連續控制基準而言(DM Control),研究團隊使用了較為熟知的 Soft Actor-Critic(SAC)(Haarnoja et al., 2018) ;而對於離散控制基準(Atari),研究團隊使用了 Rainbow DQN(Hessel et al., 2017))。下面,我們簡要回顧一下 SAC,Rainbow DQN 以及對比學習。

Soft Actor Critic

SAC 是一種異策略 RL 算法,它優化了隨機策略,以最大化預期的軌跡回報。像其他 SOTA 端到端的 RL 算法一樣,SAC 在從狀態觀察中解決任務時非常有效,但卻無法從像素中學習有效的策略。

Rainbow

最好將 Rainbow DQN(Hessel et al., 2017)總結為在原來應用 Nature DQN 之上的多項改進(Mnih et al., 2015)。具體來說,深度 Q 網絡(DQN)(Mnih et al., 2015)將異策略算法 Q-Learning 與卷積神經網絡作為函數逼近器相結合,將原始像素映射到動作價值函數裡。

除此之外,價值分布強化學習(Bellemare et al., 2017)提出了一種通過 C51 算法預測可能值函數 bin 上的分布技術。Rainbow DQN 將上述所有技術組合在單一的異策略算法中,用以實現 Atari 基準的最新 sample efficiency。此外,Rainbow 還使用了多步回報(Sutton et al.,1998)。

對比學習

CURL 的關鍵部分是使用對比無監督學習來學習高維數據的豐富表示的能力。對比學習可以理解為可區分的字典查找任務。給定一個查詢 q、鍵 K= {k_0, k_1, . . . } 以及一個明確的 K(關於 q)P(K) = ({k+}, K \ {k+}) 分區,對比學習的目標是確保 q 與 k +的匹配程度比 K \ {k +} 中的任何的鍵都更大。在對比學習中,q,K,k +和 K \ {k +} 也分別稱為錨點(anchor),目標(targets),正樣本(positive), 負樣本(negatives)。

CURL 具體實現

CURL 通過將訓練對比目標作為批更新時的輔助損失函數,在最小程度上改變基礎 RL 算法。在實驗中,研究者將 CURL 與兩個無模型 RL 算法一同訓練——SAC 用於 DMControl 實驗,Rainbow DQN 用於 Atari 實驗。

總體框架概述

CURL 使用的實例判別方法(instance discrimination)類似於 SimCLR、MoC 和 CPC。大多數深度強化學習框架採用一系列堆疊在一起的圖像作為輸入。因此,算法在多個堆疊的幀中進行實例判別,而不是單一的圖像實例。

研究者發現,使用類似於 MoCo 的動量編碼流程(momentum encoding)來處理目標,在 RL 中性能較好。最後,研究者使用一個類似於 CPC 中的雙線性內積來處理 InfoNCE score 方程,研究者發現效果比 MoCo 和 SimCLR 中的單位範數向量積(unit norm vector products)要好。對比表徵和 RL 算法一同進行訓練,同時從對比目標和 Q 函數中獲得梯度。總體框架如下圖所示。

圖 2:CURL 總體框架示意圖

判別目標

選擇關於一個錨點的正、負樣本是對比表徵學習的其中一個關鍵組成部分。

不同於在同一張圖像上的 image-patches,判別變換後的圖像實例優化帶有 InfoNCE 損失項的簡化實例判別目標函數,並需要最小化對結構的調整。在 RL 設定下,選擇更簡化判別目標的理由主要有如下兩點:

鑑於 RL 算法十分脆弱,複雜的判別目標可能導致 RL 目標不穩定。

RL 算法在動態生成的數據集上進行訓練,複雜的判別目標可能會顯著增加訓練所需時間。

因此,CURL 使用實例判別而不是 patch 判別。我們可將類似於 SimCLR 和 MoCo 這樣的對比實例判別設置,看做最大化一張圖像與其對應增廣版本之間的共同信息。

查詢-鍵值對的生成

類似於在圖像設定下的實例判別,錨點和正觀測值是來自同一幅圖像的兩個不同增廣值,而負觀測值則來源於其他圖像。CURL 主要依靠隨機裁切數據增廣方法,從原始渲染圖像中隨機裁切一個正方形的 patch。

研究者在批數據上使用隨機數據增廣,但在同一堆幀之間保持一致,以保留觀測值時間結構的信息。數據增廣流程如圖 3 所示。

圖 3: 使用隨機裁剪產生錨點與其正樣本過程的直觀展示。

相似度量

區分目標中的另一個決定因素是用於測量查詢鍵對之間的內部乘積。CURL 採用雙線性內積 sim(q,k)= q^TW_k,其中 W 是學習的參數矩陣。研究團隊發現這種相似性度量的性能優於最近在計算機視覺(如 MoCo 和 SimCLR)中最新的對比學習方法中使用的標準化點積。

動量目標編碼

在 CURL 中使用對比學習的目標是訓練從高維像素中能映射到更多語義隱狀態的編碼器。InfoNCE 是一種無監督的損失,它通過學習編碼器 f_q 和 f_k 將原始錨點(查詢)x_q 和目標(關鍵字)x_k 映射到潛在值 q = f_q(x_q) 和 k = f_k(x_k) 上,在此團隊應用相似點積。通常在錨點和目標映射之間共享相同的編碼器,即 f_q = f_k。

CURL 將幀-堆棧實例的識別與目標的動量編碼結合在一起,同時 RL 是在編碼器特徵之上執行的。

CURL 對比學習偽代碼(PyTorch 風格)

實驗

研究者評估(i)sample-efficiency,方法具體為測量表現最佳的基線需要多少個交互步驟才能與 100k 交互步驟的 CURL 性能相匹配,以及(ii)通過測量 CURL 取得的周期回報值與最佳表現基線的比例來對性能層面的 100k 步驟進行衡量。換句話說,當談到數據或 sample-efficiency 時,其實指的是(i),而當談起性能時則指的是(ii)。

DMControl

在 DMControl 實驗中的主要發現:

CURL 是我們在每個 DMControl 環境上進行基準測試的 SOTA ImageBased RL 算法,用於根據現有的 Image-based 的基準進行採樣效率測試。在 DMControl100k 上,CURL 的性能比 Dreamer(Hafner 等人,2019)高 2.8 倍,這是一種領先的 model-based 的方法,並且數據效率高 9.9 倍。

從圖 7 所示的大多數 16 種 DMControl 環境中的狀態開始,僅靠像素操作的 CURL 幾乎可以進行匹配(有時甚至超過)SAC 的採樣效率。它是基於 model-based,model-free,有輔助任務或者是沒有輔助任務。

在 50 萬步之內,CURL 解決了 16 個 DMControl 實驗中的大多數(收斂到接近 1000 的最佳分數)。它在短短 10 萬步的時間內就具有與 SOTA 相似性能的競爭力,並且大大優於該方案中的其他方法。

表 1. 在 500k(DMControl500k)和 100k(DMControl100k)環境步長基準下,CURL 和 DMControl 基準上獲得的基線得分。

圖 4. 相對於 SLAC、PlaNet、Pixel SAC 和 State SAC 基線,平均 10 個 seeds 的 CURL 耦合 SAC 性能。

圖 6. 要獲得與 CURL 在 100k 訓練步驟中所得分相同的分數,需要先行採用領先的 pixel-based 方法 Dreamer 的步驟數。

圖 7. 將 CURL 與 state-based 的 SAC 進行比較,在 16 個所選 DMControl 環境中的每個環境上運行 2 個 seeds。

Atari

在 Atari 實驗中的主要發現:

就大多數 26 項 Atari100k 實驗的數據效率而言,CURL 是 SOTA PixelBased RL 算法。平均而言,在 Atari100k 上,CURL 的性能比 SimPLe 高 1.6 倍,而 Efficient Rainbow DQN 則高 2.5 倍。

CURL 達到 24%的人類標準化分數(HNS),而 SimPLe 和 Efficient Rainbow DQN 分別達到 13.5%和 14.7%。CURL,SimPLe 和 Efficient Rainbow DQN 的平均 HNS 分別為 37.3%,39%和 23.8%。

CURL 在三款遊戲 JamesBond(98.4%HNS),Freeway(94.2%HNS)和 Road Runner(86.5%HNS)上幾乎可以與人類的效率相提並論,這在所有 pixel-based 的 RL 算法中均屬首例。

表 2. 通過 CURL 和以 10 萬個時間步長(Atari100k)為標準所獲得的分數。CURL 在 26 個環境中的 14 個環境中實現了 SOTA。

項目介紹

安裝

所有相關項都在 conda_env.yml 文件中。它們可以手動安裝,也可以使用以下命令安裝:

conda env create -f conda_env.yml

使用說明

要從基於圖像的觀察中訓練 CURL agent 完成 cartpole swingup 任務,請從該目錄的根目錄運行 bash script/run.sh。run.sh 文件包含以下命令,也可以對其進行修改以嘗試不同的環境/超參數。

CUDA_VISIBLE_DEVICES=0 python train.py \

--domain_name cartpole \

--task_name swingup \

--encoder_type pixel \

--action_repeat 8 \

--save_tb --pre_transform_image_size 100 --image_size 84 \

--work_dir ./tmp \

--agent curl_sac --frame_stack 3 \

--seed -1 --critic_lr 1e-3 --actor_lr 1e-3 --eval_freq 10000 --batch_size 128 --num_train_steps 1000000

在控制臺中,應該看到如下所示的輸出:

| train | E: 221 | S: 28000 | D: 18.1 s | R: 785.2634 | BR: 3.8815 | A_LOSS: -305.7328 | CR_LOSS: 190.9854 | CU_LOSS: 0.0000

| train | E: 225 | S: 28500 | D: 18.6 s | R: 832.4937 | BR: 3.9644 | A_LOSS: -308.7789 | CR_LOSS: 126.0638 | CU_LOSS: 0.0000

| train | E: 229 | S: 29000 | D: 18.8 s | R: 683.6702 | BR: 3.7384 | A_LOSS: -311.3941 | CR_LOSS: 140.2573 | CU_LOSS: 0.0000

| train | E: 233 | S: 29500 | D: 19.6 s | R: 838.0947 | BR: 3.7254 | A_LOSS: -316.9415 | CR_LOSS: 136.5304 | CU_LOSS: 0.0000

cartpole swing up 的最高分數約為 845 分。而且,CURL 如何以小於 50k 的步長解決 visual cartpole。根據使用者的 GPU 不同而定,大約需要一個小時的訓練。同時作為參考,最新的端到端方法 D4PG 需要 50M 的 timesteps 來解決相同的問題。

Log abbreviation mapping:

train - training episode

E - total number of episodes

S - total number of environment steps

D - duration in seconds to train 1 episode

R - mean episode reward

BR - average reward of sampled batch

A_LOSS - average loss of actor

CR_LOSS - average loss of critic

CU_LOSS - average loss of the CURL encoder

與運行相關的所有數據都存儲在指定的 working_dir 中。若要啟用模型或視頻保存,請使用--save_model 或--save_video。而對於所有可用的標誌,需要檢查 train.py。使用 tensorboard 運行來進行可視化:

tensorboard --logdir log --port 6006

同時在瀏覽器中轉到 localhost:6006。如果運行異常,可以嘗試使用 ssh 進行埠轉發。

對於使用 GPU 加速渲染,確保在計算機上安裝了 EGL 並設置了 export MUJOCO_GL = egl。

相關焦點

  • 集合三大類無模型強化學習算法,BAIR開源RL代碼庫rlpyt
    近日,BAIR 發布了 rlpyt 代碼庫,利用三類算法之間的共性,在共享的優化基礎架構上構建了這三類算法的實現。GitHub 地址:https://github.com/astooke/rlpytrlpyt 庫包含很多常見深度強化學習算法的模塊化實現,這些實現是在深度學習庫 Pytorch 中使用 Python 語言寫成的。在大量已有實現中,rlpyt 對於研究者而言是更加全面的開源資源。
  • 超越谷歌「量子霸權」100億倍!中國科學家如何做到的?
    根據目前最優的經典算法,「九章」對於處理高斯玻色取樣的速度比目前世界排名第一的超級計算機「富嶽」快一百萬億倍,等效地比谷歌去年發布的53比特量子計算原型機「懸鈴木」快一百億倍。同時,通過高斯玻色取樣證明的量子計算優越性不依賴於樣本數量,克服了谷歌53比特隨機線路取樣實驗中量子優越性依賴於樣本數量的漏洞。  這個成果牢固確立了我國在國際量子計算研究中的第一方陣地位!
  • 谷歌開源SEED RL強化學習框架,訓練成本降低多達80%
    據了解,該研究論文已於2019年10月15日提交在預印本平臺arXiv,並在今年2月11日進行了最新修訂,名為《SEED RL:具有加速的集中推理功能的可擴展且高效的Deep-RL(SEED RL: Scalable and Efficient Deep-RL with Accelerated Central Inference)》。
  • ...AI 研究院提出新的數據增強算法,比谷歌大腦的 AutoAugment 更...
    雷鋒網 AI 科技評論按:數據增強是提升圖像識別模型性能的重要手段。伯克利 AI 研究院的一篇關於數據增強的論文便被 ICML 2019 收錄為 oral 論文,該論文巧妙地運用基於種群的數據增強算法,在降低計算成本的情況下,既能提高學習數據增強策略的速度,又能提升模型的整體性能。伯克利 AI 研究院也在官方博客上對論文進行了解讀,雷鋒網 AI 科技評論編譯如下。
  • 酷睿i5性能這樣瞬間提升20倍!
    VBox設置上有15到20倍的速度提升。FFT在4核虛擬機上有八倍性能提升我也試了下Fast Fourier Transforms (FFT)。fft5000 0.277629137039fft7000 1.11230897903速度提升為8和7.9倍。
  • 谷歌要構建10 億+ 級別的超大數據集,這樣能取代機器學習算法嗎?
    「新智元」(ID:AI_era)數據重要還是算法重要?一篇新的論文或許給出了答案。使用一個 300 倍於 ImageNet 的新數據集,谷歌研究人員發現,隨著數據增長,模型完成計算機視覺任務的性能直線上升。即使在 300 倍 ImageNet 這麼大規模的情況下,性能都沒有遭遇平臺。
  • 137% YOLOv3加速、10倍搜索性能提升!這樣的驚喜,最新版PaddleSlim...
    與2019年第一季度初次發布相比,PaddleSlim在易用性、模型適配、端側部署、性能提升等方面都有了顯著提升。最核心的體現,在於以下的十個特性。表2 基於敏感度的剪裁方法部分實驗結果三、支持網絡可配置量化,新增離線量化,模型預測速度成倍數提升定點量化的目的是將神經網絡前向過程中浮點數運算(float32)量化為整數(int8)運算,以達到計算加速的目的。
  • 把AI工具能效提升9.8倍!Facebook研發自適應預測算法,小米、三星...
    和亞利桑那州立大學的研究人員研發了AutoScale算法。AutoScale基於強化學習算法,可以自動化判斷AI工具適合在雲端還是終端運行。數據顯示,AutoScale模型能提高AI工具能效,可以使能效達到基線方法的10.8倍。
  • 性能超越GPU、FPGA,華人學者提出軟體算法架構加速AI實時化
    2.如果真的可以,那麼與專用硬體加速器相比,基於軟體優化和普通手機的實現方式性能又如何呢?能不能比硬體加速器跑的還快,能量效率還高呢?答案是肯定的。近期,由美國東北大學王言治研究組、威廉瑪麗學院任彬研究組和北卡州立大學慎熙鵬研究組共同提出了名為CoCoPIE的軟體算法架構,通過有效的「壓縮-編譯」協同設計(compression-compilation co-design),在沒有特殊硬體加速器的情況下,使用現有邊緣設備(如智慧型手機),依然可以實現人工智慧的實時化,並且在性能上超越了特殊硬體加速器。
  • 華為突破封鎖,對標谷歌Dropout專利,開源自研算法Disout
    比如,在ImageNet上訓練的ResNet-50可以達到78.76%的準確率,而谷歌Dropout系列方法僅為76.8%。這一算法背後的論文,已被AAAI 2020收錄,並對外公開。華為到底提出的Disout到底如何,也得以呈現。
  • 華為突破封鎖,對標谷歌,開源自研算法Disout,多項任務表現更佳
    美國持續封鎖,華為的技術自研,已經深入到了AI底層算法層面上,並開始將研究成果面向業界開源。剛剛,華為諾亞實驗室開源Disout算法(地址在文末),直接對標谷歌申請專利的Dropout算法。而且,在多項任務上,華為的新算法都超過了Dropout。比如,在ImageNet上訓練的ResNet-50可以達到78.76%的準確率,而谷歌Dropout系列方法僅為76.8%。
  • AI在這張「問卷」上首次超越人類,SuperGLUE被微軟谷歌兩家「攻破」
    在最新的NLU測試基準SuperGLUE中,人類首次被AI超越了。SuperGLUE相比「前輩」GLUE大大提升了問題的難度,提出一年多以來,人類一直處於第一位。現如今,人類一下子被兩家AI超越。一個是來自微軟的DeBERTa,一個是來自谷歌的T5+Meena。
  • 英特爾公布 Tiger Lake SoC:Willow Cove架構,性能提升超越一代
    IT之家 8 月 13 日消息 今晚,英特爾正式公布了 Tiger Lake SoC,採用了 Willow Cove 架構,官方稱將提供超越代間 CPU 性能的提高。IT之家了解到,Willow Cove 是英特爾的下一代 CPU 微架構基於最新的處理器技術和 10nm 的 SuperFin 技術,相比上一代的 Sunny Cove 架構,極大地提升了頻率以及功率效率,還將重新設計的緩存架構引入到更大的非相容 1.25MB MLC 中,並通過英特爾控制流強制技術(Control Flow Enforcement Technology)增強了安全性。
  • 谷歌搜索更新算法:「精選摘要」突出展示最新相關內容
    谷歌搜索更新算法:「精選摘要」突出展示最新相關內容 站長之家(ChinaZ.com) 8月2日 消息:據9to5google報導,在Featured Snippets(精選摘要),谷歌搜索可以立即突出展示用戶正在查找的信息。
  • 深入探究:性能超谷歌百萬倍的中國量子計算機
    實驗測試表明,此次發明的光量子計算機進行「玻色取樣」速度,比國際同行之前類似的所有實驗加快至少24000倍。同時,通過和經典算法比較,其比人類歷史上第一臺電子管計算機(ENIAC)和第一臺電晶體計算機(TRADIC)運行速度快10倍至100倍。
  • 「人工智慧研學社· 強化學習組」第二期:超越職業玩家的算法 - Deep Q-network
    它介紹了 Deep Q-Networks (DQN) 算法,並且在 49 個 Atari 遊戲上取得了很好的性能:基本都超越了以前的算法,大部分比職業玩家要好。這一算法的突出貢獻是,在 Q-learning 中引入了深度神經網絡,並且通過 experience replay 和 target network 技術穩定學習過程。
  • 滴滴、東北大學提自動結構化剪枝壓縮算法框架,性能提升高達120倍
    滴滴 AI Labs 與美國東北大學王言治教授研究組合作,聯合提出了一種基於 AutoML 思想的自動結構化剪枝的算法框架 AutoCompress,能自動化的去尋找深度模型剪枝中的超參數,去除模型中不同層的參數冗餘,替代人工設計的過程並實現了超高的壓縮倍率。從而滿足嵌入式端上運行深度模型的實時性能需求。
  • 谷歌證實:Panda算法更新的2.2版本已正式發布
    首頁 > 動態 > 關鍵詞 > SEO最新資訊 > 正文 谷歌證實:Panda算法更新的2.2版本已正式發布
  • 英偉達:GPU讓AI的性能每年都成倍提升
    打開APP 英偉達:GPU讓AI的性能每年都成倍提升 錢童心 發表於 2020-12-15 13:37:09 英偉達首席科學家Bill Dally在一年一度的中國GPU技術大會召開前接受第一財經記者獨家專訪時表示,GPU讓人工智慧(AI)的性能每年都能成倍提升,英偉達的研究人員正在定義如何在具有更高帶寬、更易於編程的系統中製造更快AI晶片的方法。
  • 谷歌超解析度技術 RAISR :模糊圖片瞬變高清,速度提升數十倍
    它的效果能達到甚至超過現在的超解析度解決方案,同時速度提升大約十至一百倍,且能夠在普通的行動裝置上運行。而且,谷歌的技術可以避免產生混疊效應 (aliasing artifacts)。此前已經具有通過升採樣方式,把低解析度圖片重建為尺寸更大、像素更多、更高畫質圖片的技術。