始める無料で始める

ネットワークにバッチ正規化を追加する

バッチ正規化は、層の出力を再スケーリングして、平均0・標準偏差1になるようにする正則化の一種です。この演習では、これまでの演習で使ってきた畳み込みニューラルネットワークにバッチ正規化を追加します。

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

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

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

Keras で学ぶ画像モデリング

コースを見る

演習の手順

  • 最初の畳み込み層を追加します。この層の input_shape は、作業スペースにある img_rowsimg_cols オブジェクトを使って定義できます。
  • 1つ目の層の出力に対してバッチ正規化を適用して追加します。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

# Add a convolutional layer
____


# Add batch normalization layer
____

# Add another convolutional layer
model.add(Conv2D(5, kernel_size=2, activation='relu'))

# Flatten and feed to output layer
model.add(Flatten())
model.add(Dense(3, activation='softmax'))
コードを編集して実行