Keras return_state和return_sequences

本文详细解析了四种常见的RNN结构:一对一、一对多、多对一和多对多,并探讨了return_sequences和return_state参数的作用。一对一结构直接映射输入到输出;一对多通过重复向量实现序列生成;多对一用于序列分类任务;多对多则用于序列到序列的任务。return_sequences参数允许模型输出每个时间步的隐藏状态,而return_state参数则返回最后一个时间步的单元状态。

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:

在这里插入图片描述

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值