OpenAI 隨機網路蒸餾 (RND) 用於強化學習

OpenAI 開發了隨機網路蒸餾 (RND),一種基於預測的方法,用以鼓勵強化學習 (RL) 代理透過好奇心探索環境。此方法透過根據預測固定隨機神經網路輸出的難易度來給予獎勵,使代理能拜訪不熟悉的狀態。首次,該方法在 Atari 遊戲《Montezuma's Revenge》中超越了平均人類表現,達到最先進的績效,且偶爾能在不依賴人類示範或底層模擬器狀態存取的情況下,透過找齊全部 24 個房間解決第一關。

隨機網路蒸餾 (RND) 技術概述

隨機網路蒸餾旨在激勵對不熟悉狀態的探索。系統使用一個固定、隨機初始化的神經網路作為目標。第二個網路,即預測器,嘗試根據下一個狀態預測此目標網路的輸出。

由於預測器網路是以代理拜訪的狀態進行訓練,其預測誤差在頻繁拜訪的狀態較低,而在新奇的狀態較高。此預測誤差作為內在獎勵,驅使代理前往環境中未探索的區域。

解決噪聲電視問題

先前基於下一狀態預測的好奇心驅動方法容易受到「噪聲電視問題」的影響,代理會被環境中的隨機元素(例如播放隨機雜訊的電視)所困住,因為這些元素永遠不可預測,從而產生高內在獎勵。

RND 透過專注於預測一個確定性的合成問題(固定的隨機網路)的輸出,而非環境本身的下一狀態,從而消除此問題。這確保了預測誤差是由新奇性而非隨機性所致,使 RND 對噪聲電視問題具備免疫力。

《Montezuma's Revenge》的表現

《Montezuma's Revenge》被廣泛視為 RL 探索的基準,因為簡單的探索策略通常無法獲得獎勵。在原始 DQN 論文中,它是唯一一款代理僅達到平均人類分數 0%(4.7K)的遊戲。

使用 RND,OpenAI 獲得了以下結果:

  • 大規模實驗: 使用 1024 個 rollout 工作者,代理在 9 次實驗中取得平均回報 10K,最佳平均回報為 14.5K。大多數實驗發現了 20 到 22 個房間。
  • 長時間實驗: 10 次實驗中有一次取得最佳回報 17.5K,對應於通過第一關並找齊全部 24 個房間。

跨環境的好奇心驅動學習

OpenAI 在超過 50 種不同環境中進行了大規模研究,未使用任何環境特定(外在)的獎勵。代理展現了不同程度的能力:

  • Super Mario Bros: 代理發現了 11 個關卡,找到祕密房間,並擊敗了 boss,因為內在獎勵與遊戲前進的目標高度一致。
  • Bowling: 代理的表現優於使用裁剪外在獎勵訓練的代理,可能是因為它被全壘打後計分板的不可預測閃爍所吸引。
  • Pong: 代理學會了保持球在場上以延長回合,雖然它更重視延長遊戲時間而非贏得比賽。
  • Breakout: 代理在遇到新磚塊配置或首次通關時會出現內在獎勵的尖峰。

實作與訓練穩定性

OpenAI 指出,實作細節對 RND 的成功至關重要。透過避免特徵飽和並將內在獎勵調整至可預測的範圍,實現了穩定性。團隊發現每次修復錯誤都會帶來顯著的績效提升,強調較簡單的演算法往往更適合於除錯與穩定性。

為了將探索獎勵與外在獎勵結合,OpenAI 使用了 Proximal Policy Optimization (PPO) 的變體,為兩條獎勵流設置了兩個獨立的價值頭。這允許使用不同的折扣率,並結合 episodic 與 non‑episodic 回報。

Sources