比TD、MC、MCTS指数级快,性能超越A3C、DDQN等模型,这篇RL算法论文在Reddit上火了...

选自arxiv,做者:Jose A. Arjona-Medina、Michael Gillhofer、Michael Widrich、Thomas Unterthiner、Sepp Hochreiter,机器之心编译。git

在强化学习中,延迟奖励的存在会严重影响性能,主要表如今随着延迟步数的增长,对时间差分(TD)估计误差的纠正时间的指数级增加,和蒙特卡洛(MC)估计方差的指数级增加。针对这一问题,来自奥地利约翰开普勒林茨大学 LIT AI Lab 的研究者提出了一种基于返回值分解的新方法 RUDDER。实验代表,RUDDER 的速度是 TD、MC 以及 MC 树搜索(MCTS)的指数级,并在特定 Atari 游戏的训练中很快超越 rainbow、A3C、DDQN 等多种著名强化学习模型的性能。

本文在 Reddit 上也引发了普遍而热烈的讨论,网友表示,论文中长达 50 页的附录使人感到惊艳,这样他们就不用绞尽脑汁去猜想做者们究竟是怎么完成实验的。此外,虽然主要的实验结果仅针对两个简单的游戏,但其方法颇有潜力,至关具有进一步探索的价值。github

论文:RUDDER: Return Decomposition for Delayed Rewardsapi

论文连接:arxiv.org/abs/1806.07…网络

摘要:咱们提出了一种针对延迟奖励的有限马尔可夫决策过程(MDP)的新型强化学习方法。本研究证实了时间差分(TD)估计误差的纠正速度仅在延迟步上出现指数级的减慢。此外,本研究还证实蒙特卡洛估计方差能够增长其余估计值的方差,使之在延迟步上出现指数级的增加。咱们介绍了一种返回值分解方法(return decomposition method)RUDDER,该方法使用和原始 MDP 同样的最佳策略建立了一个新的 MDP,可是其再分配奖励的延迟已经大大下降。若是返回值分解方法是最佳策略,那么新的 MDP 不会有延迟奖励,TD 估计也不会出现误差。在这种状况下,奖励追踪 Q 值,这样将来的指望奖励值就保持为零。咱们经过实验确认了关于 TD 估计误差和 MC 估计方差的理论结果。在不一样长度的奖励延迟的任务中,咱们展现了 RUDDER 的速度是 TD、MC 以及 MC 树搜索(MCTS)的指数级。在延迟奖励 Atari 游戏 Venture 中,RUDDER 仅学习了一小段时间,其性能就优于 rainbow、A3C、DDQN、Distributional DQN、Dueling DDQN、Noisy DQN 和 Prioritized DDQN。RUDDER 在更少的学习时间内显著提升了在延迟奖励 Atari 游戏 Bowling 上的当前最优性能。架构


引言异步

在强化学习中,为执行动做的接收奖励分配信度值是中心任务之一 [107]。人们认识到长期信度值分配是强化学习中最大的挑战之一 [91]。目前的强化学习方法在面对长期延迟的奖励时速度会显著下降 [84,86]。为了学习延迟奖励,有三个阶段须要考虑:(1)发现延迟奖励;(2)追踪延迟奖励相关信息;(3)学习接收延迟奖励并保存以备后用。近期成功的强化学习方法为以上三个阶段中的一个或多个提供了解决方案。最著名的方法是 Deep Q-Network(DQN)[71, 72],它结合了 Q-learning 和卷积神经网络用于视觉强化学习 [58]。函数

DQN 的成功归因于经验重放(experience replay)[64],其保存了观察到的状态奖励转换过程,而后从中采样。优先经验重放 [93,50] 促进了对重放记忆的采样。Ape-X DQN 的训练中,不一样的策略并行执行探索,并共享优先经验重放记忆 [50]。DQN 被扩展为 double DQN(DDQN)[113,114],其下降了太高估计的误差,从而有助于探索。Noisy DQN [21] 经过策略网络中的一个随机层进行探索(详见 [40, 94])。Distributional Q-learning [8] 能够从噪声中获益,由于有高方差的平均值更可能被选择。对抗(dueling)网络架构 [117,118] 能够分别估计状态值和动做优点,从而能够帮助在未知状态中的探索。策略梯度方法 [124] 也经过并行策略进行探索。A2C 经过 IMPALA 的并行 actor 和对 actor、学习器之间的策略滞后的修正获得改进。结合异步梯度降低的 A3C [70] 和 Ape-X DPG [50] 也依赖并行策略。近端策略优化(PPO)经过代理目标和由截断(clipping)或 Kullback-Leibler 惩罚 [96] 实现的置信域优化扩展了 A3C。性能

