【5分鐘 Paper】Asynchronous Methods for Deep Reinforcement Learning

  • 論文題目:Asynchronous Methods for Deep Reinforcement Learning

論文標題及作者信息

所解決的問題?

  在強化學習算法中agent所觀測到的datanon-stationarystrongly correlated的。通過設置memory的方式可以 reduces non-stationarity and decorrelates updates,但是會限制這些方法去使用off-policyRL算法,並且會增加額外的運算。

  作者主要是通過多個智能體並行地採樣數據來decorrelates the agents’ data in to a more stationary process. 並且可以使用on-policy的策略。

背景

  在此之前也有一些研究,比如The General Reinforcement Learning Architecture (Gorila)actor與環境互動採樣(多臺電腦),將數據放入replay memory中,learnerreplay memory中獲取數據,並計算DQN算法所定義的Loss梯度,但是這個梯度並不用於更新learner的參數,梯度被asynchronously sent to a central parameter server which updates a central copy of the model. The updated policy parameters are sent to the actor-learners at fixed intervals(learnertargetcentral parameter server所更新的參數更新learner).

Gorila網絡結構

  還有一些研究將Map Reduce framework引入用於加快矩陣運算,(並不是加快採樣)。也還有一些工作是learner之間通過通訊共享一些參數信息。

所採用的方法?

  作者所使用的方法與Gorila框架的方法類似,但是並沒有用多臺機器和參數服務器(parameter server),而是使用一個多線程的GPU在單臺機器上運行,每一個線程上都有一個learner,它們採樣的數據就更加豐富了,多個learner online更新最後彙總梯度,其實也是相當於切斷了數據之間的關聯性。因此作者沒有使用replay memory而是對每個learner使用不同的exploration policy,因此這種方法也可以使用on-policy的強化學習算法,比如sarsa這種。將其用於Q-Learning算法的話,可以得到如下單線程learner僞代碼:

 one-step Q-learning算法僞代碼

  對於actor-critic框架,單線程learner僞代碼如下所示:

A3C算法僞代碼

取得的效果?

  所需的計算資源更小,使用一個multi-core CPU就可以進行訓練。compares the learning speed of the DQN algorithm trained on an Nvidia K40 GPU with the asynchronous methods trained using 16 CPU cores on five Atari 2600 games.

實驗結果對比

  還有一些什麼魯棒性地分析可以參考原文,這裏就不說了,在討論部分作者強調了,並不是說experience replace不好,把其引入進來可能效果會改進採樣效率,可能會使得效果更好。

所出版信息?作者信息?

  這篇文章是ICML2016上面的一篇文章。第一作者Volodymyr MnihToronto大學的機器學習博士,師從Geoffrey Hinton,同時也是谷歌DeepMind的研究員。碩士讀的Alberta大學,師從Csaba Szepesvari

Volodymyr Mnih

參考鏈接

  1. The General Reinforcement Learning Architecture (Gorila) of (Nairetal.,2015) performs asynchronous training of reinforcement learning agents in a distributed setting. The gradients are asynchronously sent to a central parameter server which updates a central copy of the model. The updated policy parameters are sent to the actor-learners at fixed intervals.
  • 參考文獻:Nair, Arun, Srinivasan, Praveen, Blackwell, Sam, Alcicek, Cagdas, Fearon, Rory, Maria, Alessandro De, Panneershelvam, Vedavyas, Suleyman, Mustafa, Beattie, Charles, Petersen, Stig, Legg, Shane, Mnih, Volodymyr, Kavukcuoglu, Koray, and Silver, David. Massively parallel methods for deep reinforcement learning. In ICML Deep Learning Workshop. 2015.
  1. We also note that a similar way of parallelizing DQN was proposed by (Chavez et al., 2015).
  • 參考文獻:Chavez, Kevin, Ong, Hao Yi, and Hong, Augustus. Distributed deep q-learning. Technical report, Stanford University, June 2015.
  1. In earlier work, (Li & Schuurmans, 2011) applied the Map Reduce framework to parallelizing batch reinforcement learning methods with linear function approximation. Parallelism was used to speed up large matrix operations but not to parallelize the collection of experience or stabilize learning.
  • 參考文獻:Li, Yuxi and Schuurmans, Dale. Mapreduce for parallel reinforcement learning. In Recent Advances in Reinforcement Learning - 9th European Workshop, EWRL 2011, Athens, Greece, September 9-11, 2011, Revised Selected Papers, pp. 309–320, 2011.
  1. (Grounds & Kudenko, 2008) proposed a parallel version of the Sarsa algorithm that uses multiple separate actor-learners to accelerate training. Each actor learner learns separately and periodically sends updates to weights that have changed significantly to the other learners using peer-to-peer communication.
  • 參考文獻:Grounds, Matthew and Kudenko, Daniel. Parallel reinforcement learning with linear function approximation. In Proceedings of the 5th, 6th and 7th European Conference on Adaptive and Learning Agents and Multi-agent Systems: Adaptation and Multi-agent Learning, pp. 60– 74. Springer-Verlag, 2008.

擴展閱讀

  基於value estimationcritic方法。廣泛應用於各種領域,但有一些缺點使它的應用受到侷限。如 :

  1. 難以應用到隨機型策略(stochastic policy)和連續的動作空間。
  2. value function的微小變化會引起策略變化巨大,從而使訓練無法收斂。尤其是引入函數近似(function approximation,FA)後,雖然算法泛化能力提高了,但也引入了bias,從而使得訓練的收斂性更加難以保證。

  而基於actor方法通過將策略參數化,從而直接學習策略。這樣做的好處是與前者相比擁有更好的收斂性,以及適用於高維連續動作空間及stochastic policy。但缺點包括梯度估計variance比較高,且容易收斂到非最優解。另外因爲每次梯度的估計不依賴以往的估計,意味着無法充分利用老的信息。

  但對於AC算法來說其架構可以追溯到三、四十年前。 最早由Witten在1977年提出了類似AC算法的方法,然後Barto, SuttonAnderson等大牛在1983年左右引入了actor-critic架構。但由於AC算法的研究難度和一些歷史偶然因素,之後學界開始將研究重點轉向value-based方法。之後的一段時間裏value-based方法和policy-based方法都有了蓬勃的發展。前者比較典型的有TD系的方法。經典的Sarsa, Q-learning等都屬於此列;後者比如經典的REINFORCE算法。之後AC算法結合了兩者的發展紅利,其理論和實踐再次有了長足的發展。直到深度學習(Deep learning, DL)時代,AC方法結合了DNN作爲FA,產生了化學反應,出現了DDPGA3C這樣一批先進算法,以及其它基於它們的一些改進和變體。可以看到,這是一個先分後合的圓滿故事。

  • 參考文章:http://www.voidcn.com/article/p-mihgmljj-wy.html
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章