33 votos

¿Cómo puedo intencionalmente el diseño de un sobreajuste de la red neuronal?

Para tener una red neuronal que realiza a la perfección en el conjunto de entrenamiento, pero mal en el conjunto de validación, lo que se supone que tengo que hacer? Para simplificar, consideremos un CIFAR-10 tarea de clasificación.

Por ejemplo, "no abandono" y "no " regularización" podría ayudar, pero "más capas" no necesariamente. También me pregunto, ¿ "el tamaño de lote", la elección de optimizador de hacer ninguna diferencia en el sobreajuste?

16voto

John Richardson Puntos 1197

Si usted tiene una red con dos capas de modificable pesas de forma arbitraria convexo decisión regiones, donde el nivel más bajo de las neuronas divide el espacio de entrada en la mitad de los espacios y la segunda capa de neuronas realiza una operación de "Y" para determinar si usted está en el lado derecho de la mitad de los espacios de definición de la parte convexa de la región. En el siguiente diagrama se puede formar regiones r1 y r2 de esta manera. Si desea añadir un extra más tarde, usted puede de forma arbitraria, cóncava o discontinuo de decisión de las regiones por la combinación de los resultados de las sub-redes de la definición de la convexo sub-regiones. Creo que tengo esta prueba de Philip Wasserman del libro "Neural de la Informática: la Teoría y la Práctica" (1989).

enter image description here

Así es que usted quiere sobre-ajuste, el uso de una red neuronal de tres capas ocultas de las neuronas, el uso de un gran número de la capa oculta de neuronas en cada capa, para minimizar el número de formación de patrones (si es permitido por el desafío), el uso de una cruz de entropía de error de métrica y de trenes mediante un global de optimización del algoritmo (por ejemplo, el recocido simulado).

Este enfoque le permitirá hacer una red neuronal que había convexo sub-regiones que rodean a cada patrón de entrenamiento de cada clase, y por lo tanto tendría cero del conjunto de entrenamiento de error y habría pobres de validación de rendimiento, donde la clase de las distribuciones se solapan.

Tenga en cuenta que más de ajuste es acerca de la sobre-optimización del modelo. Un parametrizar un modelo (más pesos/unidades ocultos de lo necesario) todavía puede funcionar bien si la "incoherencia de datos" no es más-minimizado (por ejemplo, mediante la aplicación de la regularización o la detención temprana o ser la suerte de aterrizar en un "buen" mínimo local).

8voto

Peteris Puntos 206

La memorización

Para la absoluta de sobreajuste, usted quiere una red que es técnicamente capaz de memorizar todos los ejemplos, pero fundamentalmente no es capaz de generalización. Me parece recordar una historia acerca de alguien formación de un predictor del desempeño del estudiante que obtuvo grandes resultados en el primer año, pero fue un fracaso absoluto en el próximo año, que resultó ser causados por el uso de todas las columnas de una tabla como características, incluyendo la columna con el número secuencial de la estudiante, y el sistema simplemente se las arregló para aprender que, por ejemplo, el estudiante #42 siempre obtiene buenas calificaciones y el estudiante #43 tiene un rendimiento pobre, que funcionaba bien, hasta el próximo año cuando otro estudiante fue #42.

Para una primera prueba de concepto en CIFAR, se podría hacer lo siguiente:

  1. Elegir un subconjunto de CIFAR muestras para que el color de la esquina superior izquierda de píxeles pasa a ser diferente para cada imagen, y el uso de ese subconjunto como los datos de su entrenamiento.
  2. Construir una red en la que la primera capa se selecciona únicamente los valores RGB de la esquina superior izquierda y hace caso omiso de todo lo demás, seguido por una relativamente amplia totalmente conectado capa o dos hasta que la clasificación final de la capa.
  3. Entrenar a su sistema, usted debe obtener el 100% en los datos de entrenamiento, y casi al azar en los datos de prueba.

