La Unidad Recurrente Cerrada (GRU) es un tipo de red neuronal recurrente (RNN) que fue introducida por Cho et al. en 2014 como una alternativa más simple a las redes de memoria a largo plazo (LSTM). Al igual que LSTM, GRU puede procesar datos secuenciales como texto, voz y datos de series temporales.
La idea básica detrás de GRU es utilizar mecanismos de activación para actualizar selectivamente el estado oculto de la red en cada paso de tiempo. Los mecanismos de activación se utilizan para controlar el flujo de información dentro y fuera de la red. El GRU tiene dos mecanismos de activación, llamados puerta de reinicio y puerta de actualización.
La puerta de reinicio determina qué parte del estado oculto anterior debe olvidarse, mientras que la puerta de actualización determina qué parte de la nueva entrada debe usarse para actualizar el estado oculto. La salida de GRU se calcula en función del estado oculto actualizado.
Las ecuaciones utilizadas para calcular la puerta de reinicio, la puerta de actualización y el estado oculto de una GRU son las siguientes:
Restablecer puerta: r_t = sigmoide(W_r * [h_{t-1}, x_t])
Puerta de actualización: z_t = sigmoide(W_z * [h_{t-1}, x_t])
Estado oculto candidato: h_t' = tanh(W_h * [r_t * h_{t-1}, x_t])
Estado oculto: h_t = (1 – z_t) * h_{t-1} + z_t * h_t'
donde W_r, W_z y W_h son matrices de peso que se pueden aprender, x_t es la entrada en el paso t, h_{t-1} es el estado oculto anterior y h_t es el estado oculto actual.
eres empalme
En resumen, las redes GRU son un tipo de RNN que utilizan mecanismos de activación para actualizar selectivamente el estado oculto en cada paso de tiempo, lo que les permite modelar datos secuenciales de manera efectiva. Se ha demostrado que son eficaces en diversas tareas de procesamiento del lenguaje natural, como el modelado del lenguaje, la traducción automática y el reconocimiento de voz.
Requisitos previos: redes neuronales recurrentes, redes de memoria a largo plazo
Para resolver el problema de los gradientes que desaparecen y explotan y que a menudo se encuentra durante el funcionamiento de una red neuronal recurrente básica, se desarrollaron muchas variaciones. Una de las variaciones más famosas es la Red de memoria a largo plazo (LSTM) . Una de las variaciones menos conocidas pero igualmente efectivas es la Red de unidades recurrentes cerradas (GRU) .
A diferencia de LSTM, consta de sólo tres puertas y no mantiene un estado de celda interno. La información que se almacena en el estado de celda interna en una unidad recurrente LSTM se incorpora al estado oculto de la unidad recurrente cerrada. Esta información colectiva se pasa a la siguiente unidad recurrente cerrada. Las diferentes puertas de una GRU se describen a continuación: –
- Update Gate (z): determina qué parte del conocimiento pasado debe transmitirse al futuro. Es análogo a la puerta de salida en una unidad recurrente LSTM. Reiniciar puerta (r): determina cuánto conocimiento pasado olvidar. Es análogo a la combinación de la puerta de entrada y la puerta de olvido en una unidad recurrente LSTM. Puerta de memoria actual (

El flujo de trabajo básico de una red de unidades recurrentes cerradas es similar al de una red neuronal recurrente básica cuando se ilustra; la principal diferencia entre las dos está en el funcionamiento interno dentro de cada unidad recurrente, ya que las redes de unidades recurrentes cerradas consisten en puertas que modulan la entrada actual y el estado oculto anterior.
Funcionamiento de una unidad recurrente cerrada:
- Tome la entrada actual y el estado oculto anterior como vectores.
- Calcule los valores de las tres puertas diferentes siguiendo los pasos que se detallan a continuación: -
- Para cada puerta, calcule la entrada actual parametrizada y los vectores de estado previamente ocultos realizando una multiplicación por elementos (Producto Hadamard) entre el vector en cuestión y los pesos respectivos para cada puerta.
- Aplique la función de activación respectiva para cada elemento de puerta en los vectores parametrizados. A continuación se muestra la lista de las puertas con la función de activación que se aplicará a la puerta.
Update Gate : Sigmoid Function Reset Gate : Sigmoid Function>
- El proceso de calcular la puerta de memoria actual es un poco diferente. Primero, se calcula el producto Hadamard de Reset Gate y el vector de estado previamente oculto. Luego, este vector se parametriza y luego se agrega al vector de entrada actual parametrizado.
- Para calcular el estado oculto actual, primero se define un vector de unos y de las mismas dimensiones que el de la entrada. Este vector se llamará unos y matemáticamente se denotará por 1. Primero, calcule el producto Hadamard de la puerta de actualización y el vector de estado previamente oculto. Luego genere un nuevo vector restando la puerta de actualización de los unos y luego calcule el Producto Hadamard del vector recién generado con la puerta de memoria actual. Finalmente, agregue los dos vectores para obtener el vector de estado actualmente oculto.
El funcionamiento mencionado anteriormente se establece a continuación: -
Tenga en cuenta que los círculos azules indican multiplicación de elementos. El signo positivo en el círculo denota suma de vectores, mientras que el signo negativo denota resta de vectores (suma de vectores con valor negativo). La matriz de pesos W contiene diferentes pesos para el vector de entrada actual y el estado oculto anterior para cada puerta.
Al igual que las redes neuronales recurrentes, una red GRU también genera una salida en cada paso de tiempo y esta salida se utiliza para entrenar la red mediante el descenso de gradiente.
Tenga en cuenta que, al igual que el flujo de trabajo, el proceso de capacitación para una red GRU también es esquemáticamente similar al de una red neuronal recurrente básica y difiere solo en el funcionamiento interno de cada unidad recurrente.
El algoritmo de retropropagación a través del tiempo para una red de unidades recurrentes cerradas es similar al de una red de memoria a largo plazo y difiere sólo en la formación diferencial de la cadena.
Dejar ser la salida prevista en cada paso de tiempo y
ser la salida real en cada paso de tiempo. Entonces el error en cada paso de tiempo viene dado por: -
Por tanto, el error total viene dado por la suma de los errores en todos los pasos de tiempo.
De manera similar, el valor se puede calcular como la suma de los gradientes en cada paso de tiempo.
Usando la regla de la cadena y usando el hecho de que es una función de
y que efectivamente es función de
, surge la siguiente expresión:-
Por tanto, el gradiente de error total viene dado por lo siguiente:
Tenga en cuenta que la ecuación del gradiente implica una cadena de que se parece a la de una red neuronal recurrente básica, pero esta ecuación funciona de manera diferente debido al funcionamiento interno de los derivados de
.
¿Cómo resuelven las unidades recurrentes cerradas el problema de los gradientes que desaparecen?
El valor de los gradientes está controlado por la cadena de derivadas que comienza desde . Recuerde la expresión para
:-
Usando la expresión anterior, el valor de es:-
Recuerde la expresión para :-
Usando la expresión anterior para calcular el valor de :-
Dado que tanto la puerta de actualización como la de reinicio utilizan la función sigmoidea como función de activación, ambas pueden tomar valores 0 o 1.
Caso 1(z = 1):
En este caso, independientemente del valor de , el término
es igual a z que a su vez es igual a 1.
Caso 2A(z=0 y r=0):
En este caso, el término es igual a 0.
Caso 2B(z=0 y r=1):
En este caso, el término es igual a
. Este valor está controlado por la matriz de pesos que se puede entrenar y, por lo tanto, la red aprende a ajustar los pesos de tal manera que el término
se acerca a 1.
Así, el algoritmo de retropropagación a través del tiempo ajusta los pesos respectivos de tal manera que el valor de la cadena de derivadas sea lo más cercano posible a 1.
inicializador de primavera