Está en la página 1de 13

Un tema interesante de DL

aplicado en visión es:


Deep Reinforcement Learning
Ya sabemos algo de DL pero nos falta
entonces los fundamentos de RL
Reinforcement Learning:
Aprendizaje por refuerzo
Recompensa positiva Recompensa negativa
Modelo de Interacción Agente y Environment
Estado = Posición->[x,y], cercanía a un enemigo
Recompensa=-100 (murió Mario)
Agente interactua con el Entorno
(Environment) a partir de acciones y recibe del
entorno un estado y una recompensa asociada
a la acción

IDEA: Encontrar las acciones que maximizan


[Arriba,derecha,izquierda]
la recompensa
Q Learning
Caso básico y poco escalable, útil para introducir al RL
Acción
Problema del agente en un campo minado
0 1 2
0 0,0

1 0,1

Estado
Podemos definir una tabla que
contenga la Calidad de tomar
2 0,2
una acción cuando estamos en
determinado estado (Q table)

0,3

0,4

• Si tuvieramos esta tabla, solo tendriamos que tomar las acciones con Q máximo (Politica óptima)
• Al principio el agente no tiene información de como funciona el entorno
Q Learning
• IDEA: Hallar la Q table de forma iterativa a partir de la interacción con
el entorno
La definimos y la llenamos de ceros

Al principio, como el agente no sabe


nada sombre el entorno, la acción
sería aleatoria

De esto se encarga el entorno

¿Y cómo hacemos para actualizar la tabla?


Q Learning
• Utilizaremos la ecuación de Bellman para actualizar los valores de Q
en cada iteración:
Que tanta importancia le
Valor actualizado Valor actual damos a la recompensa futura

Recompensa por haber Mejor recompensa


Pondera valor actual y el futuro tomado la acción a futura que podríamos
llegar a tener
Q Learning
• Hagamos un muy pequeño ejemplo de como se actualizaría
𝑄 ( 𝑠 , 𝑎 ) ← ( 1− 𝛼 ) 𝑄 ( 𝑠 , 𝑎 ) +𝛼 ¿
Primera decisión es Primera decisión es
aleatoria y fue abajo aleatoria y fue derecha

0 -90

R(0,1)=-100
Q(0,0,down)=(1-0.9)*0+ Q(0,0)=(1-0.9)*0+
0.9*[ 0+0.9*max(Q(1,0,right),Q(1,0,left), 0.9*[ -100+0.9*max(Q(1,0,right),Q(1,0,left),
Q(1,0,down),Q(1,0,up)) ] Q(1,0,down),Q(1,0,up)) ]
Dilema de la exploración y la explotación
• Al principio nuestro agente no conoce el entorno entonces las
acciones deben ser aleatorias

• Cuando ya ha interactuado lo suficiente puede empezar a decidir por


si mismo

IDEA: Explorar con probabilidad (epsilon) que empieza en 1 e ir


actualizandolo con epsilon_decay cada episodio:
epsilon*= epsilon_decay
Del RL tradicional al Deep RL

No es una
clasificación sino
una regresión!
Del RL tradicional al Deep RL
𝐿𝑜𝑠𝑠=∑ ( 𝑦 −𝑄 ( 𝑠 ,𝑎 ,𝑤 ) ) 𝑑𝑜𝑛𝑑𝑒 𝑦 =𝑅 ( 𝑠,𝑎 )+𝛾 max 𝑄 ( 𝑠 ,𝑎 ,𝑤 )
2 ′ ′
𝑖 𝑖 ′
𝑎
Observación
(4 frames) Estado Acción=Argmax(Q)

Características
convolucionales
Entrenamiento de la DQN
• La siguiente acción se determina
a partir de la salida que tenga
mayor Q
• Las experiencias pasadas son
guardadas en memoria para
después actualizar los pesos
• La función de costo es el error
cuadrático medio
• Las etiquetas están dadas por la
ecuación de Bellman
RL: De los juegos a la vida real
TikTok: escoger el próximo Notificaciones inteligentes: Robótica: Mover el robot para
contenido que maximice el tiempo Decidir si enviar o no una lograr el objetivo de interés
de reproducción notificación tal que maximice
la tasa de apertura
• Para más información:
https://www.udemy.com/course/deep-learning-para-computer-vision
-con-python-y-tensorflow/?referralCode
=9ECD5F991F5AFC754963

También podría gustarte