Cuando escuchamos el término Red Neuronal comúnmente pensamos en un complejo sistema biológico formado por neuronas. Pero, aquellos interesados en la ciencia de la computación seguro que han oído hablar de un complejo sistema en forma de grafo formado por nodos que sirve para resolver los problemas más complejos.

Este sistema, en la ciencia de la computación, también se denomina Red Neuronal. Principalmente, porque nació para intentar reproducir el funcionamiento del cerebro humano en un ordenador.

Este post es el primero de una serié de posts de redes neuronales en los cuales veremos su composición, tipos e
incluso veremos como evolucionaron en el campo del procesamiento de imágenes. También, me gustaría puntualizar que para entender correctamente su contenido, es necesario que el lector tenga nociones básicas en Python y Matemáticas.


Antes de lanzarnos a explorar diferentes redes, su funcionamiento y sus características. Primero, debemos de entender su composición. En este primer post de redes neuronales me centraré en explicar la unidad mínima de una red neuronal, el perceptrón.

Para poder explicarlo de una forma más sencilla y rápida, usaré un perceptrón simple, especializado en la clasificación de datos y utilizado comúnmente en aprendizaje supervisado. Estos conceptos, que os puedan sonar extraños, los entenderéis a medida que vayáis leyendo esta serie.

Y como bien dice el dicho, una imagen vale más que mil palabras.

Imágen de perceptrón

Y aquí estamos, yo enseñando diagramas que, para los ojos inexpertos, puede llegar a resultar muy confusos. Pero, no os preocupéis, ahora iremos repasando cada uno de los conceptos que se ven en el diagrama.


Datos de entrada

Imágen de perceptrón Como cualquier función en la programación o en matemáticas, necesitamos alimentarla con datos para que nos devuelva un resultado. En este caso, representamos los datos de entrada del perceptrón con los valores (X1, …, Xn). Estos datos siempre son numéricos, ya que un ordenador no entiende de palabras.

En el caso de que nuestro dataset solo estuviese compuesto por palabras, a cada palabra se le asignaría un número dentro del dominio de la clase, para facilitar su procesamiento.

Pesos sinápticos

Imágen de perceptrón Una vez que los datos entran en el perceptrón, son preprocesados por el mismo aplicándoles un peso sinápticos. En concreto, el peso sináptico es un número en coma flotante que multiplica al dato de entrada. En función de como se definan estos pesos sinápticos, el perceptrón realizará correctamente su función o no.

Para ello, durante el entrenamiento de la red neuronal, los pesos van cambiando para ir ajustando su funcionamiento.

Umbral

Imágen de perceptrón Si, para aquellos que pensaron que me faltaba algo por destacar en los diagramas anteriores, los diagramas anteriores están bien. La parte que “faltaba” destacar y está destacado en este diagrama comprende el umbral de funcionamiento.

Este, está compuesto por un valor de entrada X0 que siempre es -1 y un peso sináptico W0, siendo W0 el umbral. Este umbral se utiliza principalmente para eliminar posible ruido a procesar.

Sumatório

Imágen de perceptrón


Una vez que los datos sean preprocesados, se les aplica una función de sumatorio. En esta, se suman todos los datos preprocesados y, al estar entre ellos el umbral, se aplica este. Eliminando posibles ruidos o datos que no sean de interés.


Función de activación

Imágen de perceptrón Y aquí estamos, con otro de los componentes más importantes de un perceptrón, la función de activación. Como su nombre indica e igual que en la biología, es la función que determina si el dato que se obtiene del sumatorio activa o no al perceptron.

Es muy importante elegir correctamente la función de activación, ya que de ella depende lo que nos devuelve el perceptrón. Por ejemplo:

  • Si queremos clasificar nuestros datos de entrada entre dos posibles clases, lo correcto es elegir una función de activación signo o bipolar.
  • Si queremos que el perceptrón se active superando un cierto umbral, usaremos la función umbral.

Repasaremos las funciones más usadas en post posteriores. Pero, si sois impacientes, os dejo los nombres de las funciones más usadas:

  • Función de activación signo o bipolar.
  • Función de activación umbral.
  • Función de activación escalón.
  • Función de activación ReLu.
Datos de salida

Imágen de perceptrón


El último componente de este diagrama es el resultado del procesado del perceptrón. Este dato depende directamente de la función de activación como se definió en el apartado anterior.



Llegados a este punto, ya hemos repasado completamente que es y como está compuesto un perceptrón. Pero no he dado ningún ejemplo sólido de su funcionamiento ni ninguna fórmula para mejorar su entendimiento. Viendo que este post se está empezando a alargar mucho, dejaremos estas partes tan interesantes para la siguiente entrega de esta serié de posts. Pero antes, para no dejaros con la miel en la boca, al menos os dejaré la función matemática que representa el perceptrón.

Imágen de perceptrón