数値計算 【入門】最適化アルゴリズム①【数値計算】 もう一個試す予定の最適化アルゴリズムAdamへ至る系譜を説明予定。 AdaGradについて説明。 更新式をモーメンタムと比較。 RMSpropについて説明。 AdaGradの完了版であるため、AdaGradと更新式を比較。 2024.07.08 数値計算
数値計算 MATLAB,Python,Scilab,Julia比較 第4章 その108【最適化アルゴリズム⑦】 Adamの更新式を実現するためのプログラムフローを記載。 モーメンタムの部分をAdamに差し替えただけ。 学習率は0.001とかなり小さめの値に設定。 これにより収束は遅くなる。 かわりに特殊な最適解が得られるのでそれを確認する。 2024.07.07 数値計算
数値計算 MATLAB,Python,Scilab,Julia比較 第4章 その107【最適化アルゴリズム⑥】 各最適化アルゴリズムの依存関係を記載。 1次の勾配で勢いをつけて、2次の勾配で抑制するというのが全体を通しての共通点。 Adamが1次の勾配と2次の勾配を合わせたアルゴリズムとなる。 2024.07.06 数値計算
数値計算 MATLAB,Python,Scilab,Julia比較 第4章 その106【最適化アルゴリズム⑤】 最適化アルゴリズムAdamについて説明。 モーメンタムとRMSpropの合わせ技。 1次の勾配と、2次の勾配の指数移動平均を使用する。 2024.07.05 数値計算
数値計算 MATLAB,Python,Scilab,Julia比較 第4章 その105【最適化アルゴリズム④】 AdaDeltaについて説明。 RMSpropの拡張版に当たる。 学習率というハイパーパラメータ無しで動作する。 最終的な学習率は1近傍になるため振動しやすいらしい。 2024.07.04 数値計算
数値計算 MATLAB,Python,Scilab,Julia比較 第4章 その104【最適化アルゴリズム③】 RMSpropについて説明。 AdaGradの完了版であるため、AdaGradと更新式を比較。 AdaGradでは2次の勾配の累積だったものが、2次の勾配の指数移動平均に。 これにより、極小値近辺やプラトーになっても更新を続けられる。 2024.07.03 数値計算
数値計算 MATLAB,Python,Scilab,Julia比較 第4章 その103【最適化アルゴリズム②】 AdaGradについて説明。 更新式をモーメンタムと比較。 更新幅は、最初は大きく、徐々に小さくなり、最終的には学習が進まなくなる欠点を抱えている。 2024.07.02 数値計算
数値計算 MATLAB,Python,Scilab,Julia比較 第4章 その102【最適化アルゴリズム①】 もう一個試す予定の最適化アルゴリズムへ至る系譜を説明予定。 プログラム化して試すのはAdamだが、それに至るアルゴリズムを数式レベルで確認。 Adam以降の最適化アルゴリズムもあるが、基本はAdamベースでクリッピングが入ってる感じ。 2024.07.01 数値計算
数値計算 【入門】モーメンタム(勾配降下法との差分)【数値計算】 最適化アルゴリズムを通常の勾配降下法からモーメンタムに変えた際の差分を確認。 モーメンタムの方が学習の収束が早い。 勾配降下法で500エポックのところ100エポック。 モーメンタムの場合、初期のパラメータ移動が大き目。 これにより、大域最適化を見つける可能性が高くなる。 2024.06.30 数値計算
数値計算 【入門】モーメンタム(Julia)【数値計算】 最適化アルゴリズム モーメンタムを用いて分類の学習をJuliaで実現。 問題無く動作。 学習の収束が通常の勾配降下法よりも比較的早い。 2024.06.29 数値計算