分布式同步SGD与异步SGD
深度学习分布式训练的典型方法是基于异步随机优化,这样的方式往往以增加由异步带来的随机噪音为代价。与之相反,同步的方式常常被认为不实际,这是因为部分workers需要浪费大量空闲时间等待拖后腿的wokers。文献[1]中作者们对同步的随机优化进行了改进,使深度学习算法可被高效的训练且性能得到提升。确切的说,缓和同步随机优化中拖后腿的方法是:只同步计算部分wokers的mini-batch梯度,其余的梯度drop掉。这种方式不仅减轻了拖后腿效应也避免了梯度的过时性。
深度学习分布式训练的典型方法是基于异步随机优化,这样的方式往往以增加由异步带来的随机噪音为代价。与之相反,同步的方式常常被认为不实际,这是因为部分workers需要浪费大量空闲时间等待拖后腿的wokers。文献[1]中作者们对同步的随机优化进行了改进,使深度学习算法可被高效的训练且性能得到提升。确切的说,缓和同步随机优化中拖后腿的方法是:只同步计算部分wokers的mini-batch梯度,其余的梯度drop掉。这种方式不仅减轻了拖后腿效应也避免了梯度的过时性。
现实世界中,强化学习算法面对的往往是稀疏奖励环境。在稀疏奖励环境中,对探索产生了很大的挑战。这是因为稀疏奖励函数使智能体无法有意义的区分不同策略之间的区别。对稀疏奖励函数问题,处理该问题常见的方法是利用专家演示数据提供状态空间中高奖励区域的初始信号。然而,之前基于演示的方式往往使算法本身变得很复杂,且增加了实施以及调节超参数的难度。文献[1]作者们另辟蹊径,提出了MCAC算法了,既没有过多的增加模型复杂性,也没有增加额外的超参数。
对于基于策略梯度算法估计梯度,常用的减少方差的方法是$Q$函数与只依赖于状态的基线做差,得到优势函数。这种方式可以明显降低方差,且不引入偏差。文献[2],[3],[4],[5],[6]对基于基线的方法进行了扩展,把依赖于状态的基线变为依赖于状态-动作的基线,实验表明其性能超越只依赖状态的基线。为了理解基于状态-动作的基线降低方差的机制,文献[1]对这类基线进行了研究。同时,也提出了一些无偏差的方差降低方法。
RL算法虽然概念上简单,但是许多SOTA算法实施使用了许多设计决策。然而,这些设计决策很少被讨论,就导致RL算法的进步很难被归因。Andrychowicz等人基于在线深度actor-critic框架进行了大规模试验,研究了这些设计对算法性能的影响。
目前,强化学习算法聚焦的范式是:当智能体思考执行什么动作时,假设环境是静态的。然而,这种假设对于真实世界是不成立的,因为智能体在处理观测和规划下一步动作时,环境的状态也在不断的发生变化。对于这种不断变化的环境,被称为并发环境。为了能够基于深度强化学习处理并发环境,文献[1]提出了一个适用于并发马尔科夫决策过程的连续时间Bellman运算。