gpt4 book ai didi

machine-learning - 随机梯度下降和 Q-Learning 中的小批量处理

转载 作者:行者123 更新时间:2023-11-30 08:49:37 25 4
gpt4 key购买 nike

背景(可以跳过):

在训练神经网络时,通常使用随机梯度下降(SGD):而不是在训练集的所有成员上计算网络的误差并通过梯度下降来更新权重(这意味着每次权重更新之前都要等待很长时间) ,每次使用一小批成员,并将产生的错误视为对真实错误的无偏估计。

在强化学习中,有时 Q 学习是通过神经网络实现的(如深度 Q 学习),并使用经验回放:而不是通过代理的先前(状态、 Action 、奖励)来更新权重,使用旧样本(状态、操作、奖励)的小批量随机样本进行更新,以便后续更新之间不存在相关性。

问题:

以下断言是否正确?:在 SGD 中进行小批量处理时,每个小批量执行一次权重更新,而在 Q-learning 中进行小批量处理时,对小批量中的每个成员执行一次权重更新?

还有一件事:

我觉得这个问题更适合Cross Validated ,因为这是一个关于机器学习的概念性问题,与编程无关,但是通过查看标记为 reinforcement-learning 的问题在Stackoverflow上,我的结论是,在这里问这个问题是规范的,而且我能得到的回复数量也更多。

最佳答案

答案是否定的。 Q 网络的参数可以使用小批量中的所有示例立即更新。用 (s1,a1,r1,s'1),(s2,a2,r2,s'2),... 表示小批量的成员,然后相对于当前 Q 网络估计损失:

L=(Q(s1,a1)-(r1+max{Q(s'1, _ )}))^2+(Q(s2,a2)-(r2+max{Q(s'2) , _ )}))^2+...

这是对真实损失的估计,是对所有 (s,a,r) 的期望。这样Q的参数更新就和SGD类似了。

注释:

  • 上面的表达式还可以包含折扣因子。
  • 估计存在偏差,因为它不包含表示 s' 引起的方差的项,但这不会改变梯度的方向。
  • 有时,每个平方项中的第二个 Q 网络不是当前的 Q,而是过去的 Q(双 Q 学习)。

关于machine-learning - 随机梯度下降和 Q-Learning 中的小批量处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41317030/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com