Minigo

From Wikipedia, the free encyclopedia

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

最新評価版
v199-lightning[1] / 2018年1月30日 (8年前) (2018-01-30)
プログラミング
言語
Python
概要 最新評価版, リポジトリ ...
閉じる

概要

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]

開発段階

GoogleDeepMindは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あたりで、KGSCGOSsomebotのニックネームで登録した。
第三段階(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)が搭載されている。

関連項目

脚注

外部リンク

Related Articles

Wikiwand AI