1行定義
割引率とは、強化学習で将来に受け取る報酬を現在の価値に換算するときに掛ける、0以上1以下の係数のことです。
くわしく
割引率は、強化学習で「将来の報酬を今の時点でどれだけ重く見るか」を決める係数です。記号ではγ(ガンマ)と書き、0以上1以下の値をとります。
割引累積報酬の計算
強化学習のエージェントは、1回の報酬ではなく、将来にわたって受け取る報酬の合計を大きくしようとします。このとき、先の報酬ほど割引率を多く掛けて小さくしてから足し合わせます。
G = R1 + γ×R2 + γ^2×R3 + …
R1は次に受け取る報酬、R2はその次の報酬です。たとえばγ = 0.9なら、2つ目の報酬は0.9倍、3つ目の報酬は0.81倍として数えます。この合計を割引累積報酬、または収益と呼びます。
なぜ割り引くのか
理由は2つあります。1つは、終わりのない課題でも合計を有限の値にするためです。1回の報酬に上限があれば、γが1未満のとき合計は等比級数として一定の値に収まります。もう1つは、早く得られる報酬を優先するという考え方を表すためです。お金の利息と同じように、明日の100円より今日の100円を重く見ます。
値による違い
- γが0に近い場合:目先の報酬だけを重視し、すぐに得をする行動を選びやすくなります。γ = 0なら次の報酬しか見ません。
- γが1に近い場合:遠い将来の報酬もほとんど割り引かずに評価し、長い目で見て得をする行動を選べるようになります。
周辺の概念との関係
状態価値関数や行動価値関数は、この割引累積報酬の期待値として定義されます。Q学習やSARSAの更新式にも、次の状態の価値にγを掛ける形で現れます。更新式には学習率αも出てきますが、αは「1回の更新で値をどれだけ修正するか」、γは「将来をどれだけ重く見るか」を表し、役割が違います。
覚え方
「γは未来の値引き率。0なら今だけ、1なら未来も満額」と覚えます。
G検定での出題
出題のされ方
割引累積報酬(収益)の計算や、割引率を0や1に近づけたときに目先の報酬と将来の報酬のどちらを重視するかが問われます。状態価値関数・行動価値関数やQ学習の更新式との関係も問われます。
混同しやすい用語
| 用語 | 意味 |
|---|---|
| 割引率このページの用語 | 強化学習で将来に受け取る報酬を現在の価値に換算するときに掛ける、0以上1以下の係数 |
| 学習率 | 勾配降下法で重みを更新するときに勾配に掛け、1回あたりの更新の大きさを決める係数 |
◯×チェック
次の文が正しいか、誤りかを選んでください。
-
割引率を0に近づけるほど、エージェントは遠い将来の報酬を重視して行動を選ぶようになる。
答えを見る
答え × 誤り
0に近いほど将来の報酬は小さく割り引かれ、目先の報酬だけを重視します。将来を重視するのは1に近いときです。
-
割引率を1未満にすると、終わりのない課題でも、1回の報酬の大きさに上限があれば割引累積報酬は有限の値になる。
答えを見る
答え ◯ 正しい
1回の報酬の上限をRとすると、割引累積報酬は等比級数の和 R ÷ (1 − γ) 以下に収まります。
-
割引率を1にすると、必ず終わりが来るエピソード型の課題でも、割引累積報酬が無限大になって計算できなくなる。
答えを見る
答え × 誤り
終わりがある課題では受け取る報酬の数が有限なので、γ = 1でも合計は有限です。発散が問題になるのは、終わりのない課題の場合です。