使わない会社は負けます。深層強化学習の最先端

使わない会社は負けます。深層強化学習の最先端

今回紹介するのは、来年の国際学会に向けて現在審査中ではあるものの、強化学習の分野で圧倒的な精度を出し既にかなり注目されている論文です。まさに最先端の技術ですが、わかりやすくお伝えしようと思います。

AI-SCHOLARで本格的な強化学習を扱うのは初めてなので、強化学習とは何なのかについても交えて紹介します。

目次
(1)深層強化学習とは
(2)R2D2
1.DQN
2.分散学習
3.RNNを使った記憶の再生
4.Burn-in
5.結果

(3)一体何に使えるのか

(4)まとめ


(1)深層強化学習とは

BreakOutというゲームをご存知でしょうか。(こちらのサイトからWeb上でプレイできます。)

30点とれたら中々上手い方です。が、最新の新装強化学習AI、『R2D2』は、なんと軽く人間の20倍以上のスコアを叩き出してしまいます。

強化学習というのは、まさにゲームのように「自分が何かをすると周りで何かが起こり、そして報酬やスコアなどで評価される」というような問題設定のもとで評価を最大化するような手法を指します。それにディープラーニングを用いてさらに賢くするのが深層強化学習です。

深層強化学習はAIの1分野に過ぎないと思われるかもしれませんが、『行動する→何かが起こる→評価される』と定式化できる問題なら何でも扱えるというその問題設定の守備範囲の広さ故に、非常に多岐に渡る事業での活用が期待されている分野でもあります。(これについては (3)一体何に使えるのか で後述します。)

強化学習はAI界隈で熱い分野ですが、一般的にその性能の高さはBreakOutを含む『Atari 2600シリーズ』の全57ゲームでのスコアで、AI同士、あるいはAIと人間で比較評価されます。

さて、今回紹介する『R2D2』というこの論文で提案された最新の深層強化学習手法ですが、どのくらいすごいかと言うと(個人的には人間の将来に悲観的になるのを通り越して絶望まで感じるレベルですが)、Atari 57タイトルそれぞれのスコアを人間の一般的なプレイと比較して、なんと平均 3525.4% 、中央値にして 1304.9% のスコアを出しました(図のR2D2 72h)。

しかもこれは事前知識など全くない状態から、つまり「ドア」「鍵」「はしご」「穴」など、人間なら知っていて当たり前のモノやそれの意味を全く知らないまるで生まれたての赤ん坊のような状態からたったの3日で人間を圧倒しているのでとても凄いことです。

とはいえこのスコアは、数学的に賢いアルゴリズムに基づいて学習を繰り返し出た、必然的な結果であることも確かです。ここからは『R2D2』の、その当然といえば当然とも思われるような理にかなった中身について、簡単に紹介していきたいと思います。

(2)R2D2

1.DQN

実は基本的な部分は、2015年に人々に改めてディープラーニングの可能性に気づかせるきっかけとなった この動画 から変わっていません。

この動画のAIは『DQN』と呼ばれています。その構造は以下の図に示されるように、「現在の画像を見て次に取るべき行動を予測する」というもので、とても単純です。そしてAIはゲームをプレイする中で、自分の行動によってどのくらい自分にとって良い状態・有利な状態になるかを常に予測し、その予測が当たるように自分の行動の評価方法を調整し賢くなります。

(ここで既に気づいた方もいらっしゃるかと思いますが、『R2D2』のすごい点は実はBreakOutで圧倒的なスコアを出せるようになったことではありません。真の性能はストーリー性があったり特殊な役割を持つアイテムが出現したりする複雑なゲームで発揮され、今までのAIがクリアできなかったタイトルでもかなり良いスコアが出せるようになった点に特に注目されています。)

R2D2ではDQNをベースに、主に「分散学習」と「RNNを使った記憶の再生」、そして「Burn-in」、この3つを組み合わせることで強化されています。

2.分散学習

こちらは2018年春の時点で最強の深層強化学習手法であったApexなどでも使われていた手法です。

普通人は、1人用のゲームは1人でプレイし自分自身のプレイに磨きをかけます。AIも1人(1スレッド)でゲームをプレイし自分自身を調整することが当たり前でしたが、この手法では、Learnerと呼ばれる親方がActorと呼ばれる多数の子方にゲームをプレイさせ、子方の経験をすべて使って親方が良い行動を学習します。こうすることでいろいろなゲームの場面を大量に見て、一般的に良い行動のとり方というのを学習することができます。(図のReplayというのは子方が自分の経験を保存しておくためのただのメモリです。)

親方は一定量の記録が貯まると学習を行い、子方に良い行動の仕方を教えます。これを繰り返すことで少しづつ子方のプレイがうまくなり、ゲームをより先の方までプレイしたり、より高いスコアを安定して取れるようになっていきます。

3.RNNを使った記憶の再生

