ネット囲碁学園の無料AI囲碁ソフト「KataGo」に3子局で挑んでみた!

update 最終更新日:2022年8月12日 at 4:27 PM

2015年の囲碁界においては、機械が最強の人間を打ち負かすには後10年は必要だろうというのが大多数の専門家の予想でした。しかしながら、2016年、Google が4億ドルで買収したイギリスの人工知能の研究開発企業「DeepMind」により開発された囲碁AIプログラム「AlphaGo」が見事にその予想を裏切りました。
AlphaGo は、ディープラーニングという新しい AI技術を元に開発された囲碁AIプログラムであり、デビューして間もなく、世界の超一流のプロ棋士たちを次々と撃破し、囲碁界に大きな衝撃をもたらしました。

2016年3月、世界最強と目された韓国棋院の李世乭 九段と AlphaGo との五番勝負では、AlphaGo が4ー1で李九段を下します。更に、2017年5月、中国の柯潔九段との三番勝負では、3局全勝を修め、中国囲棋協会にプロの名誉九段を授与されます。その後、Google DeepMind は世界トップ棋士である柯潔九段に勝利したことを機に、AlphaGo を人間との対局から引退させると発表するに至りました。

2018年以降では、Leela Zero, ELF OpenGo, KataGo などのオープンソースの囲碁AIも登場した事で、誰でも囲碁AIと接する機会が得られるようになりました。
そこで、今回は、オープンソースの囲碁AIで最も注目されている KataGo との対戦に挑んでみたいと思います。
これまで、ネットワークを経由しサーバー接続でKataGoと対戦する方式の Android 版アプリは使った事があるのですが、広告を見ない代わりに有料でポイントを購入するよう迫られて煩わしいため、完全に無料で使えるPC版(Win10)の KataGo をインストールする事にしました。
なお、KataGo を AWS(Amazon Web Services)や GCP(Google Cloud Platform)などのクラウドにインストールして利用する方法もありますが、環境を整えるまでの作業はかなり面倒だと思います。

殆どのオープンソースの囲碁AIは、思考エンジンのみの提供となっており、対局に必要な GUI インターフェースは用意されていません。その為、「Sabaki」などの GUI ソフトも同時にインストールし、様々な設定をする必要があります。思考エンジンと対局ソフトとの連携は、GTP (Go Text Protocol)を介して行われます。
しかしながら、OpenCL/CUDA/CPU-AVX2/CPU 版などのAIプログラムとニューラルネットの Weight ファイルのインストールや GTP パラメータの設定が複雑だったりするので、誰でもお手軽には使えないようです。

一応、Sabaki は、インストールして使ってはみましたが、操作性が今一つで、決して使い勝手が良いとは思えませんでした。やはり、対局用の GUI だけでは不十分なので、もっと優れた検討用の GUI も欲しいところです。
そこで、一番お勧めの囲碁AIソフトがありました!

それは、「ネット囲碁学園システム」です。

ネット囲碁学園システム とは、囲碁の普及のため、日本棋院のプロ棋士 三村智保九段 の監修のもと、プログラマーの 方志昌さん が開発し、2019年8月1日にリリースした次世代の囲碁AI統合プログラムです。
その特徴は、以下の通りです。

  • LeelaZeroとKataGo搭載のAI機能 (対局と分析)
  • フリー碁盤での棋譜入力や検討
  • 問題集
  • 囲碁教材の作成
  • ネット教室専用ツール

この中で、特に注目が集まるところは、LeelaZero と KataGo のAI対局機能が無料で利用できるという事ですが、実はそれだけではなく、インストールと設定が極めて簡単に行えるという事も大きな特徴だと思います。
そして、一旦インストールしたら、何時でも AI の思考エンジンの切り換えが自由に行えますし、碁盤のデザイン変更も可能で、カスタマイズ機能も充実しています。私は碁盤を榧の木目(画像は自分で用意)に変更しています。

ネット囲碁学園システムのインストールとKataGoの設定

ネット囲碁学園システムは、以下のリンクからインストールできます。インストールが完了すると、上記の初期メニューが表示されます。



なお、インストールするにあたって、AI検討用の推奨スペック(AI碁盤利用時)は以下の通りです。

  • OS: Windows10
  • CPU: Core™ i7-7700以上
  • GPU: NVIDIA GeForce GTX1660以上
  • MEM: 16G以上

これは、かなりの高スペックが求められますよね😓
でも、ご安心下さい。これはあくまでも推奨スペックですので、Win10 が搭載された最近のPCならノートパソコンでも動作可能なようです。
私は、DELL のノートパソコン Vostro 15 3558(CPU: Intel Core i5-5200U / MEM:8GB / OS:Windows10 64bit Home)にインストールしましたが、問題なく動作しています。

但し、一つだけ確認事項があります。近年のAIプログラムでは、膨大な計算処理を高速で並列処理するために、GPU(Graphics Processing Unit)を利用しています。そのため、CPU の性能に加え、高速で高性能な GPU が搭載されたPCがAI機能の読みの精度を高めます。つまり、棋力がより強くなります。

ちなみに、私のノートパソコンには以下の通り、インテル® Core™ i5-5200U プロセッサーに GPU(OpenCLサポート)が内蔵されていますが、デスクトップ PC に搭載された外付けのグラフィックボード(NVIDIA GeForce GTX 1660など)と比べると、その性能の差は歴然としています。
強さと速さを求めるのなら、CPU とグラフィックボードの選択からになりますが、実際は以下のスペックでも恐ろしく強いですから、私はこれ以上の高みは求めません。😓

AI機能は、初期メニューより「AI碁盤」を選択し、以下のAI碁盤のメニューから「AIを開く」を選択すれば利用できます。
今回は、AIの思考エンジンから「KataGo (OpenCL)」を選択します。OpenCL とは GPU のAPIであり、GPU が実装されている PC でのみ利用できます。KataGo に関しては、3種のバージョンがあり、棋力は、OpenCL が最強で、以下、CPU-AVX2、CPU の順となっています。

KataGo のAI設定では、AIルール(対局・分析)、AI考慮時間(対局)、AI投了の勝率(対局)が指定できます。
この画面では、日本、10秒/手、0%を選択しました。ここで、AIの考慮時間を20秒/手とかに更に長く設定すると、AIの棋力が増します。

Intelの第4世代Coreプロセッサから採用されたCPUの拡張命令セット


以下は、AI碁盤の「コンソール」タブを開いた時の画面です。コンソール画面を見ると、AI のエンジン起動とWeightファイルの読み込みが正常に実行され、GTP が確立されたことが確認できます。


AIとの対局設定

AI との対局を開始するには、先ずAI碁盤のメニューから「碁盤クリア」を選択し、対局情報を入力し、ラジオボタンのメニューから対局(黒番/白番)を選択します。ここで「対局(AI自戦)」を選択すると、AI同士の対戦となります。今回は、3子局なので「対局(黒番)」を選択します。


KataGoとの対局

上記は、KataGo との終局図です。手入れが終わったら「地合計算」を選択します。生死の確認をすると、結果が表示されます。
AI の勝率チャートによると、どうやら106手目あたりから形勢が逆転し、最後は13目負けとなりました。いつもコテンパンにやられていますが、もっと高性能な PC で対局したら、更に酷い結果になったと思います。高スペックなPCだと、きっと、5子で勝てるかどうかも危ないところだと思います。
108手目までの部分譜(ネット囲碁学園システムの棋譜印刷・PDF出力機能を利用)と総譜は以下です。


棋譜再生

白に対して、下辺で簡単に根拠を持たせた事、それから左辺の地を纏めさせたのも良くないと思いますが、KataGo のAI分析によると、特に黒106手目(Aのノゾキ)が甘かったようです。

以下は AI による参考図です(チェックボックス”分析”を選択)。とても参考になります。もはや、AI に人間が教わる時代になりましたね。

ちなみに、以下の参考図は黒130手目(Aのケイマ)の参考図です。目数差チャートによると、約1目差であり、この時点までは実は未だ細かったようです。参考図の手順が良いかどうかは良く分かりませんが、Aの着手は小さかったようです。

序盤でのダイレクト三々やカタツキなど、従来は悪手とされた手が、近年、実は有力な手であることが AI により示されてきました。意表を突くようなAIによる新定石も次々と誕生していますので、これまで習った定石が通用しなくなっています。まるで、AI がパンドラの箱を開けてしまった感があります。

特に、AI が好んで打ってくるダイレクト三々などには難解な変化形があるため、AI と対局する時は、極力、簡明な手筋を選択しないと、我々アマチュアは、序盤早々でAIに潰されてしまうと思います。AI 恐るべしです。

このエントリーをはてなブックマークに追加
X(ポスト)

コメントを残す