¿Cuáles son las principales diferencias, con ejemplos, entre un algoritmo de aprendizaje profundo y un algoritmo de aprendizaje de refuerzo?

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.

  • 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

El aprendizaje profundo es para hacer inferencias y predicciones, como el reconocimiento de imágenes, que la computadora identifica si una imagen es un gato o un perro.

El aprendizaje por refuerzo trata de tomar medidas en una situación particular para obtener la mayor recompensa, como ganar un juego de mesa.

More Interesting

¿Cómo funciona el algoritmo de 'conteo' de Gmail?

¿Cuál es el algoritmo detrás de las OTP (contraseñas de un solo uso)?

Cómo declarar un conjunto de cadenas de tamaño desconocido para obtenerlo del usuario sin usar la función de asignación en C

¿Cuáles son algunas de las lagunas en el algoritmo de reserva de entradas de irctc?

¿Cuáles son las condiciones previas de la búsqueda binaria y qué papel desempeñan?

¿Es obligatorio aprender matemáticas discretas para aprender algoritmos y estructuras de datos?

¿Existe algún algoritmo o método para identificar patrones en una secuencia de filas / eventos?

¿Hay algún uso de algoritmos que se usan en la programación en robótica?

¿Los números en pi imitan una distribución aleatoria? Si es así, ¿cómo es esto compatible con el uso de algoritmos para generar los números?

¿Cómo funciona la transformación cuántica de Fourier?

En los lenguajes de programación donde una matriz crece dinámicamente en tamaño, ¿no es una preocupación porque es O (n) complejidad de tiempo?

Acabo de completar el primer año de ingeniería informática. Quería mejorar mi pensamiento lógico y algorítmico resolviendo problemas de un juez en línea. ¿Dónde empiezo?

Noto que las estructuras de datos son difíciles de entender y asimilar con solo leerlas. ¿Qué tengo que hacer?

¿Existe un algoritmo en línea para calcular la mediana de una secuencia de números si los elementos de la secuencia se pueden agregar o eliminar en cualquier momento?

¿Debo compartir un nuevo algoritmo de clasificación que escribí? ¿Existe algún potencial monetario en un algoritmo? De ser así, ¿cómo capitalizo?