Aprendizaje por capas

Aprendizaje por capas de redes neuronales

El aprendizaje por capas de redes neuronales es la base del Deep Learning pero para hablar de ello debemos contextualizar que es el Deep Learning y donde se encuadra.

La inteligencia artificial surge en la década de 1950 como respuesta a la pregunta de si las computadoras podían reproducir el pensamiento humano. Esta ciencia es bastante amplia e incluye el estudio del razonamiento lógico, los algoritmos de búsqueda y también las ramas de Machine Learning y Deep Learning.

El Machine Learning es un campo de la Inteligencia Artificial que engloba un conjunto de técnicas que permiten a las computadoras aprender sin la necesidad de una programación previa. Esto se realiza mediante la exposición a gran cantidad de datos y la extracción de patrones.

El Deep Learning es a su vez un subcampo del Machine Learning basado en las redes neuronales organizadas en diferentes capas como medio de aprendizaje para las computadoras. Esta rama se basa en dos conceptos que se detallarán a continuación.

Redes neuronales

Las redes neuronales son un modelo computacional formado por elementos (neuronas) interconectados que intercambian señales entre sí. Los datos suministrados como entrada en la red, sufren una serie de transformaciones para producir una salida diferente a la entrada. Estas neuronas artificiales simulan el comportamiento de las neuronas reales de nuestro cerebro.

Cada neurona tiene una estructura similar a la siguiente:

neurona artificial

Donde destacan los siguientes elementos:

  • El vector x1, x2… xn representa los datos de entrada en la neurona.
  • El término x0 representa el sesgo y se le suma a los datos de entrada.
  • El vector w0, w1 … wn  son los pesos relativos a cada entrada.
  • “a” es la salida de la neurona y es calculada mediante la fórmula:
  • f es la función de activación y puede ser de tipo lineal o no lineal.

Propagación hacia atrás

Se trata de un algoritmo que trata de minimizar el error de la salida de cada neurona. Una vez se obtiene la salida de la red se calcula como de distante es al resultado esperado y ese error se propaga hacia atrás en la red, cambiando así los pesos de las neuronas y consiguiendo un resultado óptimo.

De esta manera, una red neuronal tendría el siguiente aspecto, donde las neuronas se organizan en capas y las neuronas de una capa solo pueden conectarse con las de la capa inmediatamente anterior o posterior. De esta manera la información se propaga con el objetivo de que la red aprenda por sí sola, solucionando las limitaciones de la programación convencional.

red neuronal

Funcionamiento general del aprendizaje por capas de redes neuronales

Las técnicas de Machine Learning y por lo tanto las de Deep Learning tienen como objetivo realizar una asignación de una entrada a una salida a través de la exposición a una gran cantidad de ejemplos. Un ejemplo sería la exposición a una imagen y que la red neuronal diese como resultado que la imagen se trata de una pelota de tenis.

 

Esta red neuronal está formada por múltiples capas de neuronas donde las salidas de las neuronas de una capa se convertirán en las entradas de las neuronas de la capa siguiente. De esta manera, la información de entrada va sufriendo transformaciones a lo largo de las capas hasta ofrecer un resultado.

Las transformaciones que se realizan en cada capa dependen de los pesos asociados a cada neurona vistos anteriormente, por lo que el objetivo debe ser encontrar los pesos que posibilitan un mapeo perfecto entre las entradas y las salidas reales.

Una vez que se realiza una iteración en la red se obtiene una salida, pero se debe observar cuanto de lejos está del resultado esperado y eso es obtenido mediante la función de pérdida. En este punto entra en juego la propagación hacia atrás y es que ese error se propaga hacia atrás en la red, modificando los pesos de las neuronas de manera que con el siguiente ejemplo la solución obtenida será más precisa que la anterior. La solución óptima por tanto, se alcanzará pasadas n iteraciones.

Close Bitnami banner
Bitnami