Neural-Networks
有沒有辦法將新數據合併到已經訓練好的神經網絡中,而無需對我在 Keras 中的所有數據進行重新訓練?
我已經在我的數據上訓練了一個神經網絡。將來,我會收到更多的數據。如何在不從頭開始重建的情況下將這些數據合併到我的模型中?
在 keras 中,您可以使用保存模型
model.save
,然後使用model.load
. 如果您.fit
再次調用已加載的模型,它將從保存點繼續訓練,並且不會從頭開始重新啟動。每次調用時.fit
,keras 都會繼續對模型進行訓練。.fit
不重置模型權重。我想指出以這種方式訓練你的模型可能會出現的一個問題,這個問題是災難性的遺忘. 如果您提供的模型示例與之前的訓練示例有顯著差異,則可能容易發生災難性的遺忘。這基本上是當神經網絡很好地學習了您的新示例並忘記了所有以前的示例,因為您不再將這些示例提供給它。它的出現是因為隨著優化器變得更加高效,神經網絡在快速擬合新數據方面將變得更加高效——而快速擬合新數據的最佳方法可能是忘記舊數據。如果您未來的數據與您當前的數據非常相似,那麼這將不是問題。但是想像一下,你訓練了一個命名實體識別系統來識別組織。如果將來你給它提供一堆數據來教它如何識別人名,它可能會災難性地忘記如何識別組織。