En algunas ocasiones he entrenado redes neuronales (redes de propagación hacia atrás) con algunos conjuntos de datos bastante complicados (posiciones de backgammon y OCR). Al hacer esto, parece que gran parte del trabajo implica probar diferentes configuraciones de las redes, para encontrar la configuración óptima para el aprendizaje. A menudo existe un compromiso entre las redes pequeñas que son más rápidas de usar / aprender y las redes más grandes, que pueden representar más conocimiento.
Entonces me pregunto si podría ser posible crear algunas redes que sean rápidas y grandes. Estoy pensando que en una red donde cada neurona no está completamente conectada, debería ser más rápido de calcular que las redes con conexión completa en todas las capas. Podría ser el entrenamiento que detectó que ciertas neuronas no necesitan ciertas entradas y, por lo tanto, elimina esas conexiones. Del mismo modo, el entrenamiento también podría incluir la adición de nuevas neuronas si algunas neuronas parecen estar "sobrecargadas".
¿Es esto algo que se ha probado con algún éxito? ¿Existe alguna clase de red con este tipo de comportamiento?