2017-05-09 45 views
2

我在caffe中有一個完全卷積網絡(特別是堆疊式沙漏網絡)。在每個卷積層之後,我有一個批量規範化和一個縮放層以及一個ReLU層。但是,我遇到了過度配合的問題。通常,我會增加我的數據集(這是不可能的),或者我會使用Dropout圖層,但是由於我已經讀過在完全卷積網絡中使用Dropout層沒有用,所以我不知道如何解決這個問題。除了我所提到的之外,還有什麼可以做的嗎?在這種情況下,可能會有所幫助?如何解決caffe中完全卷積網絡的過擬合

+1

試圖增加與增強功能的數據集(裁剪,翻轉,翻轉,縮放,平移,旋轉等) –

回答

3

這是我從互聯網上偷走的方便圖片。當您的深度學習模式出現問題時,這是一個方便的圖表。你說你聽說過輟學在Conv裏不好,但你有沒有測試過它?開始與正是如此進行:

  1. 於CONV層添加輟學的大深度尺寸接近於輸出
  2. 嘗試不會深。這是深入的反向,您應該在深入之前嘗試。確保你有一個簡單的模型,不會第一個,然後嘗試添加圖層。
  3. 如果您仍然過度使用,並且您有退出,請嘗試通過讓您的後續Conv圖層沒有儘可能多的深度來移除神經元
  4. 做什麼Z.Kal說,通過變換你的數據集。
  5. 如果所有這些都沒有影響,請接受這樣的事實,即您的架構可能是錯誤的。您已經深入瞭解它的一種方式,它可以逐字存儲所有您輸入的數據,而不會對其進行概括。考慮製作一個擠壓點,其中您有一個與輸入數據相比較小的圖層。

enter image description here

+0

哼我的網絡是非常深刻的,我現在用的stacked-沙漏網絡。我有一個簡單的數據集,它由10.000個數據樣本組成,這些數據樣本在過度擬合時可以很好地工作。然後我有一個800.000數據樣本的數據集,它根本不會收斂。我試圖將800.000個樣本的數據集簡化爲5.000個樣本,然後它也收斂,但它過於合適。你對此有何看法? – thigi

+0

這很有趣,並會提示我質疑80萬套並做一些探索!我對文本分析進行了很多工作,並且發現了標籤數據的大量子集,所以我必須嚴格錯誤標記,所以我不得不探索數據以識別這些區域並將其排除在外。幸運的是,我有關於文本的元數據(如標記爲數據和團隊),您可能沒有關於圖像的信息。所以,如果沒有那種信息,我會把800,000分成80個批次的10,000個,看看會發生什麼。我也會嘗試從10,000模型開始,並在小批次上重新訓練 – Wontonimo

+0

至於過度擬合,您可能在網絡末端有一個完全連接的層。嘗試增加50%,並增加50%的輟學率。在我常見到的Conv圖層中輟學20%(.8)。我會對你的小批量大小感興趣,請分享。就個人而言,我發現在大多數情況下,小到5的小批量克服了SGD的大多數問題,批量大於100的計算成本很高,沒有任何好處,所以我傾向於從20開始。如果您使用的批量非常大大小,那麼它會花太長的時間才能看到結果。 – Wontonimo