デイビッド・シルバーのUCL強化学習講義をたどるシリーズの第1講だ。スライドの順序をそのまま追い、強化学習という問題そのものをまず定義する。

講義スライド: PDF

強化学習のさまざまな顔

強化学習を機械学習の一手法くらいに捉えがちだが、シルバーは講義をその反対側から開く。強化学習とは、はるかに古く広い問い、すなわち「時間をまたいでよい決定をどう下すか」に、計算機科学がつけた名前にすぎない、というのだ。

同じ問いが、多くの学問でそれぞれの名前のもとに繰り返される。

  • 計算機科学では機械学習。
  • 工学では最適制御(optimal control)。
  • 神経科学では脳の報酬システム、すなわちドーパミン信号。
  • 心理学では古典的条件づけと道具的条件づけ。
  • 数学ではオペレーションズ・リサーチ(operations research)。
  • 経済学では限定合理性とゲーム理論。

シルバーのスライドは、これらの分野を、強化学習を中心に据えた車輪のスポークのように描く。異なる街から出発した人々が、結局は同じ問題、すなわち意思決定の科学の前に集まる図だ。強化学習がとりわけ根本的に感じられる理由がここにある。新たに発明された技巧ではなく、いくつもの学問がめいめいに巡っていた古い問いを、一箇所に立たせたものだからだ。

強化学習は何が違うのか

教師あり学習と比べると、強化学習には欠けているものが多い。

  • 正解を教える指導者がいない。あるのは報酬(reward)信号だけだ。
  • フィードバックが即座ではなく遅延する。今の選択がずっと後になって結果として返ってくる。
  • データが独立でない。時間順序のある逐次的データだ。
  • エージェントの行動が、その後受け取るデータを変える。

つまり強化学習は、正解を当てる問題ではなく、試行錯誤のなかでよい行動を探っていく問題だ。

報酬、そして報酬仮説

報酬 $R_t$ は、各時点でエージェントがどれだけうまくやっているかを教えるスカラー信号だ。強化学習の目標は単純である。累積報酬を最大にすること。

これを一文で言い切ったのが報酬仮説だ。「すべての目標は、期待累積報酬の最大化として表せる」。ゲームの勝利であれロボットの歩行であれ、まったく異なって見える目標が、すべて一つの報酬信号へ翻訳されるという主張だ。

報酬が遅延するという点も核心だ。目先の報酬をあきらめ、遠い未来のより大きな報酬を選ばねばならないことが多い。

例:目標を報酬に移す

報酬仮説は空虚に聞こえかねないので、シルバーが挙げた例を、報酬設計の目で一つずつ見よう。まったく異なって見える目標が、どのように一つの報酬へと移されるかが核心だ。

  • ヘリコプターのアクロバット飛行:望む軌道に沿うほど+、墜落すれば大きな−。各瞬間の軌道誤差から密な報酬を与えられるので、学習は比較的たやすい。
  • バックギャモンの世界チャンピオンに勝つ:勝てば+1、負ければ−1、それ以外は0。報酬がゲーム終了時にしか出ない遅延・希薄な報酬なので、どの手が勝利に寄与したかをたどる信用割り当てが難しい。
  • 投資ポートフォリオの運用:各時点で増えた残高だけ+。即座で自然な報酬だが、リスクを織り込まないとエージェントは博打に近い戦略へ流れる。報酬に何を落としたかが問題になる箇所だ。
  • 発電所の制御:電力を生産すれば+、安全限界を超えれば−。目標は一つではなく、性能と安全を一つの報酬のなかで秤にかけねばならない。制約を負の報酬へ溶かし込む、ありふれた設計だ。
  • ヒューマノイドロボットの歩行:前へ進めば+、倒れれば−。単純に見えるが、「前へ」にだけ大きな報酬を与えると、前へ倒れ込む形で報酬を悪用しやすい。報酬設計の落とし穴(reward shaping)がよく表れる例だ。
  • アタリのゲームを人より上手くやる:スコアが上がれば+、下がれば−。すでにあるゲームスコアをそのまま使える便利さがあるが、スコアが真の目標とずれると、スコアだけを食い荒らす行動が出ることもある。

バックギャモンの盤

バックギャモン。二人がサイコロを振り、それぞれ15個の駒を反対方向に動かし、先に全部盤から抜き出せば勝ちとなる二人用ボードゲームだ。勝敗が最後にしか決まらないので、報酬が遅延する。(写真: Ptkfgs、パブリックドメイン)

六つを貫く教訓はこうだ。強化学習で最も創造的で最も危険な仕事は、学習アルゴリズムではなく報酬を定めることだ。目標を誤って翻訳すれば、エージェントは、私たちが望んだものではなく、私たちが書き記したものを完璧に達成する。

