Aprendizaje por refuerzo y aplicaciones, conceptos fundamentales y algoritmos

Documento de Universidad sobre Aprendizaje por refuerzo y aplicaciones. El Pdf, de Informática, explora el aprendizaje por refuerzo, sus conceptos fundamentales, el ciclo de vida, la ecuación de Bellman y algoritmos como Q-Learning y SARSA, con ejemplos prácticos.

Ver más

36 páginas

UD4: Aprendizaje por refuerzo y
aplicaciones
I. Introducción y objetivos
II. ¿Qué es el aprendizaje por refuerzo? Ciclo de vida
III. Explorar vs. explotar
IV. Ecuación de Bellman: programación dinámica
V. Q-Function: state-action value function
VI. Algoritmos
VII. Ejemplo: optimización de tareas en un almacén de comercio
electrónico con Q-Learning
VIII. Bandido multibrazo
IX. Ejemplo: maximización de visitas en campañas de marketing online con
el bandido multibrazo
Aprendizaje por refuerzo y aplicaciones
X. Resumen
XI. Caso práctico con solución
I. Introducción y Objetivos
1.1. Introducción de la Unidad
El aprendizaje por refuerzo o reinforcement learning en inglés está teniendo un auge muy
importante en los últimos años dentro de la inteligencia artificial debido a los resultados tan
destacados que está logrando en determinadas áreas que, sin ser especialmente complejas,
son muy mediáticas, como pueden ser, por ejemplo, la conducción automática, la resolución
de juegos de estrategia como el ajedrez o el go, y la superación de partidas de muchos
videojuegos, como los de Atari.
El aprendizaje por refuerzo es un tipo de aprendizaje mediante el cual un ente
denominado agente aprende a comportarse en un entorno mediante “ensayo y error,
aprendiendo a través de recompensas positivas o negativas de las acciones realizadas
en el entorno. Este tipo de aprendizaje es muy útil para tareas que necesitan ser resueltas
mediante un conjunto de acciones, como pueden ser, por ejemplo, una partida de ajedrez
que necesita de una serie de movimientos para ganar la partida.
1. En esta unidad se verán cuáles son los elementos fundamentales del aprendizaje por
refuerzo (agente, entorno, acción, estado, política, etc.), así como el ciclo de vida que
sigue este aprendizaje para que el agente aprenda a solucionar tareas dentro de un
entorno.
2. Se verán los conceptos más relevantes dentro del aprendizaje por refuerzo, como son
los de explorar y explotar y el significado de estrategia”, que es el conjunto de
acciones que debe tomar el agente para resolver la tarea en cuestión, y cómo se
pueden tomar estas estrategias, siendo a corto plazo o a largo plazo, dependiendo de si
se quiere realizar la mejor acción en cada momento sin importar las consecuencias
futuras o realizar acciones teniendo en cuenta las recompensas futuras,
respectivamente.
3. Se estudiarán dos de los algoritmos más populares dentro del aprendizaje por refuerzo,
como son el Q-Learning y el SARSA, para resolver problemas de optimización de
procesos, así como se verá cómo resolver problemas concretos como la optimización
de procesos en un almacén de comercio electrónico.
4. Por último, se verá el algoritmo del “bandido multibrazo, que es también uno de los
algoritmos clásicos dentro del aprendizaje por refuerzo que permite, entre otros casos
de uso, maximizar recompensas en campañas de marketing online.
1.2. Objetivos de la unidad
1. Entender en qué consiste el aprendizaje por refuerzo 1 y su ciclo de vida.
2. Conocer los elementos que conforman el aprendizaje supervisado, así como la función
que realizan.
3. Entender cómo un agente toma la decisión de las acciones que realizar.
4. Entender los conceptos de explorar y explotar.
5. Entender los conceptos de la toma de decisiones a corto y a largo plazo.
6. Entender el funcionamiento de los algoritmos del Q-Learning y SARSA y saber qué tipo
de problemas resuelven.
7. Conocer el funcionamiento del algoritmo “bandido multibrazo” y el tipo de problemas
que resuelve.

Visualiza gratis el PDF completo

Regístrate para acceder al documento completo y transformarlo con la IA.

Vista previa

Introducción y objetivos

UD4: Aprendizaje por refuerzo y aplicaciones

I. Introducción y objetivos II. ¿Qué es el aprendizaje por refuerzo? Ciclo de vida III. Explorar vs. explotar IV. Ecuación de Bellman: programación dinámica V. Q-Function: state-action value function VI. Algoritmos VII. Ejemplo: optimización de tareas en un almacén de comercio electrónico con Q-Learning VIII. Bandido multibrazo IX. Ejemplo: maximización de visitas en campañas de marketing online con el bandido multibrazo

X. Resumen XI. Caso práctico con solución

Introducción de la Unidad

El aprendizaje por refuerzo o reinforcement learning en inglés está teniendo un auge muy importante en los últimos años dentro de la inteligencia artificial debido a los resultados tan destacados que está logrando en determinadas áreas que, sin ser especialmente complejas, son muy mediáticas, como pueden ser, por ejemplo, la conducción automática, la resolución de juegos de estrategia como el ajedrez o el go, y la superación de partidas de muchos videojuegos, como los de Atari.El aprendizaje por refuerzo es un tipo de aprendizaje mediante el cual un ente denominado agente aprende a comportarse en un entorno mediante "ensayo y error", aprendiendo a través de recompensas positivas o negativas de las acciones realizadas en el entorno. Este tipo de aprendizaje es muy útil para tareas que necesitan ser resueltas mediante un conjunto de acciones, como pueden ser, por ejemplo, una partida de ajedrez que necesita de una serie de movimientos para ganar la partida.

  1. En esta unidad se verán cuáles son los elementos fundamentales del aprendizaje por refuerzo (agente, entorno, acción, estado, política, etc.), así como el ciclo de vida que sigue este aprendizaje para que el agente aprenda a solucionar tareas dentro de un entorno.
  2. Se verán los conceptos más relevantes dentro del aprendizaje por refuerzo, como son los de "explorar y explotar" y el significado de "estrategia", que es el conjunto de acciones que debe tomar el agente para resolver la tarea en cuestión, y cómo se pueden tomar estas estrategias, siendo a corto plazo o a largo plazo, dependiendo de si se quiere realizar la mejor acción en cada momento sin importar las consecuencias futuras o realizar acciones teniendo en cuenta las recompensas futuras, respectivamente.
  3. Se estudiarán dos de los algoritmos más populares dentro del aprendizaje por refuerzo, como son el Q-Learning y el SARSA, para resolver problemas de optimización de procesos, así como se verá cómo resolver problemas concretos como la optimización de procesos en un almacén de comercio electrónico.
  4. Por último, se verá el algoritmo del "bandido multibrazo", que es también uno de los algoritmos clásicos dentro del aprendizaje por refuerzo que permite, entre otros casos de uso, maximizar recompensas en campañas de marketing online.

Objetivos de la unidad

  1. Entender en qué consiste el aprendizaje por refuerzo 1 y su ciclo de vida.
  2. Conocer los elementos que conforman el aprendizaje supervisado, así como la función que realizan.
  3. Entender cómo un agente toma la decisión de las acciones que realizar.
  4. Entender los conceptos de explorar y explotar.
  5. Entender los conceptos de la toma de decisiones a corto y a largo plazo.
  6. Entender el funcionamiento de los algoritmos del Q-Learning y SARSA y saber qué tipo de problemas resuelven.
  7. Conocer el funcionamiento del algoritmo "bandido multibrazo" y el tipo de problemas que resuelve.

¿Qué es el aprendizaje por refuerzo? Ciclo de Vida

El aprendizaje por refuerzo, o reinforcement learning en inglés, es un tipo de aprendizaje automático mediante el cual un agente (robot, soware, etc.) aprende a comportarse en un entorno realizando acciones y viendo los resultados de esas acciones por medio de recompensas positivas o negativas en función de la acción realizada.

Este tipo de aprendizaje se basa en la manera de adiestrar a los animales; por ejemplo, un perro recibiendo un castigo si realiza alguna mala acción y recibiendo un premio si realiza una acción correcta en el entorno en el que vive.

El interés por el aprendizaje por refuerzo está creciendo en los últimos años debido a los grandes resultados que se están obteniendo con este tipo de aprendizaje automático en áreas como la conducción automática, juegos de estrategia como el ajedrez o el go, videojuegos, etc.

El aprendizaje por refuerzo es un tipo de aprendizaje muy útil para resolver aquellas tareas que implican la realización de un conjunto de acciones. Por este motivo, el aprendizaje por refuerzo está teniendo mucho éxito en la resolución de juegos de estrategia, como el ajedrez, donde para ganar una partida se debe realizar una serie de movimientos (acciones) en un tablero frente a un rival (entorno) y cuyo objetivo es ganar la partida (recompensa).

En el ámbito empresarial el aprendizaje por refuerzo tiene aplicaciones en todas aquellas tareas que, como ya se ha dicho, requieren de la realización de un conjunto de acciones para su solución, como puedan ser la optimización de procesos, reducción de costes o maximización de beneficios, que son tareas que requieren realizar una secuencia de acciones para llevarlas a cabo, como la optimización de tareas en un almacén de comercio electrónico, la minimización de costes en consumos energéticos o la maximización de beneficios de un negocio de venta online a través de la publicidad.

En los siguientes apartados se verán los detalles del aprendizaje por refuerzo, algunas de sus técnicas más relevantes y ejemplos prácticos.

El aprendizaje por refuerzo es un tipo de aprendizaje automático mediante el cual un agente que está en un entorno es capaz de percibir un estado. El agente puede realizar una serie de acciones en cada estado y estas acciones conllevan diferentes recompensas positivas o negativas en función de la acción realizada. El agente decide las acciones basándose en una política que tiene que aprender con el objetivo de maximizar las recompensas que obtiene por sus acciones (Barto, 1998).

Por hacer un símil con los aprendizajes supervisado y no supervisado, se puede considerar la política como el modelo del aprendizaje por refuerzo.

El proceso del aprendizaje por refuerzo sería el siguiente:

  1. El agente, basándose en su estado St y su política, toma la decisión de realizar una determinada acción.
  2. Al realizar la acción el agente evalúa su estado St+1 y recibe una recompensa (positiva o negativa).
  3. Tras realizar la acción el estado cambia: St = St+1.
  4. En función de la recompensa obtenida el agente modifica (o no) su política.

El esquema del proceso del aprendizaje por refuerzo es el siguiente:

Agente Estado St Recompensa Rt Acción A2 t+1 Entorno St+1 Figura 1. Esquema general del proceso del aprendizaje por refuerzo. Fuente: elaboración propia.

A continuación se verá con más detalle la definición de los elementos que describen el aprendizaje por refuerzo (Barto, 1998):

  • AGENTE: Es un ente que está en un entorno y realiza una serie de acciones para cambiar el estado del entorno.
  • ENTORNO: Sistema que el agente puede percibir e interactuar sobre él.
  • ESTADOS: Conjunto finito de posiciones del entorno donde puede encontrarse el agente.
  • ACCIONES: Conjunto finito de opciones que tiene el agente para modificar su estado.
  • : Valor que recibe el agente por la realización de una determinada acción.
  • : Modelo que sigue el agente para la toma de acciones.

Otros dos elementos no definidos hasta el momento y que se irán viendo a lo largo de esta sección son los siguientes:

  • Función de estado (Value function en inglés): Función indica lo bueno o malo que es para el agente estar en un estado.
  • Q-Table: Tabla que guarda para cada estado cada una de las posibles acciones que realizar en el estado y un valor que permite decidir cuál de las posibles acciones devolverá una mejor recompensa. En

Explorar vs. explotar

Supóngase un hipotético caso en el que se tiene que aprender de nuevo a ir desde el trabajo a casa y no se dispone de mapas ni de GPS para obtener el camino más corto. Esta tarea se puede resolver con aprendizaje con refuerzo, como se verá a continuación.

Para definir el entorno, se definirá la ciudad con una cuadrícula de estados donde en cada estado se podrán realizar las acciones de ir hacia arriba, abajo, izquierda o derecha, teniendo representada la ciudad de la siguiente manera: donde se tiene el trabajo en la casilla superior izquierda, en color rojo, y la casa, en la casilla inferior derecha, en color verde:

Figura 2. Ejemplo de aprendizaje por refuerzo (explorar vs. explotar) I. Fuente: elaboración propia.

Para resolver por primera vez esta tarea se empezará recorriendo una calle y cuando se llegue a una intersección se tomará una decisión sobre qué calle coger para llegar a casa. Como es la primera vez que se hace esta tarea habrá que ir tomando decisiones al azar sobre qué calle coger hasta llegar a casa. Este primer día se habrá aprendido un camino para llegar a casa, aunque no sea ni de lejos el más corto.

1 2 10 11 3 9 12 13 4 8 14 5 6 7 15 16 Figura 3. Ejemplo de aprendizaje por refuerzo (explorar vs. explotar) II. Fuente: elaboración propia.

1 2 3 9 10 11 4 8 12 5 6 7 13 14 Figura 4. Ejemplo de aprendizaje por refuerzo (explorar vs. explotar) III. Fuente: elaboración propia.

El segundo día ya se tendrá un conocimiento previo de cómo llegar a casa, así que se podrá seguir el mismo camino que el día anterior (camino muy largo) o seguir algunas partes del camino que del día anterior e investigar otros caminos tomando decisiones al azar sobre cuáles seguir para aprender nuevas rutas.

Si se hace esta tarea muchos días, al final se conseguirá aprender un camino muy corto (no necesariamente el más corto) para llegar a casa y ya no será necesario tomar decisiones al azar sobre qué camino seguir.

2 3 4 5 6 7 8 9 10 Figura 5. Ejemplo de aprendizaje por refuerzo (explorar vs. explotar) IV. Fuente: elaboración propia.

Esta tarea que se acaba de explicar es un ejemplo de cómo resolver un problema con aprendizaje por refuerzo en el que un agente = persona realiza una serie de acciones = decisiones en un entorno = ciudad para obtener una recompensa = llegar a casa.

Esta recompensa será mayor cuanto menos tiempo se tarde en llegar a casa y, por tanto, hay que aprender una política que permita determinar qué calle escoger para llegar a casa lo antes posible.

En esta analogía aparecen dos conceptos muy interesantes dentro del aprendizaje por refuerzo, como son:

  • Exploración: La exploración es la tarea que consiste en visitar y recopilar información de todos los estados del entorno.

¿Non has encontrado lo que buscabas?

Explora otros temas en la Algor library o crea directamente tus materiales con la IA.