Blog
Blog

Entrenamiento de redes neuronales artificiales – Parte II

El auge en los últimos años de las técnicas de Machine Learning en Inteligencia Artificial, nos ha llevado en nuestro anterior post a hacer una pequeña introducción sobre qué son las redes neuronales artificiales y cómo entrenarlas para obtener información de valor. A continuación, vamos a hacer un análisis un poco más detallado sobre en qué consiste el entrenamiento de este tipo de redes.

 

Algoritmo de propagación hacia atrás en redes neuronas artificiales

El proceso de entrenamiento de las redes neuronales se realiza mediante un algoritmo denominado propagación hacia atrás, que ya comentamos en nuestra entrada sobre ¿Qué es Machine Learning?. Se llama así porque para realizar el entrenamiento es necesario:

 

  1. Propagar los datos de entrada a través de la red para obtener una predicción. 
  2. Calcular el error respecto a la salida esperada.
  3. Recorrer hacia atrás la red propagando ese error de tal manera que las neuronas que más importancia han tenido en el cálculo del resultado final se vean más afectadas y por lo tanto se modifiquen más que el resto.

 

Para realizar este ajuste se utiliza el método de descenso de gradiente. Sin embargo, este método fallaba al usarse con redes neuronales con muchas capas. En 1991 Hochreiter identificó los dos principales problemas que se daban al utilizar esta técnica de entrenamiento:

 

  • Desvanecimiento de gradiente: Cuando existen muchas capas, es muy probable que el valor del gradiente al llegar a las primeras capas de la red sea muy próximo a cero, por lo que la variación de los pesos es muy pequeña. Esto supone dos problemas: el primero es que se tarda mucho en entrenar la red y el segundo es que al no estar bien entrenadas las primeras capas, estos errores se arrastran a lo largo de toda la red.
  • Explosión de gradiente: En determinados casos se puede producir el caso contrario haciendo que los valores de los pesos aumenten sin control, evitando que la red se pueda entrenar correctamente.

Para solucionar los problemas que se encontraron en el método de descenso de gradiente en 2009 se popularizó una función de activación llamada ReLU (Rectified Linear Unit). Debido a las características intrínsecas de dicha función, se consiguió que los modelos se entrenasen mucho más rápido y que las neuronas se especialicen más en extraer información relevante, teniendo como resultado redes neuronales con mayor poder predictivo.

 

Esto son solo uno de los muchos motivos que hicieron que el uso de las redes neuronales artificiales y el aprendizaje profundo sean tan populares en la actualidad. En la próxima entrada del blog, hablaremos de esta gran revolución y de cómo nació el Deep Learning. 

 

 es Científico de datos, ingeniero de I+D

Conectar con Óscar en LinkedInContactar con Óscar en LinkedIn