Las matemáticas del Machine Learning: el mecanismo de Backprogation

Fran Ramírez    25 junio, 2020

Ya hemos hablado anteriormente sobre Backpropagation, primera parte aquí y la segunda aquí. Este fue uno de los grandes avances que impulsaron el mundo de la Inteligencia Artificial y en concreto, las redes neuronales. Dicho algoritmo apareció por primera vez en 1974 por Werboz, el cual lo introdujo en su tesis doctoral, aunque bien es cierto que hasta el 86 no tuvo un mayor reconocimiento. Con la propagación hacia atrás se conseguía evitar el problema del o-exclusivo que tenía el Perceptrón. Es un algoritmo de aprendizaje supervisado que se utiliza mayormente para entrenar redes neuronales artificiales. Durante los años 80 este algoritmo fue mejorado para ser un sistema automático de entrenamiento de redes neuronales con capas ocultas. Básicamente el mecanismo es que una vez que se le aplica un patrón a la entrada de la red como estímulo, este se propaga desde la primera capa, hasta la última, hasta generar una salida, la cual se compara con la salida deseada. Una vez tenemos la comparación de ambas se calcula una señal de error para cada una de las salidas.

A rasgos generales el sistema de entrenamiento consiste en dos fases, la primera sigue estos pasos:

  • Introducción de pesos sinápticos (aleatorios).
  • Introducción de datos de entrada (capa de entrada) elegidos al azar entre todos los datos de entrada.
  • Esperar una salida generada por la red (propagación hacia delante)
  • Comparar salidas.
Figura 10. Ejemplo gráfico de Backpropagation
Figura 10. Ejemplo gráfico de Backpropagation. Fuente.

La segunda fase una vez comparadas las salidas obtenidas con las deseadas/esperadas, se calcula su diferencia y sigue los siguientes pasos:

  • El error (diferencia entre las salidas) se utiliza para ajustar los pesos sinápticos de cada capa de neuronas.
  • El error se va propagando hacia atrás, hacia las capas anteriores, comienza por la capa de salida y va yendo hacia atrás, de ahí su nombre back-propagation, hacia la capa de neuronas anterior.

Continua propagándose hacia atrás capa por capa, ajustando los diferentes pesos sinápticos hasta llegar a la última capa, o primera según se mire, la capa de entradas.

¿Cuáles son las grandes características que lo diferenciaban con otros algoritmos de la época?

  1. Se basa en una generalización de la Regla Delta (la cual es una variante del método de descenso por el gradiente).
  2. Estructura de niveles y conexiones estricta hacia atrás entre neuronas.

El gran avance que supuso este algoritmo de aprendizaje es que dadas unas entradas y salidas, es capaz de autocorregirse, de adaptar los pesos de las neuronas de las capas intermedias y aprender/entender la relación que pueda existir entre el conjunto de entradas y salidas.

Como hemos mencionado anteriormente el algoritmo backpropagation o propagación hacia atrás fue introducido por Werbos en su tesis doctoral de 1976, pero fueron David E. Rumelhart y James McClelland quienes en 1986 gracias a los avances computacionales de la época comenzaron a fomentarlo en su libro, donde además consiguieron promover el movimiento del “conexionismo”. También mencionar el gran avance que supuso la creación del grupo PDP (Parallel Distributed Processing), gracias al cual resurgió buena parte del campo en redes neuronales desde la publicación de Minsky y Papert.

Figura 11. Marvin Minsky (izquierda) y Seymourt Papert. Fuente.
Figura 11. Marvin Minsky (izquierda) y Seymourt Papert. Fuente.

Por último nos gustaría mencionar y explicar más adelante, (quien sabe si en el siguiente artículo) otras grandes aportaciones de esta época:

Con estas últimas aportaciones llegaríamos a los 90, donde el campo de las redes neuronales y la inteligencia artificial comenzaría su gran expansión y avance, un avance que crece exponencialmente hasta nuestros días gracias al poder computacional de los ordenadores. Las redes neuronales permiten hoy día, entre otras cosas:

  • Investigación en campos como la medicina mediante el análisis de grandes datos.
  • Inversión en mercados.
  • Estudio y predicción de sucesos.
  • Reconocimiento de patrones.
  • Visión artificial
  • Etc

Hoy día, con el Machine Learning y el Deep Learning, las redes neuronales están máxima actualidad. De hecho, el número de investigaciones y nuevos papers científicos está en contínuo movimiento. Quizás una de las investigaciones relacionadas con las redes neuronales y el Deep Learning han sido las GANs o Generative Adversarial Networks. Esta nueva arquitectura ha revolucionado para siempre el mundo de la Inteligencia Artificial, ya que ha abierto un nuevo campo de exploración. Hasta ahora, sólo podíamos clasificar y predecir, pero gracias a las GANs podemos generar nuevo contenido. Temas tan de moda como los DeepFakes o incluso la generación de obras de arte imitando a artistas famosos son consecuencia de esta gran investigación desarrollada por Ian Goodfellow.

Como vemos, esto no ha hecho más que empezar. Seguro que veremos más avances espectaculares en los próximos años o incluso meses. Estaremos atentos.

No os perdáis el resto de esta serie de “Matemáticas y el Machine Learning“:

Escrito para LUCA por Fran Fenoll (@ffenoll16), Fran Ramírez (@cyberhadesblog y @cybercaronte) y Enrique Blanco (@eblanco_h) (ambos del equipo de Ideas Locas CDCO de Telefónica).

Deja un comentario

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