Leela Zero(リーラ・ゼロ)は2017年10月25日にリリースされたフリーソフトウェアコンピュータ囲碁プログラムである。チェスエンジンSjeng英語版や囲碁ソフトLeelaを開発したベルギーのプログラマー、ジャン=カーロ・パスクット英語版により開発された[1][2][3][4][5]

Leela Zero
作者 Gian-Carlo Pascutto英語版
開発元 Gian-Carlo Pascutto
初版 2017年10月25日(3年前) (2017-10-25
最新版
0.17 / 2019年4月4日(22か月前) (2019-04-04
リポジトリ ウィキデータを編集
種別 コンピュータ囲碁
ライセンス GPL-3.0
公式サイト zero.sjeng.org
テンプレートを表示
Leela Zero Server
作者 Jonathan Roy
開発元 Jonathan Roy
初版 2018年1月14日(3年前) (2018-01-14
リポジトリ github.com/leela-zero/leela-zero-server
プログラミング
言語
Node.js
種別 コンピュータ囲碁
ライセンス AGPL-v3
公式サイト zero.sjeng.org
テンプレートを表示

Leela Zeroの思考アルゴリズムは、DeepMindAlphaGo Zeroに関する2017年の論文に基づいて作られている[3][6]。オリジナルの(Zeroではない)Leelaが多くの定石などの人間による知識やヒューリスティクスがプログラムに書き込まれているのとは異なり、Leela Zeroは囲碁の基本的なルールのみがプログラムされている。Leela Zeroは過去に対局した結果に基づいて学習を行われたニューラルネットワークを持つことで強化された[7]

Leela Zeroは、自身のWebサイトで調整される分散型の取り組みによって強化されている。コミュニティのメンバーは、クライアントプログラムを実行して計算資源を提供している。クライアントは、自己対戦の対局を行い、結果を新しいニューラルの強化に使用されてる。通常、500以上のクライアントがサーバーに接続してリソースを提供してる[7]。コミュニティは、高品質のプログラムコードの開発にも貢献している[7]

Leela Zeroは、2018年4月28日に中国福建省福州で開催された「貝瑞基因杯2018世界人工知能囲棋大戦」(贝瑞基因杯2018世界人工智能围棋大赛)で3位となった[8]。2018年末の雑誌ザ・ニューヨーカーは、LeelaとLeela Zeroを「世界で最も成功しているオープンソースの囲碁エンジン」と評した[9]

2018年初頭、別のチームが同じコードベースからLeela Chess Zeroをフォーク(分岐)させ、チェスのゲームに適用されるAlphaZero論文の方法も検証された。 AlphaZeroではGoogleのTPU(テンソル・プロセッシング・ユニット)が使用されているが、Leela Chess ZeroではクラウドによるインフラストラクチャOpenCLライブラリを介してGPUを使用する手法に置き換えられた。それでも、AlphaZeroが論文で行ったチェスのために必要な数十時間の訓練を補うためには、Leela Chess Zeroでは1年のクラウドによるトレーニングが必要になると予想されている[10]

AlphaGo Zero論文との差異編集

強化学習の初期の段階では、Leela Zeroのアルゴリズムとプログラムが正しく機能するかどうかの確認のため、検証を高速化するために、AlphaGo Zero論文に記載されているいくつかのパラメータを調整していた[11]

ニューラルネットワークの構造
AlphaGo Zeroでは256種類のフィルターで20ブロックまたは40ブロックのCNN(畳み込みニューラルネットワーク)が使われていた[12][13]
Leela Zeroはニューラルネットワークのサイズを徐々に拡大した(ニューラルネットワークを変更する際に、Net2Netで変換が行われた[14])。
  • 1 ブロック x 8種類のフィルター(2017年11月10日,#0) から始まり
  • 4 ブロック x 32種類のフィルター(2017年11月17日,#2,強化学習約1.9万局)、
  • 5 ブロック x 64種類のフィルター(2017年11月21日,#5,約13.7万局)、
  • 6 ブロック x 128種類のフィルター(2018年1月20日,#58、約286万局)、
  • 10 ブロック x 128種類のフィルター(2018年3月5日,#92、約481万局)、
  • 15 ブロック x 192種類のフィルター(2018年4月9日,#117、約664万局)、
  • 20 ブロック x 256種類のフィルター(2018年7月28日,#158、約872万局) のフィルターが今まで使用された
  • 40 ブロック x 256種類のフィルター(2018年9月4日,#174、約997万局)[15]
強化学習のための自己対局の局数
AlphaGo Zeroは自己対局を50万局行っていた[13]
Leela Zeroでは10ブロックより前では直近の25万局の結果が使われていた(2018年3月4日以前)[16](2018年1月1日以前はバグの為、16万局の結果のみの使用[17]),10ブロックx 128種類のフィルター以降は直近の50万局の結果が使われている[18]
モンテカルロ木探索(MCTS)シミュレーションの数
AlphaGo Zeroが論文で自己訓練や正式な対局の際には、一手ごとに1600回のシミュレーションが行われる[13]
Leela Zeroでは当初はAlphaGo Zeroと同様に1600回のシミュレーションだったがのちに、3200回のシミュレーションに変更された[19]

作者は元のAlphaGo Zero論文に欠陥があることを発見した。論文の最初の入力は17チャネルだったが、白番が碁盤の端を認識しやすくするために、Leela Zeroで18に修正されています[20]

目標編集

Leela Zeroの最初の目標は、AlphaGoゼロの論文の結果を再現することでした。後に注目を集めた後、より多くのコンピューティングリソースと人材がLeela Zeroプロジェクトに投資され、Leela Zeroの強さは急速に増加し、以前に開発されたLeelaや他の囲碁ソフトを上回った[20][21][21]

2018年5月のインタビューで作者のGian-Carlo Pascuttoは携帯電話で使用できる強力な囲碁ソフトウェアを作ることと答えている[21]

強化学習編集

作者は、開発開始当時のハイエンドPCで使われていたのハードウェア(NvidiaGeForce GTX 1080 Ti)を使った場合、AlphaGo Zero自己学習レベル2900万局を達成するのに約1700年かかると予測していたため[22]、2017年11月から、有志者が各自のハードウェアを使用して、作者グループが開発した「AutoGTP」プログラムを通じて分散コンピューティングのプロジェクトに参加する仕組みになった(GTPを使用して学習結果をサーバーと自動的に通信する)[15]

  • プロジェクトの開始から34日後(2017年12月13日),強化学習のための自己対局が100万局を超えた。
  • 59日後(2018年1月8日)、200万局を超えた。
  • 74日後(2018年1月23日)、300万局を超えた。
  • 100日後(2018年2月18日)、400万局を超えた。
  • 119日後(2018年3月9日)、500万局を超えた。
  • 138日後(2018年3月28日)、600万局を超えた。
  • 166日後(2018年4月25日)、700万局を超えた。
  • 218日後(2018年6月16日)、800万局を超えた。
  • 261日後(2018年7月29日)、900万局を超えた。
  • 299日後(2018年9月5日)、1000万局を超えた。

2018年の初めに、ボランティアはインディアナ大学スーパーコンピューターのBig Red IIのコンピューティングリソースの利用を申請した(スーパーコンピューターの約10.7%を占める3360コアを使用)[23][24][注 1]

Leela Zeroバージョン0.10以降は、GPUが不要な純粋なCPUバージョン、既存のアルゴリズムの最適化、および新しいアルゴリズムの導入がサポートされ、全体的な計算速度を大幅に向上された。

他の囲碁AIとの協業編集

Minigo編集

MinigoもLeela Zeroと同樣にAlphaGo Zeroの論文をもとに作られたソフトウェアであり[25]Googleの援助により計算資源を得て[25]、それをもとに多くの学習結果を得た。こうしたことから、Leela ZeroとMinigoのそれぞれの開発チームは学習結果や学習によるパラメータなどのノウハウの共有についての議論を行った[26]

ELF OpenGo編集

ELF OpenGoは、AlphaGo ZeroとAlphaZeroの論文をもとにFacebookが実装したソフトウェアで[27]、Facebookは豊富な計算資源使用大量資源運算(2000 GPUを2週間使用)、Leela Zero開発チームはELF OpenGoの学習データをLeela Zero用に変換した(ハッシュ値が62b5417b[15])。

Leela Zeroその後、ELF OpenGoの学習データを取り込むことを決め、2018年5月7日に実際に取り込んだ[28][29]

成績編集

CGOS編集

CGOS英語: Computer Go Server)で、有志者がバージョンアップごとに登録を行い、他の囲碁AIとの棋力の比較が行なわれている[30]

登録名編集

CGOSでの登録名はLZLeelaZeroを頭文字にした名前がつけられている。その後にハッシュ値(例えばLZ-d6f3a6-t1-p1600[31])や学習回数(LZ-000-p1600-t1-r1[32])などにちなんだ名前が付けられることが多い。

特例編集

自己対戦ではなく、人間の棋譜を元に学習されたニューラルネットワークを使った思考エンジン登録されている。

登録名LZ-HBest1-t1-p1600[33][注 2]のアカウントは人間の棋譜で学習した思考エンジンとなっている(20 ブロック x 256種類のフィルター[35])[36]イロレーティングは約2650[37])。

もう一つの登録名はLZH256x20-t4-nolim[38]で、20 ブロック x 256種類のフィルターは前出のものと同じだが、CGOSの時間制限を考慮した作りになっている(イロレーティングは約3610[37])。

CGOSでの成績編集

CGOSでは誰でも自由に名前を登録できるので、「なりすまし」での登録もある(LZの名で登録されているが中身はLeela Zeroではない)[39]。CGOSでは測定のためにt1-p1600(1スレッド、1600回のプレイアウト)が使われていたが、2018年4月時点ではこのパラメータでの学習は行なわれていない:

  • 登録名LZ-c99f1a-t1-p1600[40](#36、約136万局の強化学習)ではイロレーティング約1830[37]、CGOSでのGNU Go(1800)のイロレーティングは超えたものの、GNU Goとの直接の対局での勝率は高くなかった。
  • 登録名LZ-097dee-t1-p1600[41](#41、約146万局の強化学習)GNU Goとの直接の対局ではほぼ勝利し、イロレーティング約1830約2000になった[37]
  • 登録名LZ-c83e1b-t1-p1600[42](#57、約266万局の強化学習)でのイロレーティングは約2480[37]に到達。このバージョンは、5 ブロック x 64種類のフィルターを使用した最後のバージョン。
  • 登録名LZ-ed002c-t1-p1600[43](#58、約286万局の強化学習)でのイロレーティングは約2460[37]。このバージョンは、6 ブロック x 128種類のフィルターを使用した最初のバージョン。
  • 登録名LZ-5773f4-t1-p1600[44](#65、約314万局の強化学習)でのイロレーティングは約2670[37]。人間の棋譜で学習した思考エンジン(LZ-HBest1-t1-p1600[33]、2650)のイロレーティングを超えた。

野狐囲碁編集

2017年12月16日、有志者が野狐囲碁に登録名alphaleelaで登録を行った。2017年12月30日(約150万局の強化学習)で級位から初段に上がり、2018年3月8日(約497150万局の強化学習)では九段に到達した[45]

2018貝瑞基因杯2018世界人工知能囲棋大戦編集

貝瑞基因杯2018世界人工知能囲棋大戦では絶芸PhoenixGoに次いで3位となった[46]

脚注編集

[脚注の使い方]

注釈編集

  1. ^ この時5 ブロック x 64種類のフィルターが使用されており、1時間あたり1500局だったものが、およそ倍の3000局に増えた。
  2. ^ ハッシュ値は「1e2b85cf611d5ede3f8d77ddc56a7bd79a7f1e51a647ddea428b92c00fdf2612」[34]であり「1e2b85cf」として登録もされている[15]

出典編集

  1. ^ Feature: One man's Go program looks to remake AlphaGo Zero - and beyond”. Xinhuanet (2018年4月9日). 2018年4月28日閲覧。
  2. ^ 围棋AI"丽拉"获赞接近职业棋手水准,它的作者竟是一个不太会下棋的程序员” (中国語). Xinhuanet (2018年2月5日). 2018年4月27日閲覧。
  3. ^ a b 更开放,更共享,比利时围棋AI“丽拉·元”重塑“阿尔法元”” (中国語). Xinhuanet (2018年4月8日). 2018年4月27日閲覧。
  4. ^ 프로 수준급 인공지능 바둑 프로그램 ‘릴라(Leela)’ 무료 공개” (Korean). Baduk News (2017年2月23日). 2018年4月27日閲覧。
  5. ^ 릴라의 출현과 온라인 대국의 비극적인 종말...” (Korean). Cyberoro (2017年3月3日). 2018年4月27日閲覧。
  6. ^ leela-zero”. GitHub. 2018年4月27日閲覧。
  7. ^ a b c Gian-Carlo Pascutto - The man behind LeelaZero”. European Go Federation (2018年5月24日). 2018年5月27日閲覧。
  8. ^ 世界AI大赛决赛腾讯内战 凤凰2-1绝艺夺冠” (中国語). sina.com.cn (2018年4月28日). 2018年4月28日閲覧。
  9. ^ “How the Artificial-Intelligence Program AlphaZero Mastered Its Games”. The New Yorker. (2018年). https://www.newyorker.com/science/elements/how-the-artificial-intelligence-program-alphazero-mastered-its-games 2018年12月31日閲覧。 
  10. ^ Leela Chess Zero: AlphaZero for the PC”. Chess News (2018年4月26日). 2018年6月11日閲覧。
  11. ^ Frequently Asked Questions about Leela Zero” (英語). 2017年12月18日閲覧。
  12. ^ アルファ碁ゼロに使われているディープラーニングを解き明かす 論文から詳細を紹介” (日本語). Codezine. 2019年10月21日閲覧。
  13. ^ a b c Mastering the game of Go without human knowledge” (英語). 自然 (期刊) (2017年10月18日). 2017年12月18日閲覧。
  14. ^ net2net by Ttl · Pull Request #704 · leela-zero/leela-zero” (英語). 2019年4月6日閲覧。
  15. ^ a b c d Leela Zero”. 2017年12月18日閲覧。
  16. ^ Is Leelaz trained off all the the games, or just the more recent ones? · Issue #484 · gcp/leela-zero” (英語) (2017年12月24日). 2017年12月27日閲覧。
  17. ^ How to find Information about the new best network · Issue #78 · gcp/leela-zero” (英語) (2018年1月1日). 2018年1月3日閲覧。
  18. ^ 128x10 transition (6615567e) · Issue #965 · gcp/leela-zero” (英語). 2018年4月2日閲覧。
  19. ^ Update benchmark to -v3200. · gcp/leela-zero@bce0e3d” (英語) (2018年3月13日). 2018年4月11日閲覧。
  20. ^ a b gcp/leela-zero: Go engine with no human-provided knowledge, modeled after the AlphaGo Zero paper.” (英語). 2017年12月18日閲覧。
  21. ^ a b c Gian-Carlo Pascutto - The man behind LeelaZero”. European Go Federation (2018年5月24日). 2018年6月2日閲覧。
  22. ^ Zero performance” (英語) (2017年10月20日). 2017年12月18日閲覧。
  23. ^ feature request: upload games when time limit is reached · Issue #563 · gcp/leela-zero” (英語). 2018年1月8日閲覧。
  24. ^ Big Red II - Cray XK7 , Opteron 6276 16C 2.300GHz, Cray Gemini interconnect, NVIDIA K20 | TOP500 Supercomputer Sites” (英語). 2018年1月8日閲覧。
  25. ^ a b tensorflow/minigo: An open-source implementation of the AlphaGoZero algorithm” (英語). 2018年2月2日閲覧。
  26. ^ Ideas from Minigo · Issue #785 · gcp/leela-zero” (英語). 2018年2月2日閲覧。
  27. ^ ELF | Game Research Platform | Facebook AI” (英語). 2018年5月6日閲覧。
  28. ^ Facebook open sources elf opengo · Issue #1311 · gcp/leela-zero” (英語) (2018年5月3日). 2018年5月16日閲覧。
  29. ^ two best networks in ten hours, is it related with ELF games? · Issue #1362 · gcp/leela-zero” (英語). 2018年5月8日閲覧。
  30. ^ (CGOS) 19x19 Computer Go Server” (英語). 2017年12月20日閲覧。
  31. ^ Crosstable for LZ-d6f3a6-t1-p1600” (英語) (2018年2月9日). 2018年2月25日閲覧。
  32. ^ Crosstable for LZ-000-p1600-t1-r1” (英語). 2018年2月25日閲覧。
  33. ^ a b Crosstable for LZ-HBest1-t1-p1600” (英語). 2017年12月20日閲覧。
  34. ^ Version 0.10 released - Next steps · Issue #591 · gcp/leela-zero” (英語). 2018年1月14日閲覧。
  35. ^ Question: Is there a way to generate up to date ("stronger"?) weights.txt? · Issue #794 · gcp/leela-zero” (英語). 2018年2月2日閲覧。
  36. ^ LZ-HBest1-t1-p1600 -- human supervised learning network on CGOS : cbaduk” (英語) (2017年12月17日). 2017年12月20日閲覧。
  37. ^ a b c d e f g 19x19 All Time Ranks” (英語). 2018年2月2日閲覧。
  38. ^ Crosstable for LZH256x20-t4-nolim” (英語) (2018年2月19日). 2018年3月14日閲覧。
  39. ^ Who's running bad LZ bots on CGOS? : cbaduk” (英語). 2018年1月5日閲覧。
  40. ^ Crosstable for LZ-c99f1a-t1-p1600” (英語) (2017年12月26日). 2018年1月9日閲覧。
  41. ^ Crosstable for LZ-097dee-t1-p1600” (英語) (2017年12月31日). 2018年1月1日閲覧。
  42. ^ Crosstable for LZ-c83e1b-t1-p1600” (英語) (2018年1月19日). 2018年2月2日閲覧。
  43. ^ Crosstable for LZ-ed002c-t1-p1600” (英語) (2018年1月22日). 2018年2月2日閲覧。
  44. ^ Crosstable for LZ-5773f4-t1-p1600” (英語) (2018年1月28日). 2018年1月29日閲覧。
  45. ^ 腾讯围棋” (中国語). 2018年3月8日時点のオリジナルよりアーカイブ。2018年3月9日閲覧。
  46. ^ 贝瑞基因杯机机大战预赛战罢 绝艺五连胜出线” (中国語) (2018年4月27日). 2018年5月13日閲覧。

関連項目編集

外部リンク編集