Diferencia entre la red de políticas de AlphaGo y la red de valores


25

Estaba leyendo un resumen de alto nivel sobre AlphaGo de Google ( http://googleresearch.blogspot.co.uk/2016/01/alphago-mastering-ancient-game-of-go.html ), y encontré los términos "política red "y" red de valor ". En un nivel alto, entiendo que la red de políticas se usa para sugerir movimientos y la red de valores se usa para "Reducir la profundidad del árbol de búsqueda [y estimar] al ganador en cada posición en lugar de buscar todo el camino hasta el fin del juego."

Estas dos redes me parecen redundantes. ¿Qué está haciendo la red de políticas si no está usando la red de valor para podar sus políticas? Parece bastante claro que la red de valor es una red neuronal de aprendizaje profundo; ¿Es la red de políticas solo una abstracción teórica y no una red neuronal real? La variable objetivo para la red de valor parece ser ganar / perder. ¿Existe una variable objetivo para la red de políticas? Si es así, ¿qué es? ¿Qué intenta optimizar la red de políticas?

El pdf completo del artículo de Google, publicado en Nature, se puede encontrar aquí: https://vk.com/doc-44016343_437229031?dl=56ce06e325d42fbc72


Como nota rápida: la variable objetivo para la red de políticas es una distribución de probabilidad. Del documento: "Esta red neuronal (la red de valor) tiene una arquitectura similar a la red de políticas, pero genera una única predicción en lugar de una distribución de probabilidad"
Zimano

3
Si alguien más se topa con esta vieja pregunta, como yo, le complacerá saber que el sucesor de AlphaGo, "AlphaGo Zero", así como su sucesor "AlphaZero", de hecho, se deshacen de la redundancia solo entrenando UNA red cuyos resultados cumplen las funciones tanto de la red de políticas (proporciona una distribución de probabilidad sobre posibles movimientos) como de la red de valores (proporciona probabilidad de ganar dada la junta). Publicación de blog aquí: deepmind.com/blog/alphago-zero-learning-scratch y el documento está vinculado dentro.
Kevin Wang

Respuestas:


11

En resumen, cada red tiene un propósito diferente como usted mencionó:

  • La red de valor se usó en los nodos de hoja para reducir la profundidad de la búsqueda de árbol.
  • La red de políticas se utilizó para reducir la amplitud de la búsqueda desde un nodo (guía hacia acciones inmediatas prometedoras).

En general, puede usar métodos de función de valor para encontrar una política óptima o buscar directamente en el espacio de políticas para optimizar una función de política parametrizada (por supuesto, hay pros y contras). Puede usar aproximadores de funciones (por ejemplo, redes profundas) en cada caso. Veo que principalmente está confundido acerca de la red de políticas, así que concentro mi respuesta en esto.

La red política fue la primera:

entrenado para hacer los movimientos que muy probablemente haría un humano dado un estado de placa (por lo tanto, la entrada es un estado de placa y la salida es un histograma que muestra la probabilidad de cada acción dado ese estado). La red puede aproximar la función de probabilidad subyacente a la asignación de estados a acciones. Después de todo, es razonable pensar en comenzar a construir su política a partir de los datos disponibles. Después del entrenamiento supervisado utilizando movimientos de expertos, la red de políticas podría jugar el juego lo suficiente (aunque lejos del nivel de un Maestro). Simplemente, intentaste capturar el patrón general de selección de acción de jugadores profesionales.

Luego,

fue entrenado en juegos con el oponente mismo, para optimizar la política previamente aprendida. Esta vez, sus pesos se actualizaron utilizando el algoritmo REINFORCE. Al hacer esto, actualiza los parámetros netos hacia la maximización de la recompensa esperada. Eventualmente, tienes una red que no solo selecciona las acciones como un jugador profesional, sino también para ganar el juego (¡Sin embargo, no puede planificar!).

Después de este paso, aproximaron la función de valor de una versión un poco más ruidosa de la política aprendida, por regresión (la entrada es el tablero del estado y el objetivo del resultado del juego). Puede usar esta red para afectar la evaluación del nodo hoja.

Conceptualmente hablando, la red de políticas te da una probabilidad sobre las acciones, pero esto no indica que terminarás en un buen estado para ganar el juego. AlphaGo tuvo algunos "puntos ciegos" y durante el torneo hizo algunos movimientos realmente malos, pero también un movimiento excepcional que un humano nunca podría haber pensado.

Finalmente, puede usar su algoritmo de planificación (MCTS) en combinación con estas redes. ¿Por qué tomamos todos estos pasos? Brevemente, el MCTS simple sin ninguna "intuición" habría fallado.


Estaba volviendo a esta pregunta después de haber aprendido sobre Actor-Critic, y cómo compensa los costos / beneficios entre los métodos basados ​​en Valor puro y en Política. Creo que esta respuesta se acerca más a explicar este detalle, pero está muy bien cubierto en la conferencia de David Silver: www0.cs.ucl.ac.uk/staff/d.silver/web/Teaching_files/pg.pdf (conferencia 7, que también está disponible en YouTube: youtube.com/… ).
Neil Slater

Sin embargo, los enfoques basados ​​en MCTS han demostrado ser exitosos, por lo que en un contexto más amplio no diría que hubiera fallado.
Zimano

1
Solo me refiero al caso del juego de Go y también a alcanzar el nivel Master de juego. En realidad, David Silver (como otros investigadores) estaba trabajando en resolver el juego de Go con MCTS desde su doctorado. Pero nada podría competir en los niveles más altos hasta la combinación de los métodos anteriores.
Constantinos

9

Aquí está mi proceso de pensamiento conciso para comprender las dos redes diferentes.

En primer lugar, el objetivo es encontrar una solución óptima (o casi óptima) sin utilizar una búsqueda exhaustiva, lo que definitivamente es un desafío.

Por posición o estado, habrá N movimientos posibles, y en cada movimiento habrá su propia profundidad D en un árbol de búsqueda completo. Es teórica o matemáticamente posible recorrer todos los caminos y encontrar una solución óptima. Sin embargo, no queremos hacer una búsqueda completa.

Ahora tenemos dos preguntas separadas para desarrollar un enfoque de aproximación.

Q1. ¿Cómo podemos omitir o ignorar algunos movimientos fuera de N por posición? (es decir, reducción de la respiración)

Q2 ¿Cómo podemos detenernos a una profundidad intermedia en un árbol de búsqueda en lugar de caminar hasta el final del juego, sin dejar de encontrar una solución óptima? (es decir, reducción de profundidad)

La red de políticas está diseñada principalmente para filtrar movimientos inútiles fuera de N, pero sin dejar de encontrar una solución óptima. Aquí, esta red inicialmente se basa en movimientos humanos expertos, es decir, SL, y RL la mejora más adelante.

La red de valor está diseñada principalmente para encontrar la probabilidad ganadora sin una búsqueda completa.

Estas dos redes tienen el objetivo común de encontrar una solución óptima. Sin embargo, en cada elección estratégica de movimiento, cada red juega un papel diferente.

Solo espero que esto ayude. Sé que todavía estaría en un alto nivel.


Su explicación de dos maneras es muy concisa.
Tim

6

Creo que el OP era confuso sobre AlphaGo con alpha-beta. En alpha-beta, de hecho usaría la red de políticas para ayudar con la poda, pero no aquí. Nuevamente, no hay poda ya que el algoritmo se basa en la búsqueda de árbol de Monte-Carlo (MCTS).

Cualquiera que piense que mi respuesta es demasiado larga puede pasar a la sección de resumen, donde explico por qué las dos redes no son redundantes.

En el siguiente ejemplo, haré algunas simplificaciones para que mis ideas sean más fáciles de entender.

Ejemplo:

Imagine que tiene una posición donde hay dos movimientos legales. El primer movimiento es una pérdida perdida para usted, sin embargo, el segundo movimiento le da una ventaja ganadora.

  • Primer movimiento: pérdida forzada para ti
  • Segundo movimiento: forzado a ganar para ti

Red de evaluación

Asumamos que la red de evaluación que Google le brinda es perfecta. Puede evaluar perfectamente cualquier posición de la hoja en nuestro ejemplo. No cambiaremos nuestra red de valores en el ejemplo.

Para simplificar nuestro ejemplo, supongamos que nuestra red de valores da:

  • -1000 para cualquier posición de la hoja que es una pérdida para usted
  • +1000 por cualquier posición en la hoja, lo cual es una victoria para ti

Red de políticas

Supongamos que Google te ofrece dos redes de políticas. Las probabilidades generadas para nuestra posición son:

  • Política 1: 0.9 para el movimiento 1 y 0.1 para el movimiento 2
  • Política 2: 0.2 para el movimiento 1 y 0.8 para el movimiento 2.

Tenga en cuenta que nuestra primera red de políticas proporciona una probabilidad previa incorrecta para nuestro ejemplo. Da 0.9 para el movimiento 1, que es un movimiento perdedor. Esto está bien porque ni siquiera Google podría entrenar una red de políticas perfecta.

Jugando con la primera red política

AlphaGo necesita generar una simulación con Monte-Carlo, y debe elegir el movimiento 1 o 2. Ahora, AlphaGo dibuja una variable aleatoria distribuida uniformemente y seleccionará:

  • Mueva 1 si el número aleatorio es <= 0.9
  • Mueve 2 si el número aleatorio es> 0.9

Por lo tanto, es mucho más probable que AlphaGo elija el movimiento perdedor para simular (en nuestra primera simulación). En nuestra primera simulación, también usaremos la red de valores para obtener una puntuación para la simulación. En el periódico, es:

ingrese la descripción de la imagen aquí

Este valor sería -1000, porque esta simulación conduciría a una pérdida.

Ahora, AlphaGo necesita generar la segunda simulación. Nuevamente, el primer movimiento sería mucho más probable que elija. Pero eventualmente, el segundo movimiento sería elegir porque:

  • Nuestra probabilidad previa para el segundo movimiento es 0.1, no cero
  • Se recomienda a AlphaGo que pruebe movimientos que no se han explorado mucho. En el documento, esto se hace mediante esta ecuación:

ingrese la descripción de la imagen aquí

Tenga en cuenta que Nes el número de movimientos buscados para el movimiento y está en el denominador. Cuanto más probable sea que se busque nuestro primer movimiento, menor userá la función. Por lo tanto, la probabilidad de seleccionar nuestro segundo movimiento mejora porque AlphaGo realmente elige un movimiento mediante esta ecuación:

ingrese la descripción de la imagen aquí

ingrese la descripción de la imagen aquí

Esta es la ecuación clave . Míralo cuidadosamente:

  • Tiene un término Ppara la probabilidad previa (dada por la red de políticas)
  • Tiene un término Qpara los puntajes de evaluación (dados por la red de valores)

Ahora, sabemos que nuestro segundo movimiento finalmente será elegido. Cuando sucede, la red de valor da un +1000. Esto aumentará Q, lo que hace que el segundo movimiento sea mucho más probable se elija en las simulaciones posteriores.

Dadas suficientes simulaciones, el número de veces que se elige el segundo movimiento para la simulación debe ser mayor que el número de veces que se elige el primer movimiento.

Finalmente, el movimiento que AlphaGo decide hacer es (citado del artículo):

Una vez que se completa la búsqueda, el algoritmo elige el movimiento más visitado desde la posición raíz.

Jugando con la segunda red política

Nuestra segunda red de políticas necesitará menos iteraciones para elegir el movimiento 2 porque su probabilidad previa dada por la red de políticas es correcta en primer lugar.

Observaciones

Todo aquí es muy similar a Bayesian análisis. Comenzamos con alguna probabilidad previa (dada por la red de políticas), luego generamos datos para mover la perturbación de probabilidad (dada por la red de valores).

Resúmenes

  • La red de políticas se utiliza para generar probabilidades previas para guiar qué movimiento debe elegir la búsqueda de Montecarlo
  • La red de valor se utiliza para generar datos para validar la red de políticas. Si la red de políticas es mala, AlphaGo necesitaría más recursos informáticos para converger (si alguna vez).
  • Puedes pensarlo como un análisis bayesiano

Creo que esto da una visión mucho más profunda de los mecanismos internos. Todavía no estoy seguro de si explica por qué las dos redes. El problema que tengo es "asumir que la red de evaluación ... es perfecta". Si ese fuera el caso, entonces la red de políticas es redundante. Solo mire un movimiento hacia adelante (para todos los movimientos posibles) y elija el que tenga la mejor evaluación de la red de valor. Por supuesto, la red de valor no es perfecta, y sospecho que se vuelve más precisa a medida que avanzas en el juego. . . pero no sé cuán verdadero / útil es eso, o si completa esta respuesta.
Neil Slater

@NeilSlater Ok. Las redes no son perfectas, pero las razones que tengo aquí siguen siendo buenas, solo que necesitamos más simulaciones de MC.
SmallChess

@StudentT Buena explicación de algunas de las ecuaciones clave. Haría un pequeño cambio: no tiene mucho sentido decir "Necesitas ver diez movimientos adelante" para comprender la posición en Monte Carlo Tree Search. MCTS es una búsqueda de números de prueba de profundidad primero, y realmente nunca alcanzamos profundidades fijas como lo haríamos con la profundización iterativa en el ajedrez. Incluso con la red de valor que nos permite evaluaciones de los nodos antes del final del juego, todavía no estamos llegando a estos en una primera manera anchura, y no hay una evaluación mínimo-máximo de los nodos, etc.
Imran

@ Imran Siéntase libre de editar mi publicación.
SmallChess

3

Red de políticas : la red que aprende a dar un resultado definido al dar una entrada particular al juego se conoce como red de políticas.

Redes de valor : la red de valor asigna valor / puntaje al estado del juego calculando un puntaje acumulado esperado para el estado actuals . Cada estado pasa por la red de valor. Los estados que obtienen más recompensa obviamente obtienen más valor en la red.

Mejor comprensión con animaciones Vaya aquí: Redes de políticas vs Redes de valor en el aprendizaje por refuerzo

ingrese la descripción de la imagen aquí


0

Por lo que entiendo, la diferencia está en las salidas. Cuando la red de políticas genera una distribución de probabilidad sobre los movimientos posibles, la red de valor devuelve un valor real que puede interpretarse como la probabilidad de ganar dada la configuración de esta placa. A partir de ahí, la búsqueda en el árbol de Montecarlo se realiza tomando los primeros movimientos de K y luego volviendo a estrechar el árbol de búsqueda tomando los resultados de la red de valor de K superior.

Siéntete obligado a corregirme si estoy equivocado.


2
AFAIK no te equivocas, pero no creo que esto responda la pregunta. OP parece ser consciente de la diferencia entre un modelo basado en valores o basado en políticas en RL. Los dos enfoques tienen, de hecho, resultados diferentes. Sin embargo, es más común ver uno u otro, no ambos, y los dos modelos suelen ser redundantes en ese "Value_maxarg (S ') == Policy_maxarg (S, A)" donde S es el estado actual, A es acción para tomar, y S 'es el estado resultante. Es decir, las dos redes en una configuración RL más habitual simplemente producirían el mismo resultado, aunque las salidas sean diferentes.
Neil Slater
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.