Keras-有状态vs无状态LSTM

Keras-有状态vs无状态LSTM,第1张

Keras-有状态vs无状态LSTM

我建议您首先学习BPTT(通过时间的反向传播)和小型批量SGD(随机梯度下降)的概念,然后您将进一步了解LSTM的训练过程。

对于您的问题,

Q1。在无状态情况下,LSTM更新batch1上的参数,然后为batch2启动隐藏状态和单元状态(通常为全零),而在无状态情况下,它使用batch1的最后输出隐藏状态和单元状态作为batch2的初始状态。

Q2。如上所示,当两个批次中的两个序列有联系(例如,一只股票的价格)时,您最好使用有状态模式,否则(例如,一个序列代表完整的句子),则应使用无状态模式。

顺便说一句,@ vu.pham说if

we use stateful RNN, then in production, the network is forced to deal with infinite long sequences
。实际上,这似乎是不正确的,正如您在Q1中看到的那样,LSTM不会学习整个序列,它首先会在batch1中学习序列,更新参数,然后再在batch2中学习序列。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5662733.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存