Está en la página 1de 32

Integrantes

Deep Q-Network – III: Auqui Pampa, Carlos Christian A.


Espinoza Bardales, Jorge Luis
Letona Vargas, Lizeth
Rendimiento y uso Tello Paucar, Skinner Franklin
I. Introducción
1. Inteligencia artificial
Es el intento de imitar la inteligencia
humana realizado por un software que
ha sido explícita o implícitamente
programado para completar una tarea.

2. Machine Learning
Es una rama de la inteligencia artificial. El machine
learning es la capacidad de las máquinas de aprender a
partir de datos de manera automatizada, es decir que no
hayan sido programadas para dicha tarea.
3. Reinforcement Learning
El aprendizaje por refuerzo está
basado en la interacción de
entornos en un proceso de prueba
y error. Los algoritmos que están
Inteligencia Artificial basados en este modelo utilizan
los errores estimados como
recompensas y penalizaciones. Si
el error es pequeño, la
Machine Learning penalización es baja y la
recompensa alta; caso contrario a
cuando el error es grande.
Deep Learning 4. Deep Learning
Es una rama del machine learning
que utiliza redes neuronales para
modelar y resolver problemas
complejos que involucran
Fig 1. Clasificación general de la inteligencia artificial y el aprendizaje automático grandes cantidades de datos.
5. Open AI Gym

OpenAI Gym es una librería de


Python desarrollada por
OpenAI que permite implementar
algoritmos del aprendizaje por
refuerzo, además posee una
diversa colección de entornos de
referencia en el que se puede
trabajar juegos, simulaciones de
robótica, tareas de control, etc.
II. Marco Teórico
II.1. Aprendizaje por
Reforzamiento (RL)
• Es el aprendizaje al interactuar con el
entorno.
• Involucra un actor o agente, un entorno, y
una señal de recompensa
• El agente elige tomar una acción, a lo cual el
entorno responde con una recompensa.
• Una serie de acciones a tomar es llamada
política
• El agente busca incrementar la recompensa Fig 2. Esquema básico de Aprendizaje por Reforzamiento
recibida, para lo cual aprende la política
óptima al interactuar con el entorno.
II.1. Aprendizaje por Reforzamiento (RL)

Fig 3. Ejemplo de Clasificación de datos mediante Aprendizaje por Reforzamiento


II.2. Procesos de decisión
de Markov (MDP)

• Son procesos de control de naturaleza


estocástica
• Proveen de una estructura matemática para el
modelamiento de toma de decisiones, cuando
los resultados son parcialmente aleatorios
• Pueden ser, según los tiempos de ejecución de
las acciones:
1. Discretos en el tiempo (DTMDP, o Fig 4. Proceso de decisión de Markov discreto en el
simplemente MDP) tiempo, de tres estados y dos acciones
2. Continuos en el tiempo (CTMDP)
Consiste en una tétrada (, , , ), donde:
II.2. • : conjunto de estados (espacio de estados)
Procesos de • : conjunto de acciones (espacio de acciones)
decisión de • : probabilidad de que la acción desde el
estado y tiempo conducirá al estado en el
Markov tiempo .
(MDP) • es la recompensa inmediata recibida al
pasar de a debido a la acción
• Episodio: una serie de tuplas de estados,
acciones y recompensas desde el estado
II.2. inicial hasta el estado terminal del proceso
Procesos de
decisión de • Políticas: funciones que eligen la acción que
el agente tomará desde cada estado . Se
Markov busca hallar una política que maximice el
(MDP) retorno futuro esperado
II.3. Retorno Futuro
• Es una expresión que considera tanto las recompensas a corto como a largo plazo. A
veces el mejor camino tiene un efecto negativo a largo a plazo, pero conlleva a mejores
resultados a largo plazo.
• Una primera expresión para el retorno futuro es:

• Sin embargo, el darle el mismo peso a las recompensas a corto y largo plazo suele ser
problemático. Con infinitos pasos, esta expresión suele tender a infinito (diverge),
haciendo que la política carezca de urgencia por conseguir las recompensas.
• Se debe entonces buscar acotar esta expresión añadiendo un factor de descuento
Retorno Futuro Descontado
• Se desea entonces que el agente aprenda a obtener las recompensas de forma rápida.
Para ello, se aplica un factor de descuento , que proporciona menos valor a las
recompensas futuras.
• Se define entonces el Retorno Futuro Descontado como:

Los valores típicos para suelen estar entre 0.97 y 0.99.


• La expresión de retorno futuro descontado es por lo tanto la utilizada en algoritmos de
aprendizaje por reforzamiento
Función Valor-Estado
Es la esperanza matemática del Retorno Futuro Descontado,
empezando desde el estado y siguiendo la política .

