Está en la página 1de 46

Intro Arquitecturas Predicción de secuecias El problema del gradiente Referencias

Redes Neuronales Recurrentes

Verónica E. Arriola-Rios

Redes Neuronales

11 de noviembre de 2019

Verónica E. Arriola-Rios RNR


Intro Arquitecturas Predicción de secuecias El problema del gradiente Referencias

Negante

Las ecuaciones e imágenes aquí reproducidas fueron tomadas de


Goodfellow, Bengio y Courville 2016 y acomodadas en forma de
presentación para usos didácticos, sin intención de infringir los
derechos de autor.

Verónica E. Arriola-Rios RNR


Intro Arquitecturas Predicción de secuecias El problema del gradiente Referencias

Temas

1 Intro
Sistemas dinámicos

2 Arquitecturas comunes para clasificación

3 Predicción de secuecias
Secuencia dependiente del contexto
Dependencia completa

4 El problema del gradiente


Explosión y desvanecimiento
Cómputo de yacimientos
Multiescalas temporales

Verónica E. Arriola-Rios RNR


Intro Arquitecturas Predicción de secuecias El problema del gradiente Referencias

Redes Neuronales Recurrentes

Especializadas en secuencias de valores.

~x(1) , ..., ~x(τ)

Verónica E. Arriola-Rios RNR


Intro Arquitecturas Predicción de secuecias El problema del gradiente Referencias

Temas

1 Intro
Sistemas dinámicos

2 Arquitecturas comunes para clasificación

3 Predicción de secuecias
Secuencia dependiente del contexto
Dependencia completa

4 El problema del gradiente


Explosión y desvanecimiento
Cómputo de yacimientos
Multiescalas temporales

Verónica E. Arriola-Rios RNR


Intro Arquitecturas Predicción de secuecias El problema del gradiente Referencias

Sistema dinámico y su grafo


Definición recurrente:

~s(t) = f(~s(t−1) ; ~θ) (1)

Si τ = 3:

~s(3) = f(~s(2) ; ~θ) (2)


= f(f(~s(1) ; ~θ); ~θ) (3)

Figura: Despliegue del grafo computacional.

Verónica E. Arriola-Rios RNR


Intro Arquitecturas Predicción de secuecias El problema del gradiente Referencias

Sistema dinámico dirigido por una señal externa

~s(t) = f(~s(t−1) , ~x(t) ; ~θ) (4)


Para redes neuronales el estado corresponde a las capas ocultas:
~h(t) = f(~h(t−1) , ~x(t) ; ~θ) (5)

Figura: Red recurrente sin salidas. ~x son las entradas, ~h los estados.
Izquierda Diagrama del circuito, el cuadro negro marca un retraso de un
tiempo. Derecha Grafo desplegado.

Verónica E. Arriola-Rios RNR


Intro Arquitecturas Predicción de secuecias El problema del gradiente Referencias

El tamaño del grafo desplegado depende de la longitud de la


secuencia.
Para el tiempo t el grafo desplegado se puede representar con
la función g(t)

~h(t) = g(t) (~x(t) , ~x(t−1) , ~x(t−2) , ..., ~x(2) , ~x(1) ) (6)


= f(h~ (t−1) (t)
, ~x ; ~θ) (7)

Verónica E. Arriola-Rios RNR


Intro Arquitecturas Predicción de secuecias El problema del gradiente Referencias

Ventajas del proceso de despligue

1 El tamaño de la entrada para la red no depende de la longitud


de la secuencia.
2 La misma función de transición f se usa con los mismos
parámetros en cada paso temporal. En analogía a la
convolución usando los mismos pasos sobre diferentes regiones
de una imagen.

Verónica E. Arriola-Rios RNR


Intro Arquitecturas Predicción de secuecias El problema del gradiente Referencias

Temas

1 Intro
Sistemas dinámicos

2 Arquitecturas comunes para clasificación

3 Predicción de secuecias
Secuencia dependiente del contexto
Dependencia completa

