ニューラルネットワークのトレーニングは、主に次の4つの側面に焦点を当てています。
‰レイヤー。複数のレイヤーがネットワーク(またはモデル)に結合されます。
dataデータと対応する目標を入力します。
‰学習に使用されるフィードバック信号である損失関数。
‰オプティマイザー。学習プロセスの進行方法を決定します。
レイヤー:ディープラーニングの基本コンポーネント
ニューラルネットワークの基本的なデータ構造はレイヤーであることを第2章で紹介しました。レイヤーは、1つ以上の入力テンソルを1つ以上の出力テンソルに変換するデータ処理モジュールです。一部のレイヤーはステートレスですが、ほとんどのレイヤーはステートフル、つまりレイヤーの重みです。重みは、ネットワークの知識を含む確率的勾配降下法を使用して学習した1つ以上のテンソルです。
テンソル形式やデータ処理の種類によって、必要なレイヤーが異なります。たとえば、単純なベクトルデータは、形状の2Dテンソル(サンプル、フィーチャ)に格納されます。通常、密結合層[密結合層、完全結合層(密結合層)または高密度層(高密度層)とも呼ばれ、Kerasに対応します)濃密クラス】対応。シーケンスデータは、形状(サンプル、タイムステップ、フィーチャ)とともに3Dテンソルに保存され、通常、反復層(KerasのLSTM層など)で処理されます。画像データは4Dテンソルに保存され、通常は2次元の畳み込み層(Keras Conv2D)で処理されます。
Kerasでディープラーニングモデルを構築するには、互換性のある複数のレイヤーをつなぎ合わせて、有用なデータ変換プロセスを構築します。ここで、層の互換性(層の互換性)とは、具体的には、各層が特定の形状の入力テンソルのみを受け入れ、特定の形状の出力テンソルを返すことを意味します。
モデル:レイヤーのネットワーク
深層学習モデルは、層で構成される有向非循環グラフです。最も一般的な例は、単一の入力を単一の出力にマップするレイヤーの線形スタッキングです。
いくつかの一般的なネットワークトポロジは次のとおりです。
‰2分岐ネットワーク
‰マルチヘッドネットワーク
‰インセプションモジュール
損失関数とオプティマイザー:学習プロセスを構成するための鍵
損失関数(目的関数)
トレーニング中は最小限にする必要があります。現在のタスクが正常に完了したかどうかを測定できます。
オプティマイザ
損失関数に基づいてネットワークを更新する方法を決定します。確率的勾配降下法(SGD)のバリアントを実行します。