この記事は日経Robotics 有料購読者向けの記事ですが
日経Robotics デジタル版(電子版)』のサービス開始を記念して、特別に誰でも閲覧できるようにしています。
本記事はロボットとAI技術の専門誌『日経Robotics』のデジタル版です
著者の岡野原大輔氏
著者の岡野原大輔氏

 強化学習は、人間や動物の学習を参考にして作られた技術である。次のような問題を解くために使う。「学習の主体であるエージェントは、時刻ごとに環境から状態sを受け取り、行動aを取り、エージェントが選んだ行動に依存して報酬rおよび次の時刻の状態s’が決まる」。強化学習の目標は、将来にわたっての報酬を最大化するような行動を選ぶ方法を獲得することにある。

 例えば、ラジコンカーを学習によって自律的に走らせる場合を考えてみよう。ラジコンカーはカメラやレーダなどセンサから環境の状態を得て、ハンドルを切るか、アクセルを踏むかといった行動を決める。そして、目的地に早く到達した場合に正の報酬を、ぶつかったり止まったりした場合に負の報酬を受け取る。この場合、強化学習を用いることで、ラジコンカーは将来にわたっての報酬を最大化、つまりぶつかったり止まったりせずに、早く目的地に到達するような行動を獲得できるようになる。

教師信号は与えられない

 強化学習は機械学習の一種であるが、次の2つの特徴がある。1つは、教師あり学習と異なり、ある状態ではどの行動を取るのが正解というような教師信号は手に入らない点である。このため、どの行動を取るべきか学習するには実際にその行動を取ってみて、環境からのフィードバックを得るしかない。

 もう1つの特徴は、エージェントは逐次的に行動を選択し、報酬をもらうという点である。これら行動と報酬の間には時間差があるかもしれない。例えば、ある時刻にブレーキを踏むことはその時点では負の報酬をもらうかもしれないが、その後のコーナーをより速く回ることができれば、将来、より大きな報酬を得ることができるだろう。

 後者の特徴は「信用割り当て」と呼ばれる問題と関係がある。報酬を最大化するように行動を修正するには、ある報酬がどの時刻のどの行動と関係したのかを知る必要がある。第1回で紹介した「NTM(Neural Turing Machine)」のように、近年のディープニューラルネットワーク(DNN)は信用割り当て問題をアテンションの仕組みを用いて解いていた。強化学習では、アテンションの代わりにQ学習によって信用割り当てを非明示的に解いている。

 強化学習は教師あり学習と比べてシステム設計者には優しく、学習システムには厳しい問題設定になっている。システム設計者は正しい行動は何かを考えることや、正解データを作る必要はない。望ましい状態、望ましくない状態は何かを考え、それらに対する報酬を設計するだけでよい。

行動価値関数をニューラルネットでモデル化

 強化学習のエージェントは、方策(ポリシー)πと呼ばれる状態sから行動aへの関数π: s→aを学習を通じて獲得する。この方策は決定的な場合と確率的な場合がある。将来の期待報酬は行動価値関数Qπ(s,a)によって表される。これは、状態sにおいて行動aを取り、その後は方策πを取った時に受け取る期待報酬である。環境は、状態遷移と報酬が現在時刻の状態と行動のみに依存するマルコフ決定過程であるとする。このとき、最適行動価値関数Q*(s,a)=maxπQπ(s,a)について次のベルマン方程式が成り立つ。

ただし、rは状態sで行動aを取った時にもらえる報酬値、0<γ<1は割引率、s'は状態sの時に行動aをとった時の次の状態である。この右辺を目標値と呼ぶことにする。

 この行動価値関数を何らかの関数でモデル化し、学習により獲得することを考える。例えば、ニューラルネットワークでモデル化し、Q(s,a;θ)で表したとする。ただし、θはニューラルネットワークを特徴付けるパラメータである。このとき、Q学習と呼ばれる方法はQを目標値に合わせるように学習することでQを学習する。

