| KataGo | |
|---|---|
| 開発者 | デビッド・ウー |
| リリース | 2019年2月27日 ( 2019-02-27 ) |
| 安定放出 | 1.16.5 / 2026年5月25日 ( 2026-05-25 ) |
| 執筆 | C++ |
| タイプ | Goソフトウェア |
| ライセンス | MITライセンス |
| Webサイト | katagotraining.org |
| リポジトリ |
|
KataGoは、トップレベルの人間プレイヤーを打ち負かすことができる、無料のオープンソースの囲碁プログラムです。2019年2月27日に初めてリリースされ、David Wu氏によって開発されました。 [ 1 ]彼はまた、 2015年にArimaa AI Challengeで3人のトップレベルの人間プレイヤーを打ち負かして優勝したArimaa対戦プログラムbot_Sharpも開発しました。 [ 2 ]
KataGoの最初のリリースは、David Wuが雇用主であるJane Street Capitalから提供されたリソースを使用してトレーニングしましたが[ 3 ]、現在は分散型の取り組みによってトレーニングされています[ 4 ] 。コンピュータ囲碁コミュニティのメンバーは、自己対戦ゲームとレーティングゲームを生成してサーバーに送信するクライアントを実行することで、コンピューティングリソースを提供します。自己対戦ゲームは新しいネットワークのトレーニングに使用され、レーティングゲームはネットワークの相対的な強さを評価するために使用されます。
KataGoは、さまざまな拡張機能を備えたGo Text Protocolをサポートしており[ 5 ] 、 Lizzieなどの一般的なGUIと互換性があります。また、代替手段として、KaTrain GUI [ 6 ]などで使用されている独自の「分析エンジン」プロトコルも実装しています。KataGoは、韓国代表チームを含む、実力のある囲碁棋士によってトレーニング目的で広く使用されています[ 7 ] [ 8 ] 。KataGoは、オンライン囲碁ウェブサイトAI Sensei [ 9 ]やOGS(オンライン囲碁サーバー) [ 10 ]のデフォルトの分析エンジンとしても使用されています。
DeepMindのAlphaGo Zeroで使用されている技術に基づいて、KataGoはモンテカルロ木探索を畳み込みニューラルネットワークで実装し、局面評価と方針ガイダンスを提供します。AlphaGoと比較すると、KataGoはより速く学習し、より強くプレイできるようにするための多くの改良を導入しています。[ 1 ] [ 11 ] 他の多くの囲碁プログラムにはないKataGoの注目すべき機能には、スコア推定、小型盤、長方形盤、大型盤のサポート、コミとハンディキャップの任意の値、さまざまな囲碁ルールセットを使用し、それらの間のわずかな違いに合わせてプレイと評価を調整する機能などがあります。
KataGoで使用されるネットワークは、事前活性化付きのResNetです。
AlphaGo Zeroは(ボードゲーム全般のアーキテクチャとして設計され、後にAlphaZeroとなったため)入力機能としてゲーム盤の履歴のみを使用する一方、ネットワークへの入力には囲碁をプレイするために特別に設計された追加機能が含まれています。これらの機能には、自由度、コミのパリティ、パスアライブ、ラダーなどが含まれます。
トランクは基本的にAlphaGo Zeroと同じですが、グローバルプーリングレイヤーが追加され、ネットワークがKO戦などのグローバルなコンテキストに基づいて条件付けされるようになっています。これはSqueeze-and-Excitation Networkに似ています。[ 1 ]
このネットワークは、ポリシーヘッドとバリューヘッドの2つのヘッドで構成されています。ポリシーヘッドとバリューヘッドは、AlphaGo Zeroとほぼ同じですが、どちらのヘッドにも補助的な損失信号を提供し、学習速度を向上させるための補助サブヘッドが備わっています。
このネットワークについては、報告書の付録Aに詳細が記載されています。[ 1 ]
バージョン1.12で、コードベースはTensorFlowからPyTorchに切り替わりました。
その幹に残りのブロックとチャネル。最初のトレーニング実行では、複数のネットワークがチャネル数を増やしながらトレーニングされました。最大28個のNvidia V100 GPUを使用し、420万本のゲームをプレイするのに19日間かかりました。
最初のトレーニング実施後、トレーニングはボランティアによって運営される分散型プロジェクトとなり、ネットワーク規模は拡大していった。2024年8月現在 28ブロック、512チャンネル(b28c512)に達しました。
2022年、KataGoはAIシステムの「驚くべき失敗モード」を実証するために設計された敵対的攻撃研究のターゲットとして使用されました。研究者たちはKataGoをだましてゲームを早期に終了させることに成功しました。[ 12 ] [ 13 ]