E資格対策・強化学習の重要数式の覚え方(1)割引収益を語呂合わせと計算例で確実に覚える

こんにちは。ゆうせいです。

E資格の強化学習では、数式の穴埋め問題や計算問題が出題されます。そのため、数式を「なんとなく見たことがある」状態から、「白紙に自分で書ける」状態にしておくことが合格への近道です。

このシリーズでは、強化学習で特に重要な数式10個を1つずつ取り上げ、意味の理解、語呂合わせ、計算例、練習問題の順に解説します。

第1回は、強化学習のすべての数式の土台となる「割引収益」です。後に登場する状態価値関数、ベルマン方程式、Q学習の式は、すべて割引収益から組み立てられています。最初の1つをしっかり覚えると、残りの数式が覚えやすくなります。

この記事のゴール

  • 割引収益の式を、何も見ずに書けるようになる
  • 割引率 γ(ガンマ)の役割を説明できるようになる
  • 割引収益を手計算で求められるようになる
  • 再帰形の式を書けるようになり、次回のベルマン方程式につなげる

割引収益の式

最初に、覚える式を示します。

G_t = R_{t+1} + \gamma R_{t+2} + \gamma^2 R_{t+3} + \cdots = \sum_{k=0}^{\infty} \gamma^k R_{t+k+1}

記号の意味は次のとおりです。

記号読み方意味
G_tジー・ティー時刻 t から先に得られる報酬の合計(収益)
Rアール1回ごとにもらえる報酬
γガンマ割引率。0 以上 1 以下の数
kケー何ステップ先かを表す番号。0 から数える
tティー現在の時刻

G は英語の Gain(得られるもの)、R は Reward(報酬)の頭文字と考えると覚えやすくなります。

式の意味:将来の報酬ほど割り引いて合計する

割引収益は、「これから先にもらえる報酬を、遠い将来のものほど小さく見積もって合計した値」です。

身近な例で考えてみます。

  • 今日もらえる1万円
  • 1年後にもらえる1万円

多くの人は、今日もらえる1万円の方に価値を感じます。1年後には受け取れない可能性もありますし、今日もらえば使い道も広がるからです。

強化学習でも同じ考え方を使います。すぐにもらえる報酬はそのまま数え、1ステップ先の報酬は γ 倍、2ステップ先の報酬は γ の2乗倍というように、先になるほど小さくして足し合わせます。

なぜ割り引くのか

割り引く理由は、主に次の3つです。

  1. 将来の報酬には不確実性があるため、すぐにもらえる報酬を重視したい
  2. 終わりのない問題(ずっと続くタスク)でも、合計が無限大にならないようにしたい
  3. 同じ報酬なら、早く得られる行動の方を高く評価したい

2つ目の理由は、計算上とても大切です。報酬が毎回1で永遠に続く場合、割り引かずに足すと合計は無限大になり、行動の良し悪しを比べられなくなります。

練習問題1

強化学習で将来の報酬を割り引く理由として、最も適切でないものを選んでください。

  • ア:将来の報酬は、得られるかどうかが不確実であるため
  • イ:終わりのないタスクで、収益が無限大になるのを防ぐため
  • ウ:直近の報酬を無視して、遠い将来だけを重視するため
  • エ:同じ報酬なら、早く得られる行動を高く評価するため

練習問題1の解答と解説

正解はウです。

割引は、遠い将来の報酬ほど小さく扱う仕組みです。直近の報酬は割り引かずにそのまま数えるため、「直近の報酬を無視する」という説明は逆の内容になっています。

  • アは正しい説明です。将来の報酬ほど不確実性が大きいため、割り引いて扱います。
  • イは正しい説明です。γ が1未満であれば、無限に続く報酬の合計も有限の値になります。
  • エは正しい説明です。同じ報酬でも、先にもらえる方が割り引かれずに大きく数えられます。

語呂合わせで覚える

ここからは、式を覚えるための語呂合わせを紹介します。式の部品ごとに覚えると、試験本番でも書き間違えにくくなります。

