反向传播使用Tensorflow和Numpy MSE不丢弃

时间:2018-02-12 08:28:28

标签: numpy tensorflow backpropagation

我正在尝试创建一个Backpropagation,但我不想使用TF的GradientDescentOptimizer。我只想更新自己的重量和偏见。问题是均方误差或成本没有接近零。它只剩下0.2xxx。是因为我的输入是520x1600(是的,每个输入有1600个单位,是的,有520个)或者隐藏层中的神经元数量有问题吗?我已经尝试使用GradientDescentOptimizer实现这一点并最小化(成本)工作正常(随着培训的进行,成本降低到接近零)但是我的代码中可能存在更新权重和偏差的问题。

这是我的代码:

origin

更新:我现在就开始工作了。一旦我增加隐藏层中的神经元数量,MSE几乎降至零。我尝试使用5200和6400神经元作为隐藏层,只有5000个时期,准确度几乎达到99%。此外,我使用的最大学习率是0.1,因为当高于此值时,MSE将不会接近于零。

1 个答案:

答案 0 :(得分:0)

我不是这个领域的专家,但看起来你的权重是正确更新的。事实上,你的MSE从一些较高的值下降到0.2xxx是这一点的强有力的指标。我肯定会尝试用更隐蔽的神经元(例如500)来运行这个问题

顺便说一句,你的输入是否正常化了?如果没有,那显然可能是原因