NNUE評価関数は、ネットワーク構成を簡単にカスタマイズできるようになっている。
そこで、入力をK(玉のいる升)とP(どの升にどの駒がいるかに対応する値)だけにして(81升 + 1629通り = 1710)、hidden層の1層目を256×2、2層目・3層目を32にして学習させた。(K-P-256-32-32) NNUEを知らない人のために書くと、各層は全結合。
育毛剤最新比較極
ミュゼ 口コミ 特徴 まとめ
NNUE評価関数は、ネットワーク構成を簡単にカスタマイズできるようになっている。
そこで、入力をK(玉のいる升)とP(どの升にどの駒がいるかに対応する値)だけにして(81升 + 1629通り = 1710)、hidden層の1層目を256×2、2層目・3層目を32にして学習させた。(K-P-256-32-32) NNUEを知らない人のために書くと、各層は全結合。
コンピュータ囲碁の世界では、長きに亘り良い評価関数を設計できずに苦心していました。評価関数というのは、人間で言うと大局観に当たる部分です。この部分をうまく設計するのが強い囲碁ソフトを作る上で必要不可欠なのですが、それは職人のような作業だと言われていました。
2つ前の記事で、「将棋ソフトでは、2倍の思考時間を使うとR200程度上がります。R200は勝率で言うと約76%。」というのを人間にも当てはめたのですが、それは人間では成り立たないのでは?という意見が散見されるのでこれに対して私の考えを書いておきます。
将棋ソフト『PAL』の山口さんからWCSC28のときに、やねうら王およびStockfishのLazy SMPの部分のコードだと、コア数が増えてきた時に同じdepthを探索しているスレッドが増えすぎて良くないのではないかという指摘があった。
いまや将棋ソフトがトッププロより強いことは周知の事実ですが、プロ集団の棋力の個人差はどれくらいあるのかについて今回は考えていきます。
AWSでコンピューター将棋のためにvCPUの多いインスタンスを探すとm5.24xlarge(96 vCPU)やc5.18xlarge(72 vCPU)などが見当たりますが、どのCPUが最強なのでしょうか?
歩の不成や香の敵陣2段目での不成、そして大駒の不成は打ち歩詰めが絡まない限り読む必要がない。なので、本来は読みの末端で打ち歩詰めが出現してから、その手前の局面でだけ不成の指し手を生成すればすれば良い。
将棋ソフトで、対局後に自分の将棋の棋力を判定して表示してくれるものがある。あれは自分の弱点がわかってなかなか面白いと思うが、プレイヤーの棋力判定というのは、そういう自分が参考になるというだけではなく、オンラインゲームのマッチングにおいても重要である。
いまどきの将棋ソフトを使っていると、「HASH 50%」などと表示されている。これはHASH利用率と呼ばれる。この数字が大きくなってくると探索の効率が悪くなる。要するに潤沢にメモリがある場合に比べると弱くなる。これは、どれくらいの値までであるなら適切なのか?HASH利用率が99%にならない限りHASHには余裕があるものなのか?HASHはどういう仕組みになっているのか?HASH利用率が50%の状況で、ハッシュ衝突はしているのか?など、わりとソフトを長年使っていても知らない人が多いのでここに原理から詳しく説明した決定版的な記事を書く。
ゲームAIに関しては、オセロ、チェス、将棋、囲碁とすでにトッププロでも敵わないレベルに到達した。これらのゲームAIから人間が学ぶにはどうすれば良いのかということについて考えてみる。