上一次步骤的状态与所有时间步骤' RNN / LSTM / GRU的状态

时间:2018-02-05 19:49:12

标签: machine-learning neural-network deep-learning lstm recurrent-neural-network

基于我目前的理解,在训练RNN / LSTM模型进行序列分类任务后,我可以通过以下两种方式进行预测,

  1. 采用最后一个状态并使用softmax图层进行预测
  2. 采取所有时间步骤的状态,在每个时间步进行预测并在总结预测后取最大值
  3. 一般来说,有没有理由选择一个而不是另一个?或者这取决于应用程序?另外,如果我决定使用第二种策略,我应该为每个时间步使用不同的softmax图层,还是对所有时间步使用一个softmax图层?

1 个答案:

答案 0 :(得分:1)

我从未见过任何实现第二种方法的网络。最明显的原因是除了最后一个状态之外的所有状态都没有看到整个序列。

例如,审查情绪分类。它可以从几个积极的方面开始,之后是一个“但是”有一系列缺点。 “but”之前的所有RNN单元都将被偏置,其状态将不会反映真实标签。是否有多少人输出正面的课程以及他们有多自信?无论如何,最后一个单元格输出将是一个更好的预测器,所以我没有理由考虑先前的单元格。

如果数据方面的顺序在特定问题中并不重要,那么RNN似乎不是一般的好方法。否则,你应该更好地使用最后一个状态。

然而,使用注意机制的序列到序列模型有一个例外(参见例如this question)。但它是不同的,因为解码器在每个步骤上预测 new 令牌,因此它可以从查看早期状态中受益。此外,它还会获取最终的隐藏状态信息。