A Theoretically Grounded Application of Dropout in Recurrent Neural Networks/es

    From Marovi AI
    This page is a translated version of the page A Theoretically Grounded Application of Dropout in Recurrent Neural Networks and the translation is 100% complete.
    Other languages:
    SummarySource
    Research Paper
    Authors Yarin Gal; Zoubin Ghahramani
    Year 2015
    Topic area Machine Learning
    Difficulty Research
    arXiv 1512.05287
    PDF Download PDF

    A Theoretically Grounded Application of Dropout in Recurrent Neural Networks es un artículo de NeurIPS 2016 de Yarin Gal y Zoubin Ghahramani (Universidad de Cambridge) que deriva una forma fundamentada de aplicar dropout a las redes neuronales recurrentes. Al interpretar el dropout como inferencia variacional en una red neuronal bayesiana, los autores demuestran que la misma máscara binaria debe reutilizarse en cada paso temporal sobre las entradas, las salidas y las conexiones recurrentes — una receta que, a diferencia de las heurísticas anteriores, regulariza cada matriz de pesos de un LSTM o un GRU. Aplicada al modelo de lenguaje LSTM de Zaremba et al. sobre Penn Treebank, la técnica mejora el estado del arte de modelo único hasta una perplejidad de prueba de 73,4.

    Resumen

    Las redes recurrentes son notoriamente difíciles de regularizar. Se creía ampliamente que el dropout ingenuo, en el que se muestrea una nueva máscara de Bernoulli en cada paso temporal, desestabilizaba la dinámica recurrente, por lo que la práctica anterior (Pham et al., Zaremba et al.) restringía el dropout únicamente a las conexiones de tipo feed-forward — dejando las matrices de pesos recurrentes sin proteger y al modelo aún propenso al sobreajuste en corpus pequeños.

    Gal y Ghahramani vuelven a derivar el dropout desde la perspectiva de la inferencia variacional aproximada en una red neuronal bayesiana. Tratar las matrices de pesos del RNN como variables aleatorias con un posterior aproximante de mezcla de gaussianas recupera el dropout ordinario cuando la distribución variacional es de tipo Bernoulli. De forma crucial, en un modelo secuencial la muestra de Monte Carlo del posterior se extrae una vez por secuencia, de modo que la máscara resultante se comparte a lo largo de todos los pasos temporales. Este único cambio habilita el dropout en las conexiones recurrentes sin perjudicar la dinámica temporal.

    Contribuciones clave

    • Una derivación bayesiana del dropout para RNN (la Variational RNN), que aporta una justificación teórica para la elección de la máscara.
    • La regla de misma máscara por secuencia para entradas, salidas y capas recurrentes en LSTM y GRU, ilustrada en paralelo con el dropout ingenuo.
    • Dropout sobre embeddings: al tratar las entradas one-hot de forma probabilística, la técnica elimina aleatoriamente tipos de palabras enteros (no tokens) en una oración — una fuente de regularización antes desatendida en los modelos de lenguaje.
    • Nuevo estado del arte de modelo único en el benchmark de modelado de lenguaje de Penn Treebank (perplejidad de prueba de 73,4, frente a 78,4).
    • MC dropout en tiempo de prueba como estimador predictivo posterior, además de la aproximación de campo medio, más barata.

    Métodos

    Visión variacional de un RNN

    Para una secuencia de entrada $ \mathbf{x} = [\mathbf{x}_1, \dots, \mathbf{x}_T] $, un RNN simple aplica repetidamente $ \mathbf{h}_t = \sigma(\mathbf{x}_t \mathbf{W}_h + \mathbf{h}_{t-1} \mathbf{U}_h + \mathbf{b}_h) $. Los autores tratan $ \boldsymbol{\omega} = \{\mathbf{W}_h, \mathbf{U}_h, \mathbf{b}_h, \mathbf{W}_y, \mathbf{b}_y\} $ como variables aleatorias con un prior normal y aproximan el posterior intratable $ p(\boldsymbol{\omega} \mid \mathbf{X}, \mathbf{Y}) $ minimizando

    $ \mathrm{KL}(q(\boldsymbol{\omega}) \parallel p(\boldsymbol{\omega} \mid \mathbf{X}, \mathbf{Y})) \propto -\sum_{i=1}^N \int q(\boldsymbol{\omega}) \log p(\mathbf{y}_i \mid \mathbf{f}^{\boldsymbol{\omega}}(\mathbf{x}_i))\, \mathrm{d}\boldsymbol{\omega} + \mathrm{KL}(q(\boldsymbol{\omega}) \parallel p(\boldsymbol{\omega})). $

    Se extrae una única muestra de Monte Carlo $ \widehat{\boldsymbol{\omega}}_i \sim q(\boldsymbol{\omega}) $ por secuencia y se reutiliza en cada paso temporal $ t \le T $. La distribución aproximante factorizada para cada fila $ \mathbf{w}_k $ de la matriz de pesos es la mezcla de dos componentes

    $ q(\mathbf{w}_k) = p\, \mathcal{N}(\mathbf{w}_k; \mathbf{0}, \sigma^2 I) + (1-p)\, \mathcal{N}(\mathbf{w}_k; \mathbf{m}_k, \sigma^2 I), $

    con un $ \sigma^2 $ pequeño. El término KL se reduce a regularización $ L_2 $ sobre las medias variacionales $ \mathbf{m}_k $.

    Implementación en LSTM/GRU

    Para la parametrización con pesos atados (tied-weights) del LSTM, en cada paso se calcula

    $ \begin{pmatrix}\mathbf{i}\\ \mathbf{f}\\ \mathbf{o}\\ \mathbf{g}\end{pmatrix} = \begin{pmatrix}\mathrm{sigm}\\ \mathrm{sigm}\\ \mathrm{sigm}\\ \tanh\end{pmatrix}\!\left(\begin{pmatrix}\mathbf{x}_t \circ \mathbf{z}_x\\ \mathbf{h}_{t-1} \circ \mathbf{z}_h\end{pmatrix} \cdot \mathbf{W}\right), $

    donde $ \mathbf{z}_x $ y $ \mathbf{z}_h $ son máscaras de Bernoulli muestreadas una vez por secuencia y reutilizadas para todo $ t $. Los LSTM con pesos no atados utilizan una máscara distinta por puerta, lo que produce gradientes con menor varianza a costa de cuatro productos matriciales por paso.

    Dropout sobre embeddings de palabras

    Para entradas discretas, el dropout se aplica a las filas de la matriz de embeddings $ \mathbf{W}_E \in \mathbb{R}^{V \times D} $ usando la misma máscara a lo largo de la secuencia. Un tipo de palabra que se elimine desaparece de todas las posiciones donde aparece (p. ej., "the dog and the cat" se convierte en "— dog and — cat", nunca en "— dog and the cat"). Para secuencias de longitud $ T \ll V $, la implementación solo necesita enmascarar los $ T $ embeddings realmente utilizados.

    Resultados

    Modelado de lenguaje en Penn Treebank. Al integrar el LSTM variacional en la implementación de referencia en Torch de Zaremba et al. y ajustar el weight decay, los autores informan:

    • Modelo mediano (650 unidades / capa): perplejidad de prueba 78,6 (variacional, no atado, MC) frente a 82,7 (Zaremba et al.).
    • Modelo grande (1500 unidades / capa): perplejidad de prueba 73,4 (variacional, no atado, MC) frente a 78,4 (Zaremba et al.); perplejidad de validación 77,3 (atado).
    • La variante de Moon et al. — misma máscara únicamente sobre la celda del LSTM — rinde por debajo de Zaremba et al. salvo que se combine con el nuevo dropout sobre embeddings, e incluso así queda por detrás de la variante variacional.
    • Un ensemble de 10 LSTM variacionales alcanza una perplejidad de prueba de 68,7, igualando a un ensemble de 38 modelos de Zaremba et al.

    Análisis de sentimientos (corpus de reseñas de cine de Cornell). Con 5000 reseñas truncadas a segmentos de 200 tokens, el LSTM variacional y el GRU variacional son los únicos modelos que no se sobreajustan y los que alcanzan el menor error de prueba entre las variantes de LSTM/GRU.

    Estudios de ablación. Combinar el dropout en la capa recurrente ($ p_U $) con el dropout sobre embeddings ($ p_E $) es necesario: con $ p_E = 0 $, aumentar $ p_U $ empeora el sobreajuste, porque la capa de embeddings no regularizada domina. Con $ p_E = 0,5 $, un $ p_U $ más alto se comporta como cabe esperar y mejora la robustez. El weight decay sigue desempeñando un papel relevante con el dropout variacional (corresponde al prior), en contraste con la práctica habitual con el dropout ingenuo. La aproximación barata del dropout (sustituir $ \mathbf{W} $ por $ p\mathbf{W} $ en tiempo de prueba) es un buen sustituto del MC dropout en este contexto.

    Impacto

    El dropout variacional para RNN se convirtió en el regularizador por defecto para los modelos de lenguaje recurrentes y fue rápidamente incorporado a los principales kits de deep learning (Keras, PyTorch, TensorFlow), a menudo con los nombres de recurrent dropout o variational dropout. La perplejidad de 73,4 en Penn Treebank se mantuvo durante varios años como el benchmark de modelo único a batir y fue un ingrediente clave en resultados posteriores que marcaron el estado del arte (p. ej., AWD-LSTM, mixture-of-softmaxes). De forma más amplia, el artículo consolidó la visión bayesiana del dropout introducida en trabajos previos de Gal y Ghahramani, reforzando el MC dropout como una herramienta práctica para la estimación de incertidumbre en deep learning.

    Véase también

    Referencias

    • Gal, Y. y Ghahramani, Z. (2016). A Theoretically Grounded Application of Dropout in Recurrent Neural Networks. Advances in Neural Information Processing Systems 29.
    • Gal, Y. y Ghahramani, Z. (2016). Dropout as a Bayesian Approximation: Representing Model Uncertainty in Deep Learning. ICML.
    • Srivastava, N. et al. (2014). Dropout: A Simple Way to Prevent Neural Networks from Overfitting. JMLR.
    • Zaremba, W., Sutskever, I. y Vinyals, O. (2014). Recurrent Neural Network Regularization. arXiv:1409.2329.
    • Hochreiter, S. y Schmidhuber, J. (1997). Long Short-Term Memory. Neural Computation.
    • Cho, K. et al. (2014). Learning Phrase Representations using RNN Encoder-Decoder for Statistical Machine Translation. EMNLP.
    • Marcus, M. P., Marcinkiewicz, M. A. y Santorini, B. (1993). Building a Large Annotated Corpus of English: The Penn Treebank. Computational Linguistics.
    • Moon, T., Choi, H., Lee, H. y Song, I. (2015). RNNDROP: A Novel Dropout for RNNs in ASR. ASRU.
    • Pang, B. y Lee, L. (2005). Seeing Stars: Exploiting Class Relationships for Sentiment Categorization. ACL.