1. 程式人生 > >【轉載】NIPS 2017 線上分享第一期:新型強化學習演算法 ACKTR

【轉載】NIPS 2017 線上分享第一期:新型強化學習演算法 ACKTR

上週我們釋出了《攻略 | 雖然票早已被搶光,你可以從機器之心關注 NIPS 2017》,在 NIPS 2017 正式開始前,我們將選出數篇優質論文,邀請論文作者來做線上分享,聊聊理論、技術和研究方法。11 月 8 日,第一期分享已經結束。

週三晚上,多倫多大學三年級博士生 Yuhuai Wu(吳宇懷)為大家分享了 NIPS 2017 論文《Scalable trust-region method for deep reinforcement learning using Kronecker-factored approximation》。以下是本期視訊回顧:

本期分享 PPT 下載:https://pan.baidu.com/s/1bp4hqFX

ACKTR(音同「actor」,Actor Critic using Kronecker-factored Trust Region)是由多倫多大學和紐約大學的研究者聯合開發的新演算法。OpenAI 與其合作實現程式碼開源。作者在論文中展示 ACKTR 演算法可以學習模擬機器人(以畫素作為輸入,連續的動作空間)和 Atari 遊戲(以畫素作為輸入,離散的動作空間)的控制策略。

程式碼:https://github.com/openai/baselines

論文:https://arxiv.org/abs/1708.05144

ACKTR 可以學習連續性控制任務。比如僅僅根據低畫素的輸入,把一個機器手臂移動到目標位置(左圖)。

ACKTR 融合了三種不同的技術:以 actor-critic 演算法為基礎,加上 TRPO 來保證穩定性,同時融入了提升樣本效率和可擴充套件性的分散式 Kronecker 因子分解(Kronecker factorization)。

樣本與計算複雜度

對於機器學習演算法,主要需考慮兩個因素:樣本複雜度與計算複雜度。樣本複雜度指智慧體學習任務所需與環境互動的次數,計算複雜度指演算法每步更新必需執行操作量。

ACKTR 比一階方法如 A2C 有更好的樣本複雜度,因為其使用自然梯度的方向而不是普通梯度方向來迭代。自然梯度給出了在引數空間中,每個網路的輸出分佈的單位變化下,改善目標函式的最優方向。通過限制 KL 離散度,我們確保新策略的行為與舊策略差別不大,以防止訓練的損毀。

至於 ACKTR 的計算複雜度,因為其使用計算非常高效的 K-FAC 演算法來估算自然梯度,所以 ACKTR 的每個更新步僅比標準梯度演算法慢 10% 到 25%。之前的自然梯度演算法,例如 TRPO(Hessian-free optimization)則需要非常昂貴的共軛梯度計算,致使其每步計算所需時間非常長。

下面兩個視訊中,你可以看到在 Q-Bert 遊戲中使用 ACKTR 訓練的智慧體與使用 A2C 訓練的智慧體,在不同訓練時段(timesteps)的對比。使用相同數量的訓練樣本後,ACKTR 訓練的智慧體的得分比 A2C 高的多。

使用 ACKTR 訓練的智慧體(右)在短時間內的得分比 A2C(左)的智慧體要高。

OpenAI baselines 程式碼開源,對比結果釋出:

OpenAI Baselines 釋出包含了 ACKTR 和 A2C 的程式碼實現。

我們還評估了 ACKTR 在一系列任務的表現。下文中,我們展示了 ACKTR 在 49 個 Atari 遊戲中與 A2C、PPO、ACER 表現的對比。注:ACKTR 的作者只用了 Breakout 遊戲對 ACKTR 的進行了超引數的調整。

ACKTR 也適用於大規模分散式訓練。因為其不僅利用每個樣本來估計梯度(gradient estimate),而且使用該樣本資訊去估計引數空間的局部曲率(local curvature)。A2C 和 A3C

《Asynchronous Methods for Deep Reinforcement Learning》發表後,A3C 方法的影響力大大增強。該演算法連線了多個關鍵思想:

在固定長度(比如,20 個時間步(timesteps))下執行同一個策略獲得一長段經驗,用來估計目標函式和優勢函式(advantage function)。

策略和價值函式共享基層網路引數。

非同步更新。

讀完這篇論文之後,AI 研究人員思考非同步是否可以改善效能(如,「或許增加噪聲可以提供某種正則化或探索」),或者非同步是否是一個允許基於 CPU 的實現的訓練過程變得更快的實現細節。

研究人員發現另一種非同步實現的替代方案,即一個同步的且非隨機的實現。該實現等待每個行為完成自己的經驗段的收集再執行更新。這個演算法的一大優勢是對於大批次資料的處理,它可以更好的利用 GPU 的效率。該演算法叫作 A2C(advantage actor critic 的縮寫)。

我們的同步 A2C 實現比非同步實現表現要好。目前尚未看到任何證據證明非同步引入的噪聲能夠提供任何效能收益。該方法的一個優勢就是當使用大型網路時,它在單 GPU 的機器上比 CPU 為主的 A3C 的實現更快。

我們的程式碼包含了用 A2C 來訓練的 CNNs,LSTM 的實現。

論文:Scalable trust-region method for deep reinforcement learning using Kronecker-factored approximation

摘要:在該研究中,我們將近期的提出的 Kronecker 因子的近似曲率(K-FAC),和置信域優化,應用到深度強化學習中。我們將該方法命名為「Actor Critic using Kronecker-Factored Trust Region」,(ACKTR)。就我們所知,這是首個可擴充套件的置信域自然梯度 actor-critic 的方法。同時它也能直接從原始畫素輸入(raw pixel input)中成功學習連續和離散的控制任務。我們在 Atari 遊戲和 MuJoCo 環境中對此方法進行測試。與之前最頂尖的 on-policy actor critic 方法相比,我們提出的方法不僅能夠獲取更高的獎勵,而且平均樣本效率提高了 2 到 3 倍。