2.8 - La Neurona Artificial

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

Introducción

En la lección anterior vimos un ejemplo completo de cómo implementar y entrenar un modelo de Regresión Lineal en Keras. Con esto afianzamos todos los conceptos y herramientas de programación esenciales para el resto del curso.

Así que ya estamos listos para comenzar a profundizar en todos los conceptos relacionados con el Deep Learning. Precisamente en esta lección hablaremos del bloque fundamental de cualquier arquitectura del Deep Learning: hablaremos en detalle de la Neurona Artificial. Y para entender esto veremos esta Neurona Artificial en el contexto de un problema de clasificación, conocido como la Regresión Logística.

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

El problema a resolver

Supongamos que tenemos un set de datos que contiene información de un grupo de estudiantes, en donde para cada uno se indican las horas de sueño y las horas de estudio, así como el puntaje obtenido en un examen (que puede ser “alto” o “bajo”).

Si dibujamos la distribución de cada dato en un gráfico bidimensional vemos que esencialmente existen dos agrupaciones: un grupo de estudiantes que tiene puntajes altos y otro con puntajes bajos.

El objetivo es entonces crear un modelo capaz de predecir si el puntaje obtenido por un estudiante (dadas las horas de sueño y las horas de estudio) será alto o bajo. Es decir que queremos crear básicamente un modelo que clasifique el dato de entrada en una de dos posibles categorías, y esto se conoce precisamente como una tarea de clasificación binaria (aunque históricamente se le ha llamado Regresión Logística).

Una solución intuitiva

Si analizamos la gráfica de la distribución del set de datos, intuitivamente podríamos decir que este problema de clasificación se reduce a encontrar una recta que divida los datos en las dos agrupaciones deseadas. Si logramos encontrar esta recta podremos realizar la clasificación de forma sencilla: si el dato está “por encima” de la recta el puntaje será “alto”, y si está “por debajo” el puntaje será “bajo”. Veamos cómo formalizar esto en un modelo de Regresión Logística

Formalización de la Regresión Logística

En adelante denominaremos como frontera de decisión a la recta que separa las dos agrupaciones.

Esta frontera de decisión dependerá de las dos variables de nuestro modelo. Al escribir la ecuación para esta frontera de decisión encontraremos una ecuación muy similar a la que usamos en su momento en la Regresión Lineal.

Así, todos los valores que satisfagan la ecuación anterior (es decir que al reemplazarlos generen valores iguales a 0) corresponderán a puntos ubicados exactamente en la frontera de decisión.

Por otra parte, los puntos que al ser reemplazados en la ecuación anterior generen valores positivos serán asignados a la categoría de puntajes “altos”; mientras que los puntos que generen valores negativos serán asignados a la categoría de puntajes “bajos”.

Y con esto ya tenemos nuestro modelo básico de Regresión Logística (o clasificación binaria):

  1. Tendrá un par de entradas y una salida
  2. Para obtener la salida el modelo procesa las entradas de la siguiente manera:
    • Aplica una transformación lineal
    • Realiza la clasificación comparando la transformación con un umbral, en este caso verificando si el resultado de la transformación lineal es mayor o menor que 0.

Para lograr separar correctamente los datos en cada una de las dos categorías, nuestro modelo deberá aprender un total de tres parámetros.

Los elementos descritos en el paso (2) se conocen precisamente como el perceptrón, que resulta siendo el precursor de la Neurona Artificial. Veamos en detalle las características de este perceptrón.

El perceptrón en detalle

Esta arquitectura básica conocida como el perceptrón fue desarrollada en el año 1958, y en esencia involucra dos etapas:

  1. Transformación: en esta etapa el perceptrón toma el dato de entrada y lo mapea a un espacio de menos dimensiones.
  2. Función no lineal: el dato de entrada transformado es procesado por una función no-lineal (en este caso la función escalón) que permite determinar si el valor de la transformación es positivo (categoría “puntaje alto”) o negativo (categoría “puntaje bajo”)

La neurona artificial

La neurona artificial es simplemente una evolución del perceptrón. En esencia realiza el mismo tipo de transformación, pero en lugar de usar la función escalón usa una función continua y derivable como por ejemplo la función sigmoidal, que sigue siendo una función no-lineal. En adelante llamaremos a esta función no-lineal, continua y derivable, la función de activación.

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 usando el perceptrón podemos resolver un problema de clasificación binaria (o regresión logística). Pero, más importante aún, acabamos de ver el bloque fundamental de todas las arquitecturas de Deep Learning existentes en la actualidad: la neurona artificial.

Esencialmente esta neurona artificial es la combinación de dos elementos: una transformación seguida de una función de activación.

Pero si volvemos al proceso de transformación nos queda una incógnita por resolver: ¿cómo obtener los parámetros de esta transformación? En la siguiente lección resolveremos esta duda, pues hablaremos precisamente de la entropía cruzada y el entrenamiento de la neurona artificial.

Ver todas las lecciones de este curso