『日経Robotics デジタル版(電子版)』のサービス開始を記念して、特別に誰でも閲覧できるようにしています。
強化学習は学習ベースの制御を実現し、囲碁のトップ棋士を破ったAlphaGoを代表的な事例として、ロボティクス、自動運転、金融、医療/ヘルスケア(処置の判断)など幅広い分野で成果を収めている。
一方で強化学習は学習中に環境との相互作用(試行錯誤)を必要とするため、その実現のハードルが高かった。本稿では、過去に取得した経験データのみを利用し、環境と新たな相互作用を必要とせずに強化学習を実現するオフライン強化学習について紹介する。
オンライン強化学習の問題点
はじめに、強化学習について簡単に説明する。強化学習は、制御対象であるエージェントとその他の情報を司る環境から構成される。時刻毎にエージェントは現在の状態$s_t$を元に行動$a_t$を決定する。環境は現在の状態と選択された行動から次の状態$s_{t+1}$と報酬$r_{t+1}$を決定する。このプロセスを決められた回数や条件を満たすまで繰り返していく。
エージェントの状態から行動を決定するモデルを方策$\pi(a| s)$とよび、また報酬の合計値$\sum_i r_i$を収益とよぶ。強化学習の目標は収益を最大化するような方策を獲得することである。例えば、壁にぶつからずに走るロボットカーを学習させる場合には、道沿いに速く進んだら正の報酬、ぶつかったら負の報酬を与えるように設定すれば、ぶつからずに道沿いに速く走るような制御が強化学習で獲得できる。
一般に、強化学習では現在の学習途中の方策でエージェントを環境中で動かし経験データ$\{(s_t, a_t, s_{t+1},r_{t+1})\}_{t=1}^N$を集積し、この経験データを元に最適な方策を推定する。このような強化学習をオンライン強化学習と呼ぶ。現在強化学習というと、このオンライン強化学習を想定する場合が多い。
しかし、世の中には環境で試行錯誤することが困難だったり不可能である問題が多い。例えば、ミッションクリティカルな自動運転やヘルスケア/医療領域などでは、学習途中のエージェントを使って制御をすることは危険であり許されない。ロボットなどを使った場合でも、試行錯誤の過程においてロボット自身や対象物などを壊してしまう恐れがある。
一方でこれらの問題では、人や別のシステムで経験データが取得されている場合がある。例えば、自動運転や医療/ヘルスケアでは過去に人が実行した経験データが存在し、ロボットなどでも安全が保証された別の方法(人による遠隔操作など)で取得した経験データを集めることができる。目的を達成する対話システムを強化学習で実現させたい場合も、強化学習のエージェントによる試行錯誤を行うのは大変だが、過去の人の会話履歴を収集することは容易である。
このような過去に取得した経験データのみを利用し、新たな環境との相互作用をせずに最適な方策を推定する強化学習をオフライン強化学習(バッチ強化学習とも呼ばれる)と呼ぶ1)。
オフライン強化学習は何が難しいか
オフライン強化学習は魅力的であるにも関わらず実現は難しい。まず、経験データでそもそも網羅できていないような状態や状態行動ペアについては、その時の状態遷移や報酬を推定することは不可能である。この問題は経験データ収集時の探索問題であり重要な問題であるが、今回は取り上げない。
以降では経験データで網羅している範囲内で最適化すること考えていく。この問題自体も難しい。経験データ中の状態/状態行動分布と、現在、学習中の方策における状態/状態行動分布に差があるためである。この問題は分布シフト(distribution shift)とよばれる。教師あり学習においても訓練データと評価データ間の分布が異なる場合に、差がわずかであっても性能が劇的に悪くなってしまうことが知られている。強化学習においても、この分布の差によって、実際とは異なる収益を推定してしまい、誤った最適行動を導き出してしまう。
強化学習には、現在学習中の方策と異なる方策を使い、それによって収集された経験で学習する方策オフ学習も存在する。方策オフ学習の場合、学習中の方策を使って新たな経験データを収集する。これにより、例えば収益評価が一時的に誤って高いと推定しても、そこを実際探索し対応する経験データを集められていけば、実際に得られた報酬を元に誤った収益評価は修正される。
それに対し、オフライン強化学習では新たな経験データを集めることができないため、誤った評価は修正されず、さらに強化学習で使われるベルマン(Bellman)方程式などで更新を繰り返していく度に誤差は蓄積していってしまう。これを防ぐために、後半で述べる不確実性の評価などが重要となる。
重点サンプリングを利用したオフライン強化学習
それではここからオフライン強化学習のアプローチを紹介していく。まず考えられるのは重点サンプリングを利用した手法である。
一般に、目標分布と異なる分布からサンプリングされたデータを使って学習する場合、重点サンプリングを使って、目標分布で期待値をとった値を推定することができる。
例えば、経験データの確率分布が$q(x)$、目標分布が$p(x)$であり、目的関数の$p(x)$での期待値を求めたい場合は、
\[ \mathbb{E}_{x \sim p(x)} \left [ L(x) \right ] = \mathbb{E}_{x \sim q(x)} \left [ \frac{ p(x) } {q(x) } L(x) \right ] \]
のように経験データからのサンプル$x \sim q(x)$を$w(x) := p(x) /q(x)$で重み付けし直すことで、目標分布の期待値を推定できる。この$w(x)$を重みと呼ぶ。オフライン強化学習の場合も$x$を行動状態列($x = [s_1, a_1, s_2, a_2\ldots]$)、現在の方策による分布を目標分布として、重点サンプリングによって現在の方策による期待収益を推定できる。
重点サンプリングの問題点はデータ分布と目標分布が大きく違う場合、推定の分散が非常に大きくなってしまうことである。例えば経験データでほとんど経験したことがないような状態や状態行動ペア($q(x)\simeq 0$)の重みは非常に大きくなってしまう。強化学習ではこの$x$は行動状態列に対応するため$p(x),q(x)$は状態確率、方策確率の積となる。重みはこれら状態確率、方策確率の比の積となり分散も非常に大きくなってしまう。
この問題を防ぐため様々な手法が提案されている。例えば経験データから複数のデータ$x_i$をサンプリングし、それらの重みの和($\sum_iw(x_i)$)で、各重みを正規化したweighted importance samplingはバイアスは生じるが分散をずっと小さくすることができ広く使われている。
また、経験データの分布と目標分布が近い領域のみで最適化することができれば、分散を小さくすることができる。これは、データ収集時に使った方策から大きく離れない範囲でのみで方策を最適化することで実現できる。例えば学習対象の方策とデータ収集時の方策間のKL-ダイバージェンスをペナルティとして目的関数に追加する手法などが提案されている。
一方で方策が近い範囲内で探索するのは、保守的すぎる場合がある。例えばデータ収集時にランダムに行動を選択するような方策を使ったとしよう。この場合、学習対象の方策も同じように様々な行動を確率的に選択するような方策しか選べない。
このように方策が近い範囲内で探すという制約より、学習対象の方策が到達する状態/状態行動が経験データに含まれるように制約する方が良いと考えられる。このアプローチが次に述べる不確実性を考慮した強化学習である。
不確実性を考慮した強化学習
観測数が少ないために生じる推定結果の不確実性をエピステミック不確実性(Epistemic uncertainty)と呼ぶ。エピステミック不確実性は観測数を増やしていくことで小さくできる。以降、不確実性といえばこのエピステミック不確実性を指すとする。
この不確実性はブートストラップアンサンブルを利用して推定することができる。例えば複数のニューラルネットワークを用意し、それぞれに別々の初期値と別々の学習データを使って学習する。これらのニューラルネットワークによる推定結果がばらばらであれば不確実性が高く、一致しているのであれば不確実性が低いといえる。
不確実性が高い状態/状態行動は、それに対応する収益(価値関数)の推定誤差も大きい。強化学習は、収益が最大となるような行動をターゲットとして学習する場合が多く(Q学習など)、不確実性がある場合、常に楽観的な推定をしている行動を選択し、誤った推定結果を使ってしまう。この誤りは更新ごとに別の状態に伝搬していき全体の推定に大きな悪影響をもたらす。
同様にモデルベース強化学習で、環境のダイナミクスを推定している場合、この予測誤差を価値関数が悪用して不当に高い収益を推定してしまう。モデルの予測誤差を価値関数推定器が悪用する現象はmodel exploitationとして知られる。
これを防ぐため、価値関数を推定する際に、不確実性も同時に推定し、不確実性の分を割り引いて評価することで、悪用を防ぐことができる。オフライン強化学習でない問題設定でも、この不確実性を利用した強化学習は有効であることがわかっている2)。
今後の展望
オフライン強化学習は強力な学習パラダイムとなりうる。試行錯誤が不可能な問題に強化学習を適用できるだけでなく、最適化対象のシステムのデータを一度取得さえしておけば、その後のシステム最適化を少ないコストで実現できる。これら収集した経験データのみを使って強化学習をすることができれば、データドリブンの強化学習が実現できる。
教師あり学習では一度作った学習データを何回も再利用して手法を改善していくことができたが、強化学習においても同様に、経験データさえ一度コストをかけて収集さえしておけば、後は何回もそれを再利用して手法を改善していくことができる。
また、研究開発も加速されることが期待される。画像や自然言語処理において教師あり学習が急速に進んだ理由として、教師ありデータセットが既に用意されており、新しいアイデアを試す時にすぐに試すことができたことがあげられる。
それに対し強化学習ではシミュレーションや実環境を準備しなければならず、誰でも気軽に始められるものではなかった。それがオフライン強化学習では世界の誰かがデータ収集さえ行っていて公開さえしてくれれば、残りの研究者はシミュレータや実環境のシステムのセットアップなしに新しいアイデアをすぐ試すことができる3)。
今後、オフライン強化学習の発展とともに、強化学習が適用できる問題が広がることが期待される。
2)K. Lee et al.,“SUNRISE: A Simple Unified Framework for Ensemble Learning in Deep Reinforcement Learning,” https://arxiv.org/abs/2007.04938
3)J. Fu et al., “D4RL: Datasets for Deep Data-Driven Reinforcement Learning,” https://sites.google.com/view/d4rl/home
Preferred Networks 代表取締役 最高執行責任者
