【发布时间】:2023-01-03 12:24:52
【问题描述】:
我知道 Bidirectional() 在 return_sequences=True 时是如何工作的:
model.add(Bidirectional(LSTM(20, return_sequences=True)
但我感到困惑的是:
当 return_sequences=false 在 LSTM 时,有每个时间步都没有输出结合起来,那么这条线是如何工作的?:
model.add(Bidirectional(LSTM(20, return_sequences=False)))
model.add(Bidirectional(LSTM(20)))
例如来自 keras 团队的this code(注意默认情况下 LSTM return_sequences=False)
我的问题是:
return_sequences=False , Bidirectional() 这样说是正确的吗:
的输出向前传球来自 LSTM + "单个时间步“ 在向后方向
所以它实际上是LSTM(x1...xn)的前向传递+单步LSTM(xn)
我对吗?
================================================ =======
更新:
我认为它找到了答案,但我不确定。
当return_sequences=False有每个时间步都没有中间输出
所以一个“完全向前传球”+“完全向后传球”应该合并。
即前向的最后输出 + 向后的最后输出
LSTM(x1...xn)+LSTM(xn...x1)
【问题讨论】:
标签: keras lstm bidirectional