Redes neuronales. Preguntas de los expertos. - página 19

 

Ha surgido un "pequeño" problema.

Si alimentamos los mismos ejemplos de entrenamiento (TS) a la misma red, pero la inicializamos con pesos aleatorios antes del entrenamiento,

entonces cada vez la red puede entrenar de forma diferente, con resultados distintos en la misma muestra de prueba.

Se utiliza la biblioteca FANN.

Decidí comprobar cómo se comportaría Statistics 6 en una situación similar.

Y aquí las redes con la misma arquitectura dan resultados diferentes.

A modo de ilustración, he elegido dos redes con resultados muy diferentes. Se puede ver que su rendimiento es exactamente el contrario.


Los gráficos de los umbrales de activación confirman que estas dos redes sobre el mismo PO fueron entrenadas de forma completamente diferente.

(Se adjuntan los resultados completos de todas las redes y los datos de todas las muestras)


...............................................

¿Alguna sugerencia sobre cómo lograr la estabilidad en el proceso de aprendizaje de la red neuronal?

Archivos adjuntos:
 
lasso:

Ha surgido un "pequeño" problema.....

la red puede entrenarse de forma diferente cada vez, con resultados distintos en la misma muestra de prueba....

¿Pueden decirme cómo lograr la estabilidad en el proceso de entrenamiento de las redes neuronales?


Así que es una cuestión de preguntas) Se utilizan muchos métodos para el entrenamiento de NS, pero todos ellos, por razones obvias, son diferentes de la fuerza bruta directa. Y todos ellos tienen un inconveniente esencial común: la parálisis o el atasco en un extremo local. No hay una solución universal, salvo aumentar la calidad del mecanismo/algoritmo de aprendizaje y aumentar el tiempo de aprendizaje (el número de épocas de aprendizaje). Y en cada caso se resuelve de forma diferente.
 
lasso:

¿Pueden decirme cómo lograr la estabilidad en el proceso de aprendizaje de una red neuronal?

Utiliza los AG.
 
lasso:


¿Pueden decirme cómo lograr la estabilidad en el proceso de aprendizaje de una red neuronal?


SVM.

Ejemplo para dos clases:

Posibles planos divisorios.... MLP BP encontrará cualquiera de los dos y dejará de .....

En cuanto a la SVM:

Este mod siempre encontrará un único plano divisorio ....

O GA como se sugiere arriba....

Buena suerte ....

 
Figar0:

Así que es una cuestión de preguntas) Se utilizan muchos métodos para el entrenamiento de NS, pero todos ellos, por razones obvias, son diferentes de la fuerza bruta directa. Y todos ellos tienen un inconveniente esencial común: la parálisis o el atasco en un extremo local. No hay una solución universal, salvo aumentar la calidad del mecanismo/algoritmo de aprendizaje y aumentar el tiempo de aprendizaje (el número de épocas de aprendizaje). Y en cada caso se resuelve de forma diferente.

Si se trata de quedar atrapado en un extremo local, creo que en este caso, los resultados deberían ser todos "buenos", y diferir sólo en un cierto rango -- "mejor", "peor"...

Pero no cambiar drásticamente los resultados de las pruebas. ¿Lo entiendes?

Aquí están los resultados de las ejecuciones en el período de prueba de 1 mes:

-9337

+5060

+14522

+7325

+12724

-3475

+10924

-9337

+5060

-3475

-9337

-3475

................................

Aquí los compañeros extranjeros aconsejan aplicar los comités de la red

pero no creo que sea la mejor solución...

Especialmente, permítanme recordarles, los datos de la OP propuestos en el problema, son bastante fáciles de separar por métodos lineales,

Y es imposible encontrar una solución simple y estable en forma de NS.

 

No entiendo lo de la AG, ¿a qué se aplica la búsqueda?

...............

Es decir, ¿aplicar los AG no además de los NS, sino en lugar de ellos?

 
lasso:

No entiendo lo de la AG, ¿a qué se aplica la búsqueda?

...............

Es decir, ¿aplicar los AG no además de los NS, sino en lugar de ellos?


Los AG pueden recoger pesos NS, y cualquier cosa puede usarse como función de aptitud... Puedes buscar EMA GA hasta donde yo recuerdo...
Pero para ser honesto no entiendo cómo este GA le ayudará, también puede parar en diferentes puntos... al igual que el NS...

Y en general, sinceramente, es un fenómeno normal, siempre que no se diferencien demasiado...

 
lasso:

Si se trata de quedar atrapado en un extremo local, entonces creo que en este caso, los resultados deberían ser todos "buenos", y diferir sólo en un cierto rango -- "mejor", "peor"...

Pero no cambiar drásticamente los resultados de las pruebas. ¿Entiendes?


En este caso, es probable que la red no esté sobreentrenada sino infraentrenada. La razón de esto, aparentemente, es que no hay una arquitectura lo suficientemente buena.

Aunque puede haber sobreentrenamiento - si la estructura de la red es excesivamente redundante y la inicialización inicial es aleatoria, entonces la malla puede quedarse atascada en diferentes extremos cada vez, de ahí la fuerte diferencia en los resultados

 
alsu:

En este caso, es probable que la red no esté sobreentrenada, sino infraentrenada. La razón parece ser la falta de arquitectura de calidad.

Aunque puede haber sobreentrenamiento - si la estructura de la red es excesivamente redundante y la inicialización inicial es aleatoria, entonces la malla puede quedarse atascada en diferentes extremos cada vez, de ahí la fuerte diferencia en los resultados

¿Qué datos o resultados debe aportar para poder determinar concretamente cuál es el inconveniente?
 

Una cosa más. Me alarma la "estrechez" de la gama de salidas de la red actual. Para aclarar:

-- la red MLP es 1-7-1

-- Las salidas de la red están distribuidas uniformemente en el rango [0;1], las salidas en los ejemplos de entrenamiento están representadas por los valores 1 y -1.

Si después del entrenamiento se pasa todo el rango de valores de entrada por la red, vemos que las salidas de la red se encuentran en un rango muy estrecho. Por ejemplo:

opt_max_act=-0.50401336 opt_min_act=-0.50973881 step=0.0000286272901034

o incluso así

opt_max_real=-0.99997914 opt_min_real=-0.99999908 step=0.00000010

.............................

¿Es esto correcto o no?

Razón de la queja: