#80 モデルのコンパイル、トレーニング、評価
今回は、『#78 レイヤーの設定』で作成したモデルに対して、コンパイル、トレーニングを行い、さらにトレーニング済みのモデルを評価することを体験します。 コンパイルとは、後述しますが、トレーニングを進める方法や評価基準をどうするかというルールを設定して、モデルのトレーニングの準備することです。 その前に、ディープラーニングのしくみについて、簡単に説明しておきます。 1.ディープラーニングのしくみ 複数の 隠れ層 ( 中間層 )を持つ ニューラルネットワーク 、すなわち ディープラーニング は、神経細胞をモデルにシステム上で動くように設計されたものです。神経細胞のニューロンに対応した人工ニューロンを ノード と呼びます。下記のスライド図1では、〇で表されているところです。 このノードを拡大すると、図2のようになります。入力、入力の数、重み、バイアス、活性化関数、出力によって表されます。 ノードの構成する要素を簡単に説明すると下記のようになります。 重み → 入力情報の重要度を決定する倍率(係数)です。 → トレーニング前はランダムな初期値ですが、model.fit() によって最適な値に書き換えられていきます。 バイアス → ノードの感度・発火のしやすさを調整する閾値(定数)です。 → 重みと入力の積の総和に対して、ノード1個に対して1個の定数値として足し算されます。重みと同様にトレーニングによって自動更新されます。 活性化関数 → 生物学的なニューロンにおける「一定以上の刺激を受けると発火する」動作を再現するスイッチの役割を担っています。 → この関数を用いて出力を算出するのですが、ニューラルネットワークやディープラーニングでは、この関数を用いることにより単なる一次関数ではなく、複雑な曲線や境界線(非線形なパターン)を学習する表現力を獲得することになります。 出力 → ノードの最終計算結果、すなわち次の層への入力値となります。 ★「会議の発言がどう伝わるか」で考えるたとえ話が秀逸です! 【参考】 AI がざっくりわかる https://note.com/nice_sable4056/n/nd989bea2c114 ************* ノードを構成している入力、入力の数、重み、バイアス、活性化関数を用いると出力は一つの数式で...