4 El problema del gradiente


Explosión y desvanecimiento
Cómputo de yacimientos
Multiescalas temporales

Verónica E. Arriola-Rios RNR


Intro Arquitecturas Predicción de secuecias El problema del gradiente Referencias

Red 1: una salida en cada t, recurrencia entre ocultas

Figura: L es la función de error o pérdida, ~y los resultados esperados.

Verónica E. Arriola-Rios RNR


Intro Arquitecturas Predicción de secuecias El problema del gradiente Referencias

Universalidad

Esta red es Universal en el sentido de que puede calcular


cualquier función que pueda calcular una máquina de Turing.
Propagación hacia adelante:
1 Require especificar el estado inicial ~h(0) .
2 Para t ∈ [1, τ].

~ (t) = ~b + W~h(t−1) + U~x(t) ,


a (8)
~h(t) = tanh(~
a(t) ), (9)
~o(t)
= ~c + V ~h(t) , (10)
~ŷ(t) = softmax(o(t) ) (11)

Verónica E. Arriola-Rios RNR


Intro Arquitecturas Predicción de secuecias El problema del gradiente Referencias

Función de error

  X
L {~x(1) , ..., ~x(τ) }, {~y(1) , ..., ~y(τ) } = L(t) (12)
t
X  
=− log pmodelo y(t) |{~x(1) , ..., ~x(τ) }
t | {z }
ˆ (t) [y]
~
y

Verónica E. Arriola-Rios RNR


Intro Arquitecturas Predicción de secuecias El problema del gradiente Referencias

Red 2: una salida en cada t, recurrencia de salida a ocultas

Figura: L es la función de error o pérdida, ~y los resultados esperados.

Verónica E. Arriola-Rios RNR


Intro Arquitecturas Predicción de secuecias El problema del gradiente Referencias

Forzamiento del profesor

Figura: Conocer la respuesta correcta para el paso anterior permite


paralelizar el entrenamiento.

Verónica E. Arriola-Rios RNR


Intro Arquitecturas Predicción de secuecias El problema del gradiente Referencias

Función de error

  X
L {~x(1) , ..., ~x(t) }, {~y(1) , ..., ~y(t) } = L(t) (13)
t
X  
=− log pmodelo ~y(t) |{~x(1) , ..., ~x(t) , ~y(1) , ..., ~y(t−1) } (14)
t

Verónica E. Arriola-Rios RNR


Intro Arquitecturas Predicción de secuecias El problema del gradiente Referencias

Red 3: una salida al final de la secuencia, recurrencia entre


ocultas

Figura: L es la función de error o pérdida, ~y los resultados esperados.

Verónica E. Arriola-Rios RNR


Intro Arquitecturas Predicción de secuecias El problema del gradiente Referencias

Temas

1 Intro
Sistemas dinámicos

2 Arquitecturas comunes para clasificación

3 Predicción de secuecias
Secuencia dependiente del contexto
Dependencia completa

4 El problema del gradiente


Explosión y desvanecimiento
Cómputo de yacimientos
Multiescalas temporales

Verónica E. Arriola-Rios RNR


Intro Arquitecturas Predicción de secuecias El problema del gradiente Referencias

Modelando una secuencia sin entrada ~x

Y
τ
P(Y) = P(y(1) , ..., y(τ) ) = P(y(t) |y(t−1) , y(t−2) , ..., y(1) ) (15)
t=1

En este modelo, el negativo de la log-verosimilitud es:


X
L= L(t) , (16)
t

con

L(t) = − log P(y(t) = y(t) |y(t−1) , y(t−2) , ..., y(1) ) (17)

Verónica E. Arriola-Rios RNR


Intro Arquitecturas Predicción de secuecias El problema del gradiente Referencias

Modelo gráfico completamente conectado

a)

b)
Figura: a) Modelo probabilista (con ~h marginalizadas), parametrizar (5)
sería ineficiente. b) Implementación usando el estado oculto de la RNN.

Verónica E. Arriola-Rios RNR