語呂合わせ1:ガンマは「我慢」

γ(ガンマ)は「我慢(がまん)」と覚えます。

  • γ が1に近い:我慢強い。遠い将来の報酬まで大切にする
  • γ が0に近い:我慢できない。目先の報酬だけを見る

γ = 0 のとき、2つ目以降の項はすべて0になり、次のようになります。

G_t = R_{t+1}

つまり、すぐ次の報酬しか見ない「せっかち」なエージェントになります。

一方、γ = 1 のときは割り引かずにすべての報酬をそのまま足すことになり、将来の報酬を今と同じ重さで扱う「我慢強い」エージェントになります。

試験では「γ を大きくすると、エージェントはどうなるか」という形で問われることがあります。「ガンマ=我慢」と覚えておけば、「大きいほど将来を重視する」とすぐに答えられます。

語呂合わせ2:報酬は一歩遅れてやってくる

初学者が最も間違えやすいのが、報酬の添字です。式の最初の項は R_t ではなく R_{t+1} です。

これは「時刻 t で行動して、その結果の報酬は次の時刻 t+1 に受け取る」という約束になっているためです。

  • 時刻 t:状態 S_t を見て、行動 A_t を選ぶ
  • 時刻 t+1:報酬 R_{t+1} を受け取り、次の状態 S_{t+1} に移る

レストランで注文してから料理が出てくるまでに時間がかかるように、報酬は行動の一歩後に届きます。

覚え方は「行動してから、報酬(アール)は一歩遅れ」です。

なお、教科書によっては報酬を R_t と書く流儀もあります。E資格の問題文で使われている記号の定義を必ず確認してください。

語呂合わせ3:ガンマは素直に k、アールは1つ欲張り

総和記号(Σ)を使った形では、γ の右肩の数字と R の添字がずれています。

\sum_{k=0}^{\infty} \gamma^k R_{t+k+1}

  • γ の右肩:k(そのまま)
  • R の添字:t + k + 1(1つ多い)

k = 0 を代入すると、γ の0乗は1なので、最初の項は R_{t+1} になります。これは語呂合わせ2の「報酬は一歩遅れ」と一致します。

覚え方は「ガンマは素直に k、アールは1つ欲張りの k+1」です。

書いた後に k = 0 を代入して、最初の項が R_{t+1} になるか確かめる習慣をつけると、添字の書き間違いを防げます。

練習問題2

割引収益を総和記号で表した式として、正しいものを選んでください。

  • ア:G_t = \sum_{k=0}^{\infty} \gamma^{k+1} R_{t+k}
  • イ:G_t = \sum_{k=1}^{\infty} \gamma^k R_{t+k}
  • ウ:G_t = \sum_{k=1}^{\infty} \gamma^{k+1} R_{t+k+1}
  • エ:G_t = \sum_{k=0}^{\infty} \gamma^k R_{t+k+1}

練習問題2の解答と解説

正解はエです。

k = 0 を代入すると、最初の項は \gamma^0 \times R_{t+1} = R_{t+1} となり、定義と一致します。

  • アは、k = 0 で \gamma \times R_t となります。最初の項が割り引かれており、添字も t になっているため誤りです。
  • イは、k = 1 で \gamma \times R_{t+1} となります。最初の報酬まで割り引かれてしまうため誤りです。
  • ウは、k = 1 で \gamma^2 \times R_{t+2} となり、R_{t+1} の項が抜けてしまうため誤りです。

計算例で確かめる

式を覚えたら、実際に数値を入れて計算してみます。手を動かすと、式の意味が実感として理解できます。

計算例1:報酬が3回だけ得られる場合

割引率 γ = 0.9 とし、報酬が次のように得られたとします。

  • R_{t+1} = 1
  • R_{t+2} = 2
  • R_{t+3} = 3
  • それ以降は 0

割引収益は次のように計算します。

