tensorflow keras序列模型-如何仅预测最后一步的输出

时间:2018-12-18 01:24:53

标签: tensorflow machine-learning keras lstm rnn

我正在使用tf.keras库开发序列模型。

假设我有5个时间步长,并且每个时间步长基本上都有一个输出。 每个时间步中的要素数量为-例如-4。我正在处理分类问题,输出结果可以为0、1或2之一。

例如,以下是火车示例。

Step 1 input: `[0, 5, 4, 5]` and output = `0`
Step 2 input: `[1, 2, 2, 7]` and output = `1`
Step 3 input: `[7, 5, 3, 4]` and output = `0`
Step 4 input: `[4, 5, 1, 2]` and output = `1`
Step 5 input: `[8, 5, 4, 5]` and output = `2`

在训练模型时,我想以某种方式训练它,以便... 在步骤1中,如果您的输入为[0, 5, 4, 5],则此时间步的输出为0。 在步骤2中,如果您的输入为[1, 2, 2, 7],则此时间步的输出为1。 依此类推....

但是在生产的后期,我只会期望我的模型估计上一个时间步的输出。例如:

Step 1 input: `[0, 5, 4, 5]` and output = `0`
Step 2 input: `[1, 2, 2, 7]` and output = `1`
Step 3 input: `[7, 5, 3, 4]` and output = `0`
Step 4 input: `[4, 5, 1, 2]` and output = `1`
Step 5 input: `[8, 5, 4, 5]` and output = **`?`**

基于此,在训练模型时,我对应该如何构建和训练模型感到有些困惑?由于我只对最后一步的输出感兴趣,但仍想在训练阶段通过提供最后一步之前的先前步骤的输出来帮助我的模型,所以我想知道应该如何构建模型?据我了解,如果我提供所有时间步长的输出作为预期输入,则基于此计算损失/成本。例如,如果第三时间步的输出计算错误,则成本将会增加。也许可以预料,但是对我来说重要的是最后一步的输出,我主要对最后一步的正确预测感兴趣。 在这种情况下,如何使用tf.keras构建模型?

(或者,如果我仍然需要以某种方式训练我的模型,以便它尝试分别估计每个时间步的输出。。最后,我仍然想仅基于的输出来计算精度。最后一步。)

任何帮助将不胜感激!

0 个答案:

没有答案