1 capa oculta con 1000 neuronas frente a 10 capas ocultas con 100 neuronas


13

Este tipo de preguntas pueden depender de problemas, pero he tratado de encontrar una investigación que aborde la pregunta de si el número de capas ocultas y su tamaño (número de neuronas en cada capa) realmente importan o no.

Entonces mi pregunta es, ¿realmente importa si, por ejemplo, tenemos 1 gran capa oculta de 1000 neuronas frente a 10 capas ocultas con 100 neuronas cada una?

Respuestas:


12

Básicamente, tener múltiples capas (también conocido como una red profunda) hace que su red esté más ansiosa por reconocer ciertos aspectos de los datos de entrada. Por ejemplo, si tiene los detalles de una casa (tamaño, tamaño del césped, ubicación, etc.) como entrada y desea predecir el precio. La primera capa puede predecir:

  • Área grande, precio más alto
  • Pequeña cantidad de habitaciones, precio más bajo.

La segunda capa podría concluir:

  • Área grande + pequeña cantidad de dormitorios = dormitorios grandes = + - efecto

Sí, una capa también puede 'detectar' las estadísticas, sin embargo, requerirá más neuronas ya que no puede confiar en que otras neuronas hagan 'partes' del cálculo total requerido para detectar esa estadística.

Mira esta respuesta


Muchas gracias por tu respuesta. Solo para aclarar, cuando escribes "hace que tu red [...]", ¿te refieres al caso cuando tengo muchas capas ocultas con menos neuronas cada una en lugar de tener más neuronas en menos capas?
Stephen Johnson

@StephenJohnson oops, edité la pregunta. Me refiero a la red profunda (múltiples capas).
Thomas W

Buena respuesta, gracias de nuevo. Tal vez debería continuar esto en otro hilo, pero ¿crees que el mismo tipo de razonamiento se aplica a las redes neuronales recurrentes como GRU o LSTM?
Stephen Johnson

@StephenJohnson, ¿te refieres a redes recurrentes de una capa versus redes recurrentes de varias capas o te refieres a causa de sus conexiones recurrentes?
Thomas W

Quiero decir, en general, debido a que tienen conexiones recurrentes que les permiten mapear contextos a distancias más largas, ¿se benefician tales redes de ser Profundas de la misma manera que lo haría una red de retroalimentación regular? Tal vez no puedan compararse así, ya que las redes recurrentes generalmente se usan cuando se usan datos secuenciales, como el audio.
Stephen Johnson

4

Hay tantos aspectos

1. Entrenamiento: entrenar redes profundas es un trabajo difícil debido al problema de gradiente que desaparece (explotando hacia atrás). Por lo tanto, no se recomienda construir una red neuronal de 10x100.

2. Rendimiento de red capacitado:

  • Pérdida de información: el uso clásico de las redes neuronales es el problema de clasificación . Lo que significa que queremos obtener información bien definida de los datos. (Ej. ¿Hay una cara en la imagen o no?) Entonces, por lo general, el problema de clasificación tiene mucha entrada y poca salida, además, el tamaño de las capas ocultas desciende de entrada a salida. Sin embargo, perdemos información usando menos neuronas capa por capa. (Es decir. No podemos reproducir la imagen original debido al hecho de que hay una cara o no). Por lo tanto, debe saber que pierde información utilizando 100 neuronas si el tamaño de la entrada es (digamos) 1000.
  • Complejidad de la información: sin embargo, las redes más profundas (como mencionó Tomas W) pueden obtener información más compleja de los datos de entrada. A pesar de esto, no se recomienda usar 10 capas completamente conectadas. Se recomienda utilizar convolucional / relu / maxpooling u otro tipo de capas. Las capas de Firest pueden comprimir alguna parte esencial de las entradas. (Ej. Hay alguna línea en una parte específica de la imagen). Las segundas capas pueden decir: Hay una forma específica en este lugar en la imagen. Etcétera etcétera.

Entonces, las redes más profundas son más "inteligentes", pero la estructura de red 10x100 es una buena opción.


1

Si el problema que está resolviendo es linealmente separable, una capa de 1000 neuronas puede funcionar mejor que 10 capas con cada una de 100 neuronas. Si el problema no es lineal y no es convexo, entonces necesita redes neuronales profundas.


2
Si el problema es linealmente separable, no necesita capas ocultas en absoluto
Amedeo Baragiola

0

Creo que tienes una confusión en los conceptos básicos de las redes neuronales. Cada capa tiene una función de activación separada y pesos de conexión de entrada / salida.

La salida de la primera capa oculta se multiplicará por un peso, procesada por una función de activación en la siguiente capa y así sucesivamente. Las redes neuronales de una sola capa son muy limitadas para tareas simples, un NN más profundo puede funcionar mucho mejor que una sola capa.

Sin embargo, no use más de capa si su aplicación no es bastante compleja. En conclusión, 100 capas de neuronas no significa una mejor red neuronal que 10 capas x 10 neuronas, pero 10 capas son algo imaginario a menos que esté haciendo un aprendizaje profundo. comience con 10 neuronas en la capa oculta e intente agregar capas o agregue más neuronas a la misma capa para ver la diferencia. aprender con más capas será más fácil pero se requiere más tiempo de entrenamiento.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.