本文へ移動

G検定(ジェネラリスト検定)

わりびきりつ

割引率

Discount Rate

割引率は、強化学習のエージェントが将来に受け取る報酬を、どれだけ先のものほど小さく見積もるかを決めるパラメータです。記号はガンマ(γ)で表し、0以上1以下の値をとります。

詳しい説明

割引率とは

割引率(discount rate)は、強化学習で使われるパラメータで、記号ガンマ(γ)で表します。値の範囲は 0 ≤ γ ≤ 1 です。

Sutton と Barto の教科書 Reinforcement Learning: An Introduction(第2版、2018年)では、エージェントは将来にわたって受け取る割引された報酬の和が最大になるように行動を選ぶ、と説明されています。この割引された報酬の和を計算するときに、将来の報酬へ掛ける係数が割引率です。

割引された報酬の和の式

時刻 t 以降に受け取る割引された報酬の和 Gt は、次の式で表されます。

Gt = Rt+1 + γRt+2 + γ^2 Rt+3 + ...

総和の記号を使うと、次のように書けます。

Gt = Σ(k=0 から ∞) γ^k Rt+k+1

最初の報酬 Rt+1 はそのまま足され、その次の報酬 Rt+2 には γ が、さらに次の報酬 Rt+3 には γ^2 が掛かります。先の報酬になるほど、γ を掛ける回数が1回ずつ増えていきます。

γ = 0.9 で報酬 1 を3回受け取るときの計算例

割引率を γ = 0.9 とし、報酬 1 を3回続けて受け取る場合を考えます。つまり Rt+1 = 1、Rt+2 = 1、Rt+3 = 1 で、4回目以降の報酬はないものとします。

上の式に当てはめると、次のようになります。

Gt = 1 + 0.9 × 1 + 0.9^2 × 1

各項を計算すると、1項目は 1、2項目は 0.9 × 1 = 0.9、3項目は 0.9^2 × 1 = 0.81 です。

Gt = 1 + 0.9 + 0.81 = 2.71

報酬をそのまま足すと 1 + 1 + 1 = 3 ですが、割引された報酬の和は 2.71 になります。2回目の報酬は 0.9、3回目の報酬は 0.81 として数えられるため、合計が 3 より 0.29 小さくなります。

何時刻先の報酬がどれだけの価値になるか

教科書では、k時刻先に受け取る報酬は、すぐに受け取る場合と比べて γ^(k-1) 倍の価値しか持たない、と説明されています。γ が1より小さいとき、γ^(k-1) は k が大きくなるほど小さくなるので、遠い将来の報酬ほど小さく見積もられます。

γ の値でエージェントの振る舞いがどう変わるか

γ = 0 のとき、式の2項目以降はすべて0になり、Gt は直近の報酬 Rt+1 だけになります。教科書はこのエージェントを近視眼的(myopic)と呼び、直近の報酬を最大化することだけに関心を持つエージェントになると説明しています。

γ を1に近づけるほど、遠い将来の報酬も和の中で大きな重みを持つようになります。

γ < 1 のとき無限和が有限になる

Gt の式は無限に続く和です。教科書によると、γ < 1 であれば、報酬の系列が有界である限り、この無限和は有限の値を持ちます。

シラバス上の位置づけ

G検定シラバス2024では、割引率は中項目9 強化学習のキーワードの1つです。同じ中項目には、マルコフ決定過程・状態価値関数・行動価値関数・Q学習・SARSA・方策勾配法・REINFORCE・Actor-Critic・バンディットアルゴリズム・ε-greedy方策・UCB方策が並んでいます。強化学習の問題の枠組みそのものについては、マルコフ決定過程の項目を参照してください。

試験で問われること

G検定

  • 割引率は記号ガンマ(γ)で表し、0 ≤ γ ≤ 1 の範囲の値をとるパラメータです。
  • 割引された報酬の和は Gt = Rt+1 + γRt+2 + γ^2 Rt+3 + ... と表し、総和の記号では Gt = Σ(k=0 から ∞) γ^k Rt+k+1 と書きます。
  • k時刻先に受け取る報酬は、すぐに受け取る場合と比べて γ^(k-1) 倍の価値として扱われます。
  • γ = 0 のとき、エージェントは直近の報酬だけを最大化する近視眼的なエージェントになります。
  • γ < 1 のとき、報酬の系列が有界であれば、割引された報酬の無限和は有限の値になります。
  • エージェントは、将来にわたって受け取る割引された報酬の和が最大になるように行動を選びます。
  • γ = 0.9 で報酬 1 を3回受け取り、その後の報酬がない場合、Gt = 1 + 0.9 × 1 + 0.9^2 × 1 = 1 + 0.9 + 0.81 = 2.71 になります。

最終更新日: 2026/09/23