余談だが、リストの最後のアタリはシルバーにとって他人事ではなかった。「ピクセルとスコアだけを見て、複数のゲームを人より上手くやる」というその結果こそ、シルバーが身を置いたディープマインドのDQN(Deep Q-Network)研究だ。2013年のワークショップ論文と2015年のネイチャー論文として発表され、一つのニューラルネットワークが、ゲームごとにルールを学び直すことなく、生の画面とスコアだけで数十のアタリゲームを習得した。このデモは、2014年にグーグルがディープマインドを買収させた場面としてしばしば挙げられる。だからシルバーが第1講でこの例を挙げるとき、彼は、深層強化学習を世に知らしめた自チームの結果をそっと指しているわけだ。このDQNが第6講の価値関数近似であり、その系譜が第10講のアルファ碁へとつながる。

エージェントと環境、そして状態

各時点 $t$ でエージェントは行動 $A_t$ をとり、環境は観測 $O_t$ と報酬 $R_t$ を返す。このやり取りを最初からずっとつなぎ合わせた記録がヒストリーだ。

$$H_t = O_1, R_1, A_1, \dots, A_{t-1}, O_t, R_t$$

観測と報酬だけでなく、エージェント自身の過去の行動($A$たち)まですべて収まった、いわばロボットの感覚・運動ストリーム全体だ。次に何が起こるかは、このヒストリーにかかっている。

だがヒストリー全体を毎回持ち歩くわけにはいかない。次の決定に必要な情報だけを絞った要約が状態であり、ヒストリーの関数として定義される:$S_t = f(H_t)$。ここで重要なのは、$f$ をどう取るかが設計者の選択だという点だ。

ここで観測と状態を区別しておく必要がある。観測 $O_t$ は、その瞬間にエージェントが受け取った生の一場面だ。状態 $S_t$ は、その一場面ではなく、これまでのヒストリーを絞り込み、次の決定に使う情報だ。観測一枚がそのまま状態になる場合はまれである。ゲーム画面の一フレームだけを見てもボールがどこへ動くかすらわからないように、たいていは複数の観測を編んで状態になる。観測がすなわち状態であるのは、後で見る完全観測という特殊な場合だけだ。

三つの状態

同じ状況を三つの観点から見る。

  • 環境状態 $S^e_t$:環境が内に抱える表現。次の観測と報酬を定めるのに環境が実際に使うデータだ。ふつうエージェントには見えず、たとえ見えたとしても、決定に無関係な情報がどっさり混じっていることがある。
  • エージェント状態 $S^a_t$:エージェントが次の行動を選ぶのに使う内部表現。強化学習アルゴリズムが実際につかむのはこれだ。ヒストリーの関数でありさえすれば何であってもよい:$S^a_t = f(H_t)$。
  • 情報状態(マルコフ状態):ヒストリーから役に立つ情報を余さず収めた状態。

環境状態とエージェント状態の違いは、古典的なゲームエミュレータを思い浮かべると鮮明だ。エミュレータの中には、その瞬間のゲームを完全に決定するメモリ(RAM)がある。敵の座標、残りの命、画面に現れない内部変数まですべて。これが環境状態であり、ゲームが次に何をするかは、まったくもってここにかかっている。一方、人やエージェントが実際に見るのは画面のピクセルだけだ。ピクセルはそのメモリが落とす影なので、画面だけでは隠れた変数をすべて復元できない。その画面からエージェントが自ら絞り上げたものがエージェント状態だ。だから画面だけを見るなら部分観測であり、エミュレータのメモリをまるごと読めるなら完全観測だ。先に出たアタリDQNは、まさにこの部分観測の側に立ち、ピクセルだけを見て複数のフレームを重ねて自らの状態を作る。

マルコフ状態はこの条件を満たす。

$$\mathbb{P}[S_{t+1} \mid S_t] = \mathbb{P}[S_{t+1} \mid S_1, \dots, S_t]$$

今の状態だけを知れば、過去全体を知るときと未来予測が同じになる、という意味だ。状態が未来の十分統計量なので、いったん状態を知ればヒストリーは捨ててよい。環境状態とヒストリーそれ自体は、つねにマルコフだ。

囲碁がよい例だ。今の盤上の石の配置さえあれば次の手を定めるのに十分で、どんな順序でその配置に至ったかは関係ない。だから碁盤の現在の状態はマルコフ状態だ。(厳密には劫のような反復禁止のルールのために多少の履歴が要るが、大きな絵では今の盤がすなわち状態だ。)

ヒストリーから状態を取り出す:ネズミの実験

