Cuando escribe su algoritmo, ¿cómo sabe cuántas neuronas necesita por capa individual? ¿Hay algún método para encontrar el número óptimo de ellos o es una regla general?
fuente
Cuando escribe su algoritmo, ¿cómo sabe cuántas neuronas necesita por capa individual? ¿Hay algún método para encontrar el número óptimo de ellos o es una regla general?
No hay una forma directa de encontrar el número óptimo de ellos: las personas empíricamente intentan ver (por ejemplo, usando validación cruzada). Las técnicas de búsqueda más comunes son las búsquedas aleatorias, manuales y de cuadrícula.
Existen técnicas más avanzadas, como los procesos gaussianos, por ejemplo, Optimización de hiperparámetros de redes neuronales con procesos gaussianos para la clasificación de la Ley de diálogo , IEEE SLT 2016 .
Para un enfoque más inteligente que las búsquedas aleatorias o exhaustivas, puede probar un algoritmo genético como NEAT http://nn.cs.utexas.edu/?neat . Sin embargo, esto no tiene garantía de encontrar un óptimo global, es simplemente un algoritmo de optimización basado en el rendimiento y, por lo tanto, es vulnerable a quedarse atascado en un óptimo local.
Paper Szegedy C, Vanhoucke V, Ioffe S, et al. Repensar la arquitectura inicial para la visión por computadora [J]. arXiv preprint arXiv: 1512.00567, 2015. ofrece algunos principios generales de diseño:
Sin embargo, estas sugerencias no pueden brindarle la cantidad óptima de neuronas en una red.
Sin embargo, todavía hay algunas investigaciones de compresión de modelos, por ejemplo, Aprendizaje estructurado estructurado (SSL) de redes neuronales profundas , SqueezeNet , redes de poda que pueden arrojar algo de luz sobre cómo optimizar las neuronas por capa individual.
Especialmente en el aprendizaje estructurado de la dispersión de redes neuronales profundas , agrega un
Group Lasso
término de regularización en la función de pérdida para regularizar las estructuras (es decir, filtros, canales, formas de filtro y profundidad de capa) de los DNN, que es poner a cero algunos componentes ( es decir, filtros, canales, formas de filtro y profundidad de capa) de la estructura de la red y logra un notable compacto y aceleración de la red, mientras mantiene una pequeña pérdida de precisión de clasificación.fuente
Sabes que cuando tienes demasiadas neuronas es cuando te sobrepasas. Lo que significa que no funciona bien porque NN está tratando de activarse en la combinación más perfecta que es imposible. Al igual que dos gatos diferentes con la misma cantidad de átomos, o para decir, es un detector NN que solo se activa en una imagen de tu mascota y nada más. Desea un rango más amplio para que se active el nn. Como en cualquier foto de gato.
El sobreajuste es un problema que no tiene una solución rápida real. Puede comenzar con muy pocos y luego seguir agregando más. O comience con mucho y luego elimínelos hasta que funcione correctamente.
fuente