始める無料で始める

ネットワークに Dropout を追加する

Dropout は正則化の一種で、学習の各ラウンドでレイヤー内のユニットからランダムに異なるサブセットを取り除きます。この演習では、これまでの演習で使ってきた畳み込みニューラルネットワークに Dropout を追加します。

  1. Convolution(15 ユニット、カーネルサイズ 2、活性化関数 'relu')
  2. Dropout(20%)
  3. Convolution(5 ユニット、カーネルサイズ 2、活性化関数 'relu')
  4. Flatten
  5. Dense(3 ユニット、活性化関数 'softmax')

作業スペースには、Sequential な modelDenseConv2DFlattenDropout オブジェクトが用意されています。

この演習はコースの一部です

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'))
コードを編集して実行