gpt4 book ai didi

tensorflow - Keras - 有状态 LSTM 与无状态 LSTM

转载 作者:行者123 更新时间:2023-12-03 06:47:27 24 4
gpt4 key购买 nike

我很难概念化 Keras 中有状态 LSTM 和无状态 LSTM 之间的区别。我的理解是,在每个批处理结束时,在无状态情况下“网络状态被重置”,而对于有状态情况,网络状态会为每个批处理保留,然后必须在每个纪元的结束。

我的问题如下:1. 在无状态的情况下,如果批处理之间不保留状态,网络将如何学习?2. 什么时候使用 LSTM 的无状态模式和有状态模式?

最佳答案

我建议您首先学习BPTT(Back Propagation Through Time)和小批量SGD(Stochastic Gradient Descent)的概念,然后您将对LSTM的训练过程有进一步的了解。

对于您的问题,

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

第二季度。从上面可以看出,当两批中的两个序列有联系时(例如一只股票的价格),最好使用有状态模式,否则(例如一个序列代表一个完整的句子)则应该使用无状态模式。

顺便说一句,@vu.pham 说如果我们使用有状态 RNN,那么在生产中,网络将被迫处理无限长的序列。这似乎不正确,实际上,正如您在 Q1 中看到的,LSTM 不会学习整个序列,它首先学习批处理 1 中的序列,更新参数,然后学习批处理 2 中的序列。

关于tensorflow - Keras - 有状态 LSTM 与无状态 LSTM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39681046/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com