【问题标题】:Tensorflow LSTM network outputting the same values for whole batchTensorflow LSTM 网络为整个批次输出相同的值
【发布时间】:2016-09-07 07:45:13
【问题描述】:

我在 tensorflow 上运行 RNN,其中我的输出是一个非常简单的 2 向量数组。 RNN 所要做的就是选择一个值为 1 和一个值为 0。但是,当我通过 RNN 运行我的批次时,我似乎为批次的每个输入获得了相同的输出。例如:

如果我的实际输出标签是:

[[ 1.  0.]
 [ 1.  0.]
 [ 0.  1.]
 [ 1.  0.]
 [ 1.  0.]
 [ 1.  0.]
 [ 1.  0.]
 [ 1.  0.]
 [ 1.  0.]
 [ 1.  0.]
 [ 1.  0.]
 [ 1.  0.]
 [ 1.  0.]
 [ 0.  1.]
 [ 0.  1.]
 [ 1.  0.]
 [ 1.  0.]
 [ 0.  1.]
 [ 1.  0.]
 [ 1.  0.]
 [ 1.  0.]
 [ 1.  0.]]

我的 RNN 输出:

[[  1.00000000e+00   7.93261263e-14]
 [  1.00000000e+00   7.93261263e-14]
 [  1.00000000e+00   7.93261263e-14]
 [  1.00000000e+00   7.93261263e-14]
 [  1.00000000e+00   7.93261263e-14]
 [  1.00000000e+00   7.93261263e-14]
 [  1.00000000e+00   7.93261263e-14]
 [  1.00000000e+00   7.93261263e-14]
 [  1.00000000e+00   7.93261263e-14]
 [  1.00000000e+00   7.93261263e-14]
 [  1.00000000e+00   7.93261263e-14]
 [  1.00000000e+00   7.93261263e-14]
 [  1.00000000e+00   7.93261263e-14]
 [  1.00000000e+00   7.93261263e-14]
 [  1.00000000e+00   7.93261263e-14]
 [  1.00000000e+00   7.93261263e-14]
 [  1.00000000e+00   7.93261263e-14]
 [  1.00000000e+00   7.93261263e-14]
 [  1.00000000e+00   7.93261263e-14]
 [  1.00000000e+00   7.93261263e-14]
 [  1.00000000e+00   7.93261263e-14]
 [  1.00000000e+00   7.93261263e-14]]

这显然是错误的。我正在为我的 RNN 提供一个形状为 [batch_size, time_steps_features] 的张量,并且我正在使用 tf.nn.dynamic_rnn() 来运行 RNN。我尝试过的任何方法似乎都不起作用。

我一直在为此烦恼,任何帮助将不胜感激。

谢谢!

【问题讨论】:

    标签: python neural-network tensorflow recurrent-neural-network lstm


    【解决方案1】:

    看起来您可能不会在 epoch 之间重新调整批次中的样本。这可能会导致(误差)最小化到您无法摆脱的局部最小值。

    尽量不要在每次迭代中以相同的顺序提供输入,你应该收敛到更明智的东西。

    【讨论】:

      猜你喜欢
      • 2017-09-21
      • 1970-01-01
      • 2021-06-13
      • 2019-07-14
      • 1970-01-01
      • 2018-03-25
      • 1970-01-01
      • 1970-01-01
      • 2016-08-13
      相关资源
      最近更新 更多