アルファ碁ゼロの快挙について

こんにちは、CTO長谷川です。私は2015年の頭から、2016年には囲碁のプロ棋士を凌駕する人工知能ができることを予測していたこともあり、何度か頼まれてアルファ碁について講演したことがあります。そういう背景もあって、アルファ碁についてはそれなりに読み込んでいたのですが、今回のアルファ碁ゼロの発表には驚きました。何と言ってもスピード感がすごいです。2016年にアルファ碁を発表して、今年の頭にはマスターをネットに忍び込ませ、先月末にゼロを発表するスピード感。今回のゼロは何がすごいかというと、李セドルに打ち勝った当初のアルファ碁よりも強いという点に加えて、学習をさせるための教師データが一切ないピュアな強化学習だという点です。

強化学習について

強化学習は、今回のアルファ碁の開発リーダーであるDavid Silver氏は「意思決定の科学」というふうに表現しています。従来のマネジメントなどで考える意思決定の科学と違う点は、人間の行動心理などを排除して、本当に数学的に意思決定を捉えた考え方であることです。強化学習は、世界を以下の5つのピースに分けて考えます。

  1. Agent: 世界の中で活動する主体。ゲームのプレーヤーなど
  2. Environment: Agentに対して働きかける環境
  3. State: 今の世界のあり方
  4. Action: Agentが出来る行動
  5. Reward: 行動をした結果Agentが得る報酬

この5つを正しくモデリングして、強化学習のアルゴリズムを適用することにより、どんなに複雑な意思決定でもエージェントに学ばせることが出来るというのが強化学習です。車やロケットの運転から、ゲームの操作、広告の選択などかなり幅広く応用されています。

強化学習は機械学習の中でも、直感的に親しみやすい分野です。例えば弊社の技術顧問の杉山先生が「ラーメン屋さん問題」と名付けている問題があります。これは、例えば地方から引っ越してきて、広い東京の中で、自分が長期的には一番美味しいラーメン屋さんにたどり着きながらも、そこにたどり着く過程でまずいラーメン屋さんをなるべく避けて行くためのアルゴリズムを考えようというものです。あと、前提として、自分はとにかくラーメンについては他人とは全く別の味覚を持っているので、他人の評判やネットなどは一切頼りにならないという前提があります。最初はとにかく手探りなので、行き当たりばったりのラーメン屋さんに行くしかないですよね。そこから徐々に行きつけを見つけては冒険して行く、という感じではないでしょうか。強化学習には、epsilon decayという、これと似たような概念があります。

アルファ碁ゼロとアルファ碁リーの違い

まず、直接対決100戦全勝という圧倒的な強さの違いがあります。なんと学習を開始してから数日で李セドル氏に勝利したアルファ碁の強さを抜いたようです。

 Silver et al., "Mastering the game of Go without human knowledge"より抜粋

Silver et al., "Mastering the game of Go without human knowledge"より抜粋

次に、全く教師データがないという違いがあります。David Silvers氏がインタビューでも言っていますが、李セドルに勝ったアルファ碁は、プロ棋士の対局を何万局と読み込ませることによって、「プロがどう考えるか」をまず学習しました。先生がついているようなものです。対してゼロは、全く先生がいない状況で、言葉の通りゼロから囲碁の定石などを学習しました。なぜこのようなことが可能になるかというと、教師がいないため、自分と戦う過程において、ゼロは自分という、実力においてレベルが非常に似通った相手が必ずいるためです。その実力が伯仲している相手と切磋琢磨することにより、少しづつ確実に強くなっていくという仕組みです。ゼロの学習の軌跡を見るともっと面白くて、まず人間が何百年もかけて編み出してきた定石を学び、そしてその定石を壊して新しい定石を生み出すということが見て取れるらしいです。

私もDQNなどの手法を用いて強化学習のモデルを開発した経験がありますが、ボタンを押してあとは放っておくという感じでは決してありません。DQNの例でいうと、ミニバッチのサイズやネットワークのアーキテクチャ、さらには報酬のエンジニアリングなども考えることが必要であるため、まだまだ「全く人間の介在を必要としない」と言い切れるレベルではないと思いますが、今回のアルファ碁ゼロは、DeepMind社が目指す、「tabula rasa(白紙の状態から勝手に知識を身につけるAI)」に一歩近づいたことは間違い無いと思います。