2011-11-08 6 views
11

Estoy entrenando una red neuronal XOR a través de la propagación de retorno utilizando un descenso gradiente estocástico. Los pesos de la red neuronal se inicializan a valores aleatorios entre -0.5 y 0.5. La red neuronal se entrena con éxito alrededor del 80% del tiempo. Sin embargo, a veces se "atasca" al volver a propagarse. Por "atascado", quiero decir que empiezo a ver una tasa decreciente de corrección de errores. Por ejemplo, durante un entrenamiento con éxito, el error total disminuye con bastante rapidez ya que la red entera, así:El error de la red neuronal de XOR deja de disminuir durante el entrenamiento

... 
... 
Total error for this training set: 0.0010008071327708653 
Total error for this training set: 0.001000750550254843 
Total error for this training set: 0.001000693973929822 
Total error for this training set: 0.0010006374037948094 
Total error for this training set: 0.0010005808398488103 
Total error for this training set: 0.0010005242820908169 
Total error for this training set: 0.0010004677305198344 
Total error for this training set: 0.0010004111851348654 
Total error for this training set: 0.0010003546459349181 
Total error for this training set: 0.0010002981129189812 
Total error for this training set: 0.0010002415860860656 
Total error for this training set: 0.0010001850654351723 
Total error for this training set: 0.001000128550965301 
Total error for this training set: 0.0010000720426754587 
Total error for this training set: 0.0010000155405646494 
Total error for this training set: 9.99959044631871E-4 

Testing trained XOR neural network 
0 XOR 0: 0.023956746649767453 
0 XOR 1: 0.9736079194769579 
1 XOR 0: 0.9735670067093437 
1 XOR 1: 0.045068688874314006 

Sin embargo, cuando se queda atascado, los errores totales están disminuyendo, pero parece ser a una tasa decreciente :

... 
... 
Total error for this training set: 0.12325486644721295 
Total error for this training set: 0.12325486642503929 
Total error for this training set: 0.12325486640286581 
Total error for this training set: 0.12325486638069229 
Total error for this training set: 0.12325486635851894 
Total error for this training set: 0.12325486633634561 
Total error for this training set: 0.1232548663141723 
Total error for this training set: 0.12325486629199914 
Total error for this training set: 0.12325486626982587 
Total error for this training set: 0.1232548662476525 
Total error for this training set: 0.12325486622547954 
Total error for this training set: 0.12325486620330656 
Total error for this training set: 0.12325486618113349 
Total error for this training set: 0.12325486615896045 
Total error for this training set: 0.12325486613678775 
Total error for this training set: 0.12325486611461482 
Total error for this training set: 0.1232548660924418 
Total error for this training set: 0.12325486607026936 
Total error for this training set: 0.12325486604809655 
Total error for this training set: 0.12325486602592373 
Total error for this training set: 0.12325486600375107 
Total error for this training set: 0.12325486598157878 
Total error for this training set: 0.12325486595940628 
Total error for this training set: 0.1232548659372337 
Total error for this training set: 0.12325486591506139 
Total error for this training set: 0.12325486589288918 
Total error for this training set: 0.12325486587071677 
Total error for this training set: 0.12325486584854453 

Mientras estaba leyendo sobre redes neuronales me encontré con una discusión sobre minimas locales y globales minimas y cómo las redes neuronales en realidad no "saben" lo que los mínimos se supone que es en dirección a.

¿Mi red se está estancando en un mínimo local en lugar de un mínimo global?

Respuesta

6

Sí, las redes neuronales pueden atascarse en los mínimos locales, dependiendo de la superficie de error. Sin embargo, this abstract sugiere que no hay mínimos locales en la superficie de error del problema XOR. Sin embargo, no puedo acceder al texto completo, por lo que no puedo verificar qué hicieron los autores para demostrar esto y cómo se aplica a su problema.

También puede haber otros factores que conducen a este problema. Por ejemplo, si desciendes muy rápido en algún valle empinado, si solo usas un descenso de gradiente de primer orden, puedes llegar a la pendiente opuesta y rebotar hacia adelante y hacia atrás todo el tiempo. También podría tratar de dar el cambio promedio sobre todos los pesos en cada iteración, para probar si realmente tiene una red "atascada", o más bien una, que acaba de entrar en un ciclo límite.

Primero debe intentar juguetear con sus parámetros (tasa de aprendizaje, impulso si lo implementó, etc.). Si puede hacer desaparecer el problema, cambiando los parámetros, su algoritmo probablemente esté bien.

+0

¡Gracias! Tu respuesta lo dejó mucho más claro. Parece que las redes neuronales no son exactas y que está involucrada cierta cantidad de fuzziness.Intentaré cambiar los parámetros e intentaré solucionar el problema. –

+0

Me encontré con [este artículo] (http://www.ncbi.nlm.nih.gov/pubmed/18252598) (publicado en 1999, un año después del que usted citó) que dice que hay un mínimo local para la red 2-3-1 XOR (estoy usando una red XOR 3-3-1; no estoy seguro de si es necesario el sesgo en la capa de entrada). Nuevamente, al igual que en su caso, este es un resumen. –

+0

También vi [este artículo] (http://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=3&ved=0CDMQFjAC&url=http%3A%2F%2Fciteseerx.ist.psu.edu % 2Fviewdoc% 2Fdownload% 3Fdoi% 3D10.1.1.31.4770% 26rep% 3Drep1% 26type% 3Dpdf & ei = -WK5TqjAGIaviAL636jTBA & usg = AFQjCNEaQ0jG2bkD4ipXcfgXDr9mHrxRMQ & sig2 = BD8IyRc8Clg2XftdR20W9w) que dice que no hay mínimos para la red XOR más simple, pero esto no parece ser un 2-3-1 o una red 3-3-1. –

2

El descenso deficiente del gradiente con pasos excesivamente grandes como lo describe LiKao es un posible problema. Otra es que hay regiones muy planas del paisaje de error de XOR, lo que significa que tarda mucho tiempo en converger, y de hecho el gradiente puede ser tan débil que el algoritmo de descenso no lo empuja en la dirección correcta.

Estos dos documentos tienen en cuenta los paisajes XOR 2-1-1 y 2-2-1. Uno usa una función de error de "entropía cruzada" que no sé. En la primera declaran que no hay mínimos locales, pero en el segundo dicen que hay mínimos locales en el infinito, básicamente cuando los pesos se escapan a valores muy grandes. Entonces, para el segundo caso, sus resultados sugieren que si no comienzas cerca de mínimos verdaderos "suficientes", puedes quedar atrapado en los puntos infinitos. También dicen que otros análisis de redes 2-2-1 XOR que no muestran mínimos locales no se contradicen con sus resultados debido a definiciones particulares.

http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.31.4770

http://www.ncbi.nlm.nih.gov/pubmed/12662806

1

me encontré con el mismo tema y encontraron que el uso de la función de activación 1,7159 * tanh (2/3 * x) se describe en LeCun's "Efficient Backprop" paper ayuda. Esto es presumiblemente porque esa función no se satura alrededor de los valores objetivo {-1, 1}, mientras que el tanh regular lo hace.

Cuestiones relacionadas