2

我正在阅读他们网站上的 Keras 文档([ https://keras.io/getting-started/faq/]),我注意到他们对批次的定义说他们在批次中并行运行每个样本。对于几乎任何类型的神经网络,这都是完全可以接受的,但是如果我正在运行一个有状态设置为默认值 False 的 RNN,这是否意味着我的每个样本的隐藏状态都被重置了。

我的印象是,在对权重进行更新之前,每个批次都是按顺序运行的,因此隐藏状态的唯一损失是批次更改时(因为我已将 stateful 设置为 False)。

我的理解错了吗?

4

1 回答 1

1

每个样本都是一个单独的序列。并且状态(序列处于当前时间步长的条件)仅对每个序列单独有意义。

一个序列不能影响另一个序列的状态。

因此,批处理中的每个序列都有一个并行状态。

在有状态层中,这些并行状态将被保留(直到您说完序列才结束)。

这是另一个相关的问题:keras 何时重置 LSTM 状态?

于 2017-09-05T19:13:54.830 回答