¿Por qué los CNN son mejores en clasificación que los RNN?

La recurrencia en las redes neuronales solo implica que hay retroalimentación involucrada en el procesamiento de una entrada (flujo), en lugar de un pase directo solo.

También se puede inyectar recurrencia en una arquitectura de otra manera convolucional, en cuyo caso la red será una CNN y una RNN, por ejemplo [1,2], por lo que estas no son ideas mutuamente excluyentes.

Supongo que esta conferencia se refiere a una arquitectura de red neuronal recurrente particular, por ejemplo, una sola capa oculta con activaciones en tándem, que bien podría ser inferior a las CNN relevantes aplicadas a la tarea (en este caso, problemas de PNL) en la literatura. De nuevo, esto es probable porque en el contexto de la PNL las personas solo han diseñado arquitecturas RNN específicamente para la predicción estructurada (por ejemplo, secuencia a secuencia) en lugar de clasificación.

Como puede ver en [1], una CNN que es simultáneamente una RNN puede ser superior a una CNN ordinaria para la clasificación en este caso en imágenes, mientras que es significativamente más barato hacer inferencia.

ACTUALIZADO:-

[1] https://arxiv.org/pdf/1612.09508…

[2] http://www.cv-foundation.org/ope…

La suposición de que las CNN son mejores en la clasificación de las tareas de PNL es especulativa en el mejor de los casos e incorrecta en el peor.

El rendimiento de los DNN depende en gran medida de la naturaleza específica del problema, la arquitectura de la red y qué tan bien puede ajustar los hiperparámetros.

Con infinitas opciones a su disposición, es casi imposible hacer una declaración firme sobre lo que funciona mejor, especialmente si desea generalizarlo para cubrir todos los problemas.

Algunas respuestas han citado este estudio comparativo de CNN y RNN. Lo encuentro algo poco impresionante. Los autores han probado el rendimiento de arquitecturas DNN muy simples en siete conjuntos de datos pequeños y lo extrapolaron para sacar conclusiones sobre la aplicabilidad general de estos tipos de DNN.

La configuración experimental se limita a ningún preprocesamiento, ingeniería de características o capas adicionales que no sean RNN y CNN de vainilla. Esto es consistente desde una perspectiva de investigación, pero obviamente no es muy realista.

Pero luego los autores permiten la sintonización de hiperparámetros de cada modelo por separado, lo que no está realmente en espíritu con el resto del experimento. También permiten la agrupación máxima para las CNN pero no para las RNN.

Si realmente desea comprender qué funciona mejor, debe escuchar a los expertos en el campo que han trabajado en una amplia variedad de problemas del mundo real. Incluso entonces, es posible que no puedan darle consejos generales que sean aplicables a su problema específico. En el aprendizaje profundo, la única solución a menudo es experimentar por ti mismo.

Una red neuronal recurrente típica (RNN) tiene un estado [math] s_ {t} [/ math] que se propaga al siguiente paso de tiempo para calcular el siguiente estado [math] s_ {t + 1} [/ math]. Durante el entrenamiento, la señal de error tiene que viajar en el tiempo, debe propagarse a los estados anteriores, por lo tanto, se utiliza un algoritmo llamado retropropagación a través del tiempo (BPTT) para entrenar RNN. Entonces, para pasos arbitrariamente largos, existe la posibilidad de que la señal se debilite o explote a medida que se propaga hacia atrás.

Eso sucede porque en cada paso de tiempo hacia atrás, la señal de error se pondera, si la ponderación es mayor que la unidad, se esperan gradientes explosivos y si la ponderación es menor que la unidad, se esperan gradientes que desaparecen. Esto esencialmente hace que el RNN de vainilla sea incapaz de manejar dependencias a largo plazo.

La red neuronal convolucional (CNN) aplicada al procesamiento del lenguaje natural (PNL) usando un truco de concatenación de vectores para concatenar las entradas entrantes en un vector de entrada largo puede manejar las dependencias a largo plazo mejor que el RNN de vainilla. Entonces, la idea es convolver núcleos de filtro de diferentes tamaños sobre el vector de entrada largo. De esa manera, la CNN puede codificar dependencias a corto y largo plazo solo por tamaños de kernel pequeños y grandes, respectivamente. El CNN utilizado de esta manera no sufre el problema de gradiente de desaparición / explosión del RNN de vainilla.

Sin embargo, la red de memoria a largo plazo (LSTM) resuelve la mayoría de los problemas inherentes en el RNN de vainilla. Esto hace que el LSTM sea de vanguardia cuando se trata de procesar entradas de secuencia arbitrariamente largas.

Espero que esto ayude.

Hay un artículo reciente que discute el rendimiento de CNN y RNN para el procesamiento del lenguaje natural.

Aquí está su conclusión:

“Descubrimos que los RNN funcionan bien y son robustos en una amplia gama de tareas, excepto cuando la tarea es esencialmente una tarea de reconocimiento de frase clave como en algunos ajustes de detección de sentimientos y ajuste de preguntas y respuestas. Además, el tamaño oculto y el tamaño del lote pueden hacer que el rendimiento de DNN varíe drásticamente. Esto sugiere que la optimización de estos dos parámetros es crucial para un buen rendimiento tanto de CNN como de RNN. ”

[1702.01923] Estudio comparativo de CNN y RNN para el procesamiento del lenguaje natural

No siempre CNN funciona mejor que RNN. En [1702.01923] Estudio comparativo de CNN y RNN para el procesamiento del lenguaje natural, el autor muestra que la Unidad recurrente cerrada (GRU) funciona mejor que CNN y LSTM en la clasificación de sentimientos. En general, el RNN tiene un problema con la secuencia es larga debido a la desaparición / explosión del gradiente. Los trucos actuales, como LSTM y la función de activación, reducen los efectos de la desaparición / explosión del gradiente.

Los RNN generalmente son buenos para predecir lo que viene después en una secuencia, mientras que los CNN pueden aprender a clasificar una oración o un párrafo; De ahí la observación. Por ejemplo, uno puede usar un CNN con un clasificador softmax al final, para clasificar un fragmento de texto, digamos para el análisis de sentimientos. No creo que los RNN se presten fácilmente para tal arquitectura de red. Si bien los LSTM resuelven los problemas inherentes a los RNN, todavía no son mejores que un CNN puro para la clasificación.

Recibiste muchas buenas respuestas de otros sobre cómo funcionan los RNN. Ahora, le sugiero que mire este tutorial (muy fácil de entender) sobre cómo funcionan las CNN para la PNL, entonces definitivamente sabrá por qué las CNN son mejores en las tareas de clasificación: Comprender las redes neuronales convolucionales para la PNL.