Denseまでで区切ると中途半端なので、Compileまで書いてしまおうかと思います。
Lesson1 手書き文字認識をしよう(ニューラルネットワーク入門)
Sequential定義
Sequentialはモデルを格納するオブジェクトと考えると楽だと思います。
定義したSequentialオブジェクトに対してモデルを付け足していきます。
Dense/Activation定義
addを使用してSequentialに追加していきます。
Activationで定義する活性化関数はDenseでも定義できるので、ここは記載方法の問題だけとなります。
Denseでは「units」と「input_shape」を定義します。
「input_shape」は入力データの次元を定義します。
今回は1次元の784要素を「1データ」として扱います。
unitsは出力データの次元になります。
Activationは活性化関数となります。
この部分は数学知識が必要になってきますね。
Dense/Activation定義では、「データの次元」「活性化関数」を適切に設定できるかが重要となります。
Compile定義
Compileでは「損失関数」「最適化アルゴリズム」「評価関数」の3つを定義します。
評価関数は学習結果の評価時に使用しますので、モデル構築としては「損失関数」「最適化アルゴリズム」の選択が重要になります。
ここまでの内容整理
プログラムとして、分岐もループもありません。
重要なのは「データの次元管理」「階層管理」「活性化関数の選定」「最適化アルゴリズムの選定」「損失関数の選定」です。
コーディング量が変わる部分はDenseの階層だけでしょうか。
コメント