AlphaZeroの検索手順


6

関連する質問と、AlphaZeroの理解などの同じトピックに関するすばらしい回答を知っています。私の質問は、AlphaZeroの検索手順に関する次の図に関連しています

ここに画像の説明を入力してください

この図は、AlphaZero のサイエンスペーパーに基づいています(図4、4ページ)。検索は、29の後の非常に素晴らしいゲーム1 AlphaZero(白)とStockfish(黒)からの位置を示しています。... Qf8。図の残りのメモは次のとおりです

AlphaZeroのMCTSの内部状態は、10 ^ 2、...、10 ^ 6シミュレーション後に要約されます。各要約には、最も訪問された10州が表示されます。推定値は、[0、100]の範囲にスケーリングされて、白の視点から、各状態で表示されます。そのツリーのルート状態に対する各状態の訪問数は、境界線の太さに比例します。AlphaZeroは30.c6を考慮しますが、最終的には30.d5を再生します。

以下の質問についていくつかの洞察をいただければ幸いです。(私はコンピューターサイエンスの知識がなく、単なるチェスプレーヤーです。これは魅力的だと思います)

  1. 10 ^ 2、...、10 ^ 6シミュレーションを表すものは何ですか?補足資料で「トレーニング中、各MCTSは800のシミュレーションを使用した」と述べているので、私は非常に混乱しています。
  2. 各MCTSが800シミュレーションを使用したとはどういう意味ですか?
  3. 10 ^ 2シミュレーションの赤い円の60の値は、すべての位置評価の平均である白の60%の期待スコアを表すと想定しています。ただし、表示されている9つの移動の単純な平均は61.2です。他の動きも考慮され、シミュレーションされたと思います。私はここにいますか?
  4. シミュレーション10 ^ 3から10 ^ 6では、ブランチの例示的なサンプルのみを示していると思います。シミュレーション10 ^ 5は34.Rce1の後に表示されないか、34.Rce1の後に停止されますか?各シミュレーションは、予想されるスコアが100%になるまで続くと思います。

回答:


5

この図は、AlphaZeroが計算した、最も訪問された10のゲームの状態/位置を示しています。実際には何千ものポジションを調べていますが、最も戻ってきた10のポジションのみを表示しています。あなたの質問のために:

1)AlphaZeroの検索アルゴリズムは、モンテカルロツリー検索(MCTS)と呼ばれます。あるゲームの状態で考えるときの動作の基本:

  • 移動を選択します。この動きが選ばれる方法は、次のようなアルゴリズムに基づいています。
    • 過去のランダムシミュレーションでの移動のパフォーマンス。
    • それがどれくらい頻繁に選択されていないか(動きが少ない==>より望ましい)。
  • この動きに従って、新しいゲームの状態(つまり、動きをプレイしたときに発生する位置)に進みます。
  • 時間制限または深度制限について、手順1を繰り返します。

すべてのプレイアウトで最高の平均スコアを持つ移動は、AlphaZeroが選択する移動です。これよりも複雑ですが、上記はMCTSの一般的な考え方です。したがって、ルートノードの10 ^ 2シミュレーションのようなものは、AlphaZeroがその位置に対して上記のアルゴリズムを10 ^ 2回実行したことを意味します。

彼らが「800シミュレーション」と述べた部分は、AlphaZeroが学習していたとき(Stockfishとのゲームの)を指します。AlphaZeroがヒューリスティックを独自に学習する方法(位置を正確に評価できるようにする)は、何度も繰り返しプレイすることです。だから、私は彼らが自分自身をプレイするこのフェーズの間、ポジションで何をプレイするかを考えるたびに、ポジションから800のシミュレーションしか実行しなかったということを意味すると思います。これのポイントはおそらくより多くの練習ゲームを取り入れるための時間を持つことでした。ストックフィッシュに対して、非常に速くプレイすることは不必要です、そしてAlphaZeroは与えられた時間をより多くのそのようなシミュレーションをプレイアウトするために使用することもできます。

2)上記で説明。

3)はい、他の何千もの動きも考慮されます、それらは単に図に示されていません。また、表示された10の州だけが到達した州であったとしても、スコアを平均するだけでは不十分です。その理由は、一部のゲームの状態は他の状態よりも頻繁に到達するため、平均計算での重みが高くなるためです。

  • これを説明するために、ゲームの開始時にプレイできる移動が2つしかなかったと想定します。1.e4と1.h4です。私が概説したMCTSアルゴリズムを振り返ると、1.e4の方がパフォーマンスが良いため、1.e4でのプレイアウト/シミュレーションはより頻繁に発生します。ただし、1.h4は、まれにしか見られないため、たまに選択されることもあります。したがって、1.e4で9回のプレイアウトを実行して60%のスコアを取得し、1.h4で1回のプレイアウトを実行して0%のスコアを取得する場合があります。開始位置からの勝率は(60%+ 0%)/ 2 = 30%ではなく、(60%* 9 + 0%* 1)/ 10 = 54%です。

4)はい。最も訪問数の多い10のゲームステートのみを表示したかったため、サンプルのみを示しています。AlphaZeroは、MCTSアルゴリズムを34.Rce1よりはるかに先に進めたと思います。


ありがとう!すばらしい答えです。わかりました。SFとのゲーム中に、AZは再生された位置/状態ごとに10 ^ 6のシミュレーションを実行したことを理解しています。は1つのMCTSであり、「ステップ1を繰り返す」は別のMCTSまたは2 /になります。例はMCTSが1つだけですか?
コルチノイ

2番目のケースでより正確に言うと、あなたの例は2つのシミュレーションを持つ1つのMCTSですか?
コルチノイ

1
@Kortchnoi MCTSは再帰的なアルゴリズムです。これは、実行するために自分自身をX回呼び出すことを意味します(Xは、開始位置からプレイアウトシミュレーションを実行する深さです)。アルゴリズムがゲームツリーを繰り返し反復する回数に関係なく、「ピックムーブ」から「リピートステップ1」までリストしたステップはすべて、1つのMCTSシミュレーションの一部です。別のシミュレーションは、アルゴリズムが検索を終了したときにのみ開始され、新しいプレイアウトシミュレーションが開始位置から再び開始されます。
慣性に関する無知

1
このように考えてください。あなたは最初の手で何をプレイするか知りたいです。アルゴリズムを介して1.e4を選択します。これは、以前は精神的に実行したシミュレーションでうまく機能しており、同時にあまり多くのシミュレーションを実行していないためです。1.e4の後の新しい位置で、ブラックをプレイするために移動を選択する必要があります。同じアルゴリズムを実行し、1 ... c5を取得するとします。今度は白の番なので、同じアルゴリズムを実行します。等、深さの制限に達するか、誰かがゲームに勝つ(または引き分け)まで。これはすべて、開始位置からの1つのシミュレーションです。
慣性に関する無知

1
はい、正確に。各MCTSは、考えている位置から実行されたシミュレーションのほんの一部です。
慣性に関する無知
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.