Connect with us

¿Qué es el Aprendizaje de Refuerzo Profundo?

IA 101

¿Qué es el Aprendizaje de Refuerzo Profundo?

mm

¿Qué es el Aprendizaje de Refuerzo Profundo?

Junto con el aprendizaje automático no supervisado y el aprendizaje supervisado, otra forma común de creación de IA es el aprendizaje de refuerzo. Más allá del aprendizaje de refuerzo regular, el aprendizaje de refuerzo profundo puede llevar a resultados impresionantemente impresionantes, gracias al hecho de que combina los mejores aspectos del aprendizaje profundo y el aprendizaje de refuerzo. Veamos precisamente cómo opera el aprendizaje de refuerzo profundo.

Antes de sumergirnos en el aprendizaje de refuerzo profundo, podría ser una buena idea refrescarnos sobre cómo funciona el aprendizaje de refuerzo regular. En el aprendizaje de refuerzo, los algoritmos orientados a objetivos se diseñan a través de un proceso de prueba y error, optimizando para la acción que conduce al mejor resultado / la acción que gana la mayor “recompensa”. Cuando los algoritmos de aprendizaje de refuerzo se entrenan, se les dan “recompensas” o “castigos” que influyen en las acciones que tomarán en el futuro. Los algoritmos tratan de encontrar un conjunto de acciones que proporcionarán al sistema la mayor recompensa, equilibrando tanto las recompensas inmediatas como las futuras.

Los algoritmos de aprendizaje de refuerzo son muy poderosos porque se pueden aplicar a casi cualquier tarea, pudiendo aprender de manera flexible y dinámica de un entorno y descubrir posibles acciones.

Visión general del Aprendizaje de Refuerzo Profundo

