26 votos

El abandono empeora el rendimiento

Estoy jugando con abandono ya que todos los resultados punteros en aprendizaje automático parecen utilizarlo (por ejemplo, véase aquí ). Conozco todas las directrices (entrenar durante más tiempo, aumentar la capacidad del modelo, utilizar tasas de aprendizaje más altas), pero sigo sin ver que funcione. He probado varios ejemplos diferentes: CNN para IMDB , CNN para MNIST MLP para MNIST, MLP para IRIS y la desactivación del dropout mejora todos mis resultados, a pesar de que las configuraciones por defecto tienen dropout (tomado de la página Ejemplos de Keras ). Por ejemplo, adjunto mis resultados para uno de los modelos entrenados en el conjunto de datos IRIS. La configuración sin dropout tiene claramente el mejor rendimiento. Effect of dropout on MLP

¿Qué me estoy perdiendo?

El código del ejemplo IRIS es aquí .

60voto

mclaughlinj Puntos 1099

El abandono es una técnica de regularización, y es más eficaz para evitar el sobreajuste. Sin embargo, hay varios casos en los que el abandono puede perjudicar el rendimiento.

  1. Justo antes de la última capa. Este es generalmente un mal lugar para aplicar el dropout, porque la red no tiene la capacidad de "corregir" los errores inducidos por el dropout antes de que ocurra la clasificación. Si he leído bien, es posible que haya puesto abandono justo antes de la softmax en el MLP iris.

  2. Cuando la red es pequeña en relación con el conjunto de datos, la regularización suele ser innecesaria. Si la capacidad del modelo ya es baja, reducirla aún más añadiendo regularización perjudicará el rendimiento. He observado que la mayoría de tus redes son relativamente pequeñas y poco profundas.

  3. Cuando el tiempo de entrenamiento es limitado. No está claro si éste es el caso, pero si no se entrena hasta la convergencia, el abandono puede dar peores resultados. Normalmente el abandono perjudica el rendimiento al principio del entrenamiento, pero hace que el error final ''convergente'' sea menor. Por lo tanto, si no planeas entrenar hasta la convergencia, puede que no quieras usar el abandono.

Por último, quiero mencionar que, por lo que yo sé, el abandono apenas se utiliza ahora, ya que ha sido suplantado por una técnica conocida como normalización por lotes . Por supuesto, eso no quiere decir que el abandono no sea una herramienta válida y eficaz para probar.

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