TadaoYamaokaの開発日記

個人開発しているスマホアプリや将棋AIの開発ネタを中心に書いていきます。

第29回世界コンピュータ将棋選手権の感想

dlshogiは、前回に続いて1次予選を通過し、2次予選まで進むことができました。
2次予選は、2勝できればよいと考えていましたが、結果は4勝5敗と善戦できました。
ただし、1勝は相手チームのサーバダウンによるものなので、実質は3勝と思っています。
順位は24チーム中17位でした。

対局結果

対局相手 手番 結果 手数 戦型
1局 Kristallweizen 先手 lose 143手 角換わり
2局 Novice 先手 Timeout(win) 82手 横歩取り
3局 CGP 後手 win 165手 角換わり 振り飛車
4局 狸王 先手 lose 103手 横歩取り
5局 nozomi 後手 lose 66手 横歩取り
6局 たこっと 後手 win 215手 横歩取り
7局 Apery 先手 入玉宣言(lose) 217手 角換わり
8局 dainomaruDNNc 後手 win 93手 後手横歩取り
9局 大合神クジラちゃん 先手 lose 79手 角換わり

2次予選の感想

やねうら王ライブラリのソフト相手にも中盤まで優勢が続くこともありましたが、終盤の1手の悪手で崩れて負けるという傾向でした。
終盤の精度にまだ問題がありそうです。

Aperyとの対局では、相入玉となり初めて入玉宣言法で負けました。入玉宣言法の教師局面が少ないため持将棋を理解していなかったかもしれません。
引き分けを教師データから除いていたことも問題があったかもしれません。

負けた対局については、もう少し分析して課題を具体化したいと思います。

選手権の感想

AlphaZeroの再現実験を行っているAobaZeroは自分よりずっと大きな計算リソースで実験されているようなので、来年には追い抜かれそうです。
山下さんとは実装の話をさせていただいて参考になる点がありました。
dlshogiは、AlphaZeroの再現は目指さず別の工夫で学習効率を上げることを目指したいと思っています。

Miacisの迫田さんからは、強化学習の理論面で情報をもらえて、勉強になりました。
PGQ: Combining Policy Gradient And Q-learningという論文を教えてもらい、自分のソフトの学習でも参考にできそうです。

Noviceは、Policyをαβの枝刈りに使用して強くなったという話を聞き、Policyの読み漏れで逆に終盤が弱くなっていないかと思いましたが、そのようなことはないようです。
モンテカルロ木探索では、探索される手が確率が上位数手に集中するのに対して、αβではカットした手以外は全探索しているので、カットする手に最善手が含まれていなければ問題ないということかもしれません。

ねね将棋とは、1次予選で初の直接対決を行えました。
ねね将棋はやねうら王の棋譜を使った教師あり学習で、dlshogiは強化学習で学習していました。
ねね将棋に勝つことができ(1回の対局で判断できるものではありませんが)、強化学習の成果が確認できたかと思います。

Crazy ShogiのRemiさんとは、英語力(とコミュ力)が足りずほとんど話せませんでしたが、GPU使用率が高く探索の効率が高そうに思えました。
dlshogiは、CPUネックでGPU待ちが発生しているため、GPUの使用率を上げる探索方式に見直そうと思っています。


この大会では、dlshogiの序中盤の強さを示せたと思います。
コンピュータ将棋でのディープラーニングの手法への関心を高めることにつながればうれしい限りです。

来年も開催されるようなので、次回はさらに上位を目指したいと思います(できれば決勝に残りたい)。