¿En qué tipo de situaciones debemos emplear las redes neuronales recurrentes de Vanilla en lugar de LSTM?

La palabra Vanilla en sí misma sugiere simple o llanamente.

Entonces, cuando necesita etiquetar, predecir el sucesor o generar secuencias más pequeñas, Vanilla RNN es extremadamente conveniente. Rambo trabaja en Amazon. Vea que esta es una secuencia simple donde solo hay un tema Rambo, etiquetar esto es muy fácil como Rambo \ Person, Amazon \ orgnization. Rambo trabaja en ———, el espacio en blanco también puede ser predicho fácilmente por cualquier organización a partir del vocabulario, ya que la secuencia es corta.

Ahora considere esto , conocí a Harry, quien me informó que el hermano de Ron, Rambo, se ha internado en Amazon y tiene muchos amigos en Google, aunque Rambo nunca ha trabajado para este gran conglomerado. Creo que obtienes la diferencia al predecir esto por el sabor simple o vainilla de LSTM es casi imposible.

Entonces, ¿qué diferencia tienen los dos? A diferencia de Vanilla Rnn, los LSTM tienen unidades de memoria entre ellos, también tienen un mecanismo para dejar caer al sujeto viejo ( de Harry a Ron a Rambo) en nuestro caso. Por lo tanto, los LSTM predicen mejores secuencias más largas.

Comprensión LSTM Networks visite esto para una mejor comprensión. Espero que esto ayude 🙂

La respuesta corta es que no empleamos redes neuronales recurrentes de vainilla para ninguna tarea de modelado de secuencia porque generalmente no funcionan. En la medida en que sean útiles, usted (a) inicializa con mucho cuidado o (b) los usa para implementar restricciones laterales en una configuración que no es de secuencia.

Una respuesta más larga es que los estados neurales en un RNN básico (es decir, sin activación) exhiben estabilidad de Lyapunov. Es decir, si ejecuta un RNN básico durante varios pasos de tiempo, los estados de activación de las neuronas tenderán a converger a un punto fijo. Esto se observa fácilmente en la práctica. Simplemente implemente un RNN con una sola entrada fija [matemática] x [/ matemática] y una capa oculta autoconectada [matemática] h [/ matemática] (también conectada a las entradas) con, digamos, activaciones sigmoideas.

[matemáticas] h_0 = 0 [/ matemáticas]

[matemáticas] h_t = \ sigma (Wx + b + Uh_ {t-1}) [/ matemáticas]

[matemáticas] h = \ lim_ {t \ to \ infty} h_t [/ matemáticas]

Si solo calcula [math] h_5 [/ math], verá que ya se acerca a un punto fijo en la mayoría de los casos.

Ahora, incluso si manejamos el RNN con una entrada dinámica [math] x_t [/ math], todavía encontrará que cuando entrena al RNN para una tarea usando el gradiente de descenso, el modelo RNN no aprenderá dependencias de tiempo más largas que 2-3 pasos en la mayoría de los casos. La razón está relacionada con el hecho de que la función de actualización de activación para [math] h_t [/ math] es generalmente un mapeo de contracción (la activación se contrae alrededor de un punto fijo; de aquí proviene la estabilidad de Lyapunov). La contracción resulta principalmente de la activación sigmoidea. Es cierto tanto para el tanh como para el logístico. [Editar – Se podría imaginar que quizás la activación de ReLU podría escapar de este problema. La respuesta es que , en muy mal grado; Las activaciones de ReLU hacen que el gradiente explote mal , lo que significa que obtienes estados de activación de NaN o Inf muy rápidamente].

En consecuencia, mientras que las redes neuronales estáticas (p. Ej., Convnets) parecen tener óptimos locales que son casi tan buenos como los óptimos globales, los RNN ( y potencialmente LSTM en algunos casos, aunque esto se entiende menos) tienen óptimos locales que son extremadamente subóptimos. Aunque en teoría un RNN Vanilla puede modelar cualquier comportamiento dinámico suave, el descenso de gradiente no aprenderá este comportamiento en la práctica.

Dicho todo esto, todavía hay casos de uso para capas recurrentes simples en una red neuronal. Se pueden usar para imponer restricciones laterales. De hecho, incluso parece que este tipo de comportamiento funciona en el cerebro humano. Las restricciones laterales que tal vez desee aplicar incluyen patrones de activación en el centro / fuera del entorno ( es decir , agudización de activación local, que limita la activación a la fuente espacial / temporal real de una característica) o imponer estructuras de correlación conocidas en las salidas de red ( p. Ej. y tal salida nunca debería estar encendida con esta otra salida encendida).

Pero en estos casos, el comportamiento de punto fijo es un objetivo explícito del diseño de la red. Por lo general, cuando procesamos secuencias, el comportamiento de punto fijo no es deseable.

De hecho, depende del conjunto de datos. Vanilla es el modelo básico para redes simples. LSTM es útil cuando se requieren dependencias más largas. LSTM está diseñado para optimizar el problema del gradiente de fuga. Si no está seguro de cuál es el óptimo, puede usar LSTM ya que supera a Vanilla. Como no soy un experto en el uso de RNN, no puedo darle una respuesta precisa cuál es la mejor sin saber qué problema está tratando de lograr.

More Interesting

¿Cuándo debo usar la asignación de Dirichlet latente en la minería de texto? ¿Es bueno usarlo para un sistema que requiere alta precisión, como un sistema de detección de fraude?

¿Cuál es la diferencia entre la regresión logística y Naive Bayes?

¿Cómo responden las redes neuronales profundas para la clasificación de imágenes a las variaciones típicas de la imagen, como la iluminación, la distancia focal, etc.?

¿Cuáles son algunos libros sobrevalorados en aprendizaje automático, estadísticas y aprendizaje profundo?

¿Qué tan pronto la automatización afectará el futuro del arte conceptual?

¿Qué técnicas utilizadas en el procesamiento del lenguaje natural son aplicables a otras áreas del aprendizaje automático?

¿Cómo funciona Google Deep Dream?

¿Cómo descifrar cualquier entrevista de aprendizaje automático? ¿Qué tipo de preguntas debo esperar? Qué tipos de proyectos paralelos relevantes se verían bien en un CV

¿Cuántos datos son suficientes para entrenar un modelo NN profundo?

¿Cuál es la mejor manera de aprender el aprendizaje automático, en línea o sin conexión?

¿Cuáles son algunos trabajos de investigación recientes sobre detección de anomalías?

¿Cuáles son las principales aplicaciones de aprendizaje profundo en centros de datos?

¿Cuáles son las buenas formas de combinar dos salidas de un clasificador?

¿La red neuronal convolucional (CNN) tiene que ver con la arquitectura de red y factores como la tasa de aprendizaje, la función de pérdida utilizada, etc.

¿En qué orden debo aprender redes neuronales, aprendizaje automático, IA y NPL?