Gated Recurrent Unit/es

    From Marovi AI
    This page is a translated version of the page Gated Recurrent Unit and the translation is 100% complete.
    Other languages:
    Article
    Topic area Deep Learning
    Prerequisites Recurrent Neural Networks, Long Short-Term Memory, Backpropagation


    Resumen

    La unidad recurrente con compuertas (GRU, por sus siglas en ingles) es una celda de red neuronal recurrente que utiliza mecanismos de compuertas para controlar el flujo de informacion entre pasos temporales. Introducida por Cho et al. en 2014 como parte de un modelo codificador-decodificador para la traduccion automatica estadistica (machine translation), la GRU fue concebida como una alternativa mas simple a la celda de memoria a largo y corto plazo (LSTM), conservando su capacidad de modelar dependencias de largo alcance y mitigar el problema del gradiente evanescente.[1]

    En comparacion con la LSTM, la GRU fusiona el estado de celda y el estado oculto en un unico vector y reemplaza las compuertas de entrada, olvido y salida por dos compuertas: una compuerta de actualizacion y una compuerta de reinicio. El resultado es una celda con menos parametros por unidad, entrenamiento mas rapido y una exactitud competitiva en una amplia gama de tareas de modelado de secuencias. Aunque el auge de las arquitecturas tipo transformador ha desplazado a las celdas recurrentes en muchas cargas de trabajo de procesamiento de lenguaje natural a gran escala, las GRU siguen siendo ampliamente utilizadas en escenarios de inferencia de baja latencia, modelos de voz en dispositivo, prediccion de series temporales y como componentes de arquitecturas hibridas.

    Antecedentes y motivacion

    Las redes recurrentes clasicas actualizan un estado oculto aplicando una no linealidad a una combinacion lineal del estado oculto previo y la entrada actual. Cuando se entrenan con retropropagacion a traves del tiempo, los gradientes de la perdida con respecto a los primeros pasos temporales involucran multiplicaciones repetidas por la misma matriz Jacobiana, lo que provoca que se desvanezcan o exploten en secuencias largas. Esto dificulta que las redes recurrentes simples aprendan dependencias que abarquen mas de unas pocas decenas de pasos.

    La LSTM, propuesta por Hochreiter y Schmidhuber en 1997, aborda este problema introduciendo un estado de celda independiente con actualizaciones aditivas y compuertas que aprenden cuando escribir, retener o leer informacion. La LSTM se convirtio en la arquitectura recurrente dominante durante mas de una decada, pero su diseno de tres compuertas conlleva un coste sustancial de parametros y de computo. La GRU surgio motivada por la pregunta de si un esquema de compuertas mas simple podria igualar este rendimiento con menos parametros, una optimizacion mas facil y una huella de memoria reducida, especialmente atractivo en el contexto codificador-decodificador, donde se ejecutan muchos pasos recurrentes por cada ejemplo de entrenamiento.

    Arquitectura

    Una celda GRU procesa un vector de entrada por paso temporal y emite un estado oculto. En el paso temporal $ t $ recibe la entrada actual $ x_t \in \mathbb{R}^{d_x} $ y el estado oculto previo $ h_{t-1} \in \mathbb{R}^{d_h} $, y produce un estado oculto actualizado $ h_t \in \mathbb{R}^{d_h} $ mediante dos compuertas y una activacion candidata:

    • La compuerta de reinicio $ r_t $ controla cuanto del estado oculto previo se mezcla en el candidato. Cuando la compuerta de reinicio se aproxima a cero, el candidato ignora el contexto pasado y se comporta como si la secuencia comenzara desde cero.
    • La compuerta de actualizacion $ z_t $ controla la mezcla convexa entre el estado oculto previo y el nuevo candidato. Cuando la compuerta de actualizacion se aproxima a uno, la celda copia esencialmente su estado previo hacia adelante, lo que proporciona un camino casi identico para los gradientes.
    • El estado oculto candidato $ \tilde{h}_t $ es una propuesta activada por tanh que, modulada por $ r_t $, codifica nueva informacion de la entrada actual junto con una vista posiblemente atenuada del pasado.

    A diferencia de la LSTM, no existe un estado de celda independiente ni una compuerta de salida; el estado oculto en si es lo que se expone a las capas posteriores y lo que se realimenta de forma recurrente a la celda.

    Formulacion matematica

    Sea $ \sigma $ la funcion sigmoide logistica elemento a elemento y $ \odot $ el producto elemento a elemento. Las ecuaciones estandar de actualizacion de la GRU son:

    $ {\displaystyle z_t = \sigma\bigl(W_z x_t + U_z h_{t-1} + b_z\bigr)} $

    $ {\displaystyle r_t = \sigma\bigl(W_r x_t + U_r h_{t-1} + b_r\bigr)} $

    $ {\displaystyle \tilde{h}_t = \tanh\bigl(W_h x_t + U_h (r_t \odot h_{t-1}) + b_h\bigr)} $

    $ {\displaystyle h_t = (1 - z_t) \odot h_{t-1} + z_t \odot \tilde{h}_t} $

    Aqui las matrices $ W_\bullet \in \mathbb{R}^{d_h \times d_x} $ proyectan la entrada, las matrices $ U_\bullet \in \mathbb{R}^{d_h \times d_h} $ proyectan el estado oculto previo y los $ b_\bullet \in \mathbb{R}^{d_h} $ son sesgos. El numero total de parametros de una celda GRU es $ 3 \cdot d_h \cdot (d_x + d_h + 1) $, aproximadamente tres cuartas partes de los de una LSTM con el mismo ancho oculto, que tiene cuatro compuertas en lugar de tres. Algunas implementaciones usan la convencion $ h_t = z_t \odot h_{t-1} + (1 - z_t) \odot \tilde{h}_t $; ambas formulaciones son equivalentes salvo por el cambio de nombre de la compuerta.

    La combinacion convexa en la ecuacion final es la razon clave por la que las GRU pueden transportar informacion a lo largo de muchos pasos temporales. Cuando $ z_t $ es pequeno, $ h_t \approx h_{t-1} $, por lo que el gradiente $ \partial h_t / \partial h_{t-1} $ se aproxima a la matriz identidad y las senales de gradiente se propagan sin atenuacion geometrica.

    Entrenamiento e inferencia

    Las GRU se entrenan de extremo a extremo con retropropagacion a traves del tiempo, tipicamente con Adam o alguna de sus variantes, y con recorte de gradientes para controlar las raras explosiones de gradiente que sobreviven al mecanismo de compuertas. Las opciones estandar de regularizacion incluyen dropout aplicado a las entradas y salidas de la celda (y, en algunas variantes, a las conexiones recurrentes mediante dropout variacional) y decaimiento de pesos sobre las matrices de entrada-a-oculto y oculto-a-oculto.

    En tiempo de inferencia, una GRU consume un token a la vez y actualiza su estado oculto in situ, lo que hace que el computo y la memoria por token sean independientes de la longitud de la secuencia. Los frameworks modernos fusionan los calculos de las tres compuertas en una unica multiplicacion de matrices con una matriz de pesos apilada de forma $ 3 d_h \times (d_x + d_h) $ por paso temporal, y proporcionan kernels de cuDNN o Metal que ademas fusionan la computacion a lo largo de la dimension temporal durante el entrenamiento. Para despliegue, el bajo numero de parametros de la GRU y la ausencia de un estado de celda explicito la hacen atractiva para aplicaciones de streaming y para hardware embebido donde el ancho de banda de memoria es el cuello de botella.

    Variantes

    Varias variantes modifican la formulacion basica:

    • La unidad minima con compuertas (MGU) elimina la compuerta de reinicio y utiliza una unica compuerta tipo olvido, reduciendo aun mas el numero de parametros sin perder competitividad en tareas de modelado de lenguaje a nivel de caracter ni en modelado de musica.[2]
    • Las variantes con entrada-olvido acopladas comparten pesos entre la compuerta de reinicio y la compuerta de actualizacion, intercambiando una pequena cantidad de expresividad por ahorros adicionales de parametros.
    • La GRU bidireccional ejecuta dos capas GRU independientes, una sobre la secuencia hacia adelante y otra sobre la secuencia invertida, y concatena sus estados ocultos. Esta es la practica habitual en tareas de etiquetado y clasificacion donde se dispone de la secuencia completa en inferencia.
    • Las GRU apiladas o profundas componen varias capas GRU verticalmente, donde la secuencia de salida de una capa actua como secuencia de entrada de la siguiente. Las conexiones residuales entre capas ayudan a entrenar pilas recurrentes profundas.
    • Las GRU convolucionales reemplazan las matrices de pesos densas por convoluciones, dando lugar a una celda recurrente adecuada para datos espaciotemporales como video o radar meteorologico.

    Comparacion con la LSTM

    Las GRU y las LSTM son a menudo intercambiables en la practica. Las comparaciones empiricas de Chung et al. sobre modelado de musica polifonica y de senales de voz no encontraron un ganador consistente, ya que la eleccion depende de la tarea y del presupuesto de computo.[3] Greff et al. concluyeron de manera similar que ninguna variacion arquitectonica importante supera de forma fiable a la LSTM estandar y que la GRU es una alternativa mas barata y competitiva.[4]

    Las diferencias practicas son predecibles a partir de las ecuaciones. El computo y la memoria por paso son aproximadamente un 25 por ciento menores en la GRU para el mismo ancho oculto, ya que utiliza tres compuertas en lugar de cuatro y carece de un estado de celda separado. El estado de celda independiente y la compuerta de salida de la LSTM proporcionan un mecanismo de grano mas fino para proteger la memoria a largo plazo de ser sobrescrita y para exponerla selectivamente a las capas posteriores, lo que puede importar en tareas con dependencias muy largas. La actualizacion acoplada de la GRU --donde $ z_t $ controla simultaneamente cuanto del pasado se conserva y cuanto del candidato se escribe-- es un sesgo inductivo util para muchas tareas, pero no puede representar algunos patrones que la LSTM si puede.

    Aplicaciones

    Antes de la adopcion generalizada de los modelos basados en atencion, las GRU eran un componente predeterminado para muchas tareas secuencia a secuencia: modelos codificador-decodificador para traduccion automatica, modelos acusticos y modelos de lenguaje para reconocimiento de voz, etiquetado de secuencias para reconocimiento de entidades nombradas y sistemas de recomendacion basados en secuencias de clics a nivel de sesion. Siguen siendo comunes en:

    • Reconocimiento de voz en dispositivo y por streaming, asi como deteccion de palabras clave, donde importan la huella reducida y la latencia por token.
    • Prediccion de series temporales sobre datos industriales tabulares, donde el sesgo inductivo de la recurrencia y el modesto numero de parametros encajan bien con datos de entrenamiento limitados.
    • Politicas de aprendizaje por refuerzo que necesitan integrar observaciones a lo largo del tiempo, especialmente en entornos parcialmente observables.
    • Arquitecturas hibridas que combinan componentes convolucionales, recurrentes y de atencion.

    Limitaciones

    Las mismas propiedades que hacen eficientes a las GRU tambien limitan su expresividad. La regla de actualizacion estrictamente secuencial implica que el entrenamiento no se puede paralelizar a lo largo de la dimension temporal, que es la razon central por la que los transformadores han desplazado en gran medida a las GRU en la frontera del modelado del lenguaje natural. Las secuencias largas siguen sufriendo en la practica de atenuacion del gradiente, incluso si el camino de actualizacion aditiva mitiga los peores casos; las longitudes de contexto efectivas en GRU estandar suelen medirse en cientos en lugar de miles de pasos. La compuerta de actualizacion acoplada tambien dificulta ajustar por separado las dinamicas de olvido y de escritura, lo que ocasionalmente supone una desventaja real frente a la LSTM. Por ultimo, las GRU comparten con todos los modelos recurrentes una sensibilidad a la inicializacion y a la escala de los pesos recurrentes, lo que requiere una eleccion cuidadosa de la inicializacion (tipicamente ortogonal o escalada como la identidad) para que las pilas profundas se entrenen de forma fiable.

    Referencias