为什么在每个时代的准确度下降到零,同时在keras中训练convlstm层?

时间:2017-11-06 17:35:32

标签: tensorflow deep-learning keras conv-neural-network lstm

我正在尝试使用Keras 2中的ConvLSTM图层来训练动作识别模型。该模型有3个ConvLSTM层和2个完全连接层。

在每个时代,第一批(通常多于一个)的准确度为零,然后它增加到比前一个时期更多的量。例如,第一个时期结束时为0.3,下一个时期结束时为0.4,依此类推。

我的问题是为什么它在每个时代都会回归零?

P.S。

  • ConvLSTM是无国籍的。
  • 模型使用SGD(lr=0.001, decay=1e-6, momentum=0.9, nesterov=True)进行编译,由于某种原因,它不会使用Adam收敛。

1 个答案:

答案 0 :(得分:1)

所以 - 为了理解为什么会发生这样的事情,你需要了解keras在批量计算过程中如何计算准确性:

  1. 在每批之前 - 存储了许多正面分类的示例。
  2. 每批次之后 - 存储了许多正面分类的示例,并在划分后通过培训中使用的所有示例进行打印。
  3. 由于您的准确性非常低,因此很可能在前几批中没有一个例子会被正确分类。特别是当你有一小批。这使得在训练开始时准确度为0。