0

是否可以使用循環神經網絡來學習具有略微不同變化的序列?例如,如果我有足夠的訓練數據,我是否可以獲得訓練有素的RNN,以便它可以產生一系列連續整數或交替整數?循環神經網絡能夠一次學習稍微不同的序列嗎?

例如,如果我訓練使用

1,2,3,4 
2,3,4,5 
3,4,5,6 

等,也訓練使用

1,3,5,7 
2,4,6,8 
3,5,7,9 

等相同的網絡, 將我能夠成功地預測兩個序列爲測試集?

如果我在訓練數據(如每三個整數或每四個整數的序列等)中有更多的變化,該怎麼辦?

+0

你的**大腦**是一個RNN,它一次學習許多很多許多序列。 – Kh40tiK

回答

1

是的,只要序列中有足夠的信息以便它不含糊,神經網絡應該能夠學會正確完成這些序列。

您應注意幾個細節,但:

  • 神經網絡,和一般的ML車型,都是不好的外推。一個簡單的網絡通常不太可能瞭解序列。它永遠不會像小孩子那樣學習順序邏輯的概念。因此,如果您在測試數據之外輸入其體驗(例如,項目間的3個步驟,當它們不在訓練數據中時),它將表現不佳。

  • 神經網絡更喜歡縮放輸入 - 常見的預處理步驟是標準化爲每個輸入列的平均0標準偏差1。雖然網絡有可能在輸入處接受更大範圍的數字,但這會降低訓練的有效性。使用生成的訓練集(如人造數字序列),您可以通過更多示例通過訓練更長時間來強制您的方式。

  • 您將需要更多的神經元和更多圖層來支持更大的序列變化。

  • 對於一個RNN,如果到目前爲止它所處理的序列是模糊的,它將會嚴重地預測它。例如。如果你用相同數量的樣本訓練1,2,3,4和1,2,3,5,當它顯示序列1時,它將預測4.5(迴歸)或50%機率4或5(分類器) 2,3並要求預測。

+0

你能否解釋RNN學習兩個或更多不同序列的直覺? – Sibi

+0

@Sibi:我不完全理解你的評論。直覺會採用什麼形式?如果你想要一些細節,那麼最好寫一個不同的問題。但本質上RNN可以學習任意序列。你的例子在數學上相關的事實並不是真正的結果。網絡將從1,2,3,4(5)中分別學習1,2,3,(4),它不會「理解」發生了什麼。 –