Intro Arquitecturas Predicción de secuecias El problema del gradiente Referencias

Fin de la secuencia

Formas de determinar el fin de la secuencia generada:


Si la salida son símbolos de un vocabulario, agregar un
símbolo especial para indicar fin de secuencia.
Agregar una salida dada por la distribución de Bernoulli que
represente la decisión de continuar o parar.
Unidad sigmoide
Función a optimizar: log-verosimilitud sobre la predicción
correcta de si la secuencia termina o continua.
Predecir τ directamente y generar ese número de pasos.
Agregar τ o τ − t como entrada recurrente, para que el
generador tome en cuenta cuántos pasos le quedan.

P(~x(1) , ..., ~x(τ) ) = P(~x(1) , ..., ~x(τ) |τ)P(τ) (18)

Verónica E. Arriola-Rios RNR


Intro Arquitecturas Predicción de secuecias El problema del gradiente Referencias

Temas

1 Intro
Sistemas dinámicos

2 Arquitecturas comunes para clasificación

3 Predicción de secuecias
Secuencia dependiente del contexto
Dependencia completa

4 El problema del gradiente


Explosión y desvanecimiento
Cómputo de yacimientos
Multiescalas temporales

Verónica E. Arriola-Rios RNR


Intro Arquitecturas Predicción de secuecias El problema del gradiente Referencias

Secuencia dependiente del contexto

Dependen de una sola señal de entrada ~x de tamaño fijo.


~x es provista como:
1 Entrada extra en cada paso temporal, o
2 estado inicial ~h(0) , o
3 ambos

Verónica E. Arriola-Rios RNR


Intro Arquitecturas Predicción de secuecias El problema del gradiente Referencias

~x como entrada extra

Ej: Generar texto que


describa una imagen.
La imagen da el
contexto.

Figura: Red ~x → P(Y)~ . Cada


elemento de la secuencia ~y(t)
sirve como entrada en t.
Durante el entrenamiento es
el objetivo del paso anterior.
Se puede interpretar que los
sesgos ~xT R son los que
varían según la entrada.

Verónica E. Arriola-Rios RNR


Intro Arquitecturas Predicción de secuecias El problema del gradiente Referencias

Temas

1 Intro
Sistemas dinámicos

2 Arquitecturas comunes para clasificación

3 Predicción de secuecias
Secuencia dependiente del contexto
Dependencia completa

4 El problema del gradiente


Explosión y desvanecimiento
Cómputo de yacimientos
Multiescalas temporales

Verónica E. Arriola-Rios RNR


Intro Arquitecturas Predicción de secuecias El problema del gradiente Referencias

RNN Condicional

Figura: En P(~y(1) , ..., ~y(τ) |~x(1) , ..., ~x(τ) ), las ~y(i) ya no son independientes
entre sí, pero ambas secuencias ~x y ~y deben ser de la misma longitud.

Verónica E. Arriola-Rios RNR


Intro Arquitecturas Predicción de secuecias El problema del gradiente Referencias

RNN Bidireccional

Figura: Compuesta por dos RNN.

Verónica E. Arriola-Rios RNR


Intro Arquitecturas Predicción de secuecias El problema del gradiente Referencias

RNR Codificadora-Decodificadora

Figura: Aprende a generar


(~y(1) ), ..., ~y(ny ) a partir de
(~x(1) ), ..., ~x(nx ) ). Ej: para
traductores de idiomas.

Verónica E. Arriola-Rios RNR


Intro Arquitecturas Predicción de secuecias El problema del gradiente Referencias

RNR Profundas

Figura: (a) Jerarquía en capas ocultas recurrentes. (b) Más capas


antes/después de las recurrentes. (c) Conexiones tipo salto.

Verónica E. Arriola-Rios RNR


Intro Arquitecturas Predicción de secuecias El problema del gradiente Referencias

Redes Neuronales Recursivas

Figura: Su gráfica computacional es