状態をどう定義するかがなぜ重要かを、シルバーのネズミの例がよく示す。ネズミの前で明かりとベルが点き、ネズミがレバーを押すことが、ある順序で続いていき、最後にチーズ(良い)か電気ショック(悪い)が来る。まったく同じヒストリーを前にしても、状態をどう取るかによって予測が分かれる。

  • 状態 = 最後の三項目、なら?
  • 状態 = 明かり・ベル・レバーそれぞれが出た回数、なら?
  • 状態 = 全体の順序まるごと、なら?

三つは互いに異なる未来を差し出す。ある表現ではチーズが、別の表現ではショックが予測されうる。強化学習では「状態をどう定義するか」がすなわち「何を予測できるか」を定める。よい状態表現を見つけること自体が、問題の半分というわけだ。

ここにもう一つが絡む。ヒストリーには、ネズミが見たもの(明かり、ベル)だけでなく、ネズミがしたこと(レバー押し)も入っている。状態を取り出すとき、この過去の行動を収めるか捨てるかも設計の一部だ。「最後の三項目」にレバー押しが入れば、状態は自らの行動の記憶を抱えることになり、回数だけを数えるなら順序情報を捨てることになる。たいてい過去の行動は未来を見積もるのに役立つので、状態にともに入れる。

完全観測と部分観測

環境をどれだけ見られるかが、二つの世界を分ける。

完全観測は、エージェントが環境状態をそのまま見る場合だ。観測 = エージェント状態 = 環境状態 = マルコフ状態であり、これが次講の主役であるマルコフ決定過程(MDP)だ。囲碁がそうだ。盤全体が二人ともに見えている。

部分観測は、エージェントが環境を間接的にしか見られない場合だ。ポーカーでは相手の手札が隠れており、私が見るもの(自分の手札、場のカード、ベットの記録)は実際の局面の一部にすぎない。カメラ一つで世界を見るロボットや、現在の相場だけを見るトレーディングエージェントも同じだ。いまやエージェント状態と環境状態が分かれ、これを部分観測マルコフ決定過程(POMDP)と呼ぶ。エージェントは隠れたものを埋め、自ら状態を作り上げねばならない。方法はいくつもある。ヒストリーをまるごと使うか、環境状態についての信念(確率分布)を保つか、リカレントニューラルネットワークで過去を要約するか。

エージェントを構成する三つの部品

強化学習エージェントは、次の三つの一部またはすべてから成る。

  • 方策(policy)$\pi$:状態から行動へ向かう規則。決定的なら $a = \pi(s)$、確率的なら $\pi(a \mid s) = \mathbb{P}[A_t = a \mid S_t = s]$。
  • 価値関数(value function):ある状態がこの先どれだけ良いかを評価する関数。未来報酬の期待和だ。
$$v_\pi(s) = \mathbb{E}_\pi\left[ R_{t+1} + \gamma R_{t+2} + \gamma^2 R_{t+3} + \cdots \mid S_t = s \right]$$

ここで $\gamma \in [0,1]$ は、遠い未来をどれだけ割り引いて見るかを定める割引率だ。

  • モデル(model):環境がどう動くかについてのエージェントの予測。次の状態を見通す遷移 $\mathcal{P}$ と、次の報酬を見通す $\mathcal{R}$ から成る。

この三つをどう備えるかで、エージェントを分ける。価値関数だけを使えば価値ベース、方策だけを使えば方策ベース、両方を使えばactor-criticだ。環境モデルを使わなければモデルフリー、モデルを立てて計画すればモデルベースだ。

シルバーはこの三つを、一つの迷路に描いて見せる。同じ迷路を前に、方策は各マスからどこへ行くかを矢印で、価値関数は各マスが目標にどれだけ近いかを数字で、モデルはマスがどうつながり各マスの報酬がいくらかで表される。一つの問題を三つの仕方で描いたわけだ。

強化学習の三つの根本的な問い

講義は、強化学習を貫く三対の区分で締めくくられる。

  • 学習 vs 計画:環境を知らないまま相互作用で学ぶのか(学習)、それとも環境モデルを知り、頭の中で転がして答えを見つけるのか(計画)。
  • 探索 vs 活用:新しいものを試して情報を得るのか(探索)、これまで知る最善を取るのか(活用)。この均衡が強化学習を難しくする核心だ。
  • 予測 vs 制御:与えられた方策がどれだけ良いかを評価する問題(予測)と、最も良い方策を見つける問題(制御)。

シルバーはアタリで学習と計画を対比する。学習の側はゲームのルールも知らないまま自ら遊び、スコアという報酬だけで方策を直していく。計画の側はエミュレータという完璧なモデルが手にあるとみなし、実際に操作せずとも「このボタンを押せばどうなるか」をそのモデルの中で前もって転がし、最善の手を見つける。先のエミュレータの話がここで再び登場するわけだ。

次講からは、この問題を数学的に扱うための枠組み、マルコフ決定過程(MDP)に入る。