首页 > 解决方案 > 如何考虑 rnn keras 中的不同序列?

问题描述

我想在在线培训中使用有状态的 RNN。因此,在每个时间步,我都会得到一个序列的一个元素。

I have sequence1: e11 ->e12 - >e13 Sequence 2: e21 ->e22 ->e23

我如何处理每个元素?我可以使用有状态的 rnn 来处理同一序列的每个元素,但序列 1 与序列 2 无关,所以我需要在序列之间切换到无状态 Rnn(我也有很多序列)。在 keras 中,不能更改 rnn 层的 statful 参数。那么如何在序列之间进行更改呢?

对于同样的问题,假设我想预测下一个即将到来的项目,所以如果我有序列 1 和 e11,我预测 e2,所以 e1 给我 e2,然后我得到 e2,需要预测 e3。如果我考虑一个 statfull rnn 或者如果我考虑一个 statless rnn 并将序列处理如下,有什么区别。所以我将每个序列作为不同的样本提供给 rnn:

Seq1: e11->e12 (predict e2)
Seq2:e11->e12->e13 (predict e3)
Seq 3: e21->e22
Seq4: e21->e22->e23

在这种情况下,我将逐步为每个序列重新输入 rnn。这和stataful rnn一样吗?有状态的 rnn 或用延续重新输入序列有什么区别。

标签: pythontensorflowmachine-learningkerasrecurrent-neural-network

解决方案


推荐阅读