在Keras中使用LSTM进行预测时,隐藏状态是否仍在调整?

时间:2017-04-11 04:11:41

标签: sequence keras prediction lstm

当我第一次在Keras训练LSTM的序列数据时 - 我的训练数据 -  然后使用model.predict()以我的测试数据作为输入进行预测,LSTM的隐藏状态是否仍在调整?

1 个答案:

答案 0 :(得分:1)

神经网络的基本操作是获取输入(向量),该输入通过连接连接到输出,有时还有其他层,例如上下文层。这些连接被建模为矩阵并且强度不同,我们称之为权重矩阵

这意味着我们在向网络提供数据时唯一要做的就是将一个向量放入网络,将值与权重矩阵相乘并调用输出。在特殊情况下,例如循环网络,我们甚至将一些值保存在其他向量中,并将此存储值与当前输入结合起来。

在培训期间,我们不仅将数据提供给网络,我们还计算出一个我们以聪明的方式评估的误差值,以便它告诉我们应该如何改变我们乘以输入的权重矩阵(以及可能过去的输入以进行重复图层与。

因此:,当然基本执行行为对于循环图层不会改变。我们不再更新重量了。

有些层在执行期间的行为方式不同,因为它们被视为常规化,即使网络训练更有效的方法,这些方法在执行期间被视为不必要。这些图层的示例包括NoiseBatchNormalization。几乎所有神经网络层(包括循环网络层)都包含丢失,这是另一种正规化形式,它会禁用层中随机百分比的连接。这也仅在培训期间完成。