Stockfish NNUE – The Complete Guide

NNUE評価関数がStockfishに移植されたので、それについて情報をまとめておきます。

本記事は、日本語と英語でお送り致します。
※ 英語版はDeepL翻訳を使って訳したものを修正したものです。

This article is provided in Japanese and English.
The English version is translated using DeepL translation.

続きを読む

機械学習エンジニアのための将棋AI開発入門その2

前回の続き。将棋AIで最初に大規模機械学習に成功させたBonanzaの開発者である保木さんのインタビューがちょうどYahoo!ニュースのトップ記事として掲載されたところなので、今回はBonanzaの機械学習について数学的な観点から解説してみたいと思います。

続きを読む

機械学習エンジニアのための将棋AI開発入門その1

最近、機械学習を勉強している人が増えてきたので、簡単な機械学習ならわかるよといった人たち向けに将棋AIの開発、特に評価関数の設計について数学的な側面から書いていこうかと思います。線形代数と偏微分、連鎖律程度は知っているものとします。

続きを読む

Leela ZeroがStockfishを超えた件

将棋ソフトの世界では、Deep Learning勢はまだ上位のソフトに追いついていないようですが(WCSC29の決勝にDeep Learning勢は残れていなかった)、チェスのソフトの世界では、この勢力図がいままさに変わろうとしています。

続きを読む

互角局面集での棋力の計測は適切なのですか?

2016年に互角局面集というのを本ブログで公開した。従来、強くなったかの計測は将棋所を用いて定跡なしで自己対局させていた。しかしそれだと同じ進行・同じ戦型に偏るため何らかの互角に近い局面を用意する必要があった。

続きを読む

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

前回記事の続きです。

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

AI界における全知vs全能論争

AtCoder社のchokudai(高橋 直大) さんが、競技プログラミングで上位に上がるためにどのようにすれば良いかということについて興味深いツイートをされている。言うまでもなくchokudaiさんは、AtCoderという競技プログラミングの国内最大級のサイトを運営されているだけではなく、ICFPC優勝4回等など競技プログラミングの世界ランカーでもある。

続きを読む

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

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

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

続きを読む