Minigo

Minigo
最新評価版
v199-lightning[1] / 2018年1月30日 (2018-01-30)
リポジトリ github.com/tensorflow/minigo
プログラミング
言語
Python
種別 コンピュータ囲碁
ライセンス Apache License 2.0[2]
公式サイト github.com/tensorflow/minigo

Minigo(ミニ碁)はオープンソースのコンピュータ囲碁ソフトウェア(囲碁思考エンジン)。

概要

MinigoはDeepMindが学術誌NatureのでAlphaGo Zeroについて発表した論文『Mastering the game of Go without human knowledge[3]』をもとに実装されたオープンソースの囲碁思考エンジン(囲碁AI)[4]で、定石や手筋などのヒューリスティクス(経験則)はプログラムに書き込まれず、囲碁の基本的なルールのみがプログラムされている。また、一種類のニューラルネットワークのみを持ち、自己対戦の対局で学習が行われる(AlphaGoはポリシーネットワークとバリューネットワークの2種類で設計されている)。

ソフトウェア本体はPythonで記述されており[4]、ニューラルネットワークのライブラリにはTensorFlowが使用されている[4]。ソースコードはApache License 2.0で公開され[2]、ニューラルネットワークのトレーニングデータはパブリックドメインでリリースされている[5]。

プロジェクトの目標は以下としている[4]:

これ以外にもLeela ZeroについてMinigoの作者が感じた疑問を明らかにする目的もある[6]。

GoogleおよびDeepMindとの関連

MinigoのGitHubでのプロジェクトはTensorFlowの公式アカウント直下に置かれており(TensowFlowはGoogleが開発したソフトウェア),プロジェクトのメインの開発者であるAndrew Jackson[7][注 1]はGoogle社員だが[6]、MinigoはTensorFlowのプロジェクトとは無関係で[6],DeepMindが開発したAlphaGoの公式の実装でもなく[4]、AlphaGo Zeroの論文をもとに独自に開発したとしている[4][8]。

開発段階

GoogleとDeepMindはMinigoプロジェクトに企業としては公式にプロジェクトへの参加しませんでしたが、開発者のAndrew JacksonはGoogleが提供している勤務時間の20%(「20 percent time」)を使い[6]、Googleからハードウェアリソース(計算資源)の支援を受けました[4][9]:

第一段階(First run、2017年11月)
約1000のCPUコア(GPUなし)を使用して2週間実行し、主にプログラム実装の正確さを確認するために九路盤でのトレーニング。
第二段階(Second run、2017年12から2018年1月)
約1000のGPUで約4週間実行し、19路盤を使用し訓練、20 ブロック x 128種類のフィルターのCNN(畳み込みニューラルネットワーク)が使われ、大規模なバグを修正し、プログラムにさまざまな改善を加え論文に記載されていない詳細を実装する方法を模索した。バージョン160あたりで、KGSとCGOSにsomebotのニックネームで登録した。
第三段階(Third run、2018年1月20日から2018年2月1日)
AlphaGo Zeroの論文の中で使用が不明瞭な部分を確認し、試行錯誤し適切な結果を採用した。
第四段階(2018年2月7日から2018年3月)

他の囲碁AIとの協業

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

成績

Minigoの第二段階からCGOSの19路盤に登録を行い(登録名somebot) [12]、最高点は somebot-199b[13]のアカウントでイロレーティング約2600点に到達した[12]。

市販ソフトでの採用

2019年11月29日に発売された『入神の囲碁』にMinigoが搭載されている[14]。入神の囲碁ではMinigoを含め5種類の囲碁思考エンジン(囲碁AI)が搭載されている。

関連項目

脚注

注釈

  1. ↑ Andrew JacksonのGitHubでのアカウントはamj。

出典

  1. ↑ “Releases · tensorflow/minigo”. 2018年2月1日閲覧。
  2. 1 2 “minigo/LICENSE at master · tensorflow/minigo”. 2018年2月1日閲覧。
  3. ↑ “Mastering the game of Go without human knowledge”. Nature (2017年10月18日). 2018年2月1日閲覧。
  4. 1 2 3 4 5 6 7 “tensorflow/minigo: An open-source implementation of the AlphaGoZero algorithm”. 2018年2月1日閲覧。
  5. ↑ “minigo/fetch_dataset.sh at master · tensorflow/minigo”. 2018年2月1日閲覧。
  6. 1 2 3 4 “An open-source implementation of the AlphaGoZero algorithm : cbaduk” (2018年1月30日). 2018年2月1日閲覧。
  7. ↑ “Contributors to tensorflow/minigo”. 2018年2月1日閲覧。
  8. ↑ “Computer-go MiniGo open sourced” (2018年1月29日). 2018年2月14日閲覧。
  9. ↑ “minigo/RESULTS.md at master · tensorflow/minigo”. 2018年2月1日閲覧。
  10. ↑ “gcp/leela-zero: Go engine with no human-provided knowledge, modeled after the AlphaGo Zero paper.”. 2018年2月2日閲覧。
  11. ↑ “Ideas from Minigo · Issue #785 · gcp/leela-zero”. 2018年2月2日閲覧。
  12. 1 2 “19x19 All Time Ranks”. 2018年2月1日閲覧。
  13. ↑ “Crosstable for somebot-199b”. 2018年2月1日閲覧。
  14. ↑ Inc, Aetas. “PC用囲碁ソフトの新シリーズ「入神の囲碁」が本日発売。棋力を6級から十段まで実装し,初級者から高段者まで幅広く対局が楽しめる”. www.4gamer.net. 2019年12月7日閲覧。

外部リンク