如何在学习过程中阻止 DQN Q 函数增加?

人工智能 强化学习 q学习 dqn 目标函数 价值函数
2021-11-06 07:30:13

遵循带有经验回放的DQN 算法:

商店过渡(ϕt,at,rt,ϕt+1)D随机小批量转换样本(ϕj,aj,rj,ϕj+1)D

yj={rj if episode terminates at j+1rj+γmaxdQ^(ϕj+1,a;θ)otherwise 

执行梯度下降步骤(yjQ(ϕ,aj;θ))2关于网络参数θ.

我们计算loss=(Q(s,a)(r+Q(s+1,a)))2.

假设我有积极但不断变化的奖励。意义,r>0.

因此,由于奖励是正数,通过计算损失,我注意到几乎总是Q(s)<Q(s+1)+r.

因此,网络学会总是增加Q函数,最终,Q在以后的学习步骤中,功能在相同状态下更高。

如何稳定学习过程?

4个回答
  1. 您可以使用小于 1 的折扣因子 gamma。

  2. 您可以使用有限时间范围 - 仅适用于不远的状态,然后 T 时间步奖励传播回来

  3. 您可以对 Q 使用随时间平均的改写总和

所有这些都是合法的方法。

因此,网络学习总是增加 Q 函数,最终 Q 函数在后面的学习步骤中在相同的状态下更高

如果您的价值函数在后面的步骤中不断增加,这意味着网络仍在学习这些 Q 值,您不一定要阻止这种情况。即使奖励总是积极的,你的 Q 值也不会永远增加。你基本上在这里有一个回归问题,当Q(s,a)变得非常接近预测值 r+Q(s,a)的价值Q(s,a)会自行停止增加。

我通过代入平均奖励将奖励更改为负数和正数。

它似乎改善了 Q 函数边界。

众所周知,流行的 Q 学习算法会在某些条件下高估动作值。以前不知道在实践中这种高估是否普遍,它们是否会损害绩效,以及它们是否通常可以避免。在本文中,我们肯定地回答了所有这些问题。特别是,我们首先展示了最近的 DQN 算法,它结合了 Q 学习和深度神经网络,在 Atari 2600 领域的一些游戏中存在严重高估。然后,我们展示了在表格设置中引入的双 Q 学习算法背后的思想,可以推广到大规模函数逼近。我们提出了对 DQN 算法的特定适应,并表明生成的算法不仅减少了观察到的高估,如假设的那样, https://www.aaai.org/ocs/index.php/AAAI/AAAI16/paper/viewPaper/12389