2つの工夫で非線形モデルを利用可能に

 ニューラルネットワークのような非線形モデルを行動価値関数のモデル化に利用する試みは、値が収束せずに振動したり、発散したりするケースが多いことが知られている。

 米グーグルのDeep Mindが提唱した「Deep Q-Learning Network(DQN)」1)は2つの工夫を加えることで学習に成功した。1つは、Experience Replayである。Experience Replayはエージェントが取った行動を一定期間Replay Memoryに保存し、学習時にはReplay Memoryからランダムにサンプルを取得し、それらに対して最適化を行う。オンラインQ学習においてReplay Memoryを使わず、連続する時刻を対象に学習する場合、サンプル間に相関があり、学習が非効率なだけではなく、データの分布が大きく偏っているため、学習が発散する可能性が高くなってしまう。

 2つ目の工夫は、学習時に目標値を計算するために使用するパラメータは一定期間ごとに更新し、一定期間内は固定にしておく工夫である(上記式内のθ)。通常のオンラインQ学習のように学習時に目標値も動いた場合は、学習が安定しない。例えば、1回目の更新で目標値がハンドルを左に切るようにパラメータが更新され、次はハンドルを右に切るようにパラメータが更新されるといったように、目標値の振動が起こってしまう。

 これら2つの工夫により、強力なニューラルネットワークを行動価値関数のモデル化に利用できるようになった。複雑な状態、例えば画像のように数万次元ある場合でも学習することができるようになった。

 DQNの研究では、「Atari 2600」と呼ばれる家庭用ゲーム機に対して強化学習を適用している。ビデオゲームを強化学習の対象とするのは、(学習に使わないとしても)状況が全て把握でき、問題の複雑さや多様性が適当であり、大量のシミュレーションができるためである。

 ゲームの画面自体を入力(ゲーム内部の状態ではなく、表示している画素値を入力とする)、ゲームの操作を行動、スコアを報酬とした。49種類のゲームに対し単一の学習システムで既存手法を凌駕した。特に反射神経を要するようなタスクにおいては、かなり上手な人間のゲームプレーヤーのスコアを上回っている。

 一方で限界も見えている。「Montezuma's revenge」と呼ばれるゲームのスコアは0、つまり全くプレーできていない。実際にプレーしてみると分かるが、このゲームではプレーヤーはRPGのように数画面分移動し、鍵を取得し、別の場所でその鍵を使ってドアを開けるといった問題を解く必要がある。単純な条件反射のような問題ではなく、問題を分割し、それらの進捗を記憶する必要がある。例えば、ドアを開くには鍵が必要、鍵を見つけるには別の画面に移動しなければいけない、などである。それらに加え「鍵は取得するもの、それはドアで使うもの」といった、試行錯誤では容易には得られない事前知識が必要である。

 こうした課題を解くには、新しい種類の報酬が必要になるかもしれない。例えば、新しい知識を得ること自体に報酬を与えたり、自分の知識を他のエージェントに教えたり、または教えてもらった場合に報酬を与えるといった具合である。ここまで来ると、人間や動物の本能などが参考になるかもしれない。

 強化学習をロボットの制御に適用する場合には、制御値が連続値であることが問題となる。前述のDQNを行動が連続値の場合に拡張した手法が提案されている2)。最近の強化学習の進展については参考文献3)に詳しい。

1)V. Mnihk, et. al., "Human-level control through deep reinforcement learning," Nature, 2015
2)T. Lillicrap, et. al., "Continous control with deep reinforcement learning," http://arxiv.org/abs/1509.02971
3)M. Littman, et. al., "Reinforcement learning improves behaviour from evaluative feedback," Nature review, 2015
岡野原 大輔(おかのはら・だいすけ)
Preferred Networks 取締役副社長
岡野原 大輔2006年にPreferred Infrastructureを共同創業。2010年、東京大学大学院博士課程修了。博士(情報理工学)。未踏ソフト創造事業スーパークリエータ認定。東京大学総長賞。
出典:2015年11月号 pp.30-31 日経Robotics
記事は執筆時の情報に基づいており、現在では異なる場合があります。