【问题标题】:Basic RNN cost function not converging to zero基本 RNN 成本函数不会收敛到零
【发布时间】:2016-05-27 01:37:07
【问题描述】:

我正在编写一个基本的 RNN。

我生成隐藏状态的函数是:

tanh(xU + sW)

其中 x 是输入向量,s 是之前的隐藏状态向量。 UW 都是 backprop 时正在调整的参数。

为了修改 UW 我使用:

 U += 1/(cosh^2(xU+sW)) * x * expectedValue * stepSize
 W += 1/(cosh^2(xU+sW)) * s * expectedValue * stepSize

stepSize 约为 0.01,尽管我测试了很多较小的值。 expectedValue 对两者都是相同的,它只是我尝试学习以进行测试的函数的值。

对于成本函数来确定我的估计有多接近,我使用均方误差函数:

1/n * (expectedValue^2 - predictedValue^2)

我的成本函数在 10,000,000 次迭代中没有收敛到零。我在某处搞砸了一些数学吗?

【问题讨论】:

  • 这个问题有一个更好的论坛,即 CrossValidated.SE(统计和机器学习的 SO)。您还需要为您的工作提供源代码,以便他们能够对其进行调试。您在训练期间展开多少次?您是否正在使用随时间的反向传播?你的批量是多少?这些和其他问题可能会被问到您。
  • 谢谢。我会把它转移到那个 SO

标签: recurrent-neural-network


【解决方案1】:

可能是梯度消失问题。尝试使用 RELU 激活函数而不是 tanh()。

【讨论】:

  • 即使我每次迭代都进行反向传播,这会是个问题吗?我的理解是梯度消失只会成为 BPTT 的问题
猜你喜欢
  • 2018-06-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-01-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-07-05
相关资源
最近更新 更多