【入門】最適化アルゴリズム①【数値計算】

【入門】最適化アルゴリズム①【数値計算】 数値計算
【入門】最適化アルゴリズム①【数値計算】

MATLAB、Python、Scilab、Julia比較ページはこちら
https://www.simulationroom999.com/blog/comparison-of-matlab-python-scilab/

はじめに

の、

MATLAB,Python,Scilab,Julia比較 第4章 その102【最適化アルゴリズム①】
MATLAB,Python,Scilab,Julia比較 第4章 その103【最適化アルゴリズム②】
MATLAB,Python,Scilab,Julia比較 第4章 その104【最適化アルゴリズム③】

を書き直したもの。

ニューラルネットワークの最適化アルゴリズムについて。
前回まででモーメンタムの話が終わったところ。
モーメンタム以外にもいろいろな最適化アルゴリズムがあるのでそれの確認。

今回は、AdaGrad、RMSpropの説明になる。

もう一個試す予定の最適化アルゴリズムへ至る系譜

モーメンタムの話が終了したところ。
当初の予定通りもう一個くらい別の最適化アルゴリズムを試したい。

が、
その前に、有名どころの最適化アルゴリズムの確認とか、因果関係とかを見てみようと思う。
さっさともう一個の最適化アルゴリズムを試せばOKな気もするが、
そのもう一個がモーメンタムから少し遠い位置にある。
そこに至る系譜を確認する感じとなる。

最適化アルゴリズムいろいろ

まずは説明予定の最適化アルゴリズムを列挙する。
実際に試したい最適化アルゴリズムはAdamになる。

  • AdaGrad
  • RMSprop(Root Mean Square Propagation)
  • AdaDelta
  • Adam(Adaptive Moment Estimation)

Adam以降もいろいろあり、

  • AdaBound
  • AMSBound

というのもあるが、今回は省略。
基本的にはAdamをベースにクリッピングで更新の上下限を決めて更新範囲を制御できるようにしたもの。
(クリッピングとは、min,maxとか使って上下限の振れ幅に制約を入れるやつ)

とりあえず、この4つの最適化アルゴリズムを一つずつ説明していく。
数式なども出すが、プログラムとして採用するのは最後Adamのみ。
つまり、モーメンタムとは別に試すもう一個のアルゴリズムがAdamということになる。

次のページへ

次のページからAdaGradとRMSpropの説明。

コメント

タイトルとURLをコピーしました