Después de eso, usted puede extender a una horriblemente sobreajuste del sistema para la plena CIFAR:

  1. Como antes, el filtro de los datos de entrada, de modo que es posible identificar a cada elemento individual de los datos de entrenamiento (por lo que un solo píxel no será suficiente), pero que definitivamente es imposible resolver el problema real de los datos. Tal vez los primeros diez píxeles en la parte superior de la fila sería suficiente; tal vez algo de metadatos - por ejemplo, el ID de imagen, como en el rendimiento de los estudiantes escenario.
  2. Asegúrese de que no hay regularización de cualquier forma, no convolucional estructuras que impliquen traslación de la independencia, tal y completamente conectado capa(s).
  3. Tren hasta el 100% de formación de precisión y llorar a la inutilidad del sistema.

4voto

UK Visa Works Puntos 29

Generalmente hablando, si de tren para un número muy grande de todas las épocas, y si su red tiene suficiente capacidad, la red overfit. Así, para garantizar el sobreajuste: elija una red con una capacidad muy alta, y luego el tren de muchas épocas. No uso de regularización (por ejemplo, la deserción escolar, el peso de la caries, etc.).

Los experimentos han demostrado que si entrenas durante el tiempo suficiente, las redes pueden memorizar todas las entradas en el conjunto de entrenamiento y lograr el 100% de precisión, pero esto no implica que va a ser preciso en un conjunto de validación. Una de las principales formas que tenemos de evitar el sobreajuste en la mayoría de los trabajos hoy en día es por la detención temprana: dejar de SGD después de un número limitado de todas las épocas. Por lo tanto, si usted evite pararse temprano, y el uso de una red lo suficientemente grande, usted no debe tener ningún problema causante de la red para overfit.

¿Desea realmente la fuerza de un montón de sobreajuste? Luego añadir muestras adicionales para el conjunto de entrenamiento, con elegidas al azar de las etiquetas. Ahora elija un realmente gran red, y entrenar para un largo tiempo, el tiempo suficiente para conseguir una precisión del 100% en el conjunto de entrenamiento. El extra al azar etiquetados muestras es más probable que impiden cualquier generalización y causar la red para llevar a cabo incluso peor en el conjunto de validación.

3voto

David Puntos 41

Me gusta tu pregunta mucho.

La gente suele hablar de sobreajuste, pero puede ser que no mucha gente se dio cuenta de que intencionalmente el diseño de un sobreajuste del modelo no es una tarea trivial! Sobre todo con la gran cantidad de datos.

En el pasado, el tamaño de los datos es a menudo limitada. Por ejemplo, un par de cientos de puntos de datos. Entonces es fácil que haya overfitted modelo.

Sin embargo, en "la moderna máquina de aprendizaje", los datos de entrenamiento puede ser enorme, dicen los millones de imágenes, si cualquier modelo puede overfit, entonces eso ya sería un gran logro.

Así que mi respuesta a su pregunta es, no es una tarea fácil, a menos que te están engañando por reducir el tamaño de la muestra.

2voto

csiz Puntos 129

De acuerdo a la Abierta AI papel Profundo Doble de Descenso, necesita tener sólo una lo suficientemente grande como red neuronal para un conjunto de datos determinado. Presumiblemente, esto hace que el NN lo suficientemente potente como para aprender perfectamente los datos de entrenamiento, pero lo suficientemente pequeño para que usted no consigue el efecto de generalización de una red de gran tamaño. El papel es empírica, de modo que la razón por la que funciona es no theretically entendido...

Como se puede ver en el gráfico, puedes empezar con un tamaño insuficiente de la red que no aprende de los datos. Puede aumentar el tamaño hasta que se desempeña bien en el conjunto de pruebas, sino que además aumenta de tamaño llevar a sobreajuste y peor rendimiento en la prueba de conjunto. Finalmente muy grandes redes neuronales de entrar en un régimen distinto donde el error de la prueba mantiene decreciente con el tamaño. Tenga en cuenta que la formación de error (mostrar en un gráfico diferente) disminuye monótonamente.

test error by network size

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X