Muy bien, escojamos este aparte:
Ambos son subcampos de ‘Machine Learning’
- Deep Learning es una subclase de ML que utiliza redes neuronales profundas (= muchas capas) para ajustar funciones complicadas que asignan entrada a salida. Los ejemplos comunes incluyen clasificación de imágenes, reconocimiento de voz, traducción automática, … Lo que es muy importante en todos estos ejemplos es que la transformación de datos (de entrada a salida) pasa por la red neuronal solo una vez por ejemplo. Llamemos a esto “inferencia estática”. Por ejemplo, una imagen de entrada atraviesa las redes una sola vez y sale una etiqueta de clase.
- ¿Desde dónde puedo aprender algoritmos practicando problemas?
- ¿Cuál es el mejor método de clasificación para usar si solo un elemento está fuera de servicio?
- ¿Es el tiempo lineal?
- ¿Cuáles son los mejores algoritmos para el análisis de sentimientos?
- ¿Cómo verifico si un número binario es divisible por decir 'n'?
- El aprendizaje por refuerzo, por otro lado, es una clase de algoritmos de aprendizaje automático en los que tiene un sistema (lo llamamos el agente) que interactúa continuamente con un entorno determinado. Un ejemplo simple sería una persona jugando un juego de computadora. La diferencia aquí es que la reproducción consiste en múltiples secuencias de entrada-salida que forman parte de un solo ensayo o episodio. En otras palabras, el jugador mira continuamente la pantalla, interpreta estos datos de entrada y realiza una secuencia de acciones en consecuencia. El objetivo final del agente es maximizar alguna forma de “recompensa” total, digamos el puntaje total del juego.
Entre los ejemplos famosos de Aprendizaje por refuerzo se incluyen el sistema AlphaGo de DeepMind y la red atari, los brazos de robot de aprendizaje de última generación, etc.
Dicho todo esto, muchos de los sistemas actuales de aprendizaje por refuerzo utilizan lo que ahora llamamos “aprendizaje por refuerzo profundo”. Estos sistemas son 100% RL, pero utilizan redes de aprendizaje profundo como aproximadores de funciones para procesar la entrada de datos. Por ejemplo, la red AlphaGo utiliza una red convolucional profunda (= Deep Learning) para transformar una posición del tablero en el juego de Go a una representación vectorial que luego es utilizada por un agente de Reinforcement Learning para maximizar la recompensa total (ganar el juego) . Entonces, en ese sentido, los dos campos se han entrelazado en los últimos años.
Resumen:
- Aprendizaje profundo = redes neuronales con muchas capas e inferencia estática de disparo único
- Aprendizaje de refuerzo = interacción continua con un entorno con el objetivo de maximizar alguna recompensa total