「機械に言葉を教えたいならゲームの世界に放り込めばいい」について(その2)

2017.08.25のMIT Tech Reviewの記事「機械に言葉を教えたいならゲームの世界に放り込めばいい」という記事についてのその2を記述する。

個々のパターンだけを正確に獲得するではなく、自ら様々な必要なパターンを試行錯誤により獲得するには、学習を通じて手段、プランを自ら考えられるようにする必要がある。そのためには教師付き学習ではなく、強化学習が適切である。

AlphaGOも要となっているのはDeep Mind社が研究開発したDeep Q-Network(DQN)と呼ばれる強化学習アルゴリズムである。

強化学習は教師付き学習のように正解を与えるのではなく、規定された環境(例:ゲーム)内でエージェントと呼ばれるAI(例:ゲームであればplayer)に様々な振る舞いをさせ、その結果評価に対しインセンティブ(例:ゲームであればポイント)を与える。学習アルゴリズムはある期間それを繰り返した後、トータルのインセンティブを最大にするようにパラメータをチューニングすることでその環境内部の振る舞い(例:ルールに沿ってポイントを最大にするテクニック、コマンド)を学習・獲得するものである。与えられた環境にて経験を通じて最適な行動ができるようにパラメータを学習によってチューニングするということである。

教師付き学習と異なる点は、予め準備した学習すべき入出力のデータセットにとらわれない学習ができるということである。もし、教師付き学習で同様の学習をするとすれば、ゲームの動作パターンと、それに対応するべきPlayerの動きのパターン(しかも時系列パターン!!)をすべて網羅したデータセットを構築する必要があり大変な労力になる。

ただし、強化学習の場合は、学習する環境に依存するため、その環境をどう規定するかというのが鍵になる。例えば囲碁では、その囲碁の空間とそれぞれの時点での勝ち負けという最低限のルールは規定する必要がある。研究目的でいくつかのゲームのプラットフォームがOpenAI Gymとして公開されている。

長々と前置きを書いてきたが、この研究では、ゲーム空間を3Dし、リアルの空間に近づけているということと、エージェントが自分の行動を判断するのではなく、人間が行動を判断し、その判断に沿って行動するようにエージェントに「言語」で命令するのである。したがって、強化学習でエージェントが学習するのは「言語」とその言葉が指す「行動」の関係である。「少し右」と言った場合、「少し」の意味・程度と「右」の意味・内容を学習していくことになる。

汎用AIの開発にはロボットのような身体性が必要と言われているが、この研究ではバーチャルの世界で「言語」の意味と「行動」を結びつける学習の可能性を言及している点で非常に将来性が高いと考える。