Asynchronous Methods for Deep Reinforcement Learning
论文地址
笔记
出发点:
online agent 观察到的状态数据是不稳定的(non-stationary) 并且相关。
DQN 用到了experience replay, 可以使用batch 和 random sample来和普通深度学习里的训练挂钩
A3C自然要把experience reply 批判一番:
- 更多的内存和更多的计算资源
- 用了off-policy 数据由一个更older的policy产生。(但是这也不算缺点吧,DQN说off-policy是自己的优点)
A3C 就是异步多线程的AC。AC暂且不表。人人都爱多线程,每一个agent 都在自己的线程里愉快的玩耍,然后更新global shared 的参数.相当于虽然我是online, on-policy.但是每一时刻我都有大量不相干的数据用于训练,很好。
不过更新的时候全然不顾我们在课堂上辛辛苦苦学习的进程安全,进程锁之类的,不上锁就是干。其实也没什么问题。
A3C自然要把自己的优点给搞个big news:
- 节省计算硬件,(对比的GPU是k40)
- on-polcy的算法都可以通过这种方式获益
- 不再需要experience replay
- 不同的agent探索的很可能不一样,天然的就很"探索"
- 时间和线程成线性反比关系