ネットワークに Dropout を追加する
Dropout は正則化の一種で、学習の各ラウンドでレイヤー内のユニットからランダムに異なるサブセットを取り除きます。この演習では、これまでの演習で使ってきた畳み込みニューラルネットワークに Dropout を追加します。
- Convolution(15 ユニット、カーネルサイズ 2、活性化関数 'relu')
- Dropout(20%)
- Convolution(5 ユニット、カーネルサイズ 2、活性化関数 'relu')
- Flatten
- Dense(3 ユニット、活性化関数 'softmax')
作業スペースには、Sequential な model と Dense、Conv2D、Flatten、Dropout オブジェクトが用意されています。
この演習はコースの一部です
Keras で学ぶ画像モデリング
演習の手順
- 最初のレイヤーに 20% の Dropout を追加します。
- Flatten レイヤーを追加します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Add a convolutional layer
model.add(Conv2D(15, kernel_size=2, activation='relu',
input_shape=(img_rows, img_cols, 1)))
# Add a dropout layer
____
# Add another convolutional layer
model.add(Conv2D(5, kernel_size=2, activation='relu'))
# Flatten and feed to output layer
____
model.add(Dense(3, activation='softmax'))