私の理解では、Alpha Zeroのアルゴリズムは「学習」フェーズの後で修正されたので、すべてのポジションで同じ動きが生まれるでしょうか?完全にストックフィッシュの設定が原因で試合の変動性があったのですか、それともアルファゼロもその移動選択にランダム性の要素を表示しましたか?
私の理解では、Alpha Zeroのアルゴリズムは「学習」フェーズの後で修正されたので、すべてのポジションで同じ動きが生まれるでしょうか?完全にストックフィッシュの設定が原因で試合の変動性があったのですか、それともアルファゼロもその移動選択にランダム性の要素を表示しましたか?
回答:
AlphaZeroがhttp://www.chessgames.com/perl/chess.pl?tid=91944&crosstable=1で1.d4と1.Nf3を再生したことに気づきました。可能性:
モデルのパラメーターは「固定」されています(ご自身の言葉)が、実際の動きは異なる場合があります。AlphaZeroのソースコードはありませんが、マルチスレッドとMCTSが2つの主要な原因である可能性があります。
LC0の作成者はAlphaZeroの論文を非常に注意深く調査し、独自の実験を行い、次の結論に達しました。AlphaZeroは、アルゴリズムをモンテカルロツリー検索(すべてのモンテカルロメソッドは定義上、明示的にランダムです)と呼んでいますが、特定の数の移動後、明示的な非決定性を使用しません(これは15移動です)。
MCTSには、動きの選択にランダム性をもたらす可能性のある2つの異なる部分があります。
AlphaZeroは、検索フェーズ中に、2つの要因に基づいて探索する移動の重みを割り当てます。ニューラルネットワークによって評価される勝率と、親と子の移動サブツリーのサブツリーサイズ統計です。最初の要素は、より有望な行が最初に評価されることを保証し、2番目の要素は、より有望な行が最終的に検索されることを保証します。MCTSの自然な実装では、これらの重み付けされた可能性の間で重み付けされたランダムな選択肢を使用します。実際には、AlphaZeroは毎回最大重量を選択するだけで、これらの中から完全に確定的に選択します。これは、このステップのランダム性が役に立たないことが判明したためであり、平均して、より重要なバリエーションからエンジンをそらすだけです。
移動フェーズでは、検索フェーズで計算された詳細かつ正確な評価がすでにある移動候補の間で重み付けされた選択を行うことができます。そのアイデアは、そのプレイに多様性を導入しようとするために少し次善の動きをすることであり、そのため毎回同じゲームをプレイするわけではありません。これはトレーニング中に特に重要ですが、より興味深いマッチ結果にもつながります。AlphaZeroがこれを行うのは最初の15移動程度だけで、その後は常に最良の移動を選択することがわかりました。この決定論は、非常に正確なエンドゲームプレーに不可欠であることが判明しました。評価の小さな違いが、引き分けと勝利の違いであることが判明しました。
これは、トレーニングと評価の両方に当てはまります。
言いかえれば、それが冒頭から出ると、そのプレーは伝統的なエンジンと同じくらい確定的です。
ただし、従来のエンジンと同じ種類のマルチスレッド化と時間制御の非決定性を持つことに注意してください。