David Silver策略梯度算法及实际应用(实现Pong游戏)

  • 内容
  • 评论
  • 相关

到目前为止,策略梯度是最常用的 RL 算法之一。研究表明,经过适当的调整,它们的性能要优于 DQN,同时内存和计算消耗又不会过高。与 Q learning 不同,策略梯度使用参数化策略,可以在无须价值函数的情况下选择动作。

在策略梯度中有一个性能指标 η(θp),目标是最大化性能,同时根据梯度上升算法更新神经网络的权重。然而,TensorFlow 没有 maximum 优化器,因此,需要使用指标梯度负值 -▽η(θp) 的最小化来替代。

准备工作

Pong 是一个双人游戏,游戏的玩法是将球弹给对方,智能体可以上下移动球拍,也可以不操作。OpenAI 环境中的一个玩家是熟悉游戏规则的 AI 玩家,这里的目标是使用策略梯度来训练第二个智能体,使其成为每个玩过的游戏的专家。

代码中只运行了 500 次游戏,并在指定检查点保存智能体状态,这样在下一次运行时加载上一个检查点就可以了。为此,声明一个保存器(saver),然后调用 TensorFlow 的 saver.save 方法保存当前网络状态(检查点),最后从上次保存的检查点加载网络,下一节中定义的 PolicyNetwork 类用下面的方法完成这个工作:


本文标题:David Silver策略梯度算法及实际应用(实现Pong游戏)

本文地址:https://www.hosteonscn.com/4289.html

评论

0条评论

发表评论

邮箱地址不会被公开。 必填项已用*标注