G_t = 1 + 0.9 \times 2 + 0.9 \times 0.9 \times 3

1つずつ計算すると、次のようになります。

  • 1項目:1
  • 2項目:0.9 × 2 = 1.8
  • 3項目:0.81 × 3 = 2.43

合計は 1 + 1.8 + 2.43 = 5.23 です。

割り引かずに足すと 1 + 2 + 3 = 6 になるので、割引によって 0.77 だけ小さく評価されたことになります。

計算例2:γ を変えると収益はどう変わるか

同じ報酬(1, 2, 3)で、γ を変えて比べてみます。

γ計算割引収益
01 + 0 × 2 + 0 × 31
0.51 + 0.5 × 2 + 0.25 × 32.75
0.91 + 0.9 × 2 + 0.81 × 35.23
11 + 1 × 2 + 1 × 36

γ が大きいほど、将来の報酬が多く数えられ、割引収益が大きくなることが分かります。語呂合わせ1の「ガンマは我慢」のとおりです。

計算例3:報酬が毎回1で永遠に続く場合

報酬が毎回1で、終わりなく続く場合を考えます。

G_t = 1 + \gamma + \gamma^2 + \gamma^3 + \cdots

γ が1未満であれば、この合計は等比級数の公式により次の値になります。

G_t = \frac{1}{1 - \gamma}

γ = 0.9 のとき、1 ÷ (1 − 0.9) = 1 ÷ 0.1 = 10 です。

無限に足しているのに、合計は10という有限の値に収まります。これが「割引によって収益が無限大になるのを防ぐ」という意味です。

この結果は、「γ = 0.9 なら10倍、γ = 0.99 なら100倍」と覚えておくと、選択肢を素早く絞り込むのに役立ちます。

練習問題3

割引率 γ = 0.5 とし、報酬が R_{t+1} = 4、R_{t+2} = 2、R_{t+3} = 8 で、それ以降は 0 とします。割引収益 G_t の値を選んでください。

  • ア:5
  • イ:7
  • ウ:14
  • エ:9

練習問題3の解答と解説

正解はイです。

項ごとに分けて計算します。

  • 1項目:4(割り引かない)
  • 2項目:0.5 × 2 = 1
  • 3項目:0.5 × 0.5 × 8 = 0.25 × 8 = 2

合計は 4 + 1 + 2 = 7 です。

  • アの5は、3項目を足し忘れて 4 + 1 とした値です。
  • ウの14は、割り引かずに 4 + 2 + 8 を足した値です。
  • エの9は、3項目に γ の2乗ではなく γ を掛けて 4 + 1 + 0.5 × 8 とした値です。γ の指数を増やし忘れる典型的な間違いです。

計算問題では、このように項ごとに分けて書き出すと、指数の付け忘れや足し忘れを防げます。

練習問題4

報酬が毎回2で、終わりなく続くとします。割引率 γ = 0.8 のとき、割引収益 G_t の値を求めてください。

練習問題4の解答と解説

答えは10です。

毎回の報酬が1のときは 1 ÷ (1 − γ) でした。報酬が2になると、すべての項が2倍になるため、次のようになります。

G_t = 2 \div (1 - 0.8) = 2 \div 0.2 = 10

再帰形も一緒に覚える

割引収益には、もう1つ重要な書き方があります。

G_t = R_{t+1} + \gamma G_{t+1}

この式は「今の収益は、すぐ次の報酬に、次の時刻からの収益を割り引いて足したもの」という意味です。

再帰形が成り立つ理由

元の式の2項目以降を γ でくくってみます。

G_t = R_{t+1} + \gamma (R_{t+2} + \gamma R_{t+3} + \cdots)

かっこの中は、時刻 t+1 から見た割引収益 G_{t+1} そのものです。そのため、G_t = R_{t+1} + \gamma G_{t+1} と書けます。

語呂合わせ4:じいさんは、ある我慢じいさん

再帰形は、記号の読み方を使って覚えます。

  • G:じい(さん)
  • R:ある
  • γ:我慢
  • G:じい(さん)

