Si el error de una red neuronal obtiene un buen rendimiento, pero si el entrenamiento aumenta por más tiempo, ¿cuál podría ser el problema con el entrenamiento?

La tasa de aprendizaje es demasiado grande.

Intenta usar una tasa de aprendizaje menor.

Soy un poco diferente de las otras respuestas: esto no es (al menos no solo) sobreajuste, porque el error del tren aumenta con demasiado entrenamiento. Esto tampoco es una gran variación. La alta varianza (similar al sobreajuste) generalmente proporciona un buen rendimiento en el conjunto de trenes pero un mal rendimiento en el conjunto de prueba.

Soluciones posibles:

1, verifique la tasa de aprendizaje. Tal vez se utilizó una tasa de aprendizaje demasiado alta. Intenta usar una tasa de aprendizaje menor . (La figura de color a continuación proviene de redes neuronales convolucionales CS231n para reconocimiento visual)

Esta figura a continuación acabo de garabatear. Cuando la tasa de aprendizaje es demasiado alta (como si estuviera caminando con una zancada súper amplia), los mínimos se “saltaron” y luego el sistema se desvía.

2, aplique la detención temprana , si la pérdida de 7 (que se muestra en los mínimos en su curva de pérdida) es aceptable para su necesidad, entonces no tiene que hacer nada más. Solo temprano parando.

3, si es posible en su sistema, rastree el parámetro L2 reg durante el entrenamiento, rastree el número de neutrones activados durante el entrenamiento. Dado que el error de entrenamiento aumenta, es posible que después de dos entrenamientos con regularización , se suprimieron demasiadas neuronas y se produjo una falta de adaptación (aunque no es posible. Lo más probable es que la tasa de aprendizaje sea demasiado alta). Si es cierto, intente usar una regularización L2 más ligera (disminuya su [matemática] \ lambda [/ matemática] en [matemática] Pérdida_ {L2} = Pérdida + \ lambda \ veces \ theta ^ 2 [/ matemática].)

Nota: L2 reg (que se usó en su sistema) es, en cierta medida, matemáticamente equivalente a la pérdida de peso (consulte Regularizadores – Documentación de Keras – sección “Accesos directos”). La pérdida de peso es más fácil de entender por intuición. La pérdida de peso significa que con más y más épocas de entrenamiento, los pesos se suprimen cada vez más (decaído) y, como resultado, suprimirán las neuronas también con demasiado entrenamiento. Cuando se suprime la mayoría de las neuronas, el modelo es tan débil que ocurre un ajuste insuficiente, y tanto la pérdida de entrenamiento como la pérdida de prueba aumentan en su figura.

Espero que pueda ayudar.

  1. La estrategia de detención temprana no se aplica. Cuando la reducción de errores es muy pequeña, se debe detener el entrenamiento.
  2. El control de la tasa de aprendizaje no se aplica correctamente. Los esquemas como newbob y disminución exponencial están destinados a ralentizar el entrenamiento para atrapar la red en un estado estable u óptimos locales subóptimos.
  3. Otra cosa que no está directamente relacionada con la curva ascendente es que la varianza de este sistema es alta. Daña el rendimiento de los datos del mundo real, incluso si converge. Lo que significa que puede reducir su red o aumentar el tamaño del minibatch si está usando minibatch SGD.

podría significar que está demasiado en forma, ya que cuanto más entrena, su pérdida de entrenamiento disminuye, pero su error de validación aumenta debido a eso.
Sugeriría, ya sea usar más ejemplos de entrenamiento, o encontrar formas de lidiar con un ajuste excesivo. como usar más regularización o abandonar.
Si tanto su error de entrenamiento como el de validación están aumentando, significa que tiene un alto sesgo o, en otros términos, está mal ajustado.
y debe tener en cuenta que, una mayor regularización, hace que su red no se ajuste adecuadamente.
Si está utilizando Relus, pueden suceder dos cosas. 1. ¡debido a una mala inicialización terminas con neuronas neuronales muertas! 2. En el proceso de entrenamiento, debido a una alta tasa de aprendizaje, su neurona puede quedar atrapada fuera del conjunto de datos, lo que resulta en que nunca se active y, por lo tanto, participe en el entrenamiento. y, por lo tanto, hace que la red no se ajuste.

En estadística y aprendizaje automático, una de las tareas más comunes es ajustar un “modelo” a un conjunto de datos de entrenamiento, para poder hacer predicciones confiables sobre datos generales no entrenados. En el sobreajuste , un modelo estadístico describe el error aleatorio o el ruido en lugar de la relación subyacente. El sobreajuste ocurre cuando un modelo es excesivamente complejo, como tener demasiados parámetros relativos al número de observaciones. Un modelo que se ha sobreajustado tiene un rendimiento predictivo pobre, ya que reacciona de forma exagerada a fluctuaciones menores en los datos de entrenamiento.

Sobreajuste

Este es un comportamiento típico en muchas redes. Es necesario usar la detención temprana en algunos casos.

More Interesting

¿Los LSTM tienen significativamente más parámetros que los RNN estándar?

¿Cuándo se ajusta bien un modelo de mezcla gaussiana?

¿Qué se necesita para aprender a construir una aplicación de reconocimiento de imágenes?

¿Puede una sola red neuronal de capa oculta aprender a jugar Atari Pong desde píxeles sin formato de un solo cuadro?

¿Cuáles son los libros de texto clásicos y de lectura obligatoria en las estadísticas?

¿Cuáles son las mejores prácticas en torno al aprendizaje automático y los sistemas de recomendación para sitios de trabajo?

¿Cuáles son algunos proyectos interesantes del último año relacionados con el aprendizaje automático?

¿Cómo se explica el algoritmo de propagación de creencias en las redes bayesianas?

¿El objetivo de un autoencoder variacional y una red de confrontación generativa es el mismo?

¿Es una red neuronal completamente conectada igual a una red neuronal de retroalimentación?

Cómo aprender a crear un sistema óptico de reconocimiento de caracteres utilizando redes neuronales artificiales como mi mini proyecto

¿Cuál es la relación entre el análisis de sentimientos, el procesamiento del lenguaje natural y el aprendizaje automático?

¿Cómo funciona el método de daño cerebral óptimo?

¿Dónde puedo encontrar un código de Python para SVM que use datos de funciones múltiples?

¿Por qué un niño de 6 años puede realizar tareas de reconocimiento de objetos mejor que una red neuronal distribuida a gran escala con decenas de miles de núcleos de CPU, pero incluso un cerebro adulto no puede competir con un procesador anticuado cuando se trata de cálculos de procedimientos? ¿Qué falta en nuestro procesador?