NNUE評価関数のような非線形な評価関数は何故有効なのですか?その3

前回記事の続きです。

NNUE型がそんなに戦型判定について優れているのなら、戦型ごとに良い指し手(良い駒の配置)を学習することが出来そうですし、同様に序盤の指し手(良い駒の配置)と中終盤の指し手(良い駒の配置)をそれぞれ分けて学習させれば、さらに強くなるのでは?と考えるのは自然なことです。 続きを読む

AWSで1000万円分の計算資源を溶かしてしまう男

※ タイトルは「AWSの費用に換算して1000万円分の計算資源」という意味です。「AWSにおいて1000万円分の計算資源を溶かした」という意味ではありません。念の為。

WCSC29に参加することにしたものの、やねうら王、一向に強くならないんですよ。

続きを読む

WCSCのtanuki-ライブラリ登録取消問題

WCSC(世界コンピュータ将棋選手権)自体、運営側の高齢化に伴い、その存続自体が危ぶまれている大会なのであまりルールについてあれやこれや言っても仕方ないかと思いながら傍観しているのですが、それにしてもライブラリ制度が穴だらけで自分で地雷を踏んでしまわないか心配ではあります。

続きを読む

NNUE評価関数のような非線形な評価関数は何故有効なのですか?その2

前回記事の続きをやっていきましょう。

前回、入力をK(玉のある升 81通り) + P(玉以外の駒の種類・升を表現した通し番号 1548通り)として、1つのニューロンで穴熊に囲えるということを説明しました。

続きを読む

フロッピーディスクに収まる評価関数バイナリ公開しました

NNUE評価関数は、ネットワーク構成を簡単にカスタマイズできるようになっている。

そこで、入力をK(玉のいる升)とP(どの升にどの駒がいるかに対応する値)だけにして(81升 + 1629通り = 1710)、hidden層の1層目を256×2、2層目・3層目を32にして学習させた。(K-P-256-32-32) NNUEを知らない人のために書くと、各層は全結合。

続きを読む