今回は機械学習について、とても興味深い事例がありましたので、ご紹介したいと思います。
人と機械の真剣勝負「電王戦」
みなさんは「電王戦」というものをご存知でしょうか。
これは人と機械が将棋で戦うという、一つのイベントのようなものです。
しかし、当事者の将棋を指す「棋士」と機械学習で進化した「機械」にとっては、とても大事な戦いであり、歴史的な戦いでもあるのです。
今回はこの戦いから機械学習について考えていきます。
いきなり機械がプロに勝利!?
この電王戦はこれまでに数回開催されているようですが、第一回目にして当時日本将棋連盟の会長であった、元プロ棋士と対戦して、機械が勝利を収めたようです。
すでに将棋のソフトウェアはいくつか出ているようですが、すでに将棋のプロをも上回る力があることには驚きです。
対戦した元プロ棋士の方も、ソフトウェアでは対応できないだろうと普段は指さない手を使い、プログラム側の錯乱を狙ったようですが、それを想定していたのか難なくかわし、見事に機械が勝利を収める形になったようです。
この対戦では人が考える普通ではない一手も、機械に想定して学ばせることによって、対応できてしまうという凄さを感じます。これが人対人の対戦であったなら、この思いもよらぬ一手で乱されて、勝敗に大きく影響が出たと思いますが、そこは機械だけあって、心理戦に持ち込むことは難しかったようですね。
プロ棋士5人vs5つのソフトウェア
次は2回目に開催された電王戦を見てみます。
この対戦では、プロ棋士5人と5種類の将棋ソフトウェアとの戦いになったようです。
プロ棋士は下は四段、上は九段と実力者揃い。対するソフトウェアも2012年の世界コンピュータ将棋選手権の上位5ソフトと、凄い対戦が予想されますね。
しかし結果はプロ棋士の1勝3敗1分と、プロ棋士側の惨敗だったようです。
この結果には多くの人が驚いたようです。対戦当時ニコニコ動画などで配信されており、視聴者数も230万人にもなったそうです。また、テレビや新聞など、多くのメディアでも大々的に報道されました。
これだけ注目も集まっていた対戦ですが、なぜソフトウェア側が勝利したのでしょうか。
注目するのは、ソフトウェアのスペックです。
対戦したソフトウェアは1秒間に数千万手から数億手を読むソフトウェア揃いで、どう指されてもほぼ対応出来てしまう
そうです。それだけのことを機械に学ばせるプログラマーもすごいですが、瞬時に対戦相手が指した手を、過去の棋譜と呼ばれる対戦記録から、勝利へ導けるものを算出し、対戦を進めていくソフトウェアには脱帽するしかありません。
実際に対戦して負けた棋士も、なぜ負けたのかがわからないと言っていることから、ソフトウェアだからできる、膨大な蓄積された情報量が強い武器になっているのだと思います。
意地を見せたプロ棋士
最後は「電王戦FAINAL」と題された対戦です。
まずこの対戦の結果から発表すると、プロ棋士の3勝2敗と初めて人が機械に勝ち越しました。
この対戦でおもしろいと感じた対戦が二つありました。
一つ目は機械が予測できない手を指し、プロ棋士が勝利したということです。
膨大なデータ量を持っているソフトウェアでも、理解できない手というものが存在するようです。
将棋のルールで、相手の奥3マスに自分の駒を進めると、駒を裏返し強くできる「成」というものがあります。
普通なら「成」するところを、あえてプロ棋士がしなかったところ、機械が止まってしまったのです。
その結果、機械側の反則負けになってしまいました。
二つ目は対戦するソフトウェアを調べつくしたプロ棋士の勝利です。
こちらは対戦するソフトウェアのことを調べた棋士が、そのソフトウェアの苦手な手を見つけ指したところ、ソフトウェアの開発者が、途中で負けを認めたというものです。
過去にそのソフトウェアがアマチュアの人と対戦した時にわかったそうですが、それをプロが知っていて、同じ手を使ってくることを想定していなかったそうです。
どちらもソフトウェアの穴を突くような形ではありますが、完璧とまで言えるソフトウェアの弱点に気づくことが出来たプロ棋士の方は、それだけで称賛に価すると思います。
しかし次はしっかりと対策がされて、同じことは起きないでしょうね。
最後に
いかがでしょうか。
将棋という狭い世界ではありますが、人対機械の対戦がこんなに盛り上がっていることは凄いことですね。
今のソフトウェアに、人の思考を学ばせると、今まで以上に強くなると思います。
しかし機械だけが学ぶだけではなく、機械から人が学ぶということも、この電王戦からは伺えました。
人が機械に学ばせるだけではなく、これからは人が機械から学ばせられる世の中になっていくのかもしれませんね。