NNUE型の評価関数のテスト

コンピュータ将棋界隈ではKPPT型などの三駒関係を元にした評価関数の時代が長く続いていおりました。その関係の試行錯誤や分析の後,多くの知見が得られました。

私も取り組み始めた二年前の当初から様々な評価関数型を試作し,ニューラルネットワーク型も複数実装しテストを繰り返しておりました。電王トーナメントの懇親会でNN型の評価関数をαβ探索に使うネタ的に振ってみたのですがあまりリアクションがなかったのを覚えております。

今年の選手権ではNNUE型としてニューラルネットワーク型の評価関数が上位陣で使われており共通の話題として情報交換が行われました。個人的に驚いたのは計算速度で,SIMD演算を上手に使うことでこれほど演算速度が出るとは驚愕しました。

しかしながら,これらで何が行われているか全く分からない層が多いようです。

 

まぁ,前置きはその辺にして評価関数をネタにしたい人が多いようなので,テスト用に書いたスクリプトを置いておくのでいいように改造なりして使ってください。

https://github.com/bleu48/shogi-eval

 

探索部抜きなので局面の静的な評価値の計算だけです。

他言語にも簡単に移せると思いますし,構造が分かるとうちでやってるような独自の学習部作成なども捗るのじゃないかと思っております。