近期出现的方法但愿能解决延迟奖励带来的学习问题。若是和奖励相关的状态和不少步以前遇到的状态很类似,则价值函数的函数逼近或 critic [72,70] 能够填补时间间隔。例如,假设一个函数学习预测一个 episode 结束时的大奖励值(若是其状态具有特定的特征)。该函数能够将该相关性泛化到 episode 的起点,并为处理相同特征的状态预测已经很高的奖励值。多步时间差分(TD)学习 [105,107] 能够改善 DQN 和策略梯度 [39, 70]。AlphaGo 和 AlphaZero 使用蒙特卡洛树搜索(MCTS)能够达到比人类职业选手更好的围棋和国际象棋水平。MCTS 从一个时间点开始模拟博弈,直到博弈结束或到达一个评估点,所以 MCTS 可以捕捉到长期延迟奖励。近期,使用进化策略的世界模型很成功 [36]。这些前向方法在具有状态转换高分支因子的几率环境中并不可行。后向方法追溯已知的目标状态 [18] 或高奖励状态 [30]。然而,咱们必须一步一步地学习后向模型。学习

咱们提出后向的学习过程,且这是基于前向模型构建的。前向模型预测返回值,然后向模型分析确认致使返回值的状态和动做。咱们使用长短时间记忆网络(LSTM)来预测一个 episode 的返回值。LSTM 已经在强化学习中的优点学习(advantage learning)[4] 和学习策略 [37,70,38] 中获得了应用。然而,经过「模型中的反向传播」进行的敏感度分析 [75,87,88,5] 有严重的缺陷:局部极小值、不稳定性、世界模型中的梯度爆炸或消失问题、恰当的探索、动做仅经过敏感度进行分析而不是基于它们的贡献(相关性)[40,94]。测试

因为敏感度分析极大地阻碍了学习,咱们对反向分析使用了贡献分析,例如贡献传播 [60]、贡献方法 [81]、excitation 反向传播 [127]、层级相关度传播(LRP)[3]、泰勒分解 [3,73] 或集成梯度(IG)[103]。使用贡献分析,预测的返回值能够沿着状态-动做序列分解为贡献。经过用实际返回值替代预测,咱们获得了一个再分配奖励,进而得到一个新的 MDP,其最优策略和原始 MDP 相同。再分配奖励和奖励塑造(reward shaping)[76,122] 是很不一样的,其将奖励变为状态的函数而不是动做的函数。奖励塑造和「回溯建议」(look-back advice)[123] 都保持了原始奖励,即仍然可能存在较长的延迟,从而致使学习过程指数级变慢。咱们提出了 RUDDER,其经过返回值分解来执行奖励重分配,从而克服 TD 和 MC 由于延迟奖励而遇到的问题。RUDDER 能够极大地减小 MC 的方差,并极大程度地避免 TD 的指数级缓慢的误差修正(对于最优的返回值分解,TD 甚至是无误差的)。

图 1:在 Grid World 上对不一样 Q 值 estimator 的误差和方差的实验评估结果。左:高方差影响的状态数量随着延迟步数的增长呈现指数级的增加。右:不一样延迟上将误差减小 80% 的样本数量。

图 2:不一样方法在不一样延迟下学习达到 90% 返回奖励的最佳策略的观察状态数(对数坐标)。咱们对比了由 Q 学习实现的时序差分(TD)、蒙特卡洛(MC)、蒙特卡洛树搜索(MCTS)和 RUDDER。左:Grid World 环境。右:Charge-Discharge 环境。RUDDER 和其余方法所需状态的差距随着延迟步数的增长呈现指数级增加。

表 1:RUDDER 和其余方法在学习 Atari 游戏 Bowling 和 Venture 时的结果。在无操做指令开始条件下,各个方法在超过 200 个测试游戏中的归一化人类得分和原始得分:A3C 得分未报道,由于其在无操做指令开始条件下没法得到。其余方法的得分来自于以前的研究 [8, 39]。咱们选择了仅基于 12M 帧训练损失的 RUDDER 模型。

图 3:RUDDER 学习 Atari 游戏 Bowling 和 Venture 的延迟奖励的速度比其余方法快。左图是 Bowling 游戏训练过程当中各个方法的归一化人类得分,右图是 Venture 游戏训练过程当中各个方法的归一化人类得分,其中学习曲线来自于以前的研究 [39, 50]。RUDDER 在 Bowling 游戏上达到了新的当前最优性能。

图 4:RUDDER 在具有较长延迟奖励的两个 Atari 游戏中的返回值分解示意图。左:在 Bowling 游戏中,仅在一个 turn(包含屡次滚动)后给予奖励。RUDDER 识别引导球沿着正确方向击中瓶子的动做。一旦球击中瓶子,RUDDER 随即检测与击中瓶子相关的延迟奖励。图中只展现了 100 帧,可是整个 turn 的长度超过 200 帧。在原始游戏中,奖励是在 turn 结束时才给予。右:在 Venture 游戏中,只在收集到宝藏后才给予奖励。RUDDER 经过奖励再分配引导智能体(红色)前往宝藏处(金色)。奖励在进入有宝藏的房间时进行再分配。此外,随着智能体离宝藏愈来愈近,再分配奖励逐渐增长。为简洁起见,图中绿色曲线展现了在使用 lambda 以前的再分配奖励。环境仅在收集宝藏结束时才给予奖励(蓝色)。

源代码:github.com/ml-jku/base…