¿Qué es el aprendizaje por refuerzo?

En pocas palabras, el aprendizaje por refuerzo es una técnica de aprendizaje automático que implica entrenar a un agente de inteligencia artificial mediante la repetición de acciones y recompensas asociadas.

Guía de Inteligencia Artificial

Un agente de aprendizaje por refuerzo experimenta en un entorno, toma acciones y es recompensado cuando se toman las acciones correctas. Con el tiempo, el agente aprende a realizar las acciones que maximizan la recompensa.

Esa es una definición rápida de aprendizaje por refuerzo, pero echar un vistazo más de cerca a los conceptos detrás del aprendizaje por refuerzo te va ayudar a obtener una comprensión mejor y más intuitiva del mismo.

El término aprendizaje por refuerzo está adaptado del concepto de refuerzo en psicología. Por esa razón, demos un repaso a entender el concepto psicológico de refuerzo.

En el sentido psicológico, el término de refuerzo se refiere a algo que aumenta la probabilidad de que ocurra una respuesta/acción en particular. Este concepto de reforzamiento es una idea central de la teoría del condicionamiento operante, propuesta inicialmente por el psicólogo BF Skinner.

En este contexto, el refuerzo es cualquier cosa que hace que aumente la frecuencia de un comportamiento dado. Si pensamos en posibles refuerzos para los humanos; estos pueden ser cosas como elogios, un aumento en el trabajo, premios o actividades divertidas.

Todo lo que debes saber del aprendizaje por refuerzo

En el sentido psicológico tradicional, hay dos tipos de refuerzo: El refuerzo positivo y refuerzo negativo

El refuerzo positivo es la adición de algo para aumentar un comportamiento, como darle una golosina a tu perro cuando se porta bien.

El refuerzo negativo consiste en eliminar un estímulo para provocar un comportamiento, como apagar los ruidos fuertes para persuadir a un gato asustadizo.

Refuerzo positivo y negativo

El refuerzo positivo aumenta la frecuencia de un comportamiento, mientras que el refuerzo negativo disminuye la frecuencia. En general, el refuerzo positivo es el tipo de refuerzo más común utilizado en el aprendizaje por refuerzo; ya que ayuda a los modelos a maximizar el rendimiento en una tarea determinada.

No solo eso, sino que el refuerzo positivo lleva al modelo a realizar cambios más sostenibles, cambios que pueden convertirse en patrones consistentes y persistir durante largos períodos de tiempo.

Por el contrario, si bien el refuerzo negativo también aumenta la probabilidad de que se produzca un comportamiento, se utiliza para mantener un estándar de rendimiento mínimo en lugar de alcanzar el rendimiento máximo de un modelo.

El refuerzo negativo en el aprendizaje por refuerzo puede ayudar a garantizar que un modelo se mantenga alejado de acciones indeseables, pero en realidad no puede hacer que un modelo explore las acciones deseadas.

Capacitación de un agente de refuerzo

Cuando se entrena un agente de aprendizaje por refuerzo, se utilizan cuatro ingredientes o estados diferentes en el entrenamiento: Estados iniciales (estado 0), estado nuevo (estado 1), acciones y recompensas.

Imagina que estamos entrenando a un agente de refuerzo para jugar un videojuego de plataformas en el que el objetivo de la IA es llegar al final del nivel moviéndose por la pantalla.

El estado inicial del juego se extrae del entorno, lo que significa que el primer cuadro del juego se analiza y se entrega al modelo. En base a esa información, el modelo debe decidir sobre la acción siguiente.

Durante las fases iniciales del entrenamiento, estas acciones son aleatorias, pero a medida que se refuerza el modelo, ciertas acciones se volverán más comunes. Después de realizar la acción, se actualiza el entorno del juego y se crea un nuevo estado o marco.

Si la acción realizada por el agente produjo un resultado deseable, digamos en este caso que el agente todavía está vivo y no ha sido golpeado por un enemigo, se le otorga alguna recompensa al agente y es más probable que haga lo mismo en el futuro.

Este sistema básico está constantemente en bucle, sucediendo una y otra vez y cada vez más; el agente intenta aprender un poco más y maximizar la recompensa.

Tareas episódicas vs continuas

Las tareas de aprendizaje por refuerzo normalmente se pueden colocar en una de estas dos categorías diferentes: Las tareas episódicas o tareas continuas.

Las tareas episódicas llevarán a cabo el ciclo de aprendizaje/entrenamiento y mejorarán su rendimiento hasta que se cumplan algunos criterios finales y entonces, se finalice el entrenamiento. En un juego, esto podría ser llegar al final de un nivel o caer en un peligro que concluya en daño del personaje.

Por el contrario, las tareas continuas no tienen criterios de terminación, esencialmente continuan entrenando para siempre hasta que el ingeniero decida terminar el entrenamiento.

Monte carlo vs diferencia temporal

Hay dos formas principales de aprender o entrenar a un agente de aprendizaje por refuerzo.

En el enfoque de Monte Carlo las recompensas se entregan al agente (su puntaje se actualiza) solo al final del episodio de entrenamiento.

Para decirlo de otra manera, solo cuando se cumple la condición de terminación, el modelo aprende qué tan bien se desempeñó.

Luego de eso, puede usar esa información para actualizar y cuando comience la próxima ronda de capacitación, responderá de acuerdo con la nueva información.

El método de diferencia temporal difiere del método de Monte Carlo en que la estimación del valor o la estimación de la puntuación, se actualiza durante el curso del episodio de entrenamiento. Una vez que el modelo avanza al siguiente paso de tiempo, los valores se actualizan.

Exploración vs explotación

Entrenar a un agente de aprendizaje por refuerzo es un acto de equilibrio, que implica el equilibrio de dos métricas diferentes: La exploración y la explotación.