こちらも既存研究(DRQN等)で使われていましたが、発想はとても単純で重要なものとなっています。

http://colah.github.io/posts/2015-08-Understanding-LSTMs/

RNNというのはご存じの方も多いと思いますが、時系列情報を扱うのが得意なニューラルネットです。従来のDQNでは、現在の画像(厳密には直近4フレームの画像)だけを見て良い行動を予測していました。しかし、例えば「鍵」を拾ってから「ドア」に向かわなければならないゲームでは、昔に鍵を拾ったかどうかを覚えるすべがないため当然ながらうまく学習できませんでした。そこでRNNを使って、昔の状態も考慮しながら次の行動を推論できるようにしています。

4.Burn-in

論文の新規性はここにあります。分散学習時に親方は、昔の子方の行動を集計して良い行動の予測の仕方を学習しますが、その際に一旦子方のプレイを最初から見直してみて、親方自身だったらこういう風に行動するだろうというのを予測し直してから学習するというものです。RNNと分散学習の特性上、Replayメモリに保存されている古い子方の経験を使うと悪い方に学習が進むことがあったのですが、burn-inを用いることで安定してRNNを使うことができるようになり、結果として長期的な戦略を必要とするゲームでも十分にプレイすることが可能となりました。

Burn-inとは日本語では「通電」を指し、使う前に一旦試してみるということを意味します。(確率論の専門用語でもあります。)これが今、深層強化学習でかなりホットな話題と言えるでしょう。

5.結果

R2D2を使って57ゲームそれぞれを学習させた結果、多くのゲームで人間を圧倒するスコアを出しました。しかし実はあと5つ人間に及ばないタイトルもあり、代表的なのがモンテズマリベンジです。こちらからプレイできます。

このゲームは、ルールを教えてもらえないと人間でもなかなかゲームの趣旨が理解できない上、かなり繊細な操作が必要でとても難しいのですが、研究者たちはこれら残りの5タイトルもクリアできるようなAIの開発に精力的に取り組んでいるそうです。

(3) 強化学習は一体何に使えるのか

(1) 強化学習とは?でも紹介しましたが、強化学習は、『行動する→何かが起こる→評価される』と定式化できる問題なら何でも扱えます。

簡単な例だと、「空調の制御」が上げられます。AI搭載のエアコンでは、出力をあげるか下げるかという行動を、維持したい設定温度と現在の温度分布という状態から賢く判断できます。「室温が設定温度よりも上がり始めたから下げるようにパワーをあげよう」というような制御方法は古いものとなってきています。

もう一つよく上げられる例としては自動運転があります。ぶつからないように、また数秒先も車間距離を保ちレーンの中央にいるように、と少し先のことも考えながら車を制御するには、強化学習が適切な手法であると言えます。

コンビニでの、「ある商品の発注量の最適化」はどうでしょうか。現時点での売れ残り、気象情報、周辺地域でのイベント情報などを元に、利益の最大化を強化学習を用いて考えることができるでしょう。同様に、「ある商品の価格設定の最適化」も強化学習を用いて考えることができるかもしれません。

強化学習は実にいろいろな場面で使えるのです。

ここで大事なことが2つあります。

『R2D2』がAtariのそれぞれのゲームに特化させることなく高い性能を発揮していることからわかるように、強化学習手法はその汎化性の高さに定評があります。つまり、一旦コンビニの商品の発注量の制御に使えるAIを作ってしまえば、他の商品、他の店舗でも同様に高い性能を発揮すると期待できます。

次に、深層強化学習手法が毎年・毎月進化しており、Atariのスコアも次々にヒトのレベルを超えていたという事実について考えてみます。このことから、コンピュータによる自動化が可能な場合には、それを使わないとほぼ確実に人間は負けてしまうということが言えるでしょう。今は強化学習はごく限られた人にしか自在に扱うことはできていませんが、次第に普及してきた時、AIを使っていないとあっさり競合に引けを取ってしまう時代が容易に想像されます。

と、強化学習の可能性を紹介しましたが、実際には強化学習手法を使う際には多くのデータが必要になってくるためデータの収集がネックになることが多いと思われます。今は将来的な需要を見据えてデータを集めることが大事になってくるといえるでしょう。

(4)まとめ

深層強化学習とその最新モデル『R2D2』について紹介しました。

その性能の高さと秘められた可能性について少しでも共感していただけたら幸いです。
深層強化学習はAI研究者の中でも研究開発が特に盛んな分野となっており、その発展が大いに期待されています。最新の手法が登場しましたらまた記事にして紹介させていただこうと思いますので、ぜひAI-SHOLARのフォローをよろしくお願いします。

twitter:https://twitter.com/ai_scholar
Facebook:https://www.facebook.com/aischolar/

Recurrent Experience Replay in Distributed Reinforcement Learning

ライター:東京大学 学生