un árbol. (~x(1) ), ..., ~x(t) ) → ~o. Sus
parámetros son únicamente
U, V, W .

Verónica E. Arriola-Rios RNR


Intro Arquitecturas Predicción de secuecias El problema del gradiente Referencias

Temas

1 Intro
Sistemas dinámicos

2 Arquitecturas comunes para clasificación

3 Predicción de secuecias
Secuencia dependiente del contexto
Dependencia completa

4 El problema del gradiente


Explosión y desvanecimiento
Cómputo de yacimientos
Multiescalas temporales

Verónica E. Arriola-Rios RNR


Intro Arquitecturas Predicción de secuecias El problema del gradiente Referencias

Temas

1 Intro
Sistemas dinámicos

2 Arquitecturas comunes para clasificación

3 Predicción de secuecias
Secuencia dependiente del contexto
Dependencia completa

4 El problema del gradiente


Explosión y desvanecimiento
Cómputo de yacimientos
Multiescalas temporales

Verónica E. Arriola-Rios RNR


Intro Arquitecturas Predicción de secuecias El problema del gradiente Referencias

RNR Profundas

Figura: Corte de una salida Y en 100 dimensiones, cuando tanh es usada


como función de activación de forma recursiva. Nótese la variación en la
magnitud del gradiente conforme se incrementa la no-linealidad.

Verónica E. Arriola-Rios RNR


Intro Arquitecturas Predicción de secuecias El problema del gradiente Referencias

Exploción y desvanecimiento

Ignorando de momento la función de activación, supongamos:

~h(t) = Q> Λt Q~h(0) (19)

Nótese que la potencia de un valor propio tiende a cero o a


explotar.
Si la red no es recurrente, no se trata del mismo peso, por lo
que se puede controlar la varianza v del producto de los pesos
Q (t) √
n ∗
t w . Basta elegir v = v

Verónica E. Arriola-Rios RNR


Intro Arquitecturas Predicción de secuecias El problema del gradiente Referencias

Recortando el gradiente

Figura: (a) Jerarquía en capas ocultas recurrentes. (b) Más capas


antes/después de las recurrentes. (c) Conexiones tipo salto.

if ||~g|| > v (20)


~gv
~g ← (21)
||~g||

Verónica E. Arriola-Rios RNR


Intro Arquitecturas Predicción de secuecias El problema del gradiente Referencias

Temas

1 Intro
Sistemas dinámicos

2 Arquitecturas comunes para clasificación

3 Predicción de secuecias
Secuencia dependiente del contexto
Dependencia completa

4 El problema del gradiente


Explosión y desvanecimiento
Cómputo de yacimientos
Multiescalas temporales

Verónica E. Arriola-Rios RNR


Intro Arquitecturas Predicción de secuecias El problema del gradiente Referencias

Cómputo de yacimientos

Red de estados con echo. Su objetivo es fijar los pesos


recurrentes de tal manera que las unidades ocultas recurrentes
capturen correctamente la historia de las entradas pasadas y
sólo se entrenan los pesos hacia la salida.
Para ello asignar pesos cuyo radio espectral sea 3, o 1.2 si
serán entrenados.
Máquinas de estado líquido. Idea similar, pero utilizan
neuronas de impulsos (spiking neurons), con salidas binarias.

Verónica E. Arriola-Rios RNR


Intro Arquitecturas Predicción de secuecias El problema del gradiente Referencias

Temas

1 Intro
Sistemas dinámicos

2 Arquitecturas comunes para clasificación

3 Predicción de secuecias
Secuencia dependiente del contexto
Dependencia completa

4 El problema del gradiente


Explosión y desvanecimiento
Cómputo de yacimientos
Multiescalas temporales

Verónica E. Arriola-Rios RNR


Intro Arquitecturas Predicción de secuecias El problema del gradiente Referencias

Multiescalas temporales

Pretenden modelar secuencias distinguiendo entre detalles finos y


