Googleの囲碁プログラムAlphaGoの新版、AlphaGo Zeroのニュース。
すごいことが起こった。人間の棋譜や定石による「教師あり学習」なしに、囲碁のルールだけを教えた状態から、史上最強の碁打ちができあがってしまった。まったくランダムに打つ初心者以下の状態から始めて、自分同士の対戦を繰り返すことで強化学習を重ね、以下のように成長した。
- 3日後: 昨年李世ドルを4勝1敗で負かしたAlphaGo Leeバージョンの力を超える
- 21日後: 世界の強豪相手にネットで60連勝し、今年世界最強棋士の柯潔に3連勝したAlphaGo Masterバージョンのレベルに達する
- 40日後: 他のすべてのバージョンのAlphaGoを超える実力を備える
今のAlphaGo Zeroは、AlphaGo Leeと100戦して100勝0敗、AlphaGo Masterと100戦して89勝11敗だという。もう人間はなすすべもなくAlphaGoの棋譜を見ているしかない。
DeepMindのブログにある元の発表記事。
論文と棋譜は以下のところにある。
何度か出てくる"tabula rasa"というのは「何もない白紙の状態」のこと。
DeepMind社による解説動画はこれ。
AlphaGo Zero: Discovering new knowledge
人間がこれまでに創ってきた定石を独力で発見し、さらにその一部を捨てて新しい定石を創ったと言っている。
発表記事にもあるが、AlphaGo Zeroは従来のAlphaGoに対して、ハードウェアやディープラーニングのニューラルネットワークに大幅なアーキテクチャ変更を加えている。その多くはよりシンプルになる方向に見える。
スクラッチから最強になることができた要因は、アーキテクチャやアルゴリズムを改良したからだと思うが、このAlphaGo Zeroに従来のように人間の棋譜や定石を教え込んだ状態から強化学習させたら、強くなるのは今回より速かったのか遅かったのか? それが実験されることはないだろうし、どっちでやっても最終的には同じように強くなるのかもしれないが、もし強くなるのが遅くなるとしたら、人間による知識が邪魔になるということになる。そういうこともあるかもしれないな。
東洋経済にはこんな記事が載っている。
これにはどうも違和感がある。
しかし、コンピュータ自身が囲碁を客観的に理解し、どのように打っていくべきかインスピレーションを得ながら打っているわけではない。
囲碁の打ち方、対局が進むにつれて変化する戦局を評価・数値化する方法などを考え、プログラムするのは、あくまでも人間だ。自己学習による強化は、人間が考えてプログラムした手順が、より最適に動作するよう……この場合は最善手は何であるかを試行錯誤の上に調整していく仕組みにすぎない。
とあるのだが、「戦局を評価・数値化する方法」を「人間が考えてプログラムしている」というのは違うのではなかろうか。もちろん学習するためのアーキテクチャと学習方法は人間が与えているわけで、それ自体をAlphaGoが作ったわけではないが、局面の評価関数を人間が与えているわけではない。「仕組みにすぎない」と言ってしまえば何でもそうである。
AIが何をしているのかをわかりやすく伝えるというのは、これからさらに重要になってくる。