首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >LSTM中的return_sequences

LSTM中的return_sequences
EN

Stack Overflow用户
提问于 2021-01-10 08:18:38
回答 1查看 196关注 0票数 1

在Keras中,model.add(LTSM(units=xx,return_sequences = yy,input_shape=zz),当将return_sequences设置为true时,是否意味着使用/启用蓝色圆圈箭头,而不使用/禁用红色圆圈箭头?当return_sequences设置为false时,反之亦然?注意图片来自这个页面:'4. LSTM的架构‘下的https://www.analyticsvidhya.com/blog/2017/12/fundamentals-of-deep-learning-introduction-to-lstm/

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-01-10 09:50:24

首先,蓝色的圆圈是LSTM的本质,它永远不会被禁用,否则您将根本没有rnn/lstm。这个箭头表示无论您从最后一个rnn/lstm单元格获得什么值,都会将其传递给下一个rnn/lstm单元格,并与下一个输入一起处理。rnn和lstm之间的唯一区别是,简单的rnn没有蓝色圆圈箭头,只有下面的黑色箭头,而lstm有该箭头作为短期/长期记忆的闸门。

其次,对于return_sequences,它通常用于堆叠的rnn/lstm,这意味着您可以将一层rnn/lstm垂直堆叠在另一层之上,而不是水平堆叠。水平rnn/lstm单元表示跨时间的处理,而垂直rnn/lsm单元表示在另一层上堆叠一层。

当您将其设置为false时,这意味着只有最后一个单元格(水平)将具有该red_circled箭头,而所有其他单元格(在同一层中)将禁用该red_circled箭头,因此您将只传递来自所有水平层的一段信息(即该层中的最后一个单元格传递的信息)。

相反,当您将其设置为true时,该水平图层中的所有单元格都将启用红色圆圈箭头,并将信息传递到堆叠在其顶部的图层。这意味着如果您想要将一个rnn/lstm层堆叠在另一个层之上,则需要将其设置为true。

最后,有关更多信息,您可以参考本书。它对这个return_sequences选项有很好的解释:https://www.oreilly.com/library/view/hands-on-machine-learning/9781492032632/

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65648957

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档