
AIが将棋や囲碁のトッププロを破ったことは大きなニュースになり、人を凌駕していくAIに対する恐怖心や警戒心を生みました。最近は、AIのなにが人より優れているのか、逆に、人がAIより優れているのはなにか、ということを一般生活者である私たちも理解し、AIを有効なツールとして活用していくことが大切だという認識が生まれています。
機械学習で急成長する将棋ソフト
私は、将棋ソフトの開発に関わっています。コンピュータ囲碁プログラムが、2015年から世界のトッププロを立て続けに破ったことは大きなニュースとなりましたが、研究者の視点から見ると実は「ものすごく驚いた」というわけでもありませんでした。
とはいえ、新しい手法によって、これまでのペースでは20年かかるような進歩が一年で起きる状況を目の当たりにした、というエポックメイキングな出来事だったといえます。
では、こういったゲームソフトのAIはどのように開発されてきたのか、その歴史を簡単にご説明します。私たちが行っている将棋ソフトの開発では、最初期には、人が頑張ってプログラミングし、ある局面の良さを上手に数値化できるようにすることから始まりました。
例えば、歩があれば100点で、銀は800点などという数値をつけますが、金の下に歩がいるとすごく価値が高くなるといった知識や、あるいは定跡のようなことを全部ルールとして書いていくのです。すごく手間のかかる作業ですが、当時のコンピュータの能力ではこのようなアプローチが限界でした。
しかし、人がルールを正しく、矛盾なく入力し続けるのには限界があります。そこで、次の段階では、統計的なアプローチで人の手間を省きました。人間の棋譜を集めて統計をとるのです。つまり、上手い指し方の傾向を数値化するわけです。
このような考え方を推し進めて、人間の棋譜からより深い知識を抜き出そうという、機械学習というアプローチが行われました。プロ棋士の対戦の棋譜を基に、指された手と指されなかった手を比較して、指された方の手を指すように学習するのです。レベルの高い棋士が指した手は、なぜそれが良い手なのか、一言ではよくわかりません。でも、それが良い結果に繋がっているのであれば、ともかくそれを真似させる。この真似を大量に行うのです。機械学習により、コンピュータ将棋の実力は格段に上がりました。皆さんが現時点でAIと呼んでいる様々なプログラムの中身は、実はこのようなコンピュータプレイヤと同じものなのです。
さて、十分強くなったコンピュータ将棋プレイヤは、もはや人の手を借りなくても、自分対自分で対戦を行うことで、レベルの高い対戦棋譜を大量に作れるようになります。様々な局面で「こう指したら勝った」という知識を積み上げ、学習できるようになるのです。人が、将棋が上手くなるために行う学習や訓練と、ある意味、同じ過程をAIもこなしているのですね。
人間と少し異なるのは、コンピュータは力任せに調べつくす能力が圧倒的に高いという側面です。将棋に限らずゲームにおいては、この先自分が有利になる状況を先読みして見つけることが大切ですが、AIは、現在の局面から十手先、二十手先に有利になっている局面を、1秒の間に例えば100万個以上も調べつくし、そこから最適な手を探し出すのです。力業による先読みと、正確な盤面の良し悪しの判断力とをバランス良く兼ね備えることで、人間を超えた賢さを作り出しているのです。
※記事の内容は、執筆者個人の考え、意見に基づくものであり、明治大学の公式見解を示すものではありません。