「学習率」は、「今回の行動評価を過去の行動評価と比べてどの程度信じるかとという割合」
強化学習における学習率(alphaとも呼ばれることがあります)は、新しい経験からどの程度学習するか、つまり「新しい情報をどの程度信じて重みづけするか」を示しています。強化学習において、行動の評価(例えば報酬)は、時間を通じて更新されていきますが、この更新の際に新しい評価と過去の評価のバランスをどのように取るかを決める役割を担います。
ニューラルネットワークにおけるLearning Rate(学習率)の設定は、「各ステップでどのくらいの割合で重み(パラメータ)を更新するか」を示します。
具体的には、学習率は、モデルが誤差(損失関数)を基に重みを更新する際の更新幅を制御します。たとえば、ステップごとに誤差を最小限に抑えるために、重みの修正が行われますが、この修正の大きさを決めるのが学習率です。
Learning Rateの設定は、各ステップごとの重みの調整幅を決定するものです。
適切な学習率を設定しないと、以下のような問題が発生します:
ML-Agentsなどで学習率の更新方法を指定する際に、主に以下の2つの方法があります。
Constant(定数):学習率を固定したまま訓練を行う方法です。学習全体を通して同じ値の学習率を使用します。この方法はシンプルで扱いやすいですが、特定のステージで適応力が低下する可能性があります。
Linear(線形):最初の学習率を高く設定し、時間とともに学習率を徐々に小さくしていく方法です。初期段階では大きな学習率で大きな調整を行い、最適解に近づくにつれて調整の幅を狭めていきます。これにより、最初の探索フェーズでは大きなステップを踏み、最終的には細かな調整が可能になります。
適切な学習率や更新方法を選ぶことが、モデルの性能に大きく影響します。