【DeepLearning】ニューラルネットワーク学習の過程まとめ

Deep Learning とは何なのか・・・まったく知らない状態から挑戦してみたいと思います!

学習の過程まとめ

  1. ミニバッチの作成:
    学習データセットからランダムに一部のデータを選びます。このデータをミニバッチといいます。
    ミニバッチはデータセット全体を一度に処理するのではなく、効率的な学習を行うために使用されます。
  2. 勾配の算出:
    ミニバッチ内のデータを入力としてネットワークを通し出力を計算します。
    そして、出力と正解の間の誤差を評価します。
    誤差は一般的に損失関数と呼ばれる指標を用いて計算されます。
    その後誤差を用いて各パラメータの勾配(傾き)を計算します。
    勾配は、各パラメータが目標値にどれだけ影響を与えるかを表します。
  3. パラメータの更新:
    勾配を使用してネットワークのパラメータを更新します。
    一般的には勾配降下法を使用してパラメータを微小な量だけ更新することです。

    勾配降下法には様々なバリエーションがありますが、確率的勾配降下法(SGD)がメジャーらしいです。
    (つまり1の無作為に選ばれたデータ(ミニバッチ)を使用する勾配降下法ということのようです。)

    SGDでは、各パラメータを勾配の逆方向に微小なステップで更新することでネットワークのパラメータを最適化します。

    「無作為に選びだしたデータに対して行う勾配降下法」

  4. 繰り返し:
    上記のステップを複数回繰り返します。
    通常データセット全体を複数回(エポックと呼ばれる)処理することで学習を進めます。
    各エポックではランダムな順序でミニバッチを選択して勾配の算出とパラメータの更新を行います。
    これにより、ネットワークはデータセット内のパターンをより良く学習することが期待されます。