Foto: Megajuice a través de Wikimedia Commons, CC 1.0 (https://commons.wikimedia.org/wiki/File:Reinforcement_learning_diagram.svg)

Cuando se trata del aprendizaje de refuerzo profundo, el entorno suele representarse con imágenes. Una imagen es una captura del entorno en un momento particular. El agente debe analizar las imágenes y extraer la información relevante de ellas, utilizando la información para informar qué acción debe tomar. El aprendizaje de refuerzo profundo se lleva a cabo típicamente con una de dos técnicas diferentes: aprendizaje basado en valor y aprendizaje basado en política.

Las técnicas de aprendizaje basado en valor utilizan algoritmos y arquitecturas como redes neuronales convolucionales y Redes-Q-Profundas. Estos algoritmos operan convirtiendo la imagen a escala de grises y recortando las partes innecesarias de la imagen. Después, la imagen pasa por varias convoluciones y operaciones de agrupación, extrayendo las porciones más relevantes de la imagen. Las partes importantes de la imagen se utilizan luego para calcular el valor Q para las diferentes acciones que el agente puede tomar. Los valores Q se utilizan para determinar el mejor curso de acción para el agente. Después de que se calculan los valores Q iniciales, se lleva a cabo la propagación hacia atrás para que se puedan determinar los valores Q más precisos.

Los métodos basados en política se utilizan cuando el número de acciones posibles que el agente puede tomar es extremadamente alto, lo que suele ser el caso en escenarios del mundo real. Situaciones como estas requieren un enfoque diferente porque calcular los valores Q para todas las acciones individuales no es práctico. Los enfoques basados en política operan sin calcular los valores de función para acciones individuales. En su lugar, adoptan políticas aprendiendo la política directamente, a menudo a través de técnicas llamadas Gradientes de Política.

Los gradientes de política operan recibiendo un estado y calculando probabilidades para acciones basadas en las experiencias anteriores del agente. Luego se selecciona la acción más probable. Este proceso se repite hasta el final del período de evaluación y se otorgan las recompensas al agente. Después de que se han otorgado las recompensas al agente, los parámetros de la red se actualizan con propagación hacia atrás.

¿Qué es el Aprendizaje Q?

Debido a que el Aprendizaje Q es una gran parte del proceso de aprendizaje de refuerzo profundo, tomémonos un momento para entender realmente cómo funciona el sistema de aprendizaje Q.

El Proceso de Decisión de Markov

Un proceso de decisión de Markov. Foto: waldoalvarez a través de Pixabay, Licencia Pixbay (https://commons.wikimedia.org/wiki/File:Markov_Decision_Process.svg)

Para que un agente de IA lleve a cabo una serie de tareas y alcance un objetivo, el agente debe poder lidiar con una secuencia de estados y eventos. El agente comenzará en un estado y debe tomar una serie de acciones para llegar a un estado final, y puede haber un número masivo de estados existentes entre los estados inicial y final. Almacenar información sobre cada estado es impráctico o imposible, por lo que el sistema debe encontrar una manera de preservar solo la información de estado más relevante. Esto se logra a través del uso de un Proceso de Decisión de Markov, que preserva solo la información sobre el estado actual y el estado anterior. Cada estado sigue una propiedad de Markov, que rastrea cómo el agente cambia del estado anterior al estado actual.

Aprendizaje Q Profundo

Una vez que el modelo tiene acceso a información sobre los estados del entorno de aprendizaje, se pueden calcular los valores Q. Los valores Q son la recompensa total otorgada al agente al final de una secuencia de acciones.

Los valores Q se calculan con una serie de recompensas. Hay una recompensa inmediata, calculada en el estado actual y dependiendo de la acción actual. El valor Q para el estado siguiente también se calcula, junto con el valor Q para el estado después de ese, y así sucesivamente hasta que se hayan calculado todos los valores Q para los diferentes estados. También hay un parámetro Gamma que se utiliza para controlar cuánto peso tienen las recompensas futuras en las acciones del agente. Las políticas se calculan típicamente inicializando aleatoriamente los valores Q y dejando que el modelo converja hacia los valores Q óptimos a lo largo del entrenamiento.

Redes Q Profundas

Uno de los problemas fundamentales que involucran el uso de aprendizaje Q para el aprendizaje de refuerzo es que la cantidad de memoria necesaria para almacenar datos aumenta rápidamente a medida que aumenta el número de estados. Las Redes Q Profundas resuelven este problema combinando modelos de redes neuronales con valores Q, lo que permite a un agente aprender de la experiencia y hacer conjeturas razonables sobre las mejores acciones a tomar. Con el aprendizaje Q profundo, las funciones de valor Q se estiman con redes neuronales. La red neuronal toma el estado como datos de entrada, y la red produce un valor Q para todas las acciones posibles que el agente puede tomar.

El aprendizaje Q profundo se logra almacenando todas las experiencias pasadas en la memoria, calculando los valores de salida máximos para la red Q, y luego utilizando una función de pérdida para calcular la diferencia entre los valores actuales y los valores teóricos más altos posibles.

Aprendizaje de Refuerzo Profundo vs Aprendizaje Profundo

Una diferencia importante entre el aprendizaje de refuerzo profundo y el aprendizaje profundo regular es que, en el caso de este último, las entradas están cambiando constantemente, lo que no es el caso en el aprendizaje profundo tradicional. ¿Cómo puede el modelo de aprendizaje tener en cuenta las entradas y salidas que están cambiando constantemente?

En esencia, para tener en cuenta la divergencia entre los valores predichos y los valores objetivo, se pueden utilizar dos redes neuronales en lugar de una. Una red estima los valores objetivo, mientras que la otra red es responsable de las predicciones. Los parámetros de la red objetivo se actualizan a medida que el modelo aprende, después de que se han pasado un número determinado de iteraciones de entrenamiento. Luego, las salidas de las redes respectivas se unen para determinar la diferencia.

Aprendizaje Basado en Política

Los enfoques de aprendizaje basado en política operan de manera diferente a los enfoques basados en valor Q. Mientras que los enfoques basados en valor Q crean una función de valor que predice recompensas para estados y acciones, los métodos basados en política determinan una política que asignará estados a acciones. En otras palabras, la función de política que selecciona acciones se optimiza directamente sin considerar la función de valor.

Gradientes de Política

Una política para el aprendizaje de refuerzo profundo se clasifica en una de dos categorías: estocástica o determinista. Una política determinista es aquella en la que los estados se asignan a acciones, lo que significa que cuando se le da información sobre un estado a la política, se devuelve una acción. Mientras que las políticas estocásticas devuelven una distribución de probabilidad para acciones en lugar de una sola acción discreta.

Las políticas deterministas se utilizan cuando no hay incertidumbre sobre los resultados de las acciones que se pueden tomar. En otras palabras, cuando el entorno en sí es determinista. En contraste, las salidas de las políticas estocásticas son adecuadas para entornos donde el resultado de las acciones es incierto. Por lo general, los escenarios de aprendizaje de refuerzo involucran algún grado de incertidumbre, por lo que se utilizan políticas estocásticas.

Los enfoques de gradiente de política tienen algunas ventajas sobre los enfoques de aprendizaje Q, así como algunas desventajas. En términos de ventajas, los métodos basados en política convergen en parámetros óptimos más rápido y de manera más confiable. El gradiente de política simplemente se puede seguir hasta que se determinen los mejores parámetros, mientras que con los métodos basados en valor, pequeños cambios en los valores de acción estimados pueden llevar a grandes cambios en las acciones y sus parámetros asociados.

Los gradientes de política funcionan mejor para espacios de acción de alta dimensionalidad. Cuando hay un número extremadamente alto de acciones posibles que se pueden tomar, el aprendizaje Q profundo se vuelve impráctico porque debe asignar una puntuación a cada acción posible para todos los pasos de tiempo, lo que puede ser imposible desde el punto de vista computacional. Sin embargo, con los métodos basados en política, los parámetros se ajustan con el tiempo y el número de parámetros óptimos posibles se reduce rápidamente a medida que el modelo converge.

Los gradientes de política también son capaces de implementar políticas estocásticas, a diferencia de las políticas basadas en valor. Debido a que las políticas estocásticas producen una distribución de probabilidad, no se necesita implementar un intercambio entre exploración y explotación.

En términos de desventajas, la principal desventaja de los gradientes de política es que pueden quedar atrapados mientras buscan parámetros óptimos, centrándose solo en un conjunto estrecho y local de valores óptimos en lugar de los valores óptimos globales.

Función de Puntuación de Política

Las políticas utilizadas para optimizar el rendimiento de un modelo apuntan a maximizar una función de puntuación – J(θ). Si J(θ) es una medida de qué tan buena es nuestra política para lograr el objetivo deseado, podemos encontrar los valores de “θ” que nos dan la mejor política. Primero, debemos calcular una recompensa de política esperada. Estimamos la recompensa de política para que tengamos un objetivo, algo hacia lo que optimizar. La función de puntuación de política es cómo calculamos la recompensa de política esperada, y hay diferentes funciones de puntuación de política que se utilizan comúnmente, como: valores iniciales para entornos episódicos, el valor promedio para entornos continuos, y la recompensa promedio por paso de tiempo.

Ascenso de Gradiente de Política

El ascenso de gradiente apunta a mover los parámetros hasta que estén en el lugar donde la puntuación es más alta. Foto: Dominio público (https://commons.wikimedia.org/wiki/File:Gradient_ascent_(surface).png)

Después de que se utiliza la función de puntuación de política deseada y se calcula la recompensa de política esperada, podemos encontrar un valor para el parámetro “θ” que maximiza la función de puntuación. Para maximizar la función de puntuación J(θ), se utiliza una técnica llamada “ascenso de gradiente”. El ascenso de gradiente es similar en concepto al descenso de gradiente en el aprendizaje profundo, pero estamos optimizando para el aumento más pronunciado en lugar de la disminución. Esto se debe a que nuestra puntuación no es “error”, como en muchos problemas de aprendizaje profundo. Nuestra puntuación es algo que queremos maximizar. Se utiliza una expresión llamada Teorema del Gradiente de Política para estimar el gradiente con respecto a la política “θ“.

Resumen del Aprendizaje de Refuerzo Profundo

En resumen, el aprendizaje de refuerzo profundo combina aspectos del aprendizaje de refuerzo y las redes neuronales profundas. El aprendizaje de refuerzo profundo se realiza con dos técnicas diferentes: Aprendizaje Q Profundo y gradientes de política.

Los métodos de aprendizaje Q apuntan a predecir qué recompensas seguirán a ciertas acciones tomadas en un estado determinado, mientras que los enfoques de gradiente de política apuntan a optimizar el espacio de acción, prediciendo las acciones en sí. Los enfoques basados en política para el aprendizaje de refuerzo profundo son deterministas o estocásticos en naturaleza. Las políticas deterministas asignan estados directamente a acciones, mientras que las políticas estocásticas producen distribuciones de probabilidad para acciones.

Bloguero y programador con especialidades en Machine Learning y Deep Learning temas. Daniel espera ayudar a otros a utilizar el poder de la IA para el bien social.