AlphaZeroペーパーにおけるディリクレノイズの目的


10

DeepMindのAlphaGo ZeroAlphaZeroの論文では、モンテカルロツリー検索でルートノード(ボード状態)からのアクションの以前の確率にディリクレノイズを追加することについて説明しています。

追加の探査は、ルートノードに事前確率にノイズディリクレを添加することによって達成される、具体的にはP S = 1 - ε P A + ε η A、ここでη ディレクトリ0.03 およびε = 0.25 ; このノイズにより、すべての動きが試行される可能性がありますが、検索は依然として悪い動きを無効にする可能性があります。s0P(s,a)=(1ε)pa+εηaηDir(0.03)ε=0.25

(AlphaGo Zero)

そして:

ディリクレノイズがルートノードの以前の確率に追加されました。これは、典型的な位置での法的な動きのおおよその数に反比例して、α = { 0.3の値にスケーリングされましたDir(α)チェス、将棋、囲碁はそれぞれ 0.03 }α={0.3,0.15,0.03}

(AlphaZero)

私が理解していない2つのこと:

  1. P(s, a)ある次元ベクトル。あるディレクトリα とディリクレ分布のための速記Nパラメータ値と各αはnDir(α)nα

  2. 私は多項分布の前の共役としてディリクレに出くわしました。なぜここで選ばれたのですか?

コンテキストの場合、P(s, a)は、特定の状態/アクションのPUCT(多項式の上方信頼ツリー、上方信頼限界のバリアント)計算の1つのコンポーネントにすぎません。これは、MCTS中に兄弟間で特定のアクションが選択された回数の定数とメトリックによってスケーリングされ、推定アクション値に追加されますQ(s, a)

  • PUCT(s, a) = Q(s, a) + U(s, a)
  • U(s,a)=cpuctP(s,a)bN(s,b)1+N(s,a)

1
わかりましたので、Dir(a)は実際にDir(a、a、...)を意味します。a <1の場合、これはR ^ nの標準基底ベクトルの近くに集中します(小さいほど、堅固になります)。したがって、ディリクレ(a)は、(1)パラメーターの合計を一定に保つこと、(2)基底ベクトルの近くに集中すること、(3)それらのどれも優先しないことを支援します。
モンク

回答:


6

α

απDir(α)(π)Cat(π)α

P(s,a)asDir(α)pi=P(s,a)ααi=0πDir(α)πi=0α

Dir(0.3)


3

α

質問2の場合、ディリクレ分布から抽出されたサンプルには、要素の合計が1になるという特性があります。ノイズを追加した後も要素の合計が1になることを確認するために、これを使用していると思います。


ありがとう。1に合計することに加えて(任意の分布のいくつかのセットをスケーリングすることによって行う場合もあります)、標準基底ベクトルを優先します。それは便利なようです。
モンク
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.