2.9 - La entropía cruzada: entrenamiento de la Neurona Artificial

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

Introducción

En la lección anterior vimos en detalle qué es y cómo funciona la Neurona Artificial, el elemento esencial de todas las arquitecturas de Deep Learning que veremos en este curso.

Pero nos quedaba planteada una incógnita, que era ¿cómo es posible lograr que la Neurona aprenda los coeficientes del modelo para realizar la clasificación binaria? Pues para responder a esta pregunta debemos hablar de la entropía cruzada y del proceso mismo de entrenamiento de la Neurona Artificial, que es precisamente el tema de esta lección.

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

Repaso: el entrenamiento en la Regresión Lineal

Recordemos que cuando hablamos de la Regresión Lineal, el entrenamiento consistía en obtener automáticamente los parámetros del modelo que minimizaran una función objetivo, que en ese momento denominamos como la “pérdida” y que en ese caso particular correspondía al error cuadrático medio. Además, el proceso de minimizar esta pérdida se lograba de forma automática usando el algoritmo del Gradiente Descendente.

La entropía cruzada: la pérdida en el caso de la Neurona Artificial

Pues en el caso de la Neurona Artificial podemos usar exactamente la misma lógica, pero con una aclaración importante: no podremos usar como pérdida el error cuadrático medio.

Lo anterior se debe a que en el caso de la Neurona Artificial tendremos únicamente datos de salida binarios en lugar de datos continuos (como era el caso de la Regresión Lineal).

Si usásemos el error cuadrático medio tendríamos una pérdida con múltiples mínimos locales (y no uno sólo) y por tanto el algoritmo del Gradiente Descendente no funcionaría adecuadamente.

Así que en el caso de la Neurona Artificial usamos una pérdida diferente, que se conoce como la entropía cruzada. Esta entropía cruzada tiene una definición matemática un poco más compleja (comparada con el error cuadrático medio), pero posee dos características deseables para el proceso de entrenamiento:

  1. Contiene un único mínimo, lo cual la hace ideal para su optimización usando el Gradiente Descendente
  2. Cuando el dato predicho se aleja del valor real, la pérdida es grandísima. Esto quiere decir que la entropía cruzada penaliza significativamente al modelo cuando comete errores, lo que a su vez también mejora el proceso de entrenamiento.

Entrenamiento de la Neurona Artificial

Habiendo definido la pérdida, y siguiendo la misma lógica usada en la Regresión Lineal, podemos resumir el proceso de entrenamiento en estos tres pasos:

  1. Inicializar los coeficientes del modelo de forma aleatoria y definir el número de iteraciones de entrenamiento (nits)
  2. Calcular la salida del modelo con estos coeficientes
  3. Calcular la pérdida usando la ecuación para la entropía cruzada
  4. Actualizar los valores de los coeficientes usando el algoritmo del Gradiente Descendente (o en su defecto el algoritmo del Gradiente Descendente estocástico con mini-batch)
  5. Repetir los pasos 2 a 4 por un número total de nits
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

Acabamos de ver cómo realizar el entrenamiento de la Neurona Artificial, que en esencia sigue la misma lógica de la Regresión Lineal con una excepción: en lugar de usar el error cuadrático medio, usaremos la entropía cruzada como pérdida durante el proceso de entrenamiento.

Con esto ya tenemos un procedimiento que permitirá calcular de forma automática (es decir aprender) los coeficientes del modelo para realizar la clasificación. Un aspecto importante a resaltar es que, con el modelo entrenado, la frontera de decisión obtenida será totalmente lineal (más adelante, cuando hablemos de Redes Neuronales veremos cómo lograr fronteras de decisión más complejas, con características no-lineales).

Y con estos conceptos claros ya estamos listos para la tercera práctica de esta sección, en donde veremos cómo implementar la Neurona Artificial en Keras.

Ver todas las lecciones de este curso