本連載の原稿は、2017年の2月から4月にかけて書いたものです。その間、私とポナンザ、そしてコンピュータ将棋の世界にとって、大きな出来事が2つありました。
1つは、将棋で初めて実用レベルのディープラーニングに成功したことです。第10回で、「ポナンザにはディープラーニングは使われていない」と言いましたが、連載を書く途中で事情が変わったことになります。
囲碁とは異なり、将棋やチェス系のゲームではディープラーニングがうまくいかないのではないか、と私が考えていたのには理由があります。将棋やチェスは、囲碁より合法手(ルール上可能な手)がダイナミックに変化するからです。
この問題はかなり深刻です。囲碁は言ってしまえば、空白の場所に打てばほぼ間違いなく合法手です。しかし将棋やチェスでは、直前まで合法手だった手がそうでなくなるということが、ごく普通にあります。さらに王手がかかれば、指せる手は大きく変化します。
実際、チェスでディープラーニングを試したという論文がいくつかありましたが、あまりうまくいってないようでした。私も同じく、何年もディープラーニングを将棋に使うことを試みましたが、なかなかうまくいきませんでした。
それがなぜ実現できたか。データ量を増やして、最新のディープラーニングの知見を入れていったら自然にできるようになった、というのが1つの理由です。加えて、とくに凝ったことをせずに、ディープラーニングにすべてを任せるようにしたことがポイントでした。
合法手をどうやってディープラーニングに教えればよいのか、ずっと苦心していました。しかしそれはいらぬ苦労でした。私がディープラーニングにしてあげたほうがいいと思ったことが、ディープラーニングにとってはむしろ邪魔だったのです。
ディープラーニングは、最もよい手を教えてあげれば、自然と、どの手が合法手か非合法手かの区別もつくようになったのです。私はディープラーニングに、駒の動かし方はもちろん、王手のことも、二歩(にふ)というルールのことも何ひとつ明示的には教えていません。ただ、この局面で最もよいのはこの手だと、ひたすら教え続けたのです。
その結果、恐るべきことに、いつの間にかディープラーニングは将棋のルールを会得していたのです。しかし、これはある意味当然かもしれません。人間も、ある程度将棋に慣れれば、合法手なんて考えませんものね。「いま指そうとしている手がルールどおりなのか?」とわざわざ考えるのは、ごく初心者のうちだけなのです。
ポナンザは今後、アルファ碁と同じようなルートをたどって強くなる可能性が高いでしょう。具体的には、アルファ碁がディープラーニングと既存のモンテカルロ法との組み合わせだったように、ポナンザも、ディープラーニングと既存の手法の組み合わせにチャレンジすることになります。
そのポテンシャルがどこまであるのか、現時点ではまだまったくわかりません。しかし私は、ディープラーニングの将来性に確信を持っています。
わざと歩を渡して防御を固める
本連載の執筆中に起きた2つ目の出来事は、2017年4月1日におこなわれた第2期電王戦において、現役の「名人」にポナンザが勝利したことです。