機器學習馬拉松 082 訓練神經網路的技巧 — Dropout

Chenyu Tsai
Aug 7, 2019 · 3 min read

因應 overfit 的方法概述 — Dropout


文章要點

  • 了解 dropout 的背景與可能可行的原理
  • 知道如何在 keras 中加入 dropout

Dropout

訓練過程中,原本全連結的前後兩層,隨機拿掉一些連結 (weights 設為 0)。

解釋 1:增加訓練難度,當你知道你的同伴中有豬隊友的話,會變得要更努力學習。

解釋 2:被視為一種 model 自身的 ensemble 方法,因為 model ,可以有 2^n 種 weights combination。

Dropout in Keras

from keras.layers import Dropout

Dropout rate 之比較

未 dropout,3 層 hidden layers

no_dropout
no_dropout

可以看到訓練集的 acc 最後到了近 0.8,而驗證則一直在 0.5,兩者個差距非常大,表示 overfitting 很嚴重。

3 Hidden layers with dropout

3hidden_layers_dropout
5hidden_layers_dropout

可以看見雖然 acc 都沒有提升,但是 overfitting 的情況不像前面沒有 dropout 時那麼嚴重,甚至驗證集的 acc 還比較高。

5 Hidden layers with dropout

5hidden_layers_dropout
5hidden_layers_dropout

UXAI

UXAI

More From Medium

More on Deep Learning from UXAI

Chenyu Tsai
Jan 16 · 28 min read

10

Top on Medium

Ed Yong
Mar 25 · 22 min read

26K

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade