我正在写一个基本的RNN。
我生成隐藏状态的功能是:
tanh(xU + sW)
x 是输入向量, s 是以前的隐藏状态向量。 U 和 W 都是在backprop期间调整的参数。
要修改 U 和 W ,请使用:
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次迭代中没有收敛到零。我在某个地方搞砸了一些数学吗?
答案 0 :(得分:0)
这可能是梯度消失的问题。尝试使用RELU激活函数而不是tanh()。