Entre todas las políticas posibles a seguir, existirá alguna política óptima
correspondiente al máximo Valor-Estado posible, el cual se denota por:
II.4. Explorar vs Explotar
• En aprendizaje por refuerzo, es clave
balancear exploración y explotación para
encontrar una política exitosa:
• Seguir solo la política óptima puede
atrapar al agente en un máximo local,
mientras que demasiada exploración no
optimiza recompensas y una exploración
insuficiente puede llevar a quedar
atrapado en un mínimo local.
• Por lo tanto, tomar acciones subóptimas
para explorar es importante.
Fig 5. Juego del camino del robot. Movimiento en
dos dimensiones, con obstáculos.
Se denomina Є al valor de balance entre exploración y explotación. Es igual a la probabilidad de que el
agente realice una acción aleatoria (exploración) y su valor se encuentra entre 0 y 1.

ϵ -Greedy Annealed ϵ -Greedy


• Estrategia e-Greedy para equilibrar • En lugar de un valor fijo para la exploración,
exploración y explotación. Basada en se utiliza un valor decreciente con el
técnica Greedy. Agente selecciona acción tiempo, aumentando después de cada
recomendada o aleatoria. Probabilidad de episodio de entrenamiento. Un ejemplo es
acción aleatoria es "valor ϵ ". el recocido de e-Greedy de 0,99 a 0,1 en
• Podemos implementar ϵ -Greedy así: más de 10.000 escenarios.Podemos
aplicarlo de la siguiente forma:
II.5. •

Policy Learning via Policy Gradients
El descenso de gradiente estocástico se usa en el

Aprendizaje aprendizaje supervisado para actualizar los parámetros y


minimizar la pérdida entre la salida de la red y la etiqueta
verdadera. Podemos optimizar la expresión:

por Políticas vs • En aprendizaje por refuerzo usamos SGD con gradientes de

por Valores política para optimizar los pesos del modelo usando señales
de recompensa. Esto implica alentar al modelo a tomar
acciones que generen alta recompensa y evitar acciones que
generen baja recompensa. La expresión para la optimización
es;

• La pérdida en aprendizaje por refuerzo se define por acción y


descuento del retorno futuro. Las malas acciones que llevan a
baja recompensa son penalizadas más y la confianza del
modelo en ellas también se tiene en cuenta. Usando SGD se
•El aprendizaje por refuerzo tiene dos enfoques para enseñar a un minimiza la pérdida y se aprende una política eficiente..
agente a maximizar su recompensa: aprendizaje de políticas y
aprendizaje de valores. En el aprendizaje de políticas, se aprende
directamente una política que maximiza la recompensa. En este
capítulo se cubrirán ambos enfoques.
• Q-Learning se encuentra en la categoría de
aprendizaje por reforzamiento llamada
value-learning (aprendizaje por valores): en
lugar de enfocarse directamente aprender
una política, se enfoca en aprender el valor
de los estados y de las acciones.
II.6. Q- • Q-Learning involucra aprender una función,
Learning llamada función Q, que representa la calidad
de un par estado-acción. Esta función
denotada por , calcula el máximo retorno
futuro descontado cuando se realiza una
acción desde el estado
• El valor Q óptimo representa el Retorno Futuro
Descontado esperado, desde el estado , tomando la
acción , y luego de ello tomando la secuencia de
acciones ideal para maximizar este retorno futuro.

Valor Q • Los valores Q no se obtienen directamente. Para


óptimo conocer el valor de un par estado-acción, se
necesitaría saber la secuencia perfecta de acciones
posteriores. Y para conocer esta secuencia, se
necesita saber con precisión el valor de cada par
estado-acción. Para resolver este dilema se plantea
la Ecuación de Bellman
Ecuación de Bellman
• Resuelve el dilema anterior al definir los valores Q en función de futuros valores Q.
• Establece que el retorno futuro máximo por tomar la acción es la recompensa actual más
el retorno futuro máximo del siguiente paso por tomar la siguiente acción

