Minigo(ミニ碁)はオープンソースのコンピュータ囲碁ソフトウェア(囲碁思考エンジン)。
概要 MinigoはDeepMindが学術誌NatureのでAlphaGo Zeroについて発表した論文『』をもとに実装されたオープンソースの囲碁思考エンジン(囲碁AI)で、定石や手筋などのヒューリスティクス(経験則)はプログラムに書き込まれず、囲碁の基本的なルールのみがプログラムされている。また、一種類のニューラルネットワークのみを持ち、自己対戦の対局で学習が行われる(AlphaGoはポリシーネットワークとバリューネットワークの2種類で設計されている)。
ソフトウェア本体はPythonで記述されており、ニューラルネットワークのライブラリにはTensorFlowが使用されている。ソースコードはApache License 2.0で公開され、ニューラルネットワークのトレーニングデータはパブリックドメインでリリースされている。
プロジェクトの目標は以下としている:
TensorFlow、Kubernetes、Google Cloud Platformを使用した強化学習を実装の例を提供。 AlphaGo Zeroの論文の実証と、オープンソースのツールとして提供。 囲碁界、機械学習コミュニティ以及Kubernetesコミュニティへの情報提供。
これ以外にもLeela ZeroについてMinigoの作者が感じた疑問を明らかにする目的もある。
GoogleおよびDeepMindとの関連 MinigoのGitHubでのプロジェクトはTensorFlowの公式アカウント直下に置かれており(TensowFlowはGoogleが開発したソフトウェア),プロジェクトのメインの開発者であるAndrew JacksonはGoogle社員だが、MinigoはTensorFlowのプロジェクトとは無関係で,DeepMindが開発したAlphaGoの公式の実装でもなく、AlphaGo Zeroの論文をもとに独自に開発したとしている。
開発段階 GoogleとDeepMindはMinigoプロジェクトに企業としては公式にプロジェクトへの参加しませんでしたが、開発者のAndrew JacksonはGoogleが提供している勤務時間の20%(「20 percent time」)を使い、Googleからハードウェアリソース(計算資源)の支援を受けました:
第一段階(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の論文をもとに作られたソフトウェアであり、Googleの援助により計算資源を得て、それをもとに多くの学習結果を得た。こうしたことから、Leela ZeroとMinigoのそれぞれの開発チームは学習結果や学習によるパラメータなどのノウハウの共有についての議論を行った。
成績 Minigoの第二段階からCGOSの19路盤に登録を行い(登録名somebot) 、最高点は somebot-199bのアカウントでイロレーティング約2600点に到達した。
市販ソフトでの採用 2019年11月29日に発売された『入神の囲碁』にMinigoが搭載されている。入神の囲碁ではMinigoを含め5種類の囲碁思考エンジン(囲碁AI)が搭載されている。 関連項目
AlphaGo AlphaGo Zero Leela Zero -Minigoと同樣にAlphaGo Zeroの論文をもとに作られたソフトウェア。 TensorFlow - Minigoが使用しているされる機械学習のソフトウェアライブラリ。 コンピュータ囲碁
脚注
注釈
出典
外部リンク