1

将多个深度网络集成在一起以改善预测期间的统计数据通常相当容易。这通常就像获取输出预测并将它们平均在一起一样简单。在循环神经网络中,这并不那么简单,因为我们正在对一系列输出进行预测。

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

4

1 回答 1

2

您所说的似乎可以概括为 RNN 的“解码策略”。例如:

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

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

于 2016-10-05T01:18:52.467 回答