Algoritmo Básico De Una Red Neuronal (I)

No es fácil explicar un algoritmo básico de cómo funciona una red neuronal, paso a paso, de manera sencilla, sin tener que emplear rebuscadas fórmulas matemáticas. Sin embargo, este algoritmo se puede explicar mediante la aplicación del mismo a una red neuronal feedforward básica, que es el tipo de red más sencillo en el que las entradas viajan de la capa de entrada hacia la capa de salida, sin ciclos.

Vamos al lío:

Algoritmo Básico de una Red Neuronal

Este es el algoritmo general para una red neuronal con una capa de entrada, una capa oculta y una capa de salida:


Paso 1: Inicialización

  1. Inicializar pesos y sesgos aleatorios:
    • Los pesos (w) son valores que determinan la importancia de cada entrada para cada neurona.
    • Los sesgos (b) son valores que permiten ajustar la salida de las neuronas para que no dependa solo de las entradas.

    Los pesos y sesgos se inicializan aleatoriamente para comenzar el entrenamiento.

Paso 2: Propagación hacia adelante (Forward Propagation)

  1. Entrada de datos:
    • Las entradas (x) se pasan a la red neuronal. Si tenemos múltiples características (por ejemplo, x1, x2, … xn), cada una de estas características es una entrada para las neuronas de la capa de entrada.
  2. Cálculo de las salidas de las neuronas de la capa oculta: Cada neurona en la capa oculta realiza los siguientes cálculos:

    Donde:

    • z^{(1)} es el valor que se calcula al sumar los productos de las entradas (x) por sus pesos correspondientes, más el sesgo (b).
    • w^{(1)} son los pesos de la capa oculta.
    • b^{(1)} es el sesgo de la capa oculta.

    Luego, se aplica una función de activación (como ReLU o sigmoide) para generar la salida de cada neurona oculta:

    La función de activación introduce no linealidades en el modelo.

  3. Cálculo de las salidas de la capa de salida: El cálculo de la salida final de la red es similar al paso anterior. Tomamos las salidas de la capa oculta y las usamos para calcular la salida final:

    Y luego aplicamos la función de activación de la capa de salida (por ejemplo, sigmoide si es clasificación binaria):

    Donde:

    • z^{(2)} es la suma ponderada de las salidas de la capa oculta (a^{(1)}) y sus pesos (w^{(2)}).
    • a^{(2)} es la salida final de la red neuronal.

Paso 3: Cálculo del error (Función de pérdida)

  1. Calcular el error: El error se mide utilizando una función de pérdida (o función de coste), que compara la salida predicha por la red con el valor real o esperado (etiqueta).Si estamos trabajando en una tarea de clasificación (como reconocer si una imagen es de un gato o un perro), la función de pérdida podría ser la entropía cruzada:

    Donde:

    • y_{\text{real}} es el valor real o esperado.
    • a^{(2)} es la salida predicha por la red.

    En el caso de clasificación, se podría usar entropía cruzada, y en otros tipos de problemas (como regresión) podría usarse el error cuadrático medio (MSE).

Paso 4: Retropropagación (Backpropagation)

  1. Retropropagar el error: El error calculado en la capa de salida se retropropaga hacia atrás a través de la red para ajustar los pesos y sesgos. Este proceso de retropropagación utiliza el algoritmo de gradiente descendente para minimizar el error.
    • Se calcula el gradiente de la función de pérdida con respecto a los pesos y sesgos, que indica cómo cambiar los pesos para reducir el error.

    Para la capa de salida:

    • Esto se hace para cada capa, y luego se actualizan los pesos y sesgos en cada capa utilizando el gradiente descendente o un optimizador similar.

    Actualización de pesos y sesgos: Los pesos y sesgos se actualizan restando el gradiente multiplicado por una tasa de aprendizaje (α):

    Este paso se repite para cada capa, y los pesos y sesgos se ajustan en función de los errores pasados.

Paso 5: Repetir

  1. Iterar: Los pasos 2 a 4 se repiten muchas veces (en épocas o iteraciones) para ajustar gradualmente los pesos y sesgos, lo que permite que la red aprenda de los datos. En cada iteración, el modelo mejora su capacidad de hacer predicciones correctas.

Resumen del Algoritmo

  1. Inicializar los pesos y sesgos aleatoriamente.
  2. Propagar las entradas hacia adelante a través de la red (calcular las salidas de cada capa).
  3. Calcular el error de la salida utilizando la función de pérdida.
  4. Retropropagar el error a través de la red para ajustar los pesos y sesgos.
  5. Repetir el proceso para varias iteraciones (épocas) hasta que la red alcance un buen desempeño.

Insisto en que este es un algoritmo básico aplicable a una red neuronal, aunque en redes más complejas (como las redes profundas o deep learning), se agregan más capas y técnicas avanzadas de optimización.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *