E資格対策・強化学習の重要数式の覚え方(3)行動価値関数(Q関数)を語呂合わせと計算例で確実に覚える

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

E資格の強化学習で出題される重要数式を、1つずつ覚えていくシリーズの第3回です。

前回は、「その状態は平均するとどれくらい良いか」を表す状態価値関数を学びました。今回は、「その状態でその行動を選ぶと、平均するとどれくらい良いか」を表す行動価値関数を取り上げます。

行動価値関数は、Q関数とも呼ばれます。後に学ぶQ学習やDQN(Deep Q-Network)の「Q」は、この行動価値関数のことです。E資格では、状態価値関数との違いや、2つの関数の関係式がよく問われます。

この記事のゴール

  • 行動価値関数の式を、何も見ずに書けるようになる
  • 状態価値関数との違いを説明できるようになる
  • 状態価値関数と行動価値関数の関係式を書けるようになる
  • 行動価値から状態価値や最適な行動を手計算で求められるようになる

第2回の復習

前回の状態価値関数の式を確認します。

V^{\pi}(s) = \mathbb{E}_{\pi}[G_t \mid S_t = s]

覚え方は次のとおりでした。

  • G は1回のテストの点数、V は平均点
  • 価値(V)はパイ次第、イーパイでジーを平均、縦棒の右はスタート地点
  • 星(*)が付いたら一番星

行動価値関数の式

今回覚える式は次のとおりです。

Q^{\pi}(s, a) = \mathbb{E}_{\pi}[G_t \mid S_t = s, A_t = a]

状態価値関数の式と並べてみます。

V^{\pi}(s) = \mathbb{E}_{\pi}[G_t \mid S_t = s]

Q^{\pi}(s, a) = \mathbb{E}_{\pi}[G_t \mid S_t = s, A_t = a]

違いは3か所だけです。

違い状態価値関数行動価値関数
関数の名前VQ
かっこの中の引数s だけs と a の2つ
縦棒の右の条件S_t = s だけS_t = s と A_t = a の2つ

新しく登場する記号は次のとおりです。

記号読み方意味
Qキュー行動価値。行動の質(Quality)を表す数値
aエー行動(Action)。小文字は具体的な1つの行動を表す
A_t = aエー・ティー イコール エー時刻 t に選ぶ行動が a である

式全体を日本語にすると、次のようになります。

「状態 s で、最初に行動 a を選び、その後は方策 π に従って行動し続けたときに得られる割引収益の平均」

式の意味:最初の一手を決めたときの平均

行動価値関数は、「ある状態で、ある行動を選ぶことが、平均するとどれくらい得なのか」を表す数値です。

前回と同じく、将棋で考えてみます。

  • 状態価値 V:この局面は、平均するとどれくらい有利か
  • 行動価値 Q:この局面で「角を動かす」と指したら、平均するとどれくらい有利か

状態価値は「局面の評価」、行動価値は「局面と次の一手の組み合わせの評価」です。

決めるのは最初の一手だけ

行動価値関数で特に注意したいのは、行動 a を決めるのは最初の1回だけという点です。

  1. 時刻 t:状態 s で、行動 a を必ず選ぶ(ここだけ決め打ち)
  2. 時刻 t+1 以降:方策 π に従って行動する

将棋でいえば、「次の一手は角を動かすと決めて、その後はいつもの指し方で最後まで指す」というイメージです。その後の指し方も方策 π で決まるため、Q の右肩にも π が付きます。

練習問題1

行動価値関数 Q^{\pi}(s, a) の説明として、最も適切なものを選んでください。

  • ア:状態 s で、すべての時刻で行動 a を選び続けたときの収益の平均
  • イ:状態 s で最初に行動 a を選び、その後は π に従ったときの収益の平均
  • ウ:状態 s で行動 a を選んだ直後にもらえる、1回分の報酬の値
  • エ:状態 s で、方策 π が行動 a を選ぶ確率を表した値

練習問題1の解答と解説

正解はイです。

行動 a を決め打ちするのは最初の1回だけで、その後は方策 π に従います。

  • アは誤りです。行動 a を選び続けるわけではありません。2回目以降の行動は方策 π が決めます。
  • ウは誤りです。直後の報酬だけでなく、将来の報酬を割り引いて合計した割引収益の平均です。
  • エは誤りです。行動を選ぶ確率を表すのは、後で説明する方策 π(a|s) です。

語呂合わせで覚える

語呂合わせ1:キュー(Q)は行動の質(Quality)

Q は Quality(質)の頭文字と考えると覚えやすくなります。V は状態の価値(Value)、Q は行動の質(Quality)です。

さらに、記号と対象の対応を次のように覚えます。

「Vは場所だけ、Qは場所と一手」

V は状態 s だけを見て、Q は状態 s と行動 a の組み合わせを見ます。かっこの中の引数も、V(s) は1つ、Q(s, a) は2つです。

語呂合わせ2:条件が1つ増えるだけ

行動価値関数の式は、状態価値関数の式を次のように書き換えるだけで作れます。

  1. V を Q に変える
  2. かっこの中に a を足す
  3. 縦棒の右に、コンマで区切って A_t = a を足す

覚え方は「キューは、縦棒の右にエーを足すだけ」です。

前回の語呂合わせ「縦棒の右はスタート地点」とつなげると、「スタート地点(s)と最初の一手(a)を決めて、ジーを平均」となります。

練習問題2

行動価値関数の式として正しいものを選んでください。

  • ア:Q^{\pi}(s, a) = \mathbb{E}_{\pi}[G_t \mid A_t = a]
  • イ:Q^{\pi}(s, a) = \mathbb{E}_{\pi}[R_{t+1} \mid S_t = s, A_t = a]
  • ウ:Q^{\pi}(s, a) = \mathbb{E}_{\pi}[A_t \mid S_t = s, G_t = a]
  • エ:Q^{\pi}(s, a) = \mathbb{E}_{\pi}[G_t \mid S_t = s, A_t = a]

練習問題2の解答と解説

正解はエです。

かっこの中は割引収益 G、縦棒の右は「状態が s」と「行動が a」の2つの条件です。

  • アは誤りです。状態の条件 S_t = s が抜けています。
  • イは誤りです。かっこの中が直後の報酬だけになっており、将来の報酬が含まれていません。
  • ウは誤りです。A と G の位置が入れ替わっています。平均を取るのは G です。

状態価値と行動価値の関係式

E資格で特によく問われるのが、2つの関数の関係を表す次の式です。

V^{\pi}(s) = \sum_{a} \pi(a \mid s) Q^{\pi}(s, a)

新しく登場する π(a|s) は、「状態 s で、方策 π が行動 a を選ぶ確率」です。

式の意味は、「状態価値は、行動ごとの行動価値を、その行動を選ぶ確率で重み付けして平均したもの」です。

具体例で確かめる

前回の計算例1を、行動価値を使って書き直してみます。

状態 s で選べる行動は、次の2つとします。

  • a_1:左に進む。その後に得られる割引収益の平均は 10
  • a_2:右に進む。その後に得られる割引収益の平均は 2

これを行動価値で表すと、次のようになります。

Q^{\pi}(s, a_1) = 10, \quad Q^{\pi}(s, a_2) = 2

方策 π が左右を 0.5 ずつの確率で選ぶとき、状態価値は次のようになります。

V^{\pi}(s) = 0.5 \times 10 + 0.5 \times 2 = 6

前回の計算結果と同じ 6 になりました。前回の計算は、実は行動価値を確率で平均していたことが分かります。

語呂合わせ3:ブイサインでパイキュー(サンキュー)

関係式の右辺には、π と Q が掛け算で並んでいます。

\sum_{a} \pi(a \mid s) Q^{\pi}(s, a)

この並びを「パイキュー」と読み、「サンキュー」に重ねて覚えます。

覚え方は「ブイ(V)サインで、パイキュー(サンキュー)」です。

ピースサイン(Vサイン)をしながら「サンキュー」と言う場面を思い浮かべてください。「V = パイ × キューを全部の行動について足す」と思い出せます。

語呂合わせ4:行動が先、状態は縦棒の右

π(a|s) は、a と s の順番を間違えやすい記号です。

縦棒の右は条件でした。方策は「状態を見てから行動を決める」ルールなので、条件になるのは状態 s です。そのため、縦棒の左が行動 a、右が状態 s になります。

覚え方は「状態を見てから行動する。だから縦棒の右は状態」です。

第2回の「縦棒の右はスタート地点」と同じく、縦棒の右側には「分かっている前提」が書かれると覚えておくと、ほかの式でも迷わなくなります。

練習問題3

状態 s で選べる行動が3つあり、行動価値と方策の確率が次のとおりとします。

行動行動価値 Q方策の確率 π
a_180.5
a_240.3
a_300.2

状態価値 V^{\pi}(s) の値を選んでください。

  • ア:5.2
  • イ:4.0
  • ウ:12.0
  • エ:8.0

練習問題3の解答と解説

正解はアです。

V^{\pi}(s) = 0.5 \times 8 + 0.3 \times 4 + 0.2 \times 0 = 4 + 1.2 + 0 = 5.2

  • イの4.0は、確率を考えずに 8、4、0 を単純に平均した値です。
  • ウの12.0は、確率を掛けずに行動価値をすべて足した値です。
  • エの8.0は、行動価値の最大値です。最大値を取るのは、後で説明する最適な場合の考え方です。方策 π に従う場合は、確率で重み付けした平均を取ります。

行動価値が分かると最適な行動が選べる

行動価値関数が強化学習で重視される理由は、行動価値が分かれば、どの行動を選べばよいかがすぐに分かるからです。

最適行動価値関数

第2回の最適状態価値関数と同じく、すべての方策の中で最も大きい行動価値を、最適行動価値関数と呼びます。

Q^{*}(s, a) = \max_{\pi} Q^{\pi}(s, a)

右肩の π が * に変わっています。「星(*)が付いたら一番星」の考え方は、ここでも同じです。

最適な行動の選び方

最適行動価値関数が分かっていれば、各状態で行動価値が最も大きい行動を選ぶだけで、最適な方策になります。

\pi^{*}(s) = \arg\max_{a} Q^{*}(s, a)

argmax(アーグマックス)は、「値を最大にする a そのもの」を返す記号です。max が「最大の値」を返すのに対して、argmax は「最大になる場所」を返します。

記号返すもの例:Q(s, a_1) = 10, Q(s, a_2) = 2 のとき
max最大の値10
argmax最大になる行動a_1(左に進む)

語呂合わせ5:Qがあれば、迷わず一番の手

状態価値 V だけでは、「この局面は有利」と分かっても、次にどの手を指せばよいかは分かりません。次の手を決めるには、それぞれの手を指した後にどの局面に移るかを知る必要があるからです。

一方、行動価値 Q があれば、行動ごとの価値を比べて、一番大きいものを選ぶだけで済みます。

覚え方は「Qがあれば、迷わず一番の手」です。

Q学習やDQNが、状態価値 V ではなく行動価値 Q を学習するのはこのためです。環境の仕組み(どの行動でどの状態に移るか)を知らなくても、Q を比べるだけで行動を決められます。

最適な場合の V と Q の関係

最適な方策では、一番良い行動を確率1で選びます。そのため、関係式の「確率で重み付けした平均」は「最大値」に変わります。

V^{*}(s) = \max_{a} Q^{*}(s, a)

方策 π に従う場合は「平均」、最適な場合は「最大」です。この違いは第5回のベルマン最適方程式でも登場するので、ここで押さえておきましょう。

練習問題4

状態 s での最適行動価値が、Q^{*}(s, a_1) = 3、Q^{*}(s, a_2) = 7、Q^{*}(s, a_3) = 5 であるとします。最適状態価値 V^{*}(s) と、最適な行動をそれぞれ答えてください。

練習問題4の解答と解説

