为什么Q-Learning中的SGD比Mini-Batch或Batch更稳定?

时间:2019-04-03 09:41:39

标签: reinforcement-learning backpropagation mini-batch

对于我的计算机科学学士学位论文,我使用神经网络实现了强化学习算法。

该算法必须学习Pong和类似的游戏,在其中必须简单地用球拍接球。

现在进行反向传播时,我有三种可能性:

  • 通常的梯度下降,使用整个批次, 其中,梯度是平均输出误差乘以输出的导数:

  • SGD,仅使用当前学习到的输入产生的错误:

  • Mini-Batch,我进行通常的梯度下降,但仅在小批量时进行:

如果我的想法有误,请告诉我。

现在,何时训练网络有两种可能性:

  • 每次操作(在线)后
  • 经过一定数量的比赛(离线)

这是我到目前为止所做的: 我用SGD训练10轮之后的网。 为此,我使用了整个数据集。 这意味着我基本上可以进行正常的梯度下降,但是可以为每个输入单独更新权重。

我还尝试了在线和离线的小批量和批处理。但是离线变量中的SGD产生最快和最稳定的结果,而其他选项则收敛非常慢,不规则或根本不收敛。

但是大多数文档说,在进行在线培训时,小批量或SGD方法应该会产生更好的结果。

那我为什么会得到如此奇怪的结果?

0 个答案:

没有答案