【发布时间】:2017-07-20 19:11:40
【问题描述】:
我在 tflearn 的多对一设置(情感分析任务)中使用双向 LSTM。我想了解 tflearn 在将前向和后向 LSTM 层的表示发送到 softmax 层以获得概率输出之前如何聚合它?比如下图中,concat和aggregation层通常是怎么实现的?
有这方面的文档吗?
谢谢!
【问题讨论】:
标签: tensorflow deep-learning lstm tflearn
我在 tflearn 的多对一设置(情感分析任务)中使用双向 LSTM。我想了解 tflearn 在将前向和后向 LSTM 层的表示发送到 softmax 层以获得概率输出之前如何聚合它?比如下图中,concat和aggregation层通常是怎么实现的?
有这方面的文档吗?
谢谢!
【问题讨论】:
标签: tensorflow deep-learning lstm tflearn
当使用 tflearn 的 Bidirectional RNN 时,输出是串联的,如上图所示。所以每个输出将是输入嵌入大小的两倍。默认设置只返回最后一个序列输出,所以如果要使用整个序列,则需要设置return_seq=True,然后像Merge一样将序列传递给聚合层。
【讨论】:
bidirectional_rnn 的默认设置仅返回最后一个序列输出(图中 word3 的输出)。由于该层依赖于最后 2 层,因此只有该输出足以进行分类。现在其他 2 个输出被忽略,没有聚合的范围。