G = R + γG を読むと、「じいさんは、ある、我慢じいさん」となります。

「今日のじいさん(G_t)は、今日ある報酬(R_{t+1})と、我慢した明日のじいさん(\gamma G_{t+1})でできている」と場面を思い浮かべると、添字も含めて思い出しやすくなります。

再帰形が重要な理由

この再帰形は、次回以降に学ぶ数式の出発点です。

  • 状態価値関数のベルマン方程式は、この式の両辺の期待値を取ったものです
  • TD誤差の「R_{t+1} + \gamma V(S_{t+1})」は、この式の G_{t+1} を予測値 V で置き換えたものです
  • Q学習やDQNの目標値も、同じ形をしています

つまり、「報酬 + γ × 次の価値」という形は、強化学習の数式に何度も登場します。再帰形を覚えることは、強化学習の数式の半分を覚えることにつながります。

練習問題5

γ = 0.9、R_{t+1} = 3、G_{t+1} = 10 のとき、再帰形を使って G_t を求めてください。

練習問題5の解答と解説

答えは12です。

G_t = R_{t+1} + \gamma G_{t+1} = 3 + 0.9 \times 10 = 3 + 9 = 12

再帰形を使うと、先の報酬を1つずつ足さなくても、次の時刻の収益が分かっていれば今の収益をすぐに計算できます。

初学者がつまずきやすい点

最後に、試験で間違えやすい点を整理します。

つまずきやすい点正しい理解
最初の項を R_t と書いてしまう最初の項は R_{t+1}。報酬は一歩遅れてやってくる
最初の報酬にも γ を掛けてしまう最初の項は γ の0乗なので、割り引かない
γ の指数と R の添字をそろえてしまうγ の右肩は k、R の添字は t+k+1
γ が大きいと将来を軽視すると考えるγ が大きいほど将来を重視する(ガンマは我慢)
γ = 1 でも必ず収束すると考える終わりのないタスクで γ = 1 にすると、収益が無限大になる場合がある

白紙に書いて確認しよう

記事を読み終えたら、何も見ずに次の4つを紙に書いてみてください。

  1. 割引収益の式(足し算の形)
  2. 割引収益の式(総和記号の形)
  3. 再帰形の式
  4. 報酬が毎回1で永遠に続く場合の収益

4つとも書けたら、第1回の内容は合格です。書けなかったものは、該当する語呂合わせを読み直してから、もう一度書いてみましょう。

まとめ

  • 割引収益は「将来の報酬ほど割り引いて合計した値」です
  • γ は「我慢」と覚えます。大きいほど将来を重視します
  • 報酬は一歩遅れてやってくるため、最初の項は R_{t+1} です
  • 総和記号の形では「ガンマは素直に k、アールは1つ欲張りの k+1」です
  • 再帰形 G_t = R_{t+1} + \gamma G_{t+1} は「じいさんは、ある我慢じいさん」と覚えます
  • 報酬が毎回1なら、収益は 1 ÷ (1 − γ) になります

次回は、割引収益の期待値として定義される「状態価値関数」を取り上げます。今回の G_t がそのまま式の中に登場するので、割引収益の式を白紙に書ける状態にしてから読み進めてください。

投稿者プロフィール

山崎講師
山崎講師代表取締役
セイ・コンサルティング・グループ株式会社代表取締役。
岐阜県出身。
海外放浪の末、2000年創業、2004年会社設立。
IT企業向け人材育成研修歴業界歴20年以上。
すべての無駄を省いた費用対効果の高い「筋肉質」な研修を提供します!
この記事に間違い等ありましたらぜひお知らせください。

学生時代は趣味と実益を兼ねてリゾートバイトにいそしむ。長野県白馬村に始まり、志賀高原でのスキーインストラクター、沖縄石垣島、北海道トマム。高じてオーストラリアのゴールドコーストでツアーガイドなど。現在は野菜作りにはまっている。