前回記事の続きをやっていきましょう。
前回、入力をK(玉のある升 81通り) + P(玉以外の駒の種類・升を表現した通し番号 1548通り)として、1つのニューロンで穴熊に囲えるということを説明しました。
育毛剤最新比較極
ミュゼ 口コミ 特徴 まとめ
経緯としては昨年のWCSC28(第28回 世界コンピュータ将棋選手権)で以下のような話があったからです。
やねうら王チーム、WCSC29(第29回 世界コンピュータ将棋選手権)の参加申し込みしました。
NNUE評価関数は、ネットワーク構成を簡単にカスタマイズできるようになっている。
そこで、入力をK(玉のいる升)とP(どの升にどの駒がいるかに対応する値)だけにして(81升 + 1629通り = 1710)、hidden層の1層目を256×2、2層目・3層目を32にして学習させた。(K-P-256-32-32) NNUEを知らない人のために書くと、各層は全結合。
昨年の12月ぐらいから家のなかが寒くなってきたのでPCをフル稼働させるに至った。PCさえ動いていれば何でも良かった。ただ(PCの背面からの)温もりだけが欲しかった。
やねうら王でNNUE評価関数の学習をする方法について解説記事がなかったのでざっとまとめておきます。
コンピュータ囲碁の世界では、長きに亘り良い評価関数を設計できずに苦心していました。評価関数というのは、人間で言うと大局観に当たる部分です。この部分をうまく設計するのが強い囲碁ソフトを作る上で必要不可欠なのですが、それは職人のような作業だと言われていました。
将棋ソフト『PAL』の山口さんからWCSC28のときに、やねうら王およびStockfishのLazy SMPの部分のコードだと、コア数が増えてきた時に同じdepthを探索しているスレッドが増えすぎて良くないのではないかという指摘があった。
AWSでコンピューター将棋のためにvCPUの多いインスタンスを探すとm5.24xlarge(96 vCPU)やc5.18xlarge(72 vCPU)などが見当たりますが、どのCPUが最強なのでしょうか?