集成递归神经网络的方法是什么?

时间:2016-10-04 04:31:30

标签: tensorflow recurrent-neural-network ensemble-learning

将多个深层网络整合在一起以改善预测期间的统计数据通常相当容易。这通常就像获取输出预测并将它们平均在一起一样简单。在递归神经网络中,由于我们正在对一系列输出进行预测,因此这并不简单。

我们如何整合递归神经网络?您是否使用多个模型预测每个时间步的输出,平均输出,然后使用平均值的预测反馈到每个单独的模型(冲洗,重复)?这似乎在常见的ML库中实现起来相当麻烦(我使用Tensorflow)。

1 个答案:

答案 0 :(得分:2)

您所谈论的内容似乎可以概括为"解码策略"对于RNN。例如:

  1. 您从单个模型中选择概率最高的单词并将其输入并选择它作为下一个输入(argmax解码)。
  2. 你可以从输出概率分布中采样一个单词并将其用作下一个输入。
  3. 您可以进行光束搜索,在那里您可以保留k个最佳候选解码,并选择另一个光束作为下一个输入。
  4. 与您的建议类似,您可以使用多个模型或其他更复杂的解码策略来选择下一个输入。
  5. 实施起来绝对不容易,但它也不是太糟糕。在Tensorflow中,您将使用raw_rnn函数执行此操作。基本上,它就像一个while循环,你可以使用任意复杂的函数来选择输出和RNN的下一个输入。