Sequential モデルのコンパイル
この演習では、Sign Language MNIST データセットの文字分類に取り組みます。ただし、前の演習とは異なるネットワークアーキテクチャを採用します。層は少なくしますが、ノード数は増やします。さらに、過学習を防ぐためにドロップアウトを適用します。最後に、adamオプティマイザとcategorical_crossentropy損失を使ってモデルをコンパイルします。あわせて、kerasのメソッドでモデルのアーキテクチャのサマリーを表示します。なお、kerasはtensorflowからインポート済みで、順伝播型のkerasモデルがmodelとして定義されています。
この演習はコースの一部です
Introduction to TensorFlow in Python
演習の手順
- 最初の全結合層では、ノード数を16、活性化関数を
sigmoid、input_shapeを(784,)に設定してください。 - 最初の層の出力に対して、25%の割合でドロップアウトを適用してください。
- 出力層は全結合にし、ノード数を4、活性化関数を
softmaxに設定してください。 adamオプティマイザとcategorical_crossentropy損失関数を使ってモデルをコンパイルしてください。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Define the first dense layer
model.add(keras.layers.Dense(____, ____, ____))
# Apply dropout to the first layer's output
model.add(keras.layers.____(0.25))
# Define the output layer
____
# Compile the model
model.compile('____', loss='____')
# Print a model summary
print(model.summary())