- 論文題目:Asynchronous Methods for Deep Reinforcement Learning
所解決的問題?
在強化學習算法中agent
所觀測到的data
是 non-stationary
和strongly correlated
的。通過設置memory
的方式可以 reduces non-stationarity and decorrelates updates,但是會限制這些方法去使用off-policy
的RL
算法,並且會增加額外的運算。
作者主要是通過多個智能體並行地採樣數據來decorrelates the agents’ data in to a more stationary process. 並且可以使用on-policy
的策略。
背景
在此之前也有一些研究,比如The General Reinforcement Learning Architecture (Gorila)
,actor
與環境互動採樣(多臺電腦),將數據放入replay memory
中,learner
從replay 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(learner
的target
拿central parameter server
所更新的參數更新learner
).
還有一些研究將Map Reduce framework
引入用於加快矩陣運算,(並不是加快採樣)。也還有一些工作是learner
之間通過通訊共享一些參數信息。
所採用的方法?
作者所使用的方法與Gorila
框架的方法類似,但是並沒有用多臺機器和參數服務器(parameter server
),而是使用一個多線程的GPU
在單臺機器上運行,每一個線程上都有一個learner
,它們採樣的數據就更加豐富了,多個learner online
更新最後彙總梯度,其實也是相當於切斷了數據之間的關聯性。因此作者沒有使用replay memory
而是對每個learner
使用不同的exploration policy
,因此這種方法也可以使用on-policy
的強化學習算法,比如sarsa
這種。將其用於Q-Learning
算法的話,可以得到如下單線程learner
僞代碼:
對於actor-critic
框架,單線程learner
僞代碼如下所示:
取得的效果?
所需的計算資源更小,使用一個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 Mnih
是Toronto
大學的機器學習博士,師從Geoffrey Hinton
,同時也是谷歌DeepMind
的研究員。碩士讀的Alberta
大學,師從Csaba Szepesvari
。
參考鏈接
- 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.
- 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.
- 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.
- (
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 estimation
的critic
方法。廣泛應用於各種領域,但有一些缺點使它的應用受到侷限。如 :
- 難以應用到隨機型策略(
stochastic policy
)和連續的動作空間。 value function
的微小變化會引起策略變化巨大,從而使訓練無法收斂。尤其是引入函數近似(function approximation,FA
)後,雖然算法泛化能力提高了,但也引入了bias
,從而使得訓練的收斂性更加難以保證。
而基於actor
方法通過將策略參數化,從而直接學習策略。這樣做的好處是與前者相比擁有更好的收斂性,以及適用於高維連續動作空間及stochastic policy
。但缺點包括梯度估計variance
比較高,且容易收斂到非最優解。另外因爲每次梯度的估計不依賴以往的估計,意味着無法充分利用老的信息。
但對於AC
算法來說其架構可以追溯到三、四十年前。 最早由Witten在1977年提出了類似AC
算法的方法,然後Barto, Sutton
和Anderso
n等大牛在1983年左右引入了actor-critic
架構。但由於AC
算法的研究難度和一些歷史偶然因素,之後學界開始將研究重點轉向value-based
方法。之後的一段時間裏value-based
方法和policy-based
方法都有了蓬勃的發展。前者比較典型的有TD
系的方法。經典的Sarsa
, Q-learning
等都屬於此列;後者比如經典的REINFORCE
算法。之後AC
算法結合了兩者的發展紅利,其理論和實踐再次有了長足的發展。直到深度學習(Deep learning, DL
)時代,AC
方法結合了DNN
作爲FA
,產生了化學反應,出現了DDPG
,A3C
這樣一批先進算法,以及其它基於它們的一些改進和變體。可以看到,這是一個先分後合的圓滿故事。
- 參考文章:http://www.voidcn.com/article/p-mihgmljj-wy.html