detalles gruesos.
Conexiones con salto. Agregar conexiones entre t y t + d.
Unidades con fugas. Unidades con conexiones lineales a sí
mismas, modelan un promedio acumulativo del tipo
µ(t) ← αµ(t−1) + (1 − α)v(t) donde el valor de α indica qué
tan rápido se olvida el pasado.
Remover conexiones de un tiempo y sustituirlas por
conexiones más al pasado.

Verónica E. Arriola-Rios RNR


Intro Arquitecturas Predicción de secuecias El problema del gradiente Referencias

Long-Short Term Memory (LSTM)

Es útil para:
Reconocimiento de escritura.
Reconocimiento del habla.
Generación de escritura.
Traducción.
Rotulado de imágenes.
Análisis sintáctico.

Verónica E. Arriola-Rios RNR


Intro Arquitecturas Predicción de secuecias El problema del gradiente Referencias

LSTM

Figura: Celda (en lugar de


neurona oculta).
Entrada: x(t)
i , compuerta de
entrada: g(t)
i , compuerta de
(t)
olvido: fi , compuerta de
salida: q(t) (t)
i , salida: hi .
Cada compuerta se puede
alimentar con las entradas
(t)
xi y las salidas del tiempo
anterior h(t−1)
i .

Verónica E. Arriola-Rios RNR


Intro Arquitecturas Predicción de secuecias El problema del gradiente Referencias

Valores de activación

 
(t)
X (t)
X g (t−1) 
gi = σ bg
i + Ug
i,j xj + Wi,j hj entrada (22)
j j
 
(t)
X (t)
X (t−1) 
fi = σ bfi + Ufi,j xj + f
Wi,j hj olvido (23)
j j
 
(t)
X (t)
X (t−1) 
qt = σ bo
i + Uo
i,j xj + o
Wi,j hj (24)
j j

(25)

Verónica E. Arriola-Rios RNR


Intro Arquitecturas Predicción de secuecias El problema del gradiente Referencias

(t) (t) (t−1)


si = fi si + (26)
 
(t)
X (t)
X (t−1) 
gi σ bi + Ui,j xj + Wi,j hj autoconexión
j j
(t) (t) (t)
hi = tanh(si )qi (27)
(28)

Verónica E. Arriola-Rios RNR


Intro Arquitecturas Predicción de secuecias El problema del gradiente Referencias

Versión de Hochreiter resumida

En azul se muestra cómo agregar los sesgos.


   
i σ
~
  (t−1)  
f  σ 
 =  W h ~
+b (29)
o  σ  ~x(t)
g tanh
~s(t) = ~f ~s(t−1) + ~i ~g (30)
~h(t) = ~o tanh(s(t) ) (31)

Donde representa la multiplicación término a término.


i es input y es la entrada que se calcula,
y las tres compuertas son f forget, o output y g gate.
Adaptada de Hochreiter and Schmidhuber, “Long short term memory”. Neural Computation.

Verónica E. Arriola-Rios RNR


Intro Arquitecturas Predicción de secuecias El problema del gradiente Referencias

Esta versión se encuentra comúnmente en internet.


En este caso la compuerta de salida se llama o en lugar de q y
la función de activación para g es tanh, en lugar de σ.
Obsérvese que en este modelo tanto la entrada como las
compuertas son alimentadas con los mismos valores: la
concatenación de la entrada actual y la salida de la celda en el
paso anterior.
Sin embargo la matriz W tiene pesos distintos para cada uno
de estos cálculos.
W U
 
 Wf Uf 
W=
W o
 (32)
Uo 
Wg Ug

Verónica E. Arriola-Rios RNR


Intro Arquitecturas Predicción de secuecias El problema del gradiente Referencias

Referencias I

Goodfellow, Ian, Yoshua Bengio y Aaron Courville (2016). «Deep


Learning». En: MIT Press. Cap. Sequence Modeling:
Recurrentand Recursive Nets, págs. 367-415. url:
https://www.deeplearningbook.org/contents/rnn.html.

Verónica E. Arriola-Rios RNR

También podría gustarte