ネットワークにバッチ正規化を追加する
バッチ正規化は、層の出力を再スケーリングして、平均0・標準偏差1になるようにする正則化の一種です。この演習では、これまでの演習で使ってきた畳み込みニューラルネットワークにバッチ正規化を追加します。
- Convolution(ユニット数15、カーネルサイズ2、活性化関数 'relu')
- Batch normalization
- Convolution(ユニット数5、カーネルサイズ2、活性化関数 'relu')
- Flatten
- Dense(ユニット数3、活性化関数 'softmax')
作業スペースには、Sequential な model と Dense、Conv2D、Flatten、Dropout オブジェクトが用意されています。
この演習はコースの一部です
Keras で学ぶ画像モデリング
演習の手順
- 最初の畳み込み層を追加します。この層の
input_shapeは、作業スペースにあるimg_rowsとimg_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'))