Keras有状态RNN与reset_states的作用是什么?

我在阅读关于Keras有状态RNN的内容(这种RNN会在批次/样本之间传递隐藏状态,从而保留记忆)。

然而,在Keras的FAQ中,给出了一个例子,其中在训练完一个批次后有一行代码model.reset_states()

这不是完全否定了RNN中的’stateful=True‘参数吗?

如果你要重置状态,那为什么不使用默认的’stateful=False‘ RNN,它会在每个批次后将隐藏状态重新初始化为零呢?


回答:

请注意,在链接的例子中,他们只在训练了两个批次后重置状态,因此第一个批次和第二个批次之间的状态被保留了。何时重置状态取决于你。如果你愿意,你可以每隔几个批次重置一次,或者只在每个epoch之后重置(甚至可以完全不重置)。你可以在这里看到几个例子这里

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注