Lección 3 del curso PyTorch Nivel Avanzado.
En la lección anterior vimos cómo implementar los «checkpoints» en PyTorch para almacenar progresivamente el entrenamiento de un modelo de Deep Learning.
En esta lección veremos cómo implementar el «early-stopping» (o parada temprana) en PyTorch, para detener el entrenamiento de forma automática cuando se cumplan ciertos criterios, lo que permitirá reducir el posible sobre-ajuste en el modelo entrenado.
En esencia, esta parada temprana permite simplemente monitorear la pérdida de validación y detener el entrenamiento cuando dicha pérdida deja de mejorar durante un número predefinido de iteraciones («paciencia»).
Así que veamos en detalle cómo implementar el «early-stopping» en PyTorch:
Contenido exclusivo para suscriptores
Si eres suscriptor accede en este enlace ó suscríbete a la Academia Online y accede a todo el contenido (lecciones en video, código fuente, sets de datos y descargas) de todos los cursos, proyectos y tutoriales.
Como acabamos de ver, la implementación de la parada temprana en PyTorch resulta muy sencilla. En esencia usamos la misma lógica de entrenamiento y validación que hemos usado hasta el momento pero incluyendo dos ligeras modificaciones:
- Antes del «loop» de entrenamiento inicializaremos las variables «paciencia» y «contador» que permitirán realizar la parada temprana cuando se cumplan los criterios establecidos
- Al final del «loop» de entrenamiento incluiremos el código necesario para implementar el early-stopping
Y con lo anterior ya podremos monitorear continuamente la pérdida de validación y detener el entrenamiento si se cumple el criterio de «paciencia» establecido inicialmente (que en últimas se convertirá en un hiper-parámetro de entrenamiento del modelo).
Así que con lo visto en esta lección ya sabemos cómo implementar en PyTorch una de las técnicas de regularización más usadas comúnmente al momento de implementar modelos de Deep Learning.
Entonces, en la siguiente lección veremos qué es y cómo implementar el «Dropout» en PyTorch, una segunda técnica de regularización muy usada comúnmente.
Todas las lecciones del curso PyTorch Nivel Avanzado
