囲碁は「もっとも難しい(複雑な)ゲーム」とされています。
先日、この囲碁の名人に、AlphaGoというAIプログラムが勝利しました。
囲碁というゲームの難しさ
私たち一般人から見ると、囲碁も、オセロ、チェス、将棋などと似たゲームに見えますね。
しかし、自動的にゲームをするプログラム(AI)をプログラミングする上では、囲碁というのとはとても難しいゲームになっています。
なぜかというと、盤面をパッと見ただけでは、どちらが勝ちそうなのか計算しにくいからです。
計算しにくい、というのは、計算方法をプログラミングしにくい、ということです。
そのため、従来の囲碁プログラムは非常に弱く、”プロ棋士と戦っても全く相手にならない”という状態でした。
AlphaGoの開発手法
これを解決するために、AlphaGoというAIの開発チームは、以下のような手法を使いました。
まず最初に、コンピュータにプロ囲碁棋士の試合記録を大量にインプットします。これによってAIは「こういう局面でプロ棋士が打ちそうな手」がどういうものなのかイメージをつかみます。
この「イメージをつかむ」というのが重要なところです。
インプットを丸暗記するのではなく、「こういうときは、こうするらしい(何故か分からないけど)」という情報を少しずつ蓄積していきました。
そのインプットの量は、なんと16万試合分です。そこから少しずつ少しずつ、プロ棋士の打ち手の”特徴”を学んでいったのです。
これだけでも、AlphaGoは従来の囲碁プログラムと比べると、かなり強くなりました。おおよそ半分くらいの確立で「プロ棋士が打ちそうな手を打つ」AIに成長しました。
しかし所詮はプロ棋士のマネにすぎません。マネをするだけで、プロ棋士より強くはなりません。
そこで今度は、「プロ棋士が打ちそうな手を、半分くらいは打つ」AI同士で大量に「練習試合」させます。
そうすると、その対戦結果から「こういう局面では、こちらの手よりもこちらの手のほうが良いらしい」ということをAIが学習していきます。
ここで重要なことは、AI同士の練習試合は時間とお金さえあれば無限に繰り返すことが出来るということ。
AlphaGoの開発チームは、多額の研究費(主にコンピューター代と電気代ですね)を投じて、3千万回の対戦をさせました。
これを突き詰めていくと、どうなるでしょうか。
最初のうちは、人間のプロ棋士が打ちそうな手、理解できる手を打っているのですが、徐々に「なぜそのように打つのか、よく分からない手」というのをAIが編み出すようになります。
人間の理解を超えたAI
このようにして開発されたAlphaGoが、人間のトップ棋士と勝負をしたのが今回の対局でした。
この対局はとても注目されていたので、著名なプロ棋士がライブで見守りながら、インタネットの視聴者に解説をしました。
ところが、ライブ解説をしているプロ棋士にもよくわからない手を、AlphaGoが連発します。
「これはAlphaGoのミスですね…」と解説するような手が非常に多いのですが、なぜかAlphaGoがどんどん有利になり、最後には勝利するのです。
解説をしていたプロ棋士は、試合の後に「うまく解説できなくてすみません…」と言い出してしまいました。
AlphaGoは「人間が理解できないけど良い手」を打てるようになっていたのです。
人間の脳の仕組みと、学習の方法を模倣
さて、今回使われたAI技術のベースになっているのは「ニューラルネットワーク」という人間の脳の神経細胞の仕組みをマネした技術です。
そして、学習の手順は「守破離」をベースにしています。
守破離とは、どのようなものでしょうか。Wikipediaでは以下のように説明されています(抜粋)
まずは師匠に言われたこと、型を「守る」ところから修行が始まる。その後、その型を自分と照らし合わせて研究することにより、自分に合った、より良いと思われる型をつくることにより既存の型を「破る」。最終的には師匠の型、そして自分自身が造り出した型の上に立脚した個人は、自分自身と技についてよく理解しているため、型から自由になり、型から「離れ」て自在になることができる。
AlphaGoの場合は、まず師匠(人間のプロ棋士)の対戦記録を大量にインプットしました。これが「守」の段階です。
次に、学んだ内容をベースに自分同士で模擬対戦を繰り返して、どんな手が良いのか独自に研究をしました。これが「破」の段階です。
これを突き詰めることで、もはや師匠(人間のプロ棋士)とはまったく違う手を編み出す「離」の境地にいたった、というわけです。
脳の仕組みを模倣したプログラムが、古来から人間が「道」を極めるために編み出した学習方法「守破離」を実践して、師匠である人間を越えたというわけですね。
面白いと思いませんか?
最後に今回の記事の参考にした書籍を紹介しておきます。
記事に書いていない興味深いエピソードも沢山あって、面白いですよ。
http://wired.jp/2017/05/24/revamped-alphago-wins-first-game-chinese-go-grandmaster/