米Googleと米Facebookによる「AI(人工知能)囲碁」を巡る勝負で、まずはGoogleが先勝した。両社は2016年1月27日(米国時間)、AI囲碁プログラムに関する論文をそれぞれ発表。「ディープラーニング(深層学習)」を採用する点は共通するが、プロ棋士に勝利したGoogleがFacebookをリードしている。

 GoogleのAI研究部門であるDeepMindは27日、英「Nature」誌に「Mastering the game of Go with deep neural networks and tree search」という論文を発表し、同社が「AlphaGo」というAI囲碁プログラムを開発したことや、AlphaGoが2015年10月に囲碁のヨーロッパチャンピオンであるFan Hui氏(プロ2段)と5回対戦し、全勝したことを発表した。Facebookも同日「Better Computer Go Player with Neural Network and Long-term Prediction」というAI囲碁の論文に関する第2版を、米コーネル大学が運営する論文ライブラリ「arXiv」に公開した。

 両社のAI囲碁のアプローチはよく似ている。Googleは従来のAI囲碁プログラムでも使用している「モンテカルロ木探索(Monte Carlo Tree Search)」というアルゴリズムに加えて、神経回路を模した「ニューラルネットワーク」を多段に組み合わせる「ディープラーニング」という機械学習手法と、コンピュータが試行錯誤を通じてタスクを実行するための最適なやり方を学習していく「強化学習」という機械学習手法を使用している。一方のFacebookは、モンテカルロ木探索とディープラーニングを使用しているが、強化学習は使っていない。まずはGoogleの手法から、それがどのようなものかを見ていこう。

既存手法にディープラーニングを追加

 GoogleのAlphaGoは大きく三つのコンポーネントからなる。ある局面においてどちらが優勢かを判断する「バリューネットワーク」、無数に存在する「次の一手」の中からどの手がより有利かを判断する「ポリシーネットワーク」、そして「モンテカルロ木探索」だ。

 従来のAI囲碁プログラムは、この中でも「モンテカルロ木探索」だけを使用していた。モンテカルロ木探索とは、乱数を使って「でたらめ」に囲碁を「終局」まで打つという試行を何百万回と繰り返し、最も勝率が高くなった手を「次の一手」として選ぶという手法だ。囲碁の局面はGoogleの社名の元になった「Googol(10の100乗)」をはるかに上回るほど多いため、総当たり方式で「最良の手」を見つけ出すのは不可能だ。そこで確率的な手法を使って試行する範囲を絞っていた。

 それに対してGoogleのAlphaGoでは、バリューネットワークとポリシーネットワークの二つを使って、試行する範囲を絞り込む。具体的にはポリシーネットワークを使うことで次に打つ手の「幅」を、バリューネットワークを使うことで何手先まで試行するかという「深さ」を絞り込んでいる。

「一手の価値」を評価するルールはコンピュータが作成

 AlphaGoで重要なのは、確率ではなくある種の「ルール」に基づいて試行する範囲が絞られている点と、それらの「ルール」を作り出しているのが人間ではなくコンピュータである点だ。ルールは機械学習によってデータを基に作られている。