Tengo una CNN de cuatro capas para predecir la respuesta al cáncer utilizando datos de resonancia magnética. Utilizo activaciones ReLU para introducir no linealidades. La precisión y la pérdida del tren aumentan y disminuyen monótonamente, respectivamente. Sin embargo, mi precisión en la prueba empieza a fluctuar de forma salvaje. He intentado cambiar la tasa de aprendizaje y reducir el número de capas. Pero, no detiene las fluctuaciones. Incluso leí esta respuesta y traté de seguir las instrucciones en esa respuesta, pero no suerte de nuevo. ¿Alguien podría ayudarme a averiguar en qué me estoy equivocando?
Respuestas
¿Demasiados anuncios?Hay pocas maneras de probar en su situación. En primer lugar, intente aumentar el tamaño del lote, lo que ayuda a que el SGD del mini lote sea menos errante. En segundo lugar, afinar la tasa de aprendizaje, probablemente la más pequeña. En tercer lugar, pruebe un optimizador diferente, por ejemplo Adam o RMSProp, que son capaces de adaptar las tasas de aprendizaje para las características wrt. Si es posible, intente aumentar sus datos. Por último, pruebe las redes neuronales bayesianas a través de la aproximación de abandono, un trabajo muy interesante de Yarin Gal https://arxiv.org/abs/1506.02158
¿Has probado con una red más pequeña? Teniendo en cuenta que la precisión de tu entrenamiento puede alcanzar >.99, tu red parece tener suficientes conexiones para modelar completamente tus datos, pero puede que tengas conexiones extrañas que están aprendiendo aleatoriamente (es decir, sobreajuste).
Según mi experiencia, he conseguido que la precisión de la validación de la retención se estabilice con una red más pequeña probando varias redes como ResNet, VGG e incluso redes más sencillas.
- Ver respuestas anteriores
- Ver más respuestas