Leela Zero

Leela Zero（リーラ・ゼロ）は2017年10月25日にリリースされたフリーソフトウェアのコンピュータ囲碁プログラム。チェスエンジンと囲碁ソフトLeelaを開発したベルギーのプログラマー、が開発した。
概要.
Leela Zeroの思考アルゴリズムは、DeepMindのAlphaGo Zeroに関する2017年の論文に基づいて作られた。オリジナルの（Zeroではない）Leelaには多くの定石などの人間による知識やヒューリスティクスがプログラムに書き込まれているのとは異なり、Leela Zeroには囲碁の基本的なルールだけがプログラムされた。Leela Zeroはニューラルネットワークをもち、過去に対局した結果から学習することによって強化された。
Leela Zeroは、自身のWebサイトで調整された分散型の協力によって強化された。コミュニティのメンバーは、計算資源を提供してクライアントプログラムを実行した。クライアントでは自己対戦の対局を行い、結果は新しいニューラルネットの強化に使用された。通常、500以上のクライアントがサーバーに接続して計算資源を提供した。コミュニティは、高品質のプログラムコードの開発にも貢献していた。
Leela Zeroは、2018年4月28日に中国福建省福州で開催された「貝瑞基因杯2018世界人工知能囲棋大戦」（）で3位となった。2018年末の雑誌ザ・ニューヨーカーは、LeelaとLeela Zeroを「世界で最も成功しているオープンソースの囲碁エンジン」と評した。
2018年の初頭に、別のチームが同じコードベースからLeela Chess Zeroを分岐させ、チェスのゲームに適用されたAlphaZero論文の方法を検証した。AlphaZeroではGoogleのTPU（テンソル・プロセッシング・ユニット）が使用されていたが、Leela Chess ZeroではクラウドによるインフラストラクチャとOpenCLライブラリを介してGPUを使用する手法に置き換えられた。それでも、AlphaZero論文においてチェスのために必要だったという数十時間の訓練を補うためには、Leela Chess Zeroではクラウドによる1年のトレーニングが必要になると予想された。
2021年2月15日にLeela Zeroの分散トレーニングが終了した。プロジェクト終了に伴い、サーバーも閉鎖した。
AlphaGo Zero論文との差異.
強化学習の初期の段階では、Leela Zeroのアルゴリズムとプログラムが正しく機能するかどうかの確認のため、検証を高速化するために、AlphaGo Zero論文に記載されているいくつかのパラメータを調整していた。
作者は元のAlphaGo Zero論文に欠陥があることを発見した。論文の最初の入力は17チャネルだったが、白番が碁盤の端を認識しやすくするために、Leela Zeroで18に修正されている。
目標.
Leela Zeroの最初の目標は、AlphaGoゼロの論文の結果を再現することだった。後に注目を集めた後、より多くのコンピューティングリソースと人材がLeela Zeroプロジェクトに投資され、Leela Zeroの強さは急速に増加し、以前に開発されたLeelaや他の囲碁ソフトを上回った。
2018年5月のインタビューで作者のGian-Carlo Pascuttoは携帯電話で使用できる強力な囲碁ソフトウェアを作ることと答えている。
強化学習.
作者は、開発開始当時のハイエンドPCで使われていたのハードウェア（NvidiaのGeForce GTX 1080 Ti）を使った場合、AlphaGo Zero自己学習レベル2900万局を達成するのに約1700年かかると予測していたため、2017年11月から、有志者が各自のハードウェアを使用して、作者グループが開発した「AutoGTP」プログラムを通じて分散コンピューティングのプロジェクトに参加する仕組みになった（GTPを使用して学習結果をサーバーと自動的に通信する）。
2018年の初めに、ボランティアはインディアナ大学のスーパーコンピューターのBig Red IIのコンピューティングリソースの利用を申請した（スーパーコンピューターの約10.7％を占める3360コアを使用）。
Leela Zeroバージョン0.10以降は、GPUが不要な純粋なCPUバージョン、既存のアルゴリズムの最適化、および新しいアルゴリズムの導入がサポートされ、全体的な計算速度を大幅に向上された。
他の囲碁AIとの協業.
Minigo.
MinigoもLeela Zeroと同樣にAlphaGo Zeroの論文をもとに作られたソフトウェアであり、Googleの援助により計算資源を得て、それをもとに多くの学習結果を得た。こうしたことから、Leela ZeroとMinigoのそれぞれの開発チームは学習結果や学習によるパラメータなどのノウハウの共有についての議論を行った。
ELF OpenGo.
ELF OpenGoは、AlphaGo ZeroとAlphaZeroの論文をもとにFacebookが実装したソフトウェアで、Facebookは豊富な計算資源を使用し（2000 GPUを2週間使用）、学習結果を公開。Leela Zero開発チームはELF OpenGoの学習データをLeela Zero用に変換した（ハッシュ値がcodice_1）。
Leela Zeroその後、ELF OpenGoの学習データを取り込むことを決め、2018年5月7日に実際に取り込んだ。
成績.
CGOS.
CGOS（）で、有志者がバージョンアップごとに登録を行い、他の囲碁AIとの棋力の比較が行なわれている。
登録名.
CGOSでの登録名はcodice_2やcodice_3を頭文字にした名前がつけられている。その後にハッシュ値（例えばcodice_4）や学習回数（codice_5)などにちなんだ名前が付けられることが多い。
特例.
自己対戦ではなく、人間の棋譜を元に学習されたニューラルネットワークを使った思考エンジンが登録されている。
登録名codice_6のアカウントは人間の棋譜で学習した思考エンジンとなっている(20 ブロック x 256種類のフィルター)（イロレーティングは約2650）。
もう一つの登録名はcodice_7で、20 ブロック x 256種類のフィルターは前出のものと同じだが、CGOSの時間制限を考慮した作りになっている（イロレーティングは約3610）。
CGOSでの成績.
CGOSでは誰でも自由に名前を登録できるので、「なりすまし」での登録もある（LZの名で登録されているが中身はLeela Zeroではない）。CGOSでは測定のためにcodice_8（1スレッド、1600回のプレイアウト）が使われていたが、2018年4月時点ではこのパラメータでの学習は行なわれていない：
野狐囲碁.
2017年12月16日、有志者が野狐囲碁に登録名codice_15で登録を行った。2017年12月30日（約150万局の強化学習）で級位から初段に上がり、2018年3月8日（約497150万局の強化学習）では九段に到達した。
2018貝瑞基因杯2018世界人工知能囲棋大戦.
貝瑞基因杯2018世界人工知能囲棋大戦では絶芸、PhoenixGoに次いで3位となった。