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
fuente
Respuestas:
En resumen, cada red tiene un propósito diferente como usted mencionó:
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.
fuente
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.
fuente
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.
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:
Red de políticas
Supongamos que Google te ofrece dos redes de políticas. Las probabilidades generadas para nuestra posición son:
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á:
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:
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:
Tenga en cuenta que
N
es 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, menoru
será la función. Por lo tanto, la probabilidad de seleccionar nuestro segundo movimiento mejora porque AlphaGo realmente elige un movimiento mediante esta ecuación:Esta es la ecuación clave . Míralo cuidadosamente:
P
para la probabilidad previa (dada por la red de políticas)Q
para 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):
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
fuente
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 actual
s
. 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
fuente
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.
fuente