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

Connected

演習

手書き数字認識モデルを自分で作る

ついにコースの最終演習です。手書き数字を正確に認識するモデルを作るために必要な知識はすべて身につきました!

ビデオで示したとおり、MNIST データセットの基本的な前処理はすでに実施済みなので、X と y は読み込まれており、すぐにモデリングできます。tensorflow.keras からの Sequential と Dense もあらかじめインポートされています。

少しチャレンジを加えるため、公開されている結果で見かける 60000 枚ではなく、あえて 2500 枚の画像のみを読み込んでいます。Deep learning のモデルはデータが多いほど性能が上がる傾向にありますが、その分、特にモデルが複雑になると学習時間も長くなります。

もし CUDA 対応 GPU を搭載したコンピュータがあれば、計算時間を短縮できます。GPU がなくても大丈夫です。クラウド上に deep learning 環境を用意すれば、GPU でモデルを実行できます。Dan によるこちらの ブログ記事 で手順を解説しています。演習を終えたらぜひ読んでみてください。deep learning をさらに進めるうえで素晴らしい次の一歩になります。

次のレベルに進む準備はできましたか?Keras の Functional API を使って新しいタイプの課題にドメイン知識で挑む方法は、Advanced Deep Learning with Keras をご覧ください。Functional API の使い方を身につけたら、Image Processing with Keras in Python で Keras の画像特化の応用を学びましょう。

指示

100 XP
  • モデルを開始するために Sequential オブジェクトを作成し、model と名付けます。
  • 最初の隠れ Dense 層(ユニット数 50、活性化関数 'relu')を追加します。このデータの input_shape は (784,) です。
  • 2 つ目の隠れ Dense 層(ユニット数 50、活性化関数 'relu')を追加します。
  • 出力層を追加します。活性化関数は 'softmax'、ノード数はこのタスクの出力クラス数である 10 にします。
  • 以前のモデルと同様に model をコンパイルします。optimizer は 'adam'、損失関数は 'categorical_crossentropy'、metrics=['accuracy'] を指定します。
  • X と y を用いて学習させます。validation_split は 0.3、epochs は 10 に設定します。