1. 学ぶ
  2. /
  3. コース
  4. /
  5. Pythonで学ぶDeep Learning入門

Connected

演習

Early stopping: 最適化自体を最適化する

最適化の途中でモデルの性能を監視できるようになったので、もう効果が出なくなった時点で早期終了を使って最適化を止められます。最適化は改善が止まれば自動的に終了するため、動画で Dan が示したように、.fit() の epochs は大きめに設定してかまいません。

最適化するモデルは model として用意されています。これまでと同様に、データは predictors と target として読み込まれています。

指示

100 XP
  • tensorflow.keras.callbacks から EarlyStopping をインポートします。
  • モデルをコンパイルします。optimizer は 'adam'、損失関数は 'categorical_crossentropy'、各エポックの精度を表示するために metrics=['accuracy'] を指定します。
  • early_stopping_monitor という名前の EarlyStopping オブジェクトを作成します。EarlyStopping() の patience パラメータを 2 に設定し、検証損失が 2 エポック改善しなければ最適化を停止します。
  • predictors と target を使ってモデルを学習します。epochs は 30、検証データの割合は validation_split=0.3 にします。さらに、callbacks パラメータに [early_stopping_monitor] を渡します。