RNN:Keras框架中LSTM层的return_sequences有什么用途?

7

我正在从事RNN工作。我从某个网站获取了以下代码行。 如果您观察第二层,它没有“returnSequence”参数。

我假设返回序列是必需的,因为它应该返回序列。 请问为什么没有定义这个参数。

第一层LSTM:

regressor.add(LSTM(units = 30, return_sequences = True))

第二层 LSTM:

regressor.add(LSTM(units = 30))

你的问题不够清楚。为什么你认为它“应该返回这些序列”? - KonstantinosKokos
谢谢您的回复。在RNN中,每个时间步的输出都被馈送回自身,因此我认为return_sequence应该为true。那么,您能告诉我return_sequence到底是做什么用的吗? - Chakra
2个回答

15

return_sequences参数设置为False(默认情况下),网络将仅输出hn,即最终时间步的隐藏状态。否则,网络将输出完整的隐藏状态序列[h1,h2,...,hn]。该层的内部方程式不变。请参阅文档


谢谢Konstantinos。明白了。 - Chakra
4
return_sequences设置为TrueFalse对于实际使用有什么影响? - 4xy

0
当LSTM层后面跟着一个Dense层时,你应该将return_sequence设置为False;而当你使用多个堆叠在一起的LSTM层时,你应该将其设置为True。
LSTM(units, return_sequences=True...)
LSTM(units, return_sequences=True...)
LSTM(units, return_sequences=False...)
Dense(...)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接