TadaoYamaokaの開発日記

個人開発しているスマホアプリや将棋AIの開発ネタを中心に書いていきます。

【論文】Adversarial Policies Beat Superhuman Go AIs

[2211.00241] Adversarial Policies Beat Superhuman Go AIs

最先端のコンピュータ囲碁ソフトのKataGoの脆弱性を攻撃することで、高い勝率を上げるエージェントを訓練する方法について書かれた論文。

囲碁のルールの設定が公平でないとRedditで批判されているので、どれほど信頼できるかは不明だが、エクスプロイターの作成の参考になる。
[N] Adversarial Policies Beat Professional-Level Go AIs : MachineLearning

提案手法

  • KataGoの脆弱性を攻撃することを目的とした敵対的ポリシーを学習する
  • KataGoとの対局時に、MCTSの相手側のポリシーにKagaGoのポリシーを使う
  • エクスプロイターの手番のみを学習する

ランダムから学習した場合でも、探索なしの条件では、KataGoに99%勝利し、探索あり(2048回)で77%以上の勝率になる。

感想

RedditでKataGoの作者が、KataGoでも学習していない自己対局では現れないまれな局面(out-of-distribution)では、人間のプレーヤーによって悪用されることがあると言っている。
KataGoは、「Mi Yuting's flying dagger」のような知られている定石は、手動で訓練に追加して対策しているようだ。

ただし、十分に探索を行うことで、未知の局面でもほぼ悪用できなくなることが多いので、論文で採用されている探索回数が少なすぎではないかというようなことを言っている。

しかし、重要なのは、最先端の囲碁AIでも、超人的なパフォーマンスを発揮するのは自己対局で現れた局面に「似ている」局面であって、指数関数的な状態空間を持つ囲碁では、そのサブセットが空間の重要な部分をすべてうまくカバーしているとは限らないことだ。

将棋AIに関して

dlshogiでも、水匠との長時間思考して対局させると、中終盤で評価を誤る局面がある。
学習していない局面というよりも、何手も先で詰みが絡むような局面が多い。
自己対局ではプレイアウト数が比較的少ないため、そのような局面の最善手を学習するのは難しい。

現状有効な対策は、水匠と対局して現れたdlshogiが判断を誤る局面を抽出して、学習に追加することだと考えている。
それで学習できるのは、将棋の状態空間の中のごく一部だが、コンピュータ将棋同士の対局ではそれで十分かもしれない。