2.20 - Técnicas de Regularización

Lección 20 de la sección “Redes Neuronales” del curso Fundamentos de Deep Learning con Python.

Introducción

En la lección anterior vimos como crear, entrenar y validar una Red Neuronal en Keras usando los sets de entrenamiento, prueba y validación y los conceptos de underfitting y overfitting.

En ese caso usamos una técnica conocida como el Drop out para intentar reducir el overfitting en uno de los modelos entrenados.

Pues resulta que el Drop out hace parte de un grupo de técnicas, conocidas como técnicas de regularización, que resultan muy útiles en la afinación de diferentes modelos de Deep Learning y que permiten reducir el overfitting durante el proceso de entrenamiento y validación.

Veamos entonces en detalle las principales técnicas de regularización usadas en el Deep Learning.

Contenido exclusivo suscriptores

Suscríbete para tener acceso al video con la explicación detallada de esta lección. Además podrás disfrutar de todos los cursos de la Academia Online

Decaimiento de pesos (weight decay)

Una forma de simplificar un modelo de Deep Learning, y por tanto de reducir el overfitting, es forzando a que durante el entrenamiento los coeficientes del modelo tomen sólo valores “pequeños” para evitar que tengan un impacto significativo durante el entrenamiento.

Esta técnica de regularización se conoce precisamente como decaimiento de pesos, y se logra agregando un término de penalización a la función de error usada en el entrenamiento.

Drop out

De nuevo en este caso la idea es simplificar el modelo. El principio de funcionamiento de este método de regularización es simple: durante cada iteración del entrenamiento se “congela”, de forma aleatoria, un cierto porcentaje de las neuronas de cada capa, evitando así su entrenamiento.

Así, al desactivar aleatoriamente diferentes grupos de neuronas en cada iteración del entrenamiento se evita que el modelo memorice el set de entrenamiento, mejorando su capacidad de generalización y por tanto reduciendo el overfitting.

Contenido exclusivo suscriptores

Recuerda suscribirte para acceder al video con la explicación detallada de esta lección. Además podrás disfrutar de todos los cursos de la Academia Online

Conclusión

Muy bien, ya tenemos a nuestra disposición las principales técnicas de regularización que resultan muy útiles al momento de entrenar un modelo de Deep Learning.

Y hasta el momento hemos realizado el entrenamiento usando el algoritmo del gradiente descendente. Sin embargo, con el tiempo se han desarrollado variantes de este algoritmo que, en ciertas aplicaciones, pueden mejorar el proceso de entrenamiento de nuestros modelos de Deep Learning.

Así que en la próxima lección hablaremos de dos de estas: el gradiente descendente estocástico y mini-batch-gradient-descent.

Ver todas las lecciones de este curso