En los documentos AlphaGo Zero y AlphaZero de DeepMind , describen la adición de ruido Dirichlet a las probabilidades previas de acciones desde el nodo raíz (estado del tablero) en Monte Carlo Tree Search:
Se logra una exploración adicional al agregar ruido de Dirichlet a las probabilidades anteriores en el nodo raíz , específicamente , donde y ; Este ruido garantiza que se puedan probar todos los movimientos, pero la búsqueda aún puede anular los movimientos incorrectos. P ( s , a ) = ( 1 - ε ) p a + ε η a η ∼ Dir ( 0.03 ) ε = 0.25
(AlphaGo Zero)
Y:
El ruido de Dirichlet se agregó a las probabilidades anteriores en el nodo raíz; esto se escaló en proporción inversa al número aproximado de movimientos legales en una posición típica, a un valor de para ajedrez, shogi y Go respectivamente.α = { 0.3 ,
(AlphaZero)
Dos cosas que no entiendo:
P(s, a)
es un vector dimensional. ¿Es abreviatura para la distribución de Dirichlet con parámetros, cada uno con valor ?Dir ( α ) n αSolo me he encontrado con Dirichlet como el conjugado anterior de la distribución multinomial. ¿Por qué fue recogido aquí?
Para el contexto, P(s, a)
es solo un componente del cálculo PUCT (árbol de confianza superior polinómico, una variante en los límites de confianza superiores) para un estado / acción dado. Se escala por una constante y una métrica de cuántas veces se seleccionó la acción dada entre sus hermanos durante MCTS, y se agregó al valor de acción estimado Q(s, a)
:
PUCT(s, a) = Q(s, a) + U(s, a)
.- .
Respuestas:
La pregunta 1 es sencilla, aquí es un vector de repeticiones del valor dado. (Como respondió Max S.)α
La pregunta 2 es más interesante: la distribución de Dirichlet tiene la siguiente interpretación relevante en este contexto: cuando es el vector observado de conteos de resultados extraídos de alguna distribución categórica (desconocida) con probabilidades de resultado , entonces es la probabilidad de que sea la distribución subyacente real dado que observó como recuento. (Esta es básicamente la definición de una distribución dual).α π D i r ( α ) ( π) Ca t ( π) α
AhoraD i r ( α ) p i = α α i = 0 π ∼ D i r ( α ) π i = 0 αα αyo= 0 π∼ D i r ( α ) πyo= 0 α
P(s,a)
se estima la probabilidad de que un jugador de buena jugaríaa
ens
, es decir, los parámetros de su distribución categórica, que AlphaZero quiere aprender. Entonces muestrearía estimaciones razonables para si observamos que un buen jugador juega movimientos veces. Pero si algunos , entonces todos tienen , lo que impide la exploración. Al agregar el ruido, suponen que han observado cada movimiento que se juega un pequeño número de veces (aquí elegido 0.3, 0.15, 0.03).P(s,a)
En cuanto a cómo obtuvieron las constantes, supongo que suponen haber observado ~ 10 jugadas aleatorias en cada juego: en ajedrez, supone que has visto cada movimiento jugado 0.3 veces. Dado que hay ~ 35 movimientos disponibles según Allis , los autores suponen que has visto ~ 10 movimientos aleatorios en cada nodo. En Go, si asumimos ~ 270 movimientos legales en promedio (3/4 de 361 posiciones en el tablero), vemos un equivalente a observar ~ 8 movimientos aleatorios. (No tengo los datos para Shogi).D i r ( 0.3 )
fuente
Para la pregunta 2, las muestras extraídas de una distribución Dirichlet tienen la propiedad de que los elementos sumarán 1. Supongo que están usando esto para asegurarse de que después de agregar el ruido, y los elementos aún sumen 1.
fuente