【发布时间】:2017-12-09 03:26:21
【问题描述】:
我最近尝试实现我自己版本的 Asynchronous Advantage Actor-Critic (A3C) 方法用于深度强化学习,因为我无法让网络上的其他 A3C 实现正常工作.问题是我的版本也没有收敛......所以,我非常感谢任何帮助确定问题。代码位于此处:https://github.com/MatheusMRFM/A3C-LSTM-with-Tensorflow。我正在使用 Open AI 健身房环境中的 Pong 游戏训练该方法。这是我所做的:
- 我的实现主要基于以下 A3C 实现:Arthur Juliani 的版本、Open AI 的 A3C 和 andreimuntean's version。我之所以选择这些实现,是因为它们清晰明了,而且根据原始 A3C 论文,一切似乎都是正确的;
- 我正在使用如下网络:一组卷积层、一个全连接层、一个 LSTM 层,以及两个全连接层(一个用于策略,另一个用于值函数)。我已经测试了其他几种架构(更改 concolutional 层、移除第一个隐藏层、更改隐藏层和 LSTM 层的输出等。这些配置都不起作用......
- 我尝试了 3 种不同的优化器:RMSPropOptimizer、AdadeltaOptimizer 和 AdamOptimizer。我还为每个人尝试了不同的学习率。不走运;
- 我已经根据我查看的实现尝试了几个参数。
我的代码最终总是收敛到一个策略,即桨总是向上移动或总是向下移动(不是两者)。一定有一些愚蠢的细节我错过了,但我找不到。欢迎任何帮助!
【问题讨论】:
-
Stackoverflow 不允许我发布更多链接,所以这里是 Arthur Juliani 版本的链接:medium.com/emergent-future/…
-
我认为这个问题太宽泛了,我们可以真正帮助您完成您所提供的服务。也许添加一些关于策略、价值和熵损失如何随时间演变的图。如果你跳过 LSTM 部分,只使用一个 FFNN,它会起作用吗?
标签: asynchronous tensorflow deep-learning reinforcement-learning