最適状態価値は 7、最適な行動は a_2 です。

  • 最適状態価値は、行動価値の最大値なので max を使います。3、7、5 のうち最大の 7 です。
  • 最適な行動は、行動価値を最大にする行動なので argmax を使います。7 を与える a_2 です。

「値を聞かれたら max、行動を聞かれたら argmax」と区別して答えましょう。

練習問題5

行動価値関数について、適切でないものを選んでください。

  • ア:Q学習やDQNの「Q」は、行動価値関数を表している
  • イ:最適行動価値が分かれば、argmax で最適な行動を選べる
  • ウ:方策 π に従うとき、V は Q の最大値と常に一致する
  • エ:同じ状態でも、選ぶ行動によって Q の値は変わりうる

練習問題5の解答と解説

正解はウです。

方策 π に従う場合、状態価値は行動価値を方策の確率で重み付けした平均です。最大値と一致するのは、最適な方策の場合に限られます。

  • アは正しい説明です。Q学習もDQNも、行動価値関数を学習する手法です。
  • イは正しい説明です。最適な方策は、最適行動価値を最大にする行動を選ぶ方策です。
  • エは正しい説明です。行動価値は、状態と行動の組み合わせごとに決まります。

行動価値を表で表すとQテーブルになる

状態と行動の数が少ない場合、行動価値は表の形で整理できます。この表をQテーブルと呼びます。

状態行動 a_1(左)行動 a_2(右)
s_1102
s_236
s_300

この表が最適行動価値を表しているとすると、最適な行動は次のように読み取れます。

  • 状態 s_1 では、左(10)の方が大きいので左を選ぶ
  • 状態 s_2 では、右(6)の方が大きいので右を選ぶ
  • 状態 s_3 は、どちらも 0 なので終端状態と考えられる

第8回で学ぶQ学習は、このQテーブルの値を経験から少しずつ更新していく手法です。また、第9回のDQNは、状態の数が多すぎて表にできない場合に、表の代わりにニューラルネットワークで行動価値を計算する手法です。

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

つまずきやすい点正しい理解
行動 a をずっと選び続けると考える行動 a を決め打ちするのは最初の1回だけ。その後は方策 π に従う
Q の右肩の π を書き忘れる2回目以降の行動は方策 π が決めるため、Q も π によって変わる
縦棒の右に A_t = a だけを書く縦棒の右は S_t = s と A_t = a の2つ
π(a|s) の a と s を逆に書く状態を見てから行動する。だから縦棒の右は状態 s
方策 π に従うときも V を Q の最大値とする方策 π に従うときは確率で重み付けした平均。最大値になるのは最適な場合だけ
max と argmax を混同するmax は最大の値、argmax は最大になる行動を返す

白紙に書いて確認しよう

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

  1. 行動価値関数の式
  2. 状態価値関数と行動価値関数の関係式
  3. 最適行動価値関数の式
  4. 最適な行動を選ぶ式(argmax を使った式)
  5. 最適な場合の V と Q の関係式

あわせて、第1回の割引収益と第2回の状態価値関数の式も書いてみましょう。3つの式を順番に並べると、「G を平均すると V、条件に a を足すと Q」というつながりが見えてきます。

まとめ

  • 行動価値関数は、状態 s で最初に行動 a を選び、その後は方策 π に従ったときの割引収益の期待値です
  • Vは場所だけ、Qは場所と一手。式は、縦棒の右にエーを足すだけです
  • 状態価値は、行動価値を方策の確率で重み付けした平均です。ブイサインで、パイキュー(サンキュー)と覚えます
  • π(a|s) は、状態を見てから行動するので、縦棒の右が状態 s です
  • 最適な行動は argmax で選びます。Qがあれば、迷わず一番の手です
  • 方策 π に従うときは「平均」、最適な場合は「最大」です

次回は、今回までに学んだ割引収益、状態価値関数、行動価値関数を組み合わせた「ベルマン期待方程式」を取り上げます。強化学習の数式の中でも特に重要な式です。第1回の再帰形「じいさんは、ある我慢じいさん」も登場するので、あわせて復習しておいてください。

投稿者プロフィール

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

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