SIGMA-SE Tech Blog

SIGMA-SE Tech Blog

Python - AI : ニューラルネットワークの学習アルゴリズムまとめ

目的

この記事では、ニューラルネットワークの学習に関する基本的な概念を処理の流れに沿ってまとめる。

学習アルゴリズムの流れ(まとめ)

ニューラルネットワークの学習とは、訓練データを基に意図した結果となる最適な重みパラメータを判別する処理を指す。

その処理を大きく分類すると、以下の手順(*1)~(*4)の4つに分かれ、これを繰り返すことで限りなく最適な重みパラメータに近づけていく。

その結果、最適な重みパラメータによって、正解率がほぼ100%となる画像認識膨大なデータに基づく根拠ある推測が実現できるようになる。

勾配法についての補足

上記の勾配に関する記述は、すべて勾配降下法によってパラメータを更新する方法となる。

そしてミニバッチは、ランダム抽出したデータ群であることから確率的勾配降下法といい、ディープラーニングのフレームワークでは、一般的にSGD(stochastic gradient descent)と呼ばれる。

※ 参考

参考文献

  • 斎藤 康毅(2018)『ゼロから作るDeep Learning - Pythonで学ぶディープラーニングの理論と実装』株式会社オライリー・ジャパン


Copyright SIGMA-SE All Rights Reserved.
s-hama@sigma-se.jp