Leela Chess Zero

Leela Chess Zero（リーラ・チェス・ゼロ、略称: LCZero、lc0）は、フリーでオープンソースのニューラルネットワークに基づくチェスエンジンならびに分散コンピューティングプロジェクトである。開発の陣頭指揮を執るのはプログラマーのGary Linscott。LinscottはコンピュータチェスエンジンであるStockfishの開発者でもある。Lella Chess Zeroは囲碁エンジンLeela Zeroのチェス版である。そしてLeela ZeroはGoogleのAlphaGo Zeroプロジェクトを基礎としており、AlphaZeroの論文の手法をチェスに適用することで検証することも目的としている。

Leela ZeroおよびAlphaGo Zeroと同様に、Leela Chess Zeroはチェスの基本ルール以外のチェス特異的な固有知識を与えずに始められた。Leela Chess Zeroは次に繰り返し行う自己対戦からの強化学習によってチェスをどうのように指すかを学習する。自己対戦にはLeela Chess Zeroウェブサイトで連係される分散コンピューティングネットワークを用いて行われた。

2020年現在、Leela Chess Zeroは3億局以上の自己対戦を行っており、従来のトップチェスプログラムであるStockfishと比肩する水準で指す能力がある。

歴史
Leela Chess Zeroプロジェクトは2018年1月9日にTalkChess.comで初めて公表された。ここで、Leela Chess Zeroがオープンソースの自己学習チェスエンジンで、目標は強いチェスエンジンを作ることであることが明らかにされた。訓練を開始して最初の数か月のうちに、Leela Chess Zeroは既にグランドマスターの水準に達し、モンテカルロ木探索を使うため評価する局面が数桁少ないにもかかわらず、、Stockfish、の初期リリースの強さを超えた。

2018年12月、AlphaZeroチームはサイエンス誌に新たな論文を発表し、未発表であったAlphaZeroのために使われたアーキテクチャの詳細と訓練パラメータを明らかにした。これらの変更点はすぐにLeela Chess Zeroに取り込まれ、強さと訓練効率の両方が上昇した。

Leela Chess Zeroについての作業は将棋に関する類似プロジェクトAobaZeroに知識を与えている。

本エンジンはその発端以来書き直され、注意深く反復されており、現在は複数のバックエンド上で動作する。これによって、CPUとGPUの両方のハードウェアを効率的に使用することが可能になった 。

変則チェスの一種であるフィッシャーランダムチェス（チェス960）をサポートしており、2020年5月現在こういったネットワークの実行可能性を試験するためにネットワークが訓練されている。

プログラムと使用 
Leela Chess Zeroを自己学習させ、人間の水準以上でチェスを指させるために設計者らによって使われた手法が強化学習である。これは機械学習アルゴリズムの1つで、自己対局を通して報酬を最大化するよう訓練される。オープンソース分散コンピューティングプロジェクトとして、ボランティアユーザはLeela Chess Zeroを実行し、強化学習アルゴリズムに与えるための自己対局を何億局も行わせる。Leela Chess Zeroエンジンの進歩に貢献するために、本エンジンとクラインアントの最新非リリース候補版（non-rc）をダウンロードしなければならない。クラインアントはLeela Chess Zeroの現在のサーバに接続し（サーバには自己対局からの全ての情報が貯えられる）、最新のネットワークを入手し、自己対局を生成し、訓練データをサーバにアップロードするために必要である。

マシン上でLeela Chess Zeroエンジンと対局するためには、エンジンバイナリとネットワークの2つの構成要素が必要である（エンジンバイナリは、クライアントがエンジンのための訓練プラットフォームとして使われるという点で、クライアントとは異なる）。ネットワークは、局面を評価するために必要なLeela Chess Zeroの評価関数を含む。より古いネットワークもダウンロード可能であり、それらのネットワークをlc0バイナリがあるフォルに置くことで使うことができる。

出典

外部リンク

Leela Chess Zero on GitHub
Neural network training client
Engine
Neural nets
Chessprogramming wiki on Leela Chess Zero

コンピュータチェス
フリーソフトウェアとオープンソースソフトウェア
分散コンピューティングプロジェクト
2018年のソフトウェア
応用機械学習