具有 reset_states 的 Keras 有状态 RNN - 这有什么意义?
Keras stateful RNN with reset_states - what's the point?
我正在阅读有关 Keras 有状态 RNN 的信息(它通过 batches/samples 传递隐藏状态以便保留内存)。
但是,在 Keras 常见问题解答中,example is given 在批次训练后具有 model.reset_states()
行。
这不是完全否定了RNN中的'stateful=True
'论点吗?
如果您要重置状态,那么为什么不使用默认的“stateful=False
”RNN,它会在每批之后将隐藏状态重新初始化为零?
请注意,在链接示例中,他们仅在对两批次进行训练后才重置它,因此保留了第一批次和第二批次之间的状态。何时重置状态由您决定。如果你愿意,你可以每隔几批重置一次,或者只在每个纪元之后重置一次(甚至根本不重置)。你可以看到几个例子here。
我正在阅读有关 Keras 有状态 RNN 的信息(它通过 batches/samples 传递隐藏状态以便保留内存)。
但是,在 Keras 常见问题解答中,example is given 在批次训练后具有 model.reset_states()
行。
这不是完全否定了RNN中的'stateful=True
'论点吗?
如果您要重置状态,那么为什么不使用默认的“stateful=False
”RNN,它会在每批之后将隐藏状态重新初始化为零?
请注意,在链接示例中,他们仅在对两批次进行训练后才重置它,因此保留了第一批次和第二批次之间的状态。何时重置状态由您决定。如果你愿意,你可以每隔几批重置一次,或者只在每个纪元之后重置一次(甚至根本不重置)。你可以看到几个例子here。