¿Por qué los RNN suelen tener menos capas ocultas que los CNN?

8

Las CNN pueden tener cientos de capas ocultas y, dado que a menudo se usan con datos de imágenes, tener muchas capas captura más complejidad.

Sin embargo, hasta donde he visto, los RNN generalmente tienen pocas capas, por ejemplo, 2-4. Por ejemplo, para la clasificación de electrocardiograma (ECG), he visto artículos que usan LSTM con 4 capas y CNN con 10-15 capas con resultados similares.

¿Es esto porque los RNN / LSTM son más difíciles de entrenar si son más profundos (debido a problemas de desaparición de gradiente) o porque los RNN / LSTM tienden a sobreajustar los datos secuenciales rápidamente?

KRL
fuente

Respuestas:

3

Los CNN y RNN cuentan con métodos de extracción:

Las CNN tienden a extraer características espaciales. Supongamos que tenemos un total de 10 capas de convolución apiladas una encima de la otra. El núcleo de la primera capa extraerá características de la entrada. Este mapa de características se usa como entrada para la siguiente capa de convolución que luego produce nuevamente un mapa de características a partir de su mapa de características de entrada.

Del mismo modo, las características se extraen nivel por nivel de la imagen de entrada. Si la entrada es una imagen pequeña de 32 * 32 píxeles, definitivamente necesitaremos menos capas de convolución. Una imagen más grande de 256 * 256 tendrá una complejidad de características comparativamente mayor.

Los RNN son extractores de características temporales, ya que contienen un recuerdo de las activaciones de capa pasadas. Extraen características como un NN, pero los RNN recuerdan las características extraídas en varios pasos. Los RNN también podrían recordar características extraídas a través de capas de convolución. Como tienen un tipo de memoria, persisten en características temporales / temporales.


En caso de clasificación de electrocardiograma:

Sobre la base de los documentos que lees, parece que,

Los datos de ECG podrían clasificarse fácilmente utilizando características temporales con la ayuda de RNN. Las características temporales están ayudando al modelo a clasificar los ECG correctamente. Por lo tanto, el uso de RNN es menos complejo.

Las CNN son más complejas porque,

Los métodos de extracción de características utilizados por las CNN conducen a características que no son lo suficientemente potentes como para reconocer de forma exclusiva los ECG. Por lo tanto, se requiere el mayor número de capas de convolución para extraer esas características menores para una mejor clasificación.

Al final,

Una característica fuerte proporciona menos complejidad al modelo, mientras que una característica más débil debe extraerse con capas complejas.


¿Es esto porque los RNN / LSTM son más difíciles de entrenar si son más profundos (debido a problemas de desaparición de gradiente) o porque los RNN / LSTM tienden a sobreajustar los datos secuenciales rápidamente?

Esto podría tomarse como una perspectiva de pensamiento. Los LSTM / RNN son propensos a un sobreajuste en el que una de las razones podría estar desapareciendo del problema del gradiente como lo menciona @Ismael EL ATIFI en los comentarios.

Agradezco a @Ismael EL ATIFI por las correcciones.

Shubham Panchal
fuente
44
"Los LSTM / RNN son propensos al sobreajuste debido a un problema de gradiente que desaparece" Estoy en desacuerdo. El exceso de gradiente de desaparición no puede ser causado por un problema de gradiente de desaparición solo porque el gradiente de desaparición impide que los parámetros de las primeras capas se actualicen correctamente y, por lo tanto, se sobreajusten. "Las capas de convolución generalmente no se sobreajustan, son extractores de características". Las capas de convolución PUEDEN sobreajustarse como cualquier otra capa entrenable y cualquier CNN se sobreajustará definitivamente si tiene demasiados parámetros en comparación con la cantidad y variedad de datos sobre los que está capacitado.
Ismael EL ATIFI
1

Sobre el número de capas

La razón se puede entender al observar la arquitectura de una CNN y una LSTM y cómo podría funcionar con datos de series temporales. Pero debería decir que el número de capas es algo que depende en gran medida del problema que está tratando de resolver. Es posible que pueda resolver una clasificación de ECG con pocas capas LSTM, pero para el reconocimiento de actividad de los videos necesitará más capas.

Dejando eso de lado, así es como una CNN y una LSTM podrían procesar una señal de serie temporal. Una señal muy simple donde después de tres ciclos positivos obtienes un ciclo negativo.

CNN vs LSTM

Para que una CNN vea este patrón simple, se necesitan 4 capas en este ejemplo. Cuando un CNN procesa una entrada de serie temporal, una salida de convolución no conoce las salidas anteriores (es decir, no están conectadas). Sin embargo, un LSTM puede hacerlo simplemente usando una sola capa, ya que puede recordar patrones temporales de hasta cientos de pasos de tiempo. Debido a que una salida se basa en la entrada actual, así como en las entradas anteriores que el modelo ha visto.

No digo que esta sea la única razón, pero probablemente sea uno de los principales factores por los que las CNN requieren más capas y las LSTM no requieren datos de series temporales.

Sobre la desaparición de gradientes y el sobreajuste

Es probable que el gradiente de fuga se convierta en un problema dentro de una sola capa que entre capas. Es decir, al procesar muchos pasos secuenciales, es probable que el conocimiento sobre los primeros pasos desaparezca. Y no creo que los modelos secuenciales puedan ajustarse demasiado a los datos de series temporales si los regulariza correctamente. Por lo tanto, esta elección está probablemente más influenciada por la arquitectura / capacidades de los modelos que por el gradiente de desaparición o el sobreajuste.

thushv89
fuente
0

Veo 2 posibles razones por las cuales un RNN podría necesitar menos capas que un CNN para alcanzar el mismo rendimiento:
- Las capas RNN son generalmente capas completamente conectadas que tienen más parámetros que una capa convolucional.
- un RNN tiene algunos componentes que permiten combinar entradas por multiplicación a diferencia de un CNN que solo puede combinar entradas por suma ponderada. Así, la capacidad multiplicativa del RNN le da más "poder" para calcular las características. La CNN necesitaría muchas capas para "imitar" esta capacidad multiplicativa.

Ismael EL ATIFI
fuente