コンピュータチェスでは、ディープラーニング系のAIは、従来型に比べて人間の指し手に近いという研究がある。
従来、人間の相手になるように、レーティングを下げるために、探索のノード数や深さを下げるということが行われていた。
しかし、人間にとっては不自然な指し手になるという課題があった。
ディープラーニング系のチェスAIを使うと、より自然に弱くできるという研究である。
The human side of AI for chess - Microsoft Research
コンピュータ将棋においても同じことが言えるのかdlshogiと水匠5を使って検証してみた。
検証には、将棋ウォーズの棋譜をお借りした。
dlshogiと水匠の条件
人間と同じくらいの強さになるように、dlshogiは、固定プレイアウト16,64,256,1024の4パターンで、バッチサイズ1とした。
floodgateでのレーティングは、プレイアウト64で3069になる。
低レーティング帯での探索ノード数と強さの関係 - TadaoYamaokaの開発日記
水匠5は、dlshogiとほぼ同じ強さになるように、固定ノード数1024,6400,25600,409600の4パターンとした。
一致率
人間の棋譜3万について、指し手の一致率を比較した結果は以下の通り。
棋譜のレーティング帯別に集計している。
考察
- 水匠5に比べてdlshogiは、人間の指し手に近い(一致率が高い)
- dlshogiはノード数を減らすほど、一致率が上がる
- 水匠5は逆に、ノード数を減らすと一致率が下がる
従来型はノード数を減らすと不自然になるということが一致率から確かめられた。
また、コンピュータチェスと同様に、弱くした場合に、ディープラーニング系の将棋AIの指し手はより人間に近いことがわかった。
人間の棋譜を学習
人間の棋譜を学習した後に、一致率が上がるか検証した。
将棋ウォーズの棋譜を用いて、dlshogiのpolicyを追加学習(valueはdlshogiの推論結果を学習)した際の一致率は、以下の通り。
まとめ
コンピュータチェスの先行研究と同様に、コンピュータ将棋においても、ディープラーニング系の将棋AIは、従来型よりも、弱くした場合により自然な指し手になることが確かめられた。
また、人間の棋譜を学習することで、より人間らしい指し手を学習することができた。
この人間の棋譜を学習したdlshogiが、将棋ウォーズのCPUとして追加されています。
対局の際には、ぜひ遊んでみてください。
【将棋ウォーズに新たなCPUが登場】
— 将棋ウォーズ公式 (@warsminamin) 2022年3月29日
「dlshogiwars」は将棋ウォーズで指された人間の棋譜から学習した、dlshogiの遺伝子を持つCPUです。
この学習の成果から、他のCPUと比較して人間らしい手を指すのが特徴になります!
対局の際にはお楽しみください(^^)https://t.co/XeIjwmENvi
将棋ウォーズにログインすると、棋譜が見られます。振り飛車も指しています。
shogiwars.heroz.jp