PR

 まずGoogleは、次の一手がいかに有利かを判断するポリシーネットワークを、「教師有り学習」と呼ばれる手法とディープラーニングの二つを組み合わせて開発した。具体的には、人間の棋士が指した3000万件の「手」を「教師データ」として、ディープラーニングでよく利用されるニューラルネットワーク「Convolutional Neural Network(Conv-Net)たたみ込みニューラルネットワーク)」に学習させた。

 人間の棋士はさまざまな評価ポイントに基づいて次の一手を考えているが、手の有利さ不利さを判断するための評価法を、人間が言葉や数式で定義するのは難しい。将棋であれば「王将」や「飛車」といった駒の種類や数によって評価が可能だが、囲碁の場合は石に種類がなく、石の重要性も局面によって大きく変わるからだ。従来のAI囲碁プログラムにおいて確率的な手法が使われていたのは、人間のプログラマが自身の囲碁知識に基づいて評価法を考えるのが、とても難しかったためだ。

 それに対してConv-Netは、手の有利さや不利さを判断する評価ポイント(機械学習では「特徴」と呼ぶ)自体もデータを基に見つけ出す。そしてConv-Netは、複数ある評価ポイントの内のどれを重視すれば有利な一手を選び出せるかというルール(機械学習では「特徴の重み付け」という)も、データを基に見つけ出す。従来は人間のプログラマーが考える必要があった評価ポイントやルールを、コンピュータが自動的に見つけ出しているところが新しい。

コンピュータ同士の対戦を通じてより賢く

写真●Google DeepMindのDemis Hassabis氏
写真●Google DeepMindのDemis Hassabis氏
出典:Google
[画像のクリックで拡大表示]

 さらにGoogleは、人間の手を学習させて作ったポリシーネットワークを、強化学習とディープラーニングを組み合わせた手法によって「鍛えた」。強化学習とはコンピュータが試行錯誤を繰り返すことで、より良いやり方を学習していくという手法だ。ここでは、教師有り学習によって開発したポリシーネットワークを実装したAI囲碁プログラム同士を、数千回対戦させた。そうすることで、どのような手を打てばより勝率が上がるかをコンピュータに学習させた。

 局面の優勢さを判断するバリューネットワークの開発にも、教師学習とディープラーニングを組み合わせた手法を使用している。DeepMindを率いるDemis Hassabis氏(写真)はブログで、「碁の局面の有利さや不利さを試算するのは、従来は不可能だと信じられていた」と述べ、ポリシーネットワークやバリューネットワークの実現が偉業であると強調した。