Documentos de Académico
Documentos de Profesional
Documentos de Cultura
MÓDULO 4
2
Contexto
RNNs
4
Sinónimos
• Redes Neuronales Recurrentes (RNNs)
• Tipos:
• Long Short Term Memory (LSTMs)
• Gated Recurrent Units (GRUs)
• …
• Algoritmos
• BackProp Through Time (BPTT)
• BackProp Through Structure (BPTS)
5
¿Qué pasa con las NNs?
• Problema 1: no se pueden modelar secuencias
• Entradas y salidas de tamaño fijo
• Sin estructura temporal
6
Secuencias están en todo lado
7
Incluso cuando no se espere una secuencia ...
8
Incluso cuando no se espere una secuencia ...
• Orden de entrada
= secuencia
9
¿Por qué modelar secuencias?
10
¿Por qué modelar secuencias?
11
¿Cómo modelar secuencias?
• Sin entrada
12
¿Cómo modelar secuencias?
• Con entradas
13
¿Cómo modelar secuencias?
• Con entradas y salidas
14
¿Cómo modelar secuencias?
• Con redes neuronales
15
¿Cómo modelar secuencias?
Entrada: secuencia
Entrada: secuencia
Entrada: no secuencia Entrada: no secuencia Salida: secuencia
Salida: no secuencia
Salida: no secuencia Salida: secuencia Ej.: traducción automática,
Ej.: clasificación de
Ej.: clasificación Ej.: Im2Caption subtítulos de video, respuesta a
oraciones, respuesta a
"estándar" /problemas de preguntas abiertas, respuesta a
preguntas de opción múltiple
regresión preguntas de video
16
Las cosas pueden volverse arbitrariamente complejas
17
Ideas Claves
• Parámetro compartido + desenrollado
• Mantiene el número de parámetros bajo control
• ¡Permite longitudes de secuencia arbitrarias!
• "Profundidad"
• Medido en el sentido habitual de capas
• Pasos de tiempo no desenrollados
• Aprendizaje
• Es complicado incluso para modelos "poco profundos" debido a que se
desenrolla
18
RNN
Estructura de la Red Neuronal
Las redes neuronales estándar son DAG (grafos acíclicos dirigidos). Eso significa
que tienen un orden topológico.
• El ordenamiento topológico se utiliza para la propagación de la activación y
para la gradiente back-propagation.
Conv Conv
3x3
ReLU
3x3
+
20
Redes Neuronales Recurrentes (RNNs)
● Las redes neuronales introducen ciclos y una noción de tiempo.
Retraso de un paso
21
Desenrollando RNNs
RNNs se puede desenrollar a través de múltiples pasos de tiempo.
Retraso de un paso
Esto produce un DAG que soporta
backpropagation.
23
Estructura RNN
A menudo, las capas se apilan verticalmente (deep RNN):
Mismos parámetros
en este nivel
≠
Abstracción
- características
de alto nivel Mismos parámetros
en este nivel
Tiempo 24
Estructura RNN
Backprop funciona:
Activaciones
Abstracción
- características
de alto nivel
Tiempo 25
Estructura RNN
Backprop funciona:
Activaciones
Abstracción
- características
de alto nivel
Tiempo 26
Estructura RNN
Backprop funciona:
Activaciones
Abstracción
- características
de alto nivel
Tiempo 27
Estructura RNN
Backprop funciona:
Activaciones
Abstracción
- características
de alto nivel
Tiempo 28
Estructura RNN
Backprop funciona:
Activaciones
Abstracción
- características
de alto nivel
Tiempo 29
Estructura RNN
Backprop funciona:
Activaciones
Abstracción
- características
de alto nivel
Tiempo 30
Estructura RNN
Backprop funciona:
Activaciones
Abstracción
- características
de alto nivel
Tiempo 31
Estructura RNN
Backprop funciona:
Gradientes
Abstracción
- características
de alto nivel
Tiempo 32
Estructura RNN
Backprop funciona:
Gradientes
Abstracción
- características
de alto nivel
Tiempo 33
Estructura RNN
Backprop funciona:
Gradientes
Abstracción
- características
de alto nivel
Tiempo 34
Estructura RNN
Backprop funciona:
Gradientes
Abstracción
- características
de alto nivel
Tiempo 35
Estructura RNN
Backprop funciona:
Gradientes
Abstracción
- características
de alto nivel
Tiempo 36
Estructura RNN
Backprop funciona:
Gradientes
Abstracción
- características
de alto nivel
Tiempo 37
Estructura RNN
Backprop funciona:
Gradientes
Abstracción
- características
de alto nivel
Tiempo 38
1er estado oculto: puramente por
los datos (capa de entrada)
2do estado oculto: mezcla del
primer estado oculto y los datos
observados en el segundo período
de tiempo.
3er estado oculto: mezcla del
primero y el segundo, además de
datos observados en 3er período
de tiempo.
4to estado oculto: contiene parte
de la información de lo que
sucedió en todos los períodos de
tiempo.
39
Es importante señalar que, en
la práctica, la RNN elige qué
almacenar y qué olvidar. En el
segundo y tercer período de
tiempo, la RNN usó la mitad de
su estado oculto para
almacenar lo observado en
esos momentos. En el cuarto
período, consideró que solo
valía la pena almacenar una
pequeña parte de la
información capturada,
utilizando solo una cuarta
parte de su estado oculto para
eso.
40
RNN
Las redes recurrentes ofrecen mucha flexibilidad:
RNN
46
Red Neuronal Recurrente
Por lo general, quiere
y predecir un vector en algún
momento.
RNN
47
Red Neuronal Recurrente
RNN
nuevo estado estado vector de entrada
anterior en algún paso de
alguna función con tiempo
x
parámetros W
48
Red Neuronal Recurrente
RNN
49
Red Neuronal Recurrente
Ecuaciones RNR en una forma desenrollada en el tiempo: 1RNN con una capa oculta,
procesando cuatro períodos de tiempo y realizando una predicción de variable continua
(problema de regresión) sólo después de observar los 4 períodos (muchos a un caso)
50
Red Neuronal Recurrente
51
Red Neuronal Recurrente (Vanilla)
El estado consta de una capa "oculta" h:
RNN
52
Ejemplo de modelo de lenguaje a nivel de
caracter
y
Vocabulario:
[h,e,l,o]
RNN
Ejemplo de secuencia
de entrenamiento: x
“hello”
53
Ejemplo de modelo de lenguaje a nivel de
caracter
Vocabulario:
[h,e,l,o]
Ejemplo de secuencia
de entrenamiento:
“hello”
54
Ejemplo de modelo de lenguaje a nivel de
caracter
Vocabulario:
[h,e,l,o]
Ejemplo de secuencia
de entrenamiento:
“hello”
55
Ejemplo de modelo de lenguaje a nivel de
caracter
Vocabulario:
[h,e,l,o]
Ejemplo de secuencia
de entrenamiento:
“hello”
56
Subtítulos de imágenes
• Explain Images with Multimodal Recurrent Neural Networks, Mao et al.
• Deep Visual-Semantic Alignments for Generating Image Descriptions, Karpathy and Fei-Fei
• Show and Tell: A Neural Image Caption Generator, Vinyals et al.
• Long-term Recurrent Convolutional Networks for Visual Recognition and Description,
Donahue et al.
• Learning a Recurrent Visual Representation for Image Caption Generation, Chen and
Zitnick
57
Subtítulos de imágenes
Red Neuronal Recurrente
59
Subtítulos de imágenes
Imagen de prueba
60
Subtítulos de imágenes
Imagen de prueba
X 61
Subtítulos de imágenes
Imagen de prueba
x0
<START>
<START>
62
Subtítulos de imágenes
Imagen de prueba
y0
antes:
h = tanh(Wxh * x + Whh * h)
Wih
h0
ahora:
h = tanh(Wxh * x + Whh * h + Wih * v)
x0
<START>
v <START>
63
Subtítulos de imágenes
Imagen de prueba
y0
muestra
h0
x0
straw
<START>
v <START>
64
Subtítulos de imágenes
Imagen de prueba
y0 y1
h0 h1
x0
straw
<START>
v <START>
65
Subtítulos de imágenes
Imagen de prueba
y0 y1
muestra
h0 h1
x0
straw hat
<START>
v <START>
66
Subtítulos de imágenes
Imagen de prueba
y0 y1 y2
h0 h1 h2
x0
straw hat
<START>
v <START>
67
Subtítulos de imágenes
Imagen de prueba
y0 y1 y2
muestra
<END> token
h0 h1 h2 => finish.
x0
straw hat
<START>
v <START>
68
Conjuntos de datos de oraciones de imagen
Microsoft COCO
[Tsung-Yi Lin et al. 2014]
mscoco.org
actualmente:
~120K imágenes
~5 oraciones en cada
69
Conjuntos de datos de oraciones de imagen
70
Conjuntos de datos de oraciones de imagen
71
Vista previa de arquitecturas más sofisticadas
RNN atiende espacialmente a diferentes partes de las imágenes mientras
genera cada palabra de la oración:
74
RNN
75
Problema clave
• Aprender las dependencias a largo plazo es difícil
76
Problema clave
• Aprender las dependencias a largo plazo es difícil
77
Solución: LSTM: Long Short-Term Memory
• ¿Qué tal si codificamos explícitamente la memoria?
78
Solución: LSTM: Long Short-Term Memory
79
Solución: LSTM: Long Short-Term Memory
• ¿Qué tal si codificamos explícitamente la memoria?
80
Solución: LSTM: Long Short-Term Memory
Cada fila lleva un vector entero, desde la salida de un nodo hasta las entradas de otros. Los
círculos rosados representan operaciones puntuales, como sumar vectores, mientras que los
recuadros amarillos son capas de redes neuronales aprendidas. Las líneas combinadas indican
concatenación, mientras que una línea bifurcada indica que su contenido se está copiando y las
copias van a diferentes ubicaciones.
81
Intuición de LSTMs: memoria
• Estado / memoria de la célula
82
Intuición de LSTMs: memoria
83
Intuición de LSTMs: Puertas de Olvido
• ¿Debemos seguir recordando este “bit” de información o no?
84
Intuición de LSTMs: Puertas de Entrada
• ¿Debemos actualizar este "bit" de información o no?
• Si es así, ¿con qué?
86
Intuición de LSTMs: Puerta de Salida
• ¿Deberíamos enviar este "bit" de información a capas "más profundas"?
87
LSTM: Long Short-Term Memory
Una célula bastante sofisticada
88
Variantes de LSTMs
Variante de LSTM 1: Peephole Connections
• Deje que las puertas vean el estado/memoria de la celda
90
Variante de LSTM 2: Coupled Gates
• Solo memoriza lo nuevo si olvida lo viejo
91
Variante de LSTM 3: Gated Recurrent Units
• Cambios:
• Sin memoria explícita; memoria = salida oculta
• Z = memorizar lo nuevo y olvidar lo viejo
92
Últimos Comentarios
● Las RNN permiten mucha flexibilidad en el diseño de la arquitectura.
● Los RNN vanilla son simples pero no funcionan muy bien
● Común para usar LSTM o GRU: sus interacciones aditivas mejoran el
flujo de gradiente
93
FIN