微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

这个 DQN 算法在 TensorFlowJs 上的实现是如何工作的?

如何解决这个 DQN 算法在 TensorFlowJs 上的实现是如何工作的?

开发人员

我找到了一堆 DQN 实现的例子,但因为我不是 TensorFlow 专家,所以我有点困惑。

让我们看看 here 就是其中之一。

我可以理解,在第 73 行,我们准确地切片了一批存储数据 [{state,action,reward,newState,done}],然后我们得到 currentStates,即 [[s1,s2,...]],然后在第 75 行我们使用模型来get currentQs 这应该是,我怎么理解,[[act1,act2,...]],因为我们的模型用于从 env 的状态中获取操作。 newCurrentStatesfutureQs 也是如此。

但是在 88 上,我们看到 let maxFutureQ = Math.max(futureQs);。这里发生了什么? futureQs一个数组数组,每个 futureState 都有动作概率?然后 maxFutureQ 应该是一个动作概率,为什么我们将它添加到奖励中?这部分让我很困惑。

我也不明白为什么我们需要在 94 上做 currentQ[action] = newQ;

拜托,有人可以帮我了解这里发生的事情并留下评论吗?

提前致谢。

编辑:

讨论的代码

discussed code

解决方法

让您感到困惑的部分是 Bellman approximation,它用于更新定义为 Q-values 的状态的 s,如果采取了一个动作 a

enter image description here

Q 此状态 s 和动作 a 等于目标状态的预期即时奖励和折扣长期奖励。

我们取处于状态 Q-values(or the value of the action)s' 值的最大值,状态 s 是从状态 a' 出发的下一个状态,带有一个动作 s,作为从状态 s' 到状态 s0 时我们可以采取的动作是一组互斥的离散集(即,您的环境允许您向上、向左、向右或向下移动),因此最优化的动作将是导致动作价值最高的动作。

enter image description here

以上图为例。代理从状态 0.33% 开始,并且能够向上、向左、向右或向下移动这些动作。代理可以采取的行动本质上是随机的而不是确定性的,但是当代理打算向上时,代理可能会向左或向右移动。在这里,我将只为 gamma 赋值 1。

这就是您如何计算状态 Q-values 和动作 s0up,其中进入状态的值是代理收到的即时奖励 {{ 1}}。

V1 = 1,V2 = 2,V3 = 3,V4 = 4

接下来,如果您计算所有其他可能状态及其动作的 Q 值,您将得到以下结果:

Q(s0,up) = 0.33 * V1 + 0.33 * V2  0.33 * V4  
         = 0.33 * 1 + 0.33 * 2 + 0.33 * 4 
         = 2.31

因此,状态的最终值 Q(s0,left) = 1.98 Q(s0,right) = 2.64 Q(s0,down) = 2.97 是这些操作的值的 s0,即 maximum。这就是您在代码中真正想要做的。

至于 2.97 的作用是什么,它正在对当前的 currentQ[action] = newQ; 执行更新,以在剧集结束时将其旧值更新为新的更新值。

关于为什么要这样做,您必须了解的一件事是,代理在一个情节之后更新其 Q-values,然后再次进行训练并重复该过程,直到代理设法完成它的目标(对于引入该算法的 Atari 论文,我认为该目标的平均得分为 19,这相当于赢得 21 场比赛中的 19 场)。

您可以从 original paper 中阅读有关整个过程的更多信息。

但我认为在此之前您需要更多地了解 Bellmans 方程,因为它对于理解强化学习非常重要。 DeepMind 有一个很棒的 Youtube 系列,可以found here

更妙的是,它的创始人 Richard Sutton 和 Andrew Barto 有关于强化学习的 free book。我相信他们在第 4 章中详细介绍了这一点。

编辑:

我不太确定你所说的它如何影响培训是什么意思,但我会概述整个过程,让你了解培训是如何工作的:

enter image description here

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。