¿Cuál es la diferencia entre el aprendizaje por refuerzo y el aprendizaje profundo?

¿Has jugado Flappy Bird ? Sí, ese pequeño pedazo de mierda que te hizo querer tirar tu teléfono a una tubería de alcantarillado real.

Es un juego perfecto para automatizar usando el aprendizaje por refuerzo. A ver cómo.

En un alto nivel, el aprendizaje de refuerzo es aprender a analizar un estado actual y tomar una acción que maximice una recompensa futura , a través de la interacción continua . Pero espera, esa es también la definición de la vida. Entonces, supongo que tenemos que ir más profundo.

Primero definamos todas las palabras clave anteriores para Flappy Bird:

  • Estado : Cualquier cuadro (como la imagen de arriba), que nos dice dónde está el pájaro y dónde están las tuberías, es un estado. Como necesitamos valores numéricos, solo debería hacer una matriz 2D de valores de píxeles del marco. No se preocupe, el modelo aprenderá a evitar situaciones en las que las cosas ‘amarillas’ entren en contacto con las cosas ‘verdes’ 🙂
  • Acción : en cualquier momento dado, puede tocar la pantalla o no hacer nada. Llamémoslos TAP y NOT. Entonces, suponiendo que haya una brecha de 1 milisegundo entre acciones consecutivas, un juego completo se puede definir como una serie de acciones:
    TAP – NOT – NOT – NOT – TAP – TAP – NOT – TAP – … y así sucesivamente.
  • Recompensa : Digamos que ganas el juego si escapas 10 tuberías. (Mi puntaje más alto fue solo 104 #humblebrag). Entonces, obtienes +1 puntos si ganas, -1 puntos si pierdes. Esa es la recompensa.

Ahora viene la parte más importante: decidir qué acción tomar, dado un estado actual . Si teníamos datos de entrenamiento, digamos, 1000 ‘estados’ y su correspondiente ‘acción más óptima’, ¡entonces hemos terminado! Podemos capacitar a cualquier modelo de aprendizaje supervisado para que nos diga qué hacer dado un estado. ¡Pero no tenemos esos datos! Ahí es donde entra en juego la parte de refuerzo. Inicialmente vamos a tomar decisiones arbitrarias y a medida que avanzamos, vamos a alentar o desalentar esas acciones pasadas basadas en la recompensa.

Digamos que tenemos una red neuronal que toma un estado (matriz 2D de valores de píxeles) como entrada y escupe TAP o NOT como salida. Inicializamos los pesos al azar. Entonces, tomará decisiones arbitrarias. Y jugamos 100 juegos usando esta estúpida red neuronal. Al final, tendremos 100 de estos:
TAP – NO – TAP – TAP = -1
TAP – NO – NO – TAP – NO – TAP -… .. = +1
NOT – TAP – NOT – TAP – TAP – NOT = -1
y así..

Ahora, suponiendo que haya alrededor de 20 acciones por juego, ahora tenemos 20 * 100 acciones. Digamos que ganamos 10 de esos 100 juegos. Entonces, tenemos 20 * 10 acciones ganadoras y 20 * 90 acciones perdedoras. Para cada uno de los movimientos perdedores, actualizamos los pesos (por backprop) para desalentar esas acciones para esos estados correspondientes, de modo que la red sea menos probable que produzca esa acción dado ese estado en futuros juegos. Y, por el contrario, alentamos las acciones ganadoras para que la red tenga más probabilidades de generar esa acción dado ese estado.

Pero espera, puedes decir que los primeros movimientos en un juego perdedor no son acciones perdedoras (¡porque sobrevivimos hasta la acción perdedora final!) Y las estamos desalentando erróneamente. ¡Tienes razón! Pero esto no importará en promedio, cuando el modelo juegue miles o millones de estos juegos y veremos más actualizaciones positivas que negativas para las acciones correctas.

¡Y eso es! Jugar 100 juegos – Actualizar pesos – Repetir. Eso es aprendizaje de refuerzo para ti. El tomador de decisiones (o más formalmente, la red de políticas) podría ser una red neuronal profunda, en cuyo caso la parte de aprendizaje es de Deep Learning.

Y aquí hay un video muy emotivo de una de estas implementaciones (Github: niklasfi / fceux-rlnes). ¡Verás que el pájaro apesta en los primeros juegos y mejora a medida que pasa el tiempo y termina anotando más de 700! El video dura 3 horas: p

tldr :
Aprendizaje profundo : use redes neuronales profundas.
Aprendizaje de refuerzo : intento, cometer errores, aprender, dominar.
Aprendizaje de refuerzo profundo : Intento, cometer errores, aprender usando redes neuronales profundas, maestro.

Algoritmos de aprendizaje profundo

  • Procure minimizar de manera iterativa una determinada función de pérdida que indica la precisión de la representación funcional de un sistema.
  • Por lo general, se supone que los datos con los que trabaja son independientes e idénticamente distribuidos (IID) y con una distribución estacionaria.

Agentes de refuerzo de aprendizaje por otro lado –

  • Busca maximizar de manera iterativa una cierta noción de una recompensa numérica obtenida a través de la interacción continua con su entorno.
  • Los datos con los que trabaja no necesitan tener propiedades IID, y el agente puede usar trucos como actualizaciones de repetición de experiencia para romper las correlaciones temporales en los datos. El entorno tampoco necesita asumir la estacionariedad, y el agente necesita hacer frente a la no estacionaria en los datos de su entorno durante su interacción.

Aprendizaje profundo + aprendizaje de refuerzo = aprendizaje de refuerzo profundo.

Un alumno de refuerzo puede usar una red neuronal profunda para representar internamente su noción de retornos esperados, o para representar su política, que es el mapeo de los estados de su entorno a las acciones que debe tomar de esos estados. Quizás incluso los dos. El campo se llama aprendizaje de refuerzo profundo . Obvio mucho?

  • DL es un subcampo de ML, esencialmente, resuelve el problema de clasificación y regresión. Redes neuronales, el método principal que utiliza es solo un tipo de modelos matemáticos.
  • RL se origina principalmente en el campo del control óptimo, depende del método DL en situaciones específicas para aprender una mejor política.
  • Entonces, RL usa el método de DL para obtener un mejor rendimiento.

El aprendizaje profundo se basa en redes neuronales de varias capas y puede ser la base para el aprendizaje supervisado o no supervisado.

El aprendizaje por refuerzo, por otro lado, funciona en el concepto de camino dinámico basado en recompensas y castigos.

Uno debería pensar en el aprendizaje profundo como el componente de reconocimiento de memoria, mientras que el aprendizaje de refuerzo entrelaza estados, acciones y recompensas.

More Interesting

¿Puede AI controlar un grupo de ataque de portaaviones de la Marina de los EE. UU.?

¿Qué problemas de investigación deben resolverse para que la IA mejore dramáticamente?

Cómo ingresar a mercados como el aprendizaje profundo (y cosas relacionadas, como el aprendizaje automático) y el software como servicio, como CEO

Visión por computadora: ¿Qué artículo trata sobre el problema del desorden en los videos para el reconocimiento de la acción humana?

Cuando la Inteligencia Artificial alcanza la capacidad para hacerlo, ¿debería permitirse enseñar a los niños humanos?

Si muero mañana, ¿es posible crear una IA usando mi huella digital para seguir publicando en Facebook, Quora y Reddit?

¿Cuáles son algunos de los componentes esenciales de la inteligencia artificial?

En una simulación de la Red Neural Spiking usando el modelo Izhikevich, ¿qué inhibe la activación de la neurona más de una vez por espiga?

Cómo dejar de temer la inteligencia artificial y la automatización

¿Qué se necesita para construir un robot como Nao?

¿Cómo impacta la inteligencia artificial en el diseño de UX? ¿Será esta dinámica significativamente diferente en 5-10 años?

¿Debería Apple comprar a IBM por su tecnología de inteligencia artificial?

Cómo modelar este problema como un problema de aprendizaje automático

¿La IA se convertirá en el día del juicio final del futuro?

¿Cuáles son algunos buenos ejemplos de aplicaciones web que tienen inteligencia artificial?