2016-10-04 100 views
1

将多个深度网络集合在一起以提高预测期间的统计量通常相当容易。这通常与输出预测并将它们平均在一起一样简单。在循环神经网络中,由于我们正在对一系列输出进行预测,因此这并不那么简单。聚合递归神经网络的方法是什么?

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

+0

这与辍学有关吗? –

+0

不,不相关。这是询问关于分别训练多个模型,然后在测试期间将它们结合以提高性能。 – jstaker7

回答

2

看来你所谈论的内容可以概括为RNN的“解码策略”。例如:

  1. 您从单个模型中挑选出最高概率词,并将其输入并将其选为下一个输入(argmax解码)。
  2. 你可以样本一个词从输出概率分布,并将其用作下一个输入。
  3. 你可以做一个波束搜索,在那里你保留k个最佳候选解码,并选择另一个波束作为下一个输入。
  4. 与您的建议类似,您可以使用多个模型或其他更复杂的解码策略来选择下一个输入。

这绝对不是微不足道的实施,但也不算太差。在Tensorflow中,您可以使用raw_rnn函数来执行此操作。基本上,它就像一个while循环,你可以使用一个任意复杂的函数来选择输出和RNN的下一个输入。