20170212220249

強化学習〜人工知能が賢くなる方法〜

Pocket
LINEで送る

2012年に開催されたコンピュータによる画像認識コンテストでディープラーニングを用いた手法が一躍注目を浴びて以来、第3次人工知能ブームが来ていると言われています。
テレビやニュースで「AI (Artificial Inteligence = 人工知能)」というワードを見ない日はありませんね。
また、近年将棋AIのPonanzaや囲碁AIのAlphaGoなどが登場し、さらにAIの知名度が上がっています。
このPonanzaやAlphaGoの裏側では様々な理論があるのですが、特に機械学習という理論が主な部分になっています。今話題のディープラーニングもこの機械学習の手法の一つです。
今回は機械学習の中の強化学習という分野について簡単に説明します。

まずはこちらの動画をご覧ください
(https://pathak22.github.io/noreward-rl/より)

コンピュータがファミコンのスーパーマリオをプレイする様子です。
この動画ではコンピュータは完全にランダムな操作をしています。
次に、同じくコンピュータによるマリオのプレイ動画をご覧ください。

あまり人間っぽい操作ではありませんが、ランダムの時よりも効率的にステージを進めることができています。
実はこのコンピュータ、試行錯誤を繰り返しながら徐々にプレイが上手になるように「学習」したのです。
この「学習」の理論が「強化学習」です。

自分が満足できる行動がしたい!!

ここで突然ですが初めての定食屋さんに行った時のことを考えてください。
あなたの目的はもちろん美味しい食事を食べて「満足すること」です。
メニューにはとんかつ定食、焼き魚定食、カレーがあり、あなたはどれか1つを注文できます。
3つのうちどのメニューが一番美味しいかはわからないので、最初はえいやっと注文を決めるしかありません。
例えばカレーを注文してあまり美味しくなかった場合、次回以降この定食屋に来た時にはカレーはなかなか注文しないでしょう。
逆に、とんかつ定食を注文してとても美味しかった場合、この定食屋に来るたびにとんかつ定食を注文するかもしれません。
スライド1

時はたち、あなたはこの定食屋の常連になりました。
どの3つのメニューについてもどの程度美味しいかということは予想できるでしょうから、各メニューを注文する割合は固定してくるはずです。
例えばとんかつが1番美味しくて、焼き魚とカレーは同じくらいだった場合には、10回中8回はとんかつを注文、焼き魚とカレーは1回ずつ、といった具合でしょうか。
スライド2

実はこれと同じことをコンピュータがおこなっているのが強化学習なのです。
過去の経験とその時の満足度に従って、常に満足できるように行動の選び方を変更する、これがコンピュータのおこなっている学習です。

数式を用いた説明
マリオの学習

ここで冒頭のマリオの動画に戻りましょう。
最初の動画は学習が進む前の段階で、どのように行動すれば満足度が高いのかわかっていないため、ランダムに動くしかありませんでした。
ところで、このマリオの動画において「満足度が高い行動」とはどんな行動でしょうか。
もちろん、ゲームの目的はゴールに到達することですので、「ゴールに到達する」という行動が「満足度の高い行動」である、というのは自然な考え方です。
しかし、学習の初期段階ではどんな行動が「満足度が高い」のか全くわかっておらず、ランダムに動いて「たまたま」ゴールに到達したときに初めて「この行動が正しかったのだ」と学習します。
初めて定食屋に来た時、過去にどのメニューも頼んだことがなければ、最初は適当にえいやっと決めるしかなかったのを思い出してください。
また、ランダムな動きを続けて「たまたま」ゴールに到達するまで学習が全く進まない、ということも十分考えられます。

そこで、この動画では「行動の満足度」の設定の仕方を工夫しています。
それは、マリオの行動によって「新しい画面が表示されたとき」にその行動の「満足度が高い」とする、というものです。
コンピュータの視点に立ってみると、新しい画面を見るほど満足する、すなわち好奇心が設定された状態です。
新しい画面を見続けていたいので敵にやられないように、穴に落ちないように、というように行動が学習されていきます。
人間もコンピュータも、好奇心によって成長していくのだということですね。

 

The following two tabs change content below.

Yosuke Ueno

東京大学大学院情報理工学系研究科システム情報学専攻修士課程2年 リーディング大学院プログラムGCLメンバー

最新記事 by Yosuke Ueno (全て見る)

References   [ + ]

1. 現実の現象を「完璧に」数式で表すことは非常に難しいですので、本質的な部分のみを、できれば簡単な数式で表そうとする試みが(数理)モデル化です。
モデル化をして数式に落としこむことで、その現象をコンピュータが理解できる形になり、計算によって様々な解析が出来ます。
カオスの同期現象の記事の上級で述べられているロトカヴォルテラ系はモデル化の一種で、捕食者と被食者の個体数の変動を微分方程式を用いて表したものです。

-BuzzScience, Column, Informatics, コラム