2016-10-04 78 views
1

將多個深度網絡集合在一起以提高預測期間的統計量通常相當容易。這通常與輸出預測並將它們平均在一起一樣簡單。在循環神經網絡中,由於我們正在對一系列輸出進行預測,因此這並不那麼簡單。聚合遞歸神經網絡的方法是什麼?

我們如何集成循環神經網絡?您是否預測每個時間步的輸出使用多個模型,平均輸出,然後使用平均值的預測反饋到每個單獨的模型(沖洗,重複)?這看起來像在常見的ML庫中實現相當麻煩(我使用的是Tensorflow)。

+0

這與輟學有關嗎? –

+0

不,不相關。這是詢問關於分別訓練多個模型,然後在測試期間將它們結合以提高性能。 – jstaker7

回答

2

看來你所談論的內容可以概括爲RNN的「解碼策略」。例如:

  1. 您從單個模型中挑選出最高概率詞,並將其輸入並將其選爲下一個輸入(argmax解碼)。
  2. 你可以樣本一個詞從輸出概率分佈,並將其用作下一個輸入。
  3. 你可以做一個波束搜索,在那裏你保留k個最佳候選解碼,並選擇另一個波束作爲下一個輸入。
  4. 與您的建議類似,您可以使用多個模型或其他更復雜的解碼策略來選擇下一個輸入。

這絕對不是微不足道的實施,但也不算太差。在Tensorflow中,您可以使用raw_rnn函數來執行此操作。基本上,它就像一個while循環,你可以使用一個任意複雜的函數來選擇輸出和RNN的下一個輸入。