¿Cuáles son los buenos pesos iniciales en una red neuronal?

La respuesta de Stack Exchange que Franck publicó es un buen comienzo y afirma correctamente que la inicialización 0 es un “error de novato” común al inicializar los pesos.

Más allá de esto, las inicializaciones más comunes son la inicialización aleatoria y la inicialización de Xavier (a lo que la publicación de Stack Exchange se refiere como una combinación de fan-in y fan-out). La inicialización aleatoria solo muestrea cada peso de una distribución estándar (a menudo una distribución normal) con baja desviación. La baja desviación le permite sesgar la red hacia la solución ‘simple’ 0, sin las malas repercusiones de inicializar los pesos a 0.

La inicialización de Xavier se ve a menudo en redes neuronales convolucionales. Es bastante simple y no muy diferente de la inicialización aleatoria, pero a menudo resulta mucho mejor. Este sitio ofrece una buena explicación. Una explicación de la inicialización de Xavier.

Además de estos dos, recientemente, se ha argumentado que las inicializaciones de matrices ortogonales aleatorias son mejores que cualquier inicialización aleatoria, especialmente en redes neuronales profundas. Creo que este documento es lo que inicialmente propuso esta inicialización [1312.6120] Soluciones exactas a la dinámica no lineal del aprendizaje en redes neuronales lineales profundas.

Hay dos documentos recientes sobre la inicialización de pesos en ICLR 2016, una mina, otra de Berkeley, que proponen utilizar sus datos para la inicialización. Asegura que CNN convergerá y permite un entrenamiento más rápido y un mejor error de prueba.

[1511.06422] Todo lo que necesitas es un buen inicio
[1511.06856] Inicializaciones dependientes de datos de redes neuronales convolucionales

Hay un buen artículo sobre la inicialización de redes convolucionales con ReLU: superando el rendimiento a nivel humano en la clasificación de ImageNet

Sugirieron una inicialización similar a Xavier, la raíz cuadrada de dos dividida por el número de entradas a un nodo en particular

[matemáticas] \ sqrt {\ frac {2} {n_ {in}}} [/ matemáticas]

Aquí:

La respuesta de Abhishek Dubey a ¿Cuáles son buenas maneras de inicializar los pesos entre los nodos en la red neuronal?

Una de las técnicas más recientes es utilizar la normalización por lotes.

Aquí está el enlace al documento: http://arxiv.org/pdf/1502.03167v

Vea ¿Cuáles son los buenos pesos iniciales en una red neuronal? : http://stats.stackexchange.com/a

More Interesting

¿Hay tutoriales o trabajos de investigación sobre la presentación de problemas matemáticos como pseudolenguaje al algoritmo de PNL?

¿Realizar el blanqueamiento de datos antes del entrenamiento mejora la capacidad de generalización de un SVM?

¿Es el atributo central del reconocimiento de patrones genios?

¿Dónde puedo encontrar una biblioteca pública de algoritmos de aprendizaje automático (ML) y aprendizaje profundo (DL) con muestras?

¿Qué nuevas empresas están buscando actualmente científicos de datos?

¿Cómo representa doc2vec el vector de características de un documento? ¿Alguien puede explicar matemáticamente cómo se realiza el proceso?

¿Hay algún hallazgo reciente que indique que la ascendencia cerebral ocurre como un esquema de error de propagación inversa?

¿Cuál es el progreso en visión artificial?

¿Cuáles son algunos casos de mal uso de las redes neuronales?

¿Cuál es el número mínimo de árboles que debo usar en un bosque aleatorio?

¿Hay algún paquete de código abierto para aplicar ML a las publicaciones de Twitter?

¿Cuál es el valor de un curso de Coursera sobre aprendizaje automático por Andrew Ng para solicitar una maestría en Estados Unidos en las 20 mejores universidades?

¿Cuáles son algunos textos recientes sobre métodos de kernel?

¿Hay un LSTM en TensorFlow que procesa un carácter a la vez?

¿Qué tipo de algoritmos utilizamos para el análisis de sentimientos? ¿Hay alguna lista para los algoritmos y sobre su estructura?