AlphaZero에서 터미널 상태의 데이터를 저장해야합니까?

Dec 16 2020

AlphaZero에서 신경망의 업데이트 / 역 전파 단계에서 사용 된 훈련 데이터에 대해 질문이 있습니다.

논문에서 :

각 시간 단계에 대한 데이터 $t$ ($s_t, \pi_t, z_t$) 어디 $z_t = \pm r_T$ 단계에서 현재 플레이어의 관점에서 본 게임 승자 $t$. 병렬로 (그림 1b), 새로운 네트워크 매개 변수$\Theta_i$ 데이터 ($s,\pi, z$) 셀프 플레이의 마지막 반복 (들)의 모든 시간 단계에서 균일하게 샘플링 됨

당시의 정책에 대해 $t$ ($\pi_t$), 나는 이것을 각 하위 노드에 대한 방문 수에 비례하는 일부 조치를 취할 확률 분포로 이해했습니다. 즉, MCTS 중에 특정 시간에 상위 노드 (상태)가 주어집니다. $t$, 일부 자식 노드 (후속 상태) 인 경우 $a$ 방문했다 $N_a$ 시간과 모든 하위 노드를 방문합니다. $\sum_b N_b$ 시간, 다음 확률 $a$ (및 해당 동작) 샘플링은 $\frac{N_a}{\sum_b N_b}$, 그리고 이것은 분포를 모수화합니다. $\pi_t$. 이 올바른지? 이 경우 일부 최종 상태의 경우$T$, 방문 할 자식 노드 (상태)가 없기 때문에 분포를 매개 변수화 할 수 없습니다. 그것은 우리가 ($s_T, \pi_T, z_T$) 훈련 데이터에?

또한 손실 함수에 대한 후속 질문 :

$l = (z-v)^2 - \pi^T log\textbf{p} + c||\Theta||^2$

나는 이것에 대해 혼란스러워 $\pi^T$표기법. 내 추측으로는 이것이 모든 정책에서 샘플링 된 조치의 벡터라는 것입니다.$N$ 엑스 $(s_t, \pi_t, z_t)$minibatch이지만 확실하지 않습니다. (PS$T$ 사용 $\pi^T$ 와 다릅니다 $T$종이를 보면 종말 상태를 나타내는 데 사용됩니다. 혼란스러워서 미안합니다. 다른 모양의 T를 쓰는 법을 모르겠습니다)

답변

DennisSoemers Dec 16 2020 at 23:21

나는 그들이 터미널 게임 상태에 대한 데이터를 추가했는지 여부를 100 % 확신하지 못하지만 실제로 터미널 게임 상태에 대한 데이터를 포함하지 않도록 선택하는 것이 매우 합리적입니다. 당신이 올바르게 지적했듯이, 우리는 이러한 경우에 정책 헤드를 업데이트 할 의미있는 목표가 없으며, 이는 실제로 터미널 게임 상태에서 정책 출력을 사용하지 않기 때문에 실제로 문제가되지 않습니다. 가치 헤드의 경우 업데이트 할 의미있는 목표를 제공 할 있지만 다시는 이러한 출력을 실제로 사용할 필요가 없습니다. 트리 검색에서 터미널 게임 상태를 발견하면 값 함수 근사치를 얻기 위해 네트워크를 호출하는 대신 해당 터미널 게임 상태의 실제 값을 백업합니다.

이론 상으로는 터미널 게임 상태에서 가치 헤드를 훈련하는 것이 꼭 필요하지는 않지만 약간 유익 할 수있는 경우를 상상할 수 있습니다. 그것은 종말이 아닌 (그러나 종말에 가까운) 유사한 게임 상태에 대한 일반화를 가능하게하고, 그것들에 대한 학습 속도를 높일 수 있습니다. 예를 들어, 목표가 라인을 완료하는 게임이있는 경우$5$ 조각, 당신이 실제로 라인이있는 터미널 상태에서 가치 머리를 훈련 $5$ 게임에서 완전히 이겼고 아직 가지고 있지 않은 유사한 게임 상태에 대한 학습 속도를 일반화하고 가속화 할 수 있습니다. $5$하지만 그 목표에 매우 가깝습니다. 즉, 직관적으로 이것이 큰 이점을 제공 할 것이라고 생각하지 않으며 (있는 경우) 해로울 수있는 경우도 생각 해낼 수 있습니다.


에서 $\pi^{\text{T}}$ 표기법, $\pi$ 는 행동에 대한 불 연속적 확률 분포 (MCTS 방문 횟수, 확률 분포로 정규화 됨)를 포함하는 벡터 (임의의 시간 단계에 대해 여기에 시간 단계는 지정되지 않음)이고 $\text{T}$단순히 우리가 그 벡터의 전치를 취한다는 것을 나타냅니다. 개인적으로 나는 표기법을 좋아하지 않지만 다음과 같은 것을 선호합니다.$\pi^{\top}$ 편지와 더 분명하게 구별되는 $T$ 또는 $\text{T}$.

어쨌든, 조옮김을 나타내는 것을 이해하면 $\pi^{\top}\log(\mathbf{p})$ 두 벡터 사이의 내적이며 결국 단일 스칼라가됩니다.