# Unidades recurrentes cerradas

Las unidades recurrentes cerradas (GRU, por sus siglas en inglés) son un mecanismo de compuerta en redes neuronales recurrentes, introducido en 2014 por Kyunghyun Cho et al. La GRU es como una memoria a largo plazo (LSTM, por sus siglas en inglés) con un mecanismo de compuerta para introducir u olvidar ciertas características, pero carece de vector de contexto o compuerta de salida, lo que resulta en menos parámetros que la LSTM. El rendimiento de la GRU en determinadas tareas de modelado de música polifónica, modelado de señales de voz y procesamiento de lenguaje natural fue similar al de la LSTM. Las GRU demostraron que la compuerta es útil en general, y el equipo de Bengio no llegó a ninguna conclusión concreta sobre cuál de las dos unidades de compuerta era mejor.

## Arquitectura

Existen diversas variaciones de la unidad de compuerta completa, en la que la compuerta se realiza utilizando el estado oculto anterior y el sesgo en diversas combinaciones, y una forma simplificada denominada unidad de compuerta mínima.
El operador $\odot$ denota el producto Hadamard en lo siguiente:

### Unidad totalmente cerrada

Inicialmente, para $t=0$, el vector de salida es $h_{0}=0$.
    ${\begin{aligned}z_{t}&=\sigma (W_{z}x_{t}+U_{z}h_{t-1}+b_{z})\\r_{t}&=\sigma (W_{r}x_{t}+U_{r}h_{t-1}+b_{r})\\{\hat {h}}_{t}&=\phi (W_{h}x_{t}+U_{h}(r_{t}\odot h_{t-1})+b_{h})\\h_{t}&=(1-z_{t})\odot h_{t-1}+z_{t}\odot {\hat {h}}_{t}\end{aligned}}$
Variables ($d$ denota el número de características de entrada y $e$ el número de características de salida):
* $x_{t}\in \mathbb {R} ^{d}$: vector de entrada
* $h_{t}\in \mathbb {R} ^{e}$: vector de salida
* ${\hat {h}}_{t}\in \mathbb {R} ^{e}$: vector de activación candidato
* $z_{t}\in (0,1)^{e}$: actualizar el vector de puerta
* $r_{t}\in (0,1)^{e}$: resetear vector puerta
* $W\in \mathbb {R} ^{d\times e}$, $U\in \mathbb {R} ^{e\times e}$ and $b\in \mathbb {R} ^{e}$: matrices de parámetros y vectores que deben aprenderse durante el entrenamiento.
Funciones de activación
* $\sigma$: El original es una función logística.
* $\phi$: El original es una tangente hiperbólica.
Son posibles funciones de activación alternativas, siempre que: $\sigma (x)\in [0,1]$.
Se pueden crear formas alternativas cambiando $z_{t}$ y $r_{t}$.
* Tipo 1, cada puerta depende sólo del estado oculto anterior y del sesgo.
    ${\begin{aligned}z_{t}&=\sigma (U_{z}h_{t-1}+b_{z})\\r_{t}&=\sigma (U_{r}h_{t-1}+b_{r})\\\end{aligned}}$
* Tipo 2, cada puerta depende sólo del estado oculto anterior.
    ${\begin{aligned}z_{t}&=\sigma (U_{z}h_{t-1})\\r_{t}&=\sigma (U_{r}h_{t-1})\\\end{aligned}}$
* Tipo 3, cada puerta se calcula utilizando sólo el sesgo.
    ${\begin{aligned}z_{t}&=\sigma (b_{z})\\r_{t}&=\sigma (b_{r})\\\end{aligned}}$

### Unidad mínima cerrada

La unidad mínima cerrada (MGU) es similar a la unidad de compuerta completa, salvo que el vector de compuerta de actualización y reinicio se fusiona en una compuerta de olvido. Esto también implica que la ecuación para el vector de salida debe cambiarse:
    ${\begin{aligned}f_{t}&=\sigma (W_{f}x_{t}+U_{f}h_{t-1}+b_{f})\\{\hat {h}}_{t}&=\phi (W_{h}x_{t}+U_{h}(f_{t}\odot h_{t-1})+b_{h})\\h_{t}&=(1-f_{t})\odot h_{t-1}+f_{t}\odot {\hat {h}}_{t}\end{aligned}}$
Variables
* $x_{t}$: vector de entrada
* $h_{t}$: vector de salida
* ${\hat {h}}_{t}$: vector de activación candidato
* $f_{t}$: vector de olvido
* $W$, $U$ y $b$: matrices de parámetros y vector

### Unidad recurrente ligera

La unidad recurrente activada por luz (LiGRU) elimina la puerta de reinicio, sustituye tanh por la activación ReLU y aplica la normalización por lotes (BN):
    ${\begin{aligned}z_{t}&=\sigma (\operatorname {BN} (W_{z}x_{t})+U_{z}h_{t-1})\\{\tilde {h}}_{t}&=\operatorname {ReLU} (\operatorname {BN} (W_{h}x_{t})+U_{h}h_{t-1})\\h_{t}&=z_{t}\odot h_{t-1}+(1-z_{t})\odot {\tilde {h}}_{t}\end{aligned}}$
La LiGRU se ha estudiado desde una perspectiva bayesiana. Este análisis dio lugar a una variante denominada unidad recurrente bayesiana ligera (LiBRU), que mostró ligeras mejoras sobre la LiGRU en tareas de reconocimiento del habla.