La exploración es el acto de recopilar más información sobre el entorno circundante, mientras que la exploración utiliza la información ya conocida sobre el entorno para ganar puntos de recompensa.

Si un agente, solamente explora y nunca explota el entorno, nunca se llevarán a cabo las acciones deseadas. Por otro lado, si el agente solo explota y nunca explora, el agente solo aprenderá a realizar una acción y no descubrirá otras estrategias posibles para obtener recompensas.

Por lo tanto, equilibrar la exploración y la explotación es fundamental al crear un agente de aprendizaje por refuerzo.

Casos de uso para el aprendizaje por refuerzo

El aprendizaje por refuerzo se puede utilizar en una amplia variedad de funciones y es más adecuado para las aplicaciones en las que las tareas requieren de automatización.

La automatización de tareas que llevarán a cabo los robots industriales, es un gran área en la que el aprendizaje por refuerzo resulta útil. El aprendizaje por refuerzo también se puede utilizar para problemas como la minería de texto, creando modelos que puedan resumir cuerpos largos de texto.

Los investigadores de IA, también están experimentando con el uso del aprendizaje por refuerzo en el campo de la atención médica, con agentes de refuerzo que manejan trabajos como la optimización de las políticas de tratamiento.

El aprendizaje por refuerzo también podría usarse para personalizar el material educativo para cada estudiante específico.


Conclusión final sobre el aprendizaje por refuerzo

El aprendizaje por refuerzo es un método poderoso para construir agentes de IA que puede conducir a resultados impresionantes y a veces, sorprendentes.

Capacitar a un agente a través del aprendizaje por refuerzo puede ser complejo y difícil, ya que requiere muchas iteraciones de capacitación y un delicado equilibrio de la dicotomía explorar/explotar.

Sin embargo, si se tiene éxito, un agente creado con aprendizaje por refuerzo puede realizar tareas complejas en una amplia variedad de distintos entornos.

Relacionado

ForEach de Javascript: Array para bucles

Como una de las estructuras de control básicas en la programación, los bucles son casi una adición diaria al código que escribimos. El bucle forEach clásico es uno de los primeros fragmentos de código que aprendemos a escribir como programadores. Si fueras un desarrollador de Javascript, sabrías que Javascript no es ajeno a la iteración a través de los elementos de una matriz o un mapa ¡SEGUIR LEYENDO!

10 Mejores alternativas de Sci-hub para descargar artículos de investigación gratis

Como sabemos, Sci-hub es un sitio web increíble con millones de artículos de investigación para todos los estudiantes universitarios y académicos. El sitio web de Sci-Hub se encarga de obtener los artículos de investigación y artículos de pago utilizando las credenciales que se filtran. La fuente de credenciales utilizada por este sitio web no está clara. Sin embargo, se supone que muchas de ellas son donadas, ¡SEGUIR LEYENDO!

10 Características Sorprendentes de Windows que Deberías Conocer en 2024

Aunque haya sido usuario de Windows durante décadas, el sistema operativo es tan amplio y complejo que siempre existen características útiles, pero menos conocidas, que podrían sorprenderte. En este sentido, he identificado diez funciones poco conocidas de Windows que pueden potenciar su eficiencia, comodidad e incluso su experiencia de uso lúdico en su PC.

¡REBAJADO!
Microsoft Surface Go 2 - Portátil 2 en 1 de 10.5 pulgadas Full HD, Wifi, Intel...
  • Procesador Dual-Core Intel Pentium Gold 4425Y (2...
  • Memoria RAM de 8 GB LPDDR3
  • Disco SSD de 128 GB
Todas estas características deberían ser compatibles tanto con Windows 10 ¡SEGUIR LEYENDO!
10 Criptomonedas con Potencial de Crecimiento de Futuro

El rumor en torno a las criptomonedas no se desvanece por mucho que existan grandes pesimistas alrededor de los malos rumores. Entonces, si consideras invertir en el mundo de las criptomonedas, deberías estar atento a las criptomonedas que se espera que tengan un buen desempeño para el resto de 2021. En los últimos tiempos, los tokens DeFi están recibiendo toda la atención y es más que ¡SEGUIR LEYENDO!

10 Empresas de robótica más importantes del mundo

Los cambios de paradigma revolucionarios debido a los desarrollos de la robótica en todo el mundo están generando nuevos puntos de vista en muchos sectores, entre ellos en los de la industria y la tecnología. Con la ayuda de la Inteligencia Artificial, la tecnología produce resultados innovadores cada segundo y el campo de la robótica define y reconfigura su uso a cada instante. Cada día que ¡SEGUIR LEYENDO!

10 Frameworks que los Desarrolladores de Software deberían Aprender 2024

Bienvenidos desarrolladores web y de software, estamos en los inicios de 2023 y es posible que muchos se esten planteado sus objetivos para lo largo del año. Con anterioridad ya he compartidos las rutas de aprendizaje para un desarrollador front-end, un desarrollador full-stack o un desarrollador back-end entre otros muchos contenidos más. En este artículo, me gustaría compartir algunos de los mejores frameworks y bibliotecas para ¡SEGUIR LEYENDO!

10 Repositorio de GitHub que todo Desarrollador Web debería conocer

GitHub es el lugar que debes buscar cuando intentas mejorar como desarrollador, toda la información que necesitas está disponible en algún repositorio que alguien ya se ha molestado en indexar. Sin embargo, la parte complicado es encontrar el repositorio más adecuado. Es fácil sentirse perdido en todos los repositorios disponibles dentro de GitHub. Para ayudarte, he elaborado una lista de 10 repositorios de GitHub que pueden ¡SEGUIR LEYENDO!

Salir de la versión móvil