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

MATLAB,Python,Scilab,Julia比較 第4章 その102【最適化アルゴリズム①】 数値計算
MATLAB,Python,Scilab,Julia比較 第4章 その102【最適化アルゴリズム①】

バックナンバーはこちら。
https://www.simulationroom999.com/blog/compare-matlabpythonscilabjulia4-backnumber/

はじめに

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

登場人物

博識フクロウのフクさん

指差しフクロウ

イラストACにて公開の「kino_k」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=iKciwKA9&area=1

エンジニア歴8年の太郎くん

技術者太郎

イラストACにて公開の「しのみ」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=uCKphAW2&area=1

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

太郎くん
太郎くん

モーメンタムがとりあえず、終わったところだけど、
もう一個くらい別の最適化アルゴリズムを試すんだっけ?

フクさん
フクさん

そうだね。

フクさん
フクさん

その前に、有名どころの最適化アルゴリズムの確認とか、因果関係とかを見てみようと思う。

太郎くん
太郎くん

もう一個やっておしまいにしないの?

フクさん
フクさん

そのもう一個がモーメンタムから少し遠い位置にあるんだよね。
そこに至る系譜を確認する感じだ。

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

フクさん
フクさん

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

  • AdaGrad
  • RMSprop(Root Mean Square Propagation)
  • AdaDelta
  • Adam(Adaptive Moment Estimation)
太郎くん
太郎くん

まぁ、4つくらいだったらいいか・・・。

フクさん
フクさん

Adam以降もいろいろあって、

  • AdaBound
  • AMSBound

というのもあるが、今回は省略だ。
基本的にはAdamをベースにクリッピングで更新の上下限を決めて更新範囲を制御できるようにしたものだな。

太郎くん
太郎くん

クリッピングってmin,maxとか使って上下限の振れ幅に制約を入れるやつだね。

フクさん
フクさん

そうそう。

太郎くん
太郎くん

とりあえず、さっきの4つの最適化アルゴリズムを一つずつ説明していくって感じ?

フクさん
フクさん

その予定だ。
数式なども出すが、プログラムとして採用するのは最後Adamのみだな。

太郎くん
太郎くん

モーメンタムと別に試す最後の1個の最適化アルゴリズムってことだね。

まとめ

フクさん
フクさん

まとめだよ。

  • もう一個試す予定の最適化アルゴリズムへ至る系譜を説明予定。
  • プログラム化して試すのはAdamだが、それに至るアルゴリズムを数式レベルで確認。
  • Adam以降の最適化アルゴリズムもあるが、基本はAdamベースでクリッピングが入ってる感じ。

バックナンバーはこちら。

Pythonで動かして学ぶ!あたらしい線形代数の教科書

Amazon.co.jp

ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装

Amazon.co.jp

ゼロからはじめるPID制御

https://amzn.to/3SvzuyR

OpenCVによる画像処理入門

https://amzn.to/498ZUgK

恋する統計学[回帰分析入門(多変量解析1)] 恋する統計学[記述統計入門]

Amazon.co.jp

Pythonによる制御工学入門

Amazon.co.jp

理工系のための数学入門 ―微分方程式・ラプラス変換・フーリエ解析

https://amzn.to/3UAunQK

コメント

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