romAI検証コーナー(その9)Learning Rate(学習率)とは?
シンプルなモデルを使用して、romAIの機能をチェックしていきます。第9回はLearning Rate(学習率)について確認します。
Learning Rate (学習率)とは
romAI 2021.2.1よりパラメータが公開され、ユーザにて変更可能となりました。デフォルト1e-3が設定されています。この値を変更することで学習の進む速度が変化します。では、実際にどのように変化するか見てみましょう。
問題設定
第4~6回と同様インパクト関数によるモデルです。Learning Rate (学習率)を変えて結果を比較してみます。
romAIの設定
romAIの設定を行います。
第1~6回と同様に、静的ROMとしてInputs、Outputsのみを指定します。
relu関数で[20,20]としました。
トレーニングパラメータの設定
Epochs=100、データ分割は無しでSplit Ratioは1e-10としました。
Learning Ratioをデフォルトの1e-3のほか、1e-2、1e-4でトレーニングを実施しました。
結果の比較
トレーニングのLossを比較します。
デフォルトの1e-3(赤)に対し、値を大きくした1e-2(青)では少ないエポック数でLossが低下していますが、エポック数6以降でLossの低下が見られません。
一方、値を小さくした1e-4(緑)ではLossの低下が遅く、エポック数100回でもLossは低下傾向にあり、エポック数が不十分であることを示しています。
インパクト関数の予測結果を比較します。Lossの小さい順にReference(水色)に近い波形が予測できていることがわかります。
まとめ
romAI 2021.2.1より公開されたパラメータLearning Rate(学習率)について確認しました。
まずはデフォルトの1e-3で問題ないと思いますが、トレーニング時間が長すぎる場合は、値を大きくしてみてもいいかもしれません。
Comments
-
romAI検証コーナー(その10)van der Pol方程式のリミットサイクルを再現できるか?
にて、Learning Rate(学習率)を調整することで、より精度の高い解を得ることができました。ご参照ください。
0