• Esto nos permite ahora relacionar valores Q pasados y futuros, lo que convierte esta
expresión en una regla de actualización: se puede actualizar valores Q pasados en base a
valores Q futuros.
• Entonces, conociendo valor Q de la última acción antes del final del episodio, se puede
hallar iterativamente cada valor Q anterior hasta así encontrar el primero
Problemas con la iteración de valores
• La iteración de valores produce una asignación entre pares de estado y
acción con los valores Q correspondientes, y estamos construyendo una
tabla de estas asignaciones, o una tabla Q.
• La iteración de valor es un proceso exhaustivo que requiere un recorrido
completo de todo el espacio de estado, pares de acción. En un juego como
Breakout, con 100 ladrillos que pueden estar presentes o no, con 50
posiciones para que entre la pala y 250 posiciones para que entre la pelota
y 3 acciones, ya hemos construido un espacio que está lejos , mucho más
grande que la suma de toda la capacidad computacional de la humanidad.
• Además, en entornos estocásticos, el espacio de nuestra tabla Q sería aún
mayor y posiblemente infinito. Con un espacio tan grande, será difícil para
nosotros encontrar todos los valores Q para cada par de estados y
acciones.
Fig 6. Tabla Q de un espacio
de estados pequeño 
• El tamaño de nuestra tabla Q hace que el enfoque
ingenuo sea intratable para cualquier problema que no
tenga un espacio de estados muy pequeño.
• Sin embargo, ¿qué pasa si relajamos nuestro requisito de
una función Q óptima? Si, en cambio, aprendemos
Aproximand aproximaciones de la función Q, podemos usar un
modelo para estimar nuestra función Q.
o la función • En lugar de tener que experimentar cada estado, par de
Q acciones para actualizar nuestra tabla Q, podemos
aprender una función que se aproxima a esta tabla e
incluso generaliza fuera de su propia experiencia.
• Esto significa que no tendremos que realizar una
búsqueda exhaustiva a través de todos los valores Q
posibles para aprender una función Q.
II.7. Deep Q-Network (DQN)
• Utiliza una red neuronal profunda que toma una imagen (estado) para estimar el valor Q
para todas las acciones posibles.
• Se busca aproximar la función Q óptima. Esta aproximación se expresa en función de los
parámetros del modelo:

Usando la ecuación de Bellman, se puede expresar el retorno futuro esperado:

El objetivo es minimizar la diferencia entre la aproximación de Q, y el siguiente valor Q.


Entonces obtenemos la función objetivo:

Este objetivo es diferenciable, lo que nos permite usar descenso por gradiente estocástico
para minimizar la pérdida (diferencia)
• Se muestra a continuación
un algoritmo de
entrenamiento para la
DQN, en pseudocódigo:
• Se define la función de pérdidas en base a la diferencia
entre el valor Q predicho y el del siguiente paso. Esto
ocasiona que la pérdida sea doblemente dependiente de
los parámetros del modelo
Problemas • Con cada actualización de parámetros, los valores Q
cambian constantemente, y estamos utilizando valores Q
de cambiantes para realizar más actualizaciones.

estabilidad • Esta alta correlación de actualizaciones puede generar


bucles de retroalimentación e inestabilidad en nuestro
del aprendizaje, donde nuestros parámetros pueden oscilar
y hacer que la pérdida diverja.
aprendizaje • Podemos emplear un par de trucos de ingeniería simples
para remediar este problema de correlación, a saber, la
red Q de destino (Target Q-Network) y la reproducción
de la experiencia (Experience Replay).
Target Q-Network
• En lugar de actualizar una sola red con frecuencia con respecto a sí misma, podemos reducir esta
codependencia introduciendo una segunda red, llamada red de destino. Nuestra función de
pérdida presenta dos instancias de la función Q.
• Se hace que la primera Q se represente como nuestra red de predicción, y nuestra segunda Q
será producida por la red Q de destino. La red Q de destino es una copia de nuestra red de
predicción que se retrasa en las actualizaciones de sus parámetros. Solo actualizamos la red Q de
destino para igualar la red de predicción cada pocos lotes. Esto le da estabilidad al proceso de
aprendizaje

Fig 7. Aplicación de la técnica Target Q-Network para el aprendizaje de la DQN.


Experience Replay
• Es una técnica de memoria de reproducción utilizada en
el aprendizaje por refuerzo donde almacenamos las
experiencias del agente en cada paso de tiempo, en un
conjunto de datos, agrupados durante muchos
episodios en una memoria de reproducción.
• Luego, generalmente probamos la memoria
aleatoriamente para obtener un minilote de
experiencia y lo usamos para aprender fuera de la
política. Esto aborda el problema de la autocorrelación
que conduce a un entrenamiento inestable, haciendo Fig 8. Tuplas de experiencia
que el problema se asemeje más a un problema de previa almacenada en la
aprendizaje supervisado. memoria.
III. EJEMPLOS
En estos últimos años en los videojuegos,
la Inteligencia Artificial está avanzando a
un ritmo muy acelerado. En 1972, lo más
parecido que había a un jugador
inteligente era el script que manejaba el
oponente del videojuego Pong. Ahora, se
están creando jugadores inteligentes en
videojuegos, capaces de competir o Fig 9. Videojuego pong
incluso superar a los mejores jugadores
de un videojuego. Un claro ejemplo de
esto es el proyecto OpenAI Five (Berner
et al., 2019), que fue capaz de crear un
equipo de 5 jugadores inteligentes que
ganaron a Team OG, los campeones
mundiales del videojuego Dota 2. Para
ello escalaron las técnicas existentes de
aprendizaje por refuerzo a niveles sin
precedentes, construyendo un sistema de
entrenamiento distribuido que contaba
con miles de GPUs en las que se
entrenaban las masivas redes neuronales
mientras jugaban partidas entre sí.
Fig 10. Visión humana de Dota 2
Space Invaders

Este es un videojuego de arcade que salió en 1978 y


que contribuyó a la expansión global de los
videojuegos. En 1980, el juego se lanzó para la consola
Atari 2600 y fue un rotundo éxito, siendo el videojuego
más vendido hasta la fecha y recaudando un total de
450 millones de dólares. También fue el primer
videojuego arcade que se lanzaba para una consola.
Las reglas del juego son bastantes sencillas. El jugador
maneja un cañón que se encuentra en la parte inferior
de la pantalla y se puede mover de izquierda a derecha
y disparar rayos láser. En la parte superior de la
pantalla aparecen varias filas de alienígenas que se
mueven de extremo a extremo de la pantalla y cada
vez que llegan a un borde descienden. De vez en
cuando estos alienígenas también disparan láseres
que, si impactan al jugador, le quitaran una vida. Fig 11. Space Invaders en Atari 2600
También hay unos escudos destructibles entre el
jugador y los alienígenas. El objetivo del juego es
conseguir la máxima puntuación destruyendo el mayor
número posible de alienígenas antes de perder todas
las vidas o de que ´estos lleguen al borde inferior de la
pantalla.
Modelo Deep-Q Network: Para entrenar un agente inteligente para jugar al
videojuego Space Invaders

Un tipo especial de red neuronal conocida


como Deep Q Network (DQN), combina
técnicas de aprendizaje por refuerzo con
redes neuronales profundas. Esta red
neuronal profunda utiliza una estructura
conocida como red neuronal convolucional,
capaz de explotar las correlaciones espaciales
locales presentes en las imágenes y adaptarse
para detectar estas correlaciones incluso en
otra escala, posición o punto de vista. 
Para entrenar una red neuronal tradicional
con imágenes se necesitan muchas  capas
ocultas en la estructura, lo que supone una Fig 12. Arquitectura de CNN
gran carga computacional y un tiempo de
entrenamiento que no es viable en la mayoría
de casos. Además, esto haría que el modelo
Las CNN son aquellas redes que tienen al menos una capa convolucional, así que
se sobreajustase a los datos, obteniendo
peores resultados para datos nuevos. En para entenderlas introduciremos el concepto de convolución. La entrada de la red
cambio, las redes neuronales convolucionales es una imagen, esta tendrá una anchura, altura y profundidad. En este caso, la
aprovechan la correlación espacial de los anchura y la altura son las dimensiones de la imagen y la profundidad se puede
píxeles que se encuentran próximos en la corresponder con varios parámetros, como el número de canales de color o el
imagen para reducir la carga computacional. número de imágenes.
Preprocesado de las Salto de Fotogramas
Recompensas
Para reducir la cantidad de cómputo necesaria para
Una imágen tiene una enorme cantidad de parámetros, por lo entrenar la red, implementa una técnica de salto de
que el preprocesado tiene como objetivo reducir este número fotogramas, que consiste en que la red escoge una acción
para que la DQN pueda entrenarse de manera eficiente. cada 4 fotogramas y la acción se repite durante los próximos
Analiza el salto de fotogramas o Frame Skipping y el 4 fotogramas. De esta forma, solo se entrena la red cada 4
agrupamiento de fotogramas o Frame stacking, dos técnicas que fotogramas y apenas se pierde información, ya que la
se usa para preprocesar la entrada de la red.  mayoría de la información se mantiene de un fotograma al
En primer lugar, realiza un procesado de las recompensas antes siguiente. La recompensa que se le pasa a la red es la suma
de pasárselas a la red neuronal. Como pasarle la puntuación sin de la recompensa obtenida en los 4 fotogramas. 
procesar puede hacer que la red acabe prediciendo valores
exageradamente altos de Q, se han normalizado las
recompensas para que estén en el intervalo [−1, 1]. El juego no
tiene puntuaciones negativas, se le ha asignado una
recompensa de −0,3 a cada vida perdida y una recompensa de
−0,001 a cada fotograma que pasa, de forma que el agente trate
de eliminar los alienígenas antes de que lleguen al borde
inferior de la pantalla. Las recompensas positivas se otorgan al
destruir alienígenas o la nave nodriza.

Fig 13. Salto de fotogramas

También podría gustarte