第17回で、ディープラーニングと囲碁の相性が非常にいいことを説明しました。
ディープラーニング版打ち手予想器と従来のモンテカルロ法を組み合わせることで、囲碁プログラムは従来の行き詰まりを解消することに成功したのです。
モンテカルロ法だけではせいぜいアマチュア五段程度だったのですが、ディープラーニング版打ち手予想器を組み合わせることで、アマチュアトップクラスに肉薄できるようになりました。
ここまではほかのコンピュータ囲碁のプログラマたちも展開を追うことができていたようです。ディープラーニングが囲碁と相性がいいことは、世界中のプログラマたちが同時多発的に気づいていたからです。
しかし、グーグル・ディープマインド社はさらに一歩先を行く改良をほどこします。それが、ディープラーニングと強化学習の組み合わせでした。
強化学習はポナンザでも実現したことをお話しましたね(第14回)。自分自身でいろいろと試行錯誤をして、学習していく手法です。
この強化学習とディープラーニングを組み合わせることで、従来では達成不可能だった課題がコンピュータにできるようになったのです。
グーグル・ディープマインド社が最初に挑戦したのは、ブロック崩しのゲームです(図3-18)。そのさまざまな画面を大量に画像として入力し、正しいゲームの動きが出せるように学習させるのです。
このゲームは実際にプレイされたことのある人も多いかと思います。基本的には、画面の下に配置され、横に動くだけのバーを操作して、スピーディに落ちてくる球を弾き返し、何層ものブロックを崩していくゲームです。ブロックを崩すことで得られるポイントとクリアする早さを競いますが、その前に球をそらして落としてしまえばゲームは失敗になります。
図3-18 ブロック崩しゲーム
いくつかのバージョンがあるが、これは初期に発売されたATARI社のもの。
学習の初期段階では、下にあるバーを闇雲に振り回すだけで、ほとんど点数を獲得できません。しかし何度か試していくうちに、偶然にもバーに球が当たることがあります。すると弾き返した球がブロックを壊し、少しだけ点数が獲得できるので、その結果をフィードバックします。その積み重ねで、だんだん球がバーに当たるように学習していくのです。
そしてあるとき、上のブロックの裏側に玉を通すと高得点につながることを偶然発見すると、それをどんどん狙うようになるのです。
図3-19 ブロック崩しゲーム
①~④のようにゲームを進め、ブロックの裏側に球がいくと、
球がなかなか落ちてこず連続してブロックを壊して高得点となる。
出所:“Human-level control through deep
reinforcement learning” Jiang Guo
これはまさに、ディープラーニングと強化学習の幸せな結婚でした。
以前は概念だけでなかなか実用的に応用されることが少なかった強化学習ですが、ディープラーニングと組み合わせることで、適用可能な範囲が一気に広がりました。
囲碁においても、ディープマインド社は強化学習を実行しようとします。
囲碁の強化学習は一般的な方針とは外れて、やや変則的な方法でおこなわれました。
最初は第17回で説明したモンテカルロ法による打ち手予想器どうしで試合をして、打ち手予想器を倒すことのできる新しい打ち手予想器を作成します。
そしてこの新しい打ち手予想器どうしで、何度も何度も試合をさせます。ただし、これは単純に直前のバージョンに勝ったものだけを残していくという方法ではなかったようです。
バージョンAに勝ったBを次はCと対戦させ、Cが勝ったら次のDと……とするだけでなく、バージョンCはAともDとも対戦させるなどの組み合わせが試されました。なぜなら、直前のバージョンに勝つことだけを求めてしまうと、一種の過学習が起きるためです。
結果、多数のバージョンの打ち手予想器が生み出されました。そして、その多数のバージョンどうしを組み合わせた対局がおよそ3000万回おこなわれたと言われています。
(ややこしいですが)さらにその試合結果から、今度は試合の勝敗を予想する「勝敗予想器」の作成を始めます。3000万試合ほどの膨大な試合数があって、初めて勝敗予想器が作成できるようです。
この勝敗予想器にもディープラーニングが使われています。ただし、そのしくみの全貌を説明するのは本連載のレベルを大きく超えるので、関心のある方はネイチャーの論文を参照してみてください。
この勝敗予想器は、今まで何度も話してきた「評価」に相当します。囲碁では「評価」を作成しようとして、何度も挑戦しては失敗してきました。その結果、モンテカルロ法という「評価」を諦めた手法がメインになったのでした。
それから10年後、ディープラーニングという新たな武器と強化学習の組み合わせによって初めて、盤面を直接評価できるようになったのです。
このしくみを知ったとき、私はすごく嬉しかったです。囲碁盤を評価することに、ついに人類は成功したのですから。
図3-20 ディープラーニングが囲碁の壁を突破した
「モンテカルロ法」と「ディープラーニング版打ち手予想器」、そして「ディープラーニング版評価」。この3つの武器を組み合わせることで、アルファ碁は今までの囲碁プログラムを圧倒するほどの途方もない力を手に入れました。
ネイチャーに論文を発表した時点ですら、以前の囲碁プログラムに対して勝率99%以上を実現しています。
これは本当にとんでもない数字です。なぜならほかのプログラムも、一流のプログラマたちが必死で開発しているわけですから。どの世界であれ、どんなに強いプレイヤーであっても、ほかのプレイヤーに対して勝率99%以上というのは通常達成できるレベルではありません(参考までに、将棋の羽生善治三冠の年間最高勝率は1995年の83.64%です)。