AlphaZero 용지의 디리클레 노이즈의 목적


10

DeepMind의 AlphaGo ZeroAlphaZero 논문에서는 Monte Carlo Tree Search의 루트 노드 (보드 상태)의 사전 동작 확률에 Dirichlet 노이즈를 추가하는 방법에 대해 설명합니다 .

루트 노드 의 사전 확률에 Dirichlet 노이즈를 추가하여 추가 탐색을 수행합니다 . 특히 . 여기서 및 ; 이 소음으로 인해 모든 이동이 시도 될 수 있지만 검색시 여전히 잘못된 이동이 우선 할 수 있습니다.s0P(s,a)=(1ε)pa+εηaηDir(0.03)ε=0.25

(알파 고 제로)

과:

Dirichlet noise 가 루트 노드의 이전 확률에 추가되었습니다. 이것은 전형적인 위치에서의 대략적인 법적 움직임의 수에 반비례하여체스, 쇼기 및 바둑의 경우 각각 입니다.Dir(α)α={0.3,0.15,0.03}

(알파 제로)

내가 이해하지 못하는 두 가지 :

  1. P(s, a)인 차원 벡터. 가요 와 디리클레 분포 속기 값 파라미터, 각 ?nDir(α)nα

  2. 다항식 분포 이전에 켤레로 Dirichlet을 발견했습니다. 여기에서 왜 골랐나요?

문맥 상, P(s, a)주어진 상태 / 조치에 대한 PUCT (다항식 상한 신뢰 트리, 상한 신뢰 한계의 변형) 계산의 한 구성 요소 일뿐입니다. 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) .

2
자 Dir (a)는 실제로 Dir (a, a, ...)을 의미합니다. <1의 경우, R ^ n의 표준 기본 벡터 근처에 집중됩니다 (더 작을수록 더 엄격하게). 따라서 Dirichlet (a)은 (1) 모수의 합을 일정하게 유지하고 (2) 기본 벡터 근처에 집중하며 (3) 어느 것도 선호하지 않습니다.
monk

답변:


6

질문 1은 간단합니다. 여기서 는 주어진 값의 반복 벡터입니다. (Max S의 답변에 따라)α

질문 2가 더 흥미 롭습니다. Dirichlet 분포는 이와 관련하여 다음과 같은 해석을 갖습니다. 가 결과 확률이 인 (알 수없는) 범주 형 분포에서 도출 된 결과 계수의 벡터 인 경우 는 가 를 카운트로 보았을 때 실제 기본 분포 일 가능성입니다 . (이것은 기본적으로 이중 분포의 정의입니다.)απDir(α)(π)Cat(π)α

이제 P(s,a)좋은 플레이어가 플레이 할 확률 추정 a에를 s, 그 AlphaZero 배우고 싶어 자신의 범주 분포의 매개 변수입니다. 따라서 플레이어가 -times 이동하는 것을 관찰하면 는 대한 합리적인 추정치를 샘플링 합니다. 그러나 일부 이면 모든 에 이있어 탐색을 방해합니다. 그들은 잡음을 추가함으로써 모든 움직임이 (여기서는 0.3, 0.15, 0.03으로 선택) 의 작은 횟수로 재생되는 것을 관찰했다고 가정합니다 .Dir(α)pi=P(s,a)ααi=0πDir(α)πi=0α

그들이 상수를 어떻게 얻었는지에 관해서는 모든 게임에서 ~ 10 개의 랜덤 플레이를 관찰했다고 가정합니다. 체스에서 은 각 움직임이 0.3 번 재생되는 것을 본다고 가정합니다. Allis에 따르면 ~ 35 개의 이동이 가능하다는 것을 감안할 때 , 저자는 모든 노드에서 ~ 10 개의 임의 이동을 본 것으로 가정합니다. Go에서 평균 270 건의 합법적 인 이동 (361 개의 보드 위치 중 3/4)을 가정하면 ~ 8 개의 랜덤 이동을 관찰하는 것과 같습니다. (쇼기 데이터는 없습니다.)Dir(0.3)


3

1 번 문제의 답은 그렇습니다. 는 벡터이지만이 경우 모든 값은 같습니다. Wikipedia 에 따르면 이것을 대칭 Dirichlet 분포라고하며 "한 구성 요소를 다른 구성 요소보다 선호하는 사전 지식이없는 경우"에 사용됩니다. 이 경우 특정 구성 요소에 더 많은 노이즈를 추가하지 않으려는 것입니다.α

질문 2의 경우, Dirichlet 분포에서 추출한 표본은 요소의 합이 1이라는 특성을 갖습니다. 노이즈를 추가 한 후에도 요소의 합이 여전히 1이되도록하기 위해 이것을 사용한다고 가정합니다.


감사. 하나에 합산하는 것 외에도 (임의의 분포를 조정하여 수행 할 수도 있음) 표준 기준 벡터를 선호합니다. 유용한 것 같습니다.
monk
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.