¿Por qué la red neuronal fusionada de AlphaGo Zero es más eficiente que dos redes neuronales separadas?

10

AlphaGo Zero contiene varias mejoras en comparación con sus predecesores. Los detalles arquitectónicos de Alpha Go Zero se pueden ver en esta hoja de trucos .

Una de esas mejoras es usar una sola red neuronal que calcula las probabilidades de movimiento y el valor del estado al mismo tiempo, mientras que las versiones anteriores usaban dos redes neuronales separadas. Se ha demostrado que la red neuronal fusionada es más eficiente según el documento:

Utiliza una red neuronal en lugar de dos. Las versiones anteriores de AlphaGo usaban una "red de políticas" para seleccionar el próximo movimiento a jugar y una "red de valores" para predecir el ganador del juego desde cada posición. Estos se combinan en AlphaGo Zero, lo que le permite ser entrenado y evaluado de manera más eficiente.

Esto me parece contrario a la intuición, porque desde una perspectiva de diseño de software esto viola la separación principal de las preocupaciones . Es por eso que me pregunto, por qué esta fusión ha demostrado ser beneficiosa.

¿Puede esta técnica, fusionar diferentes tareas en una sola red neuronal para mejorar la eficiencia, aplicarse a otras redes neuronales en general o requiere ciertas condiciones para funcionar?

Demento
fuente

Respuestas:

6

¿Por qué esta fusión ha demostrado ser beneficiosa?

Si piensa que la red de valor / política compartida consiste en un componente compartido (las capas de la red residual) con un componente de valor y política en la parte superior en lugar de la separación de preocupaciones, tiene más sentido.

La premisa subyacente es que la parte compartida de la red (ResNet) proporciona una generalización de alto nivel de la entrada (los estados del juego que conducen al movimiento) que es una buena representación de entrada para las redes de valor y políticas poco profundas.

Cuando ese es el caso, podemos reducir mucho la carga computacional entrenando una ResNet compartida y usándola para dos redes mucho más simples que entrenando dos ResNets para el Valor y la Política. En su caso, entrenar a los dos juntos también mejora la regularización y, por lo tanto, crea una representación general más sólida.

Específicamente, el documento Alpha Go Zero de Silver et al. , Dominando el juego de ir sin conocimiento humano , afirma que:

La combinación de la política y el valor en una sola red redujo ligeramente la precisión de la predicción de movimiento, pero redujo el error de valor y aumentó el rendimiento de juego en AlphaGo en alrededor de otros 600 Elo. Esto se debe en parte a la eficiencia computacional mejorada, pero lo más importante es que el doble objetivo regulariza la red a una representación común que admite múltiples casos de uso.

¿Se puede aplicar esta técnica en general o solo en casos especiales?

Al igual que los componentes comunes en las bibliotecas de software, solo tiene sentido cuando los problemas que intenta resolver se benefician de una representación compartida.

Puede usarlo si está entrenando clasificadores para tareas similares, o entrenando una nueva tarea con pocos datos donde ya tiene un clasificador entrenado sobre un conjunto de datos similar más grande .

Fuera de Go, a menudo se usa en el reconocimiento de imágenes. Las redes profundas previamente entrenadas, como las de las competiciones ImageNet ILSVRC , se utilizan comúnmente como punto de partida. Son clasificadores que han sido entrenados (¡durante semanas!) En más de un millón de imágenes.

Luego, digamos que desea crear una red para reconocer su marca favorita de bicicletas, comience con la tubería general de reconocimiento de imágenes entrenada en ImageNet, corte las últimas capas que hacen la clasificación real ("es un Border Collie") y agregue un pequeño clasificador nuevo para elegir solo las bicicletas que te interesan.

Dado que el clasificador previamente entrenado ya proporciona conceptos de imagen de alto nivel que son buenos bloques de construcción para el reconocimiento de imágenes (clasifica 200 categorías), esto le ahorra mucho entrenamiento y lo convierte en un clasificador muy robusto.

Por supuesto, hay muchos casos en los que los problemas no tienen representaciones compartidas útiles y, por lo tanto, no se benefician de una red combinada. Sin embargo, es una herramienta útil en las situaciones correctas.

Busque Transfer Learning o Multi-Task Learning para obtener más información al respecto.

mjul
fuente
Si uno quiere usar principios de ingeniería de software para analizar la arquitectura de esta red neuronal, también señalaría que la red de bloques residuales sobre la que descansan los jefes de valor y política respeta el principio DRY. Al depender del mismo componente (la red de bloques residuales) para preprocesar los datos antes de pasar estos datos a los otros componentes en la tubería (el valor y los encabezados de políticas), garantizan que cada uno procesará la misma representación de la entrada original. Duplicar este procesamiento con dos redes separadas casi garantiza la divergencia en el tiempo.
sadakatsu