1.常见的4中结构

- one to one:
model.add(Dense(output_size, input_shape=input_shape))
- one to many:
model.add(RepeatVector(number_of_times, input_shape=input_shape))
model.add(LSTM(output_size, return_sequences=True))
- many to one:
model = Sequential()
model.add(LSTM(1, input_shape=(timesteps, data_dim)))
- many to many:
model = Sequential()
model.add(LSTM(1, input_shape=(timesteps, data_dim), return_sequences=True))
ref:https://stackoverflow.com/questions/43034960/many-to-one-and-many-to-many-lstm-examples-in-keras
2.return_sequences 和 return_state
return_sequences:
- 每一步都有隐藏状态 a,不同结构计算方式不同
- 默认FALSE,为TRUE时可以达到 *-to-many的效果
return_state:
- state指的是cell里的 c
- 默认FALSE,为TRUE时可以输出最后一个state
- ref有详述:https://www.dlology.com/blog/how-to-use-return_state-or-return_sequences-in-keras/
本文详细解析了四种常见的RNN结构:一对一、一对多、多对一和多对多,并探讨了return_sequences和return_state参数的作用。一对一结构直接映射输入到输出;一对多通过重复向量实现序列生成;多对一用于序列分类任务;多对多则用于序列到序列的任务。return_sequences参数允许模型输出每个时间步的隐藏状态,而return_state参数则返回最后一个时间步的单元状态。


7487

被折叠的 条评论
为什么被折叠?



