Adaptar la red neuronal

8

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?

Ebbe M. Pedersen
fuente

Respuestas:

5

Este es aproximadamente un problema abierto sujeto a una investigación en curso con diversas estrategias y heurísticas diferentes conocidas. Una palabra clave es " arquitectura de red neuronal ". La estrategia más básica es iterar a través de varias topologías de red y volver a entrenar para cada una. Otra estrategia es comenzar con una red relativamente más grande y podar las conexiones que tienen poco peso y volverse a entrenar y buscar mejoras; Hace años esto se llamaba "daño cerebral" en al menos un artículo [2]. Aquí hay algunos ejemplos de referencias. Hay muchos otros También existe la posibilidad de utilizar algoritmos similares a GA para determinar la estructura de la red [3]. Aquí está parte del resumen de [1]:

El uso de ANN requiere algunas decisiones críticas por parte del usuario, lo que puede afectar la precisión de la clasificación resultante. En este estudio, se investiga la determinación de la estructura de red óptima, que es uno de los atributos más importantes de una red. La estructura de la red tiene un efecto directo sobre el tiempo de entrenamiento y la precisión de la clasificación. Aunque existe cierta discusión en la literatura sobre el impacto de la estructura de la red en el rendimiento de la red, no existe un método o enfoque determinado para determinar la mejor estructura. Aquí se informan las investigaciones de la relación entre la estructura de la red y la precisión de la clasificación, utilizando un kit de herramientas MATLAB para aprovechar la visualización científica.

[1] Determinación de la estructura óptima para redes neuronales artificiales por Taskin Kavzoglu

[2] Daño cerebral óptimo Le Cun, Denker, Solla

[3] Encontrar una arquitectura de red neuronal óptima utilizando algoritmos genéticos Britos et al.

vzn
fuente
1
+1 Gracias vzn. Supongo que "daño cerebral" te haría pensar más rápido :) Tal vez si se combina con algunas mutaciones aleatorias (agregar nuevas neuronas) y luego iterar con un nuevo "daño cerebral", podría darte algo. De todos modos, esperamos investigar los enlaces que ha proporcionado.
Ebbe M. Pedersen