MATLAB,Python,Scilab,Julia比較 第4章 その95【モーメンタム⑤】

MATLAB,Python,Scilab,Julia比較 第4章 その95【モーメンタム⑤】 数値計算
MATLAB,Python,Scilab,Julia比較 第4章 その95【モーメンタム⑤】

バックナンバーはこちら。
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

モーメンタムへ至る道【再掲】

太郎くん
太郎くん

まずはモーメンタムへ至るフローを再掲

  • 勾配降下法の更新式(済)
  • 勾配降下法の動作イメージ(済)
  • モーメンタムの更新式(済)
  • モーメンタムの動作イメージ
  • モーメンタムのプログラムフロー
  • モーメンタムによる分類の学習プログラム
フクさん
フクさん

今回は、この中の「モーメンタムの動作イメージ」

モーメンタムの動作イメージ

太郎くん
太郎くん

で、モーメンタムの動作イメージはどうなるの?

フクさん
フクさん

モーメンタムの動作イメージはなかなか表現しずらいのだが、
こんな表現になるな。

モーメンタムの動作イメージ
太郎くん
太郎くん

イマイチわからん・・・。

フクさん
フクさん

基本的には最初は大きく動いて、収束するにつれて更新値が小さくなる。
これは過去の勾配がどれだけ大きいかに依存した動きになるな。

太郎くん
太郎くん

つまり、
最初は恐らく勾配が大きいから、大き目に動く。
その内、最適解に近付いてくるから、その段階で更新値が小さくなって、
細かい最適解を見つけてくれるって感じか。

フクさん
フクさん

そうだね。
学習率自体は固定なのだが、
更新値は状況に応じて可変。
これは勾配降下法の観点で見ると学習率が状況に応じて可変と同義になるな。

太郎くん
太郎くん

学習率が固定だと、適正な値を探す必要があったけど、
モーメンタムだとある程度自動で変化するってことか。

フクさん
フクさん

そうそう。
少なくとも最初は大きく動くから最適解までの収束ステップは少なくなるはずだ。

太郎くん
太郎くん

シンプルな更新式ではあるけど、
効果は大きそうだね。

フクさん
フクさん

そうだね。
とりあえず、まず試しても良いレベルのお手軽さだろう。

まとめ

フクさん
フクさん

まとめだよ。

  • モーメンタムの動作イメージについて確認。
    • 動作イメージの表現は難しい。
    • 最初は大きく更新して、最適解が近いと小さく更新。
    • 勾配降下法で言うところの学習率が可変と同義な動きになる。

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

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

https://amzn.to/3OE5bVp

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

https://amzn.to/3OBiaax

ゼロからはじめるPID制御

https://amzn.to/3SvzuyR

OpenCVによる画像処理入門

https://amzn.to/498ZUgK

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

https://amzn.to/3STAe2i

Pythonによる制御工学入門

https://amzn.to/3uskuK5

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

https://amzn.to/3UAunQK

コメント

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