一旦预训练阶段完成,理想情况下该智能体就已经学会了一个合理的策略,使其可以可靠地运行在真实系统上。在下一阶段,该智能体开始在系统上运行,收集自己生成的数据,并将其加入到其智能体重放缓存(agent replay buffer) 数据被加入到该智能体重放缓存,直到加满,然后该智能体开始覆写该缓存中的旧数据。与此同时,该演示数据仍然被维持在一个分离的演示重放缓存(demonstration replay buffer) 中,并保持不变。每个 minibatch 包含 n 个样本,开奖,其中部分演示数据由下面的参数定义: 对于自己生成的数据,仅会应用双重 Q 学习损失,而对于演示数据,监督和双重 Q 学习损失都会应用。 整体而言,学习演示的深度 Q 学习(DQfD)在以下 5 个方面与 DQN 不同(具体参阅 4.2.2 节) 预训练:在开始与环境进行任何交互之前,DQfD 首先开始在演示数据上单独训练,预训练过程会将 Q 学习损失和监督式损失结合起来,这样就使得代理可以模拟演示者,同时还能让价值函数为 TD 学习做好准备。 监督式损失:除了 TD 损失之外,还应用了一个大边际损失来推动该演示者的动作的值超越其它动作的值(Piot et al., 2014a)。 L2 正则化损失:该算法也在网络的权重加上了 L2 正则化损失以防止在演示数据上的过拟合。 分离的数据集:演示数据存储在 Ddemo 且永远不会被覆写,而自己生成的数据存储在 Dreplay 且经常被覆写。 受控的数据采样:每一个 minibatch 中演示数据与自我生成数据的相对比例通过上述公式进行控制。 4 实验结果 图 1:当给出了 1000 次转换的最佳或 ?-greedy 演示时,所有三种算法在 Catch 游戏上的在线奖励。甚至当该演示数据有 10% 的随机动作时,DQfD 也能表现得差不多好。 表 1:该算法测试过的 Atari 游戏以及人类在该游戏上实现的最佳和最差的扥,后面还给出了试验和转换的次数。 表 2:每个算法在全部 42 种 100 万 Atari 游戏帧上进行 200 次迭代后得到的平均在线奖励 图 2:三种算法在 Hero 游戏上的在线奖励。许多游戏都有和这个游戏类似的结果,其中 DQfD 的起始表现接近模仿策略(imitation policy),然后继续提升 图 3:三种算法在 Pong 游戏上的在线奖励。尽管人类演示者在他们的演示中没有赢下任何一场游戏,但 DQfD 仍然在前面 58 次迭代中优于 DQN 论文链接:https://arxiv.org/abs/1704.03732 本文为机器之心编译,转载请联系本公众号获得授权。 ?------------------------------------------------ 加入机器之心(全职记者/实习生):[email protected] 投稿或寻求报道:[email protected] 广告&商务合作:[email protected] (责任编辑:本港台直播) |