¿Es posible obtener un mejor ANN eliminando algunas conexiones?

11

Me preguntaba si en algunas circunstancias es posible que ANN tenga un mejor rendimiento si elimina algunas conexiones como, por ejemplo:

¿Construir un ANN tomando dos ANN's de múltiples capas A y B en paralelo (mismos nodos de entrada y salida) agregando algunas conexiones de "comunicación" entre las capas ocultas de A y B?

¿Podría uno obtener mejores resultados de generalización?

¿Se utiliza de alguna manera en la práctica o siempre se usan redes totalmente conectadas de varias capas?

Jim Delgado
fuente

Respuestas:

7

Sí, es posible. Algunas personas han analizado este problema en detalle. Aquí hay un documento antiguo sobre un método para hacerlo: daño cerebral óptimo

carlosdc
fuente
¿Por qué separar los nodos es mejor que la regularización? Pensé que con la regularización no hay necesidad de podar las conexiones: las "innecesarias" solo obtendrán pesos muy pequeños y eso es todo.
andreister
@andreister No creo que sea mejor que la regularización. Creo que es una alternativa (temprana) a la regularización. Es un documento muy antiguo, la regularización se convirtió en la corriente principal en ML a mediados y finales de los noventa.
carlosdc
7

Como regla general, las redes pequeñas y / o dispersas se generalizan mejor. Puede dejar que su algoritmo de entrenamiento elimine las conexiones innecesarias dentro de una red de tamaño fijo mediante la aplicación de alguna forma de caída de peso, o puede aplicar un algoritmo que tenga como objetivo optimizar la arquitectura / topología de la red mediante la eliminación de entradas innecesarias, nodos ocultos o conexiones.

Eche un vistazo a estas referencias para obtener ideas y puntos de partida para futuras investigaciones, o analice el uso de algoritmos evolutivos para diseñar, podar y optimizar arquitecturas.

  1. Castellano, G., Fanelli, AM (2000) 'Selección de variables utilizando modelos de redes neuronales', Neurcomputing (31)
  2. Ji C., Psaltis D. (1997) 'Síntesis de red a través del crecimiento y la descomposición basados ​​en datos', Neural Networks vol. 10, núm. 6, págs. 1133-1141
  3. Narasimha PL et al (2008) 'Un método integrado de poda en crecimiento para la capacitación de la red feedforward', Neurocomputing (71), pp. 2831-2847
  4. Schuster, A. (2008) 'Robust Arti fi cial Neural Network Architectures', International Journal of Computational Intelligence (4: 2), pp. 98-104
Graham Jones
fuente
Realmente me gustaría saber más sobre la parte de la respuesta "analizar el uso de algoritmos evolutivos para diseñar, podar y optimizar arquitecturas". ¡Quizás haga una pregunta al respecto!
Artem Kaznatcheev
6

En la mayoría de los casos, si elimina conexiones innecesarias, obtendrá una mejor red. Es fácil sobreentrenar (sobreajustar) la red, en cuyo caso funcionará mal en el conjunto de datos de validación.

La poda de conexiones innecesarias probablemente reducirá la probabilidad de sobreentrenamiento. Consulte: http://en.wikipedia.org/wiki/Overfitting .

jb.
fuente
5

Sí, es posible. Podemos considerar la conexión entre unidades computacionales, número de capas ocultas, unidades por capa oculta, etc. como hiperparámetros. Es posible encontrar valores óptimos para estos parámetros realizando una serie de experimentos.

Por ejemplo:

Puede dividir su conjunto de datos de la siguiente manera: Conjunto de entrenamiento 60% de datos, Validación cruzada 20% de datos, Prueba 20% de datos,

Luego entrene su NN utilizando el conjunto de datos de entrenamiento y el parámetro de ajuste utilizando el conjunto de datos de validación cruzada.

Finalmente, puede usar su conjunto de datos de prueba para evaluar el rendimiento de su NN.

Upul
fuente