¿Cuáles son las principales razones contra el uso de apilamiento cuando tenemos redes neuronales?

Digamos que está entrenando una red de dos capas, donde cada capa tiene N parámetros y cada parámetro puede tomar M valores distintos.

Si entrena las capas conjuntamente, su espacio de búsqueda tiene puntos M ^ (N + N), mientras que si entrena las capas por separado, busca entre los puntos M ^ N y luego separadamente entre los puntos M ^ N para la siguiente capa.

En el caso conjunto, el espacio de búsqueda es exponencialmente mayor que en el caso del apilamiento. En consecuencia, tiene una mejor capacidad de expresión, ¡pero también es propenso al sobreajuste!

Entonces, si tiene suficientes datos de entrenamiento, el entrenamiento conjunto de capas siempre será superior al apilamiento. Si no lo hace, entonces el apilamiento podría ser útil.

Incluso en el contexto de la formación conjunta de capas, está surgiendo un paradigma interesante de “aprendizaje supervisado en profundidad”; donde aplica la supervisión a capas individuales o bloques de capas mientras entrena conjuntamente la red general. Aunque no es estrictamente exacto, puede pensar en esto como una recuperación del apilamiento en NN profundas entrenadas conjuntamente.

Aquí está el artículo original que habla sobre esta idea, con detalles matemáticos y empíricos significativos:

http://www.jmlr.org/proceedings/…

Aquí hay un documento que enviamos recientemente, que explota esta idea para entrenar CNN profundos utilizando datos de entrenamiento completamente sintéticos y aún así superar a muchos CNN de última generación capacitados en imágenes reales para diversas tareas:

[1612.02699] Supervisión profunda con conceptos de forma para el análisis de objetos 3D con oclusión

A2A.

En cierto sentido, las redes neuronales son una generalización del apilamiento.

En el apilamiento, toma algunos clasificadores básicos y los alimenta a algunos alumnos débiles. La producción de los alumnos débiles se alimenta a otra capa de alumnos, y así sucesivamente.

En las redes neuronales, tienes casi la misma disposición, excepto que en lugar de entrenar a cada capa de alumnos de forma independiente, entrenas a todos los alumnos de principio a fin. Entonces, en lugar de dar las etiquetas finales a la primera capa de alumnos, y luego tratar sus predicciones como características, en realidad genera características a partir de las siguientes capas y capacita a la primera capa para predecir estas características. Este enfoque tiende a ser más robusto en general.

Sin embargo, debido a que ahora para cada capa, está generando las características que debería predecir, necesita mucha más información.

Entonces, si tiene pocos datos, el apilamiento podría ser el enfoque preferido.

No conozco un problema específico en el que se haya demostrado que el apilamiento es mejor que las NN. Pero para los problemas en los que se sabe que algunos aprendices básicos son buenos, puede usar el apilamiento. Por ejemplo, a menudo utiliza CNN previamente entrenado para generar funciones, que luego se introducen en otro algoritmo de aprendizaje. Entonces eso es esencialmente apilar.

More Interesting

¿Cuál es una explicación intuitiva de las redes residuales profundas?

En el autoencoder variacional, ¿por qué solo tomamos muestras de variables latentes de un gaussiano estándar y aplicamos el decodificador para generar nuevos datos en las pruebas?

¿Qué hace que los parámetros del modelo sean variables latentes?

¿Cómo debo aprender el aprendizaje automático? ¿Puede proporcionar una hoja de ruta específica desde un principiante hasta un experto?

¿Cómo se calcula el punto de ruptura de un algoritmo de aprendizaje?

¿Cuál es mejor LMS o descenso más empinado?

¿Cuál es la diferencia entre la estimación de máxima verosimilitud (ML) y máxima a Posteri (MAP)?

¿Qué tan exitoso ha sido el modelo tópico LDA en la categorización de imágenes?

¿Por qué Python es tan brillantemente superior a R en aprendizaje automático y tan totalmente inferior en estadística médica e investigación de drogas?

¿Por qué los CNN se usan más para tareas de visión por computadora que otras tareas?

Quiero aprender Python para el análisis de datos y el aprendizaje automático. ¿De dónde debería comenzar?

¿Qué piensan los pequeños equipos de ciencia de datos sobre la plataforma Dato y el pensamiento de Carlos Guestrin detrás de la democratización del aprendizaje automático?

¿Qué trabajo puede hacer un ingeniero de aprendizaje automático para ayudar a las personas?

¿Qué tan difícil es aprender el aprendizaje automático y el aprendizaje profundo si tienes un trabajo diario?

¿Qué significa decir que dos clasificadores son independientes?