バックプロパゲーション
バックプロパゲーションを用いて(深層)ニューラルネットワークモデルを素早く・最適解へ収束させるために様々なテクニックが提唱されている。
標準的なテクニックをヤン・ルカンらが1998年にまとめていて、2010年に Xavier Glorot らが追証・発展させている。以下に要約する。詳細はそれぞれの論文を参照。
オンライン学習において訓練データが一周したら毎回シャッフルし直す
入力は、平均を0にし、主成分分析により線形相関を取り除き、分散が1になるように線形変換する。面倒だったら主成分分析は省略しても良い。
目標値(出力)は活性化関数を通す場合は、二次導関数が最大になる範囲内を使用するべきである。 1.7159 tanh  ( 2 x / 3 ) {\displaystyle 1.7159\tanh(2x/3)} の場合は −1〜1 で、tanh(x) の場合は − 0.5 cosh − 1  ( 2 ) {\displaystyle -0.5\cosh ^{-1}(2)} 〜 0.5 cosh − 1  ( 2 ) {\displaystyle 0.5\cosh ^{-1}(2)} = −0.65848 〜 0.65848 である。
技術的に言えば、バックプロパゲーションはネットワーク上の変更可能な重みについて、誤差の傾斜を計算するものである。この傾斜はほとんどの場合、誤差を最小にする単純なアルゴリズムである確率的最急降下法で使われる。「バックプロパゲーション」という用語はより一般的な意味でも使われ、傾斜を求める手順と確率的最急降下法も含めた全体を示す。バックプロパゲーションは通常すばやく収束して、対象ネットワークの誤差の局所解(区間を限定したときの極小値、極値参照)を探し出す。人工ニューロン(または「ノード」)で使われる活性化関数は可微分でなければならない。また、ガウス・ニュートン法とも密接に関連する。
バックプロパゲーションのアルゴリズムは何度か再発見されており、逆積算モードにおける自動微分という汎用技法の特殊ケースと見ることもできる。
数理最適化問題の一種であるため、バッチ学習・オンライン学習のいずれかが採用される。典型的には確率的勾配降下法を用いたミニバッチ学習が行われる。