2014年に米Google(現Alphabet)が4億ドルで買収した英DeepMind。同社が開発した囲碁AI「AlphaGo」は、プロ棋士を打ち負かす偉業をやってのけた。そこにはどんな仕組みや工夫があるのか? AIの専門家がAlphaGoに関する論文、「Mastering the game of Go with deep neural networks and tree search」を紐解く。 CIOはもちろん、IT関係者にはぜひ知っておいてほしい内容である(本誌)。
「AlphaGoがプロ棋士に勝利した」――このニュースは全世界を駆け巡った。2015年10月には囲碁のヨーロッパチャンピオンであるファン・フイ2段に5戦5勝、2016年3月には世界的なトッププロの1人であるイ・セドル9段に4勝1敗で勝利したのだ。従来、囲碁AI(人工知能)はプロ棋士とは3子以上の実力差があるとされ、プロ棋士に勝つとしても10年先と言われていた。
ちなみに3子とは、碁盤に予め置石するハンディキャップのことで、3子は7段のアマチュアがプロと勝負できるかどうかのレベルである。このようなハンデなしに行われたAlphaGoとプロ棋士の勝負は1戦ごとに大きな関心を集め、日本では平日夕方の一般向けTVニュースでも取り上げられるほどだった。囲碁のみならず、社会全般でAIが専門家を超える日をも夢想するという、“AlphaGo旋風”が吹き荒れたと言っていい。
しかしイ・セドル戦から2カ月が経ち、ほとぼりが冷めてみれば、これだけの話題をさらったAlphaGoのメカニズムについて冷静に分析した記事があまりないことに気付く。一体、何が囲碁AIに短期間での飛躍的な棋力向上をもたらしたのか? Google傘下のDeepMind社はどの程度の計算機リソースを投入したのか? そして囲碁AIで培われた技術は、DeepMindチームの言うように、社会問題の解決に繋がるのか?
本稿では、これらの疑問に答えるべく、AlphaGoの詳細なメカニズムが記された現状唯一の公式発表――2016年1月28日付の英科学誌「Nature」に掲載された論文“Mastering the game of Go with deep neural networks and tree search” [1]の内容を紐解き、“人類を超えるAI技術”が現在、どのような到達点にあるのかを分析する。
[1] http://www.nature.com/nature/journal/v529/n7587/full/nature16961.html
囲碁AIの基本メカニズム
AlphaGoの解説に入る前に、現代的な囲碁AIの基本メカニズムをおさらいしておきたい。囲碁や将棋、チェスのように乱数要素がなく、両プレイヤーに全情報が開示されるタイプのゲームには、究極的には“最善手”が存在し、両プレイヤーが最善手を打てば結果は、先手必勝、後手必勝、引き分けのいずれかになる。
しかし、これらのゲームには膨大な展開(局面)があるため、現実的な時間内にすべての可能性を読み切ることはできない。そこで、これらのゲームAIでは、局面の形勢判断を行う“評価関数”を構築して、その値を頼りに次の一手を決める。評価関数は局面の優劣をなるべく正確に数値化することが望ましいが、正確さを求めると計算量が大きくなる。すると持ち時間内に読める局面が減ってしまうので結局、強くはならない。この正確性と高速性のトレードオフの下に、ゲームAI開発者の創意工夫が生まれる。
チェスや将棋では相当に正確かつ高速な評価関数が作られ、プロと互角以上のAIが誕生した。しかし囲碁ではこの評価関数を作ることが難しかった。チェスや将棋では駒自体の価値が局面によらず決まっているのに対して、囲碁の石の価値は周囲の石との繋がり方によって時々刻々と変化するためだ。現在の局面だけを見ても良い評価関数は作れない――。
そこで囲碁AI開発者が採った戦略は、その局面から両プレイヤーにランダムな手を打たせ、終局まで対戦すること(ロールアウト)を繰り返し、その勝率を評価値とするというものである。2006年に登場した一見単純なこの方法が、現在の強豪囲碁AIのほとんどに採用されているモンテカルロ木探索(MCTS: Monte Carlo Tree Search)である。
ランダムに手を打つと書いたが、当然、実際に打たれることが多い手に山を張ったほうが効果的である。そのため局面に対して次の一手を予測する“着手予測器”が開発された。人が囲碁を行う際に用いる「直前手からの距離」や「ノビ」「アタリ」「着手点周囲の石の形」といった特徴量を駆使して設計し、さらにそれぞれの特徴量をどのような比重で考慮するべきかを人間の棋譜データから機械学習させる──これが着手予測器の一般的な仕組みである。
会員登録(無料)が必要です
- 1
- 2
- 3
- 次へ >