Redes neuronales profundas, o Perceptron contra los perros y gatos
Muchos de nosotros hemos visto algún rostro transformado con la aplicación FaceApp o el video falso del Presidente Obama, son impresionantes. Como impresionante es escuchar que modelaron tiempos verbales de 1,000 idiomas, que prótesis son controladas por un programa que recibe señales eléctricas musculares, o que jueces en Estados Unidos causan controversia con sistemas para predecir si un candidato a libertad bajo fianza volverá a delinquir.
En alguna parte de la noticia sobre estas aplicaciones siempre leemos o escuchamos que son resultado del uso del aprendizaje con redes neuronales profundas (Deep Learning), tecnología que es ya factor de éxito para grandes empresas y cuyo potencial hace que los países más poderosos anuncien estrategias para ser la vanguardia en su desarrollo.
Qualitative results of full-head reeanacment. ACM Transactions of graphics
Las redes neuronales profundas son el avance más reciente del aprendizaje de máquina, la rama de la Inteligencia Artificial que se encarga del descubrimiento de patrones y relaciones en los datos para hacer predicciones o tomar decisiones. Desde el inicio de su auge en 2012, las redes neuronales profundas están detrás de sistemas avanzados de reconocimiento facial, la creación de textos por una computadora, la conducción de los vehículos autónomos y del sistema AlphaGo que venció al campeón mundial de Go en 2016 (lee nuestro artículo sobre el tema).
Parte del gran éxito de las redes neuronales profundas se debe a que pueden utilizarse en actividades que parecieran ser muy diferentes, pero que en realidad corresponden al mismo tipo de problema, llamado clasificación en el aprendizaje de máquina.
Cuando queremos saber qué movimiento debe realizar la prótesis ante ciertas señales musculares, si una imagen es de un perro o de un gato, o predecir si una persona volverá a delinquir, nuestro objetivo es clasificar cada caso en una categoría. En el primero queremos determinar qué categoría de movimiento corresponde el conjunto de señales musculares, en el segundo si la imagen es de la categoría perro o gato, y en el tercero si la respuesta es de la categoría sí o no.
Las redes neuronales “aprenden” a asignar una categoría a partir de miles y miles de ejemplos que contienen algunos datos escogidos (atributos) y la categoría en la que está clasificado el ejemplo. Durante su “entrenamiento”, sin que le definamos previamente alguna regla, las redes neuronales encuentran patrones y relaciones en los atributos de los ejemplos de cada categoría. Dichos patrones y relaciones son utilizados para clasificar nuevos ejemplos.
El primer algoritmo de este tipo fue implementado por Frank Rosenblatt en la década de 1950 utilizando un aparato con circuitos eléctricos y controles mecánicos. El psicólogo norteamericano bautizó su proyecto como Perceptrón, y tenía un diseño basado en el funcionamiento de las neuronas del cerebro, que reciben señales a través de sus dendritas y, en respuesta a ciertas combinaciones de ellas, emiten señales por las sinapsis.
Todos estos problemas superaron durante mucho tiempo la capacidad de la tecnología, por lo que las redes neuronales dejaron de ser de interés para los investigadores. Fue hasta 2012, cuando Geoffrey Hinton, un investigador de origen británico, encabezó un equipo que arrasó en una competencia de visión computarizada con un modelo de redes neuronales con varias capas, que recibió por eso el nombre de red neuronal profunda.
En estas redes los atributos se reciben en la primera capa de neuronas, cada neurona con su propio conjunto de valores para los pesos de los atributos. Los resultados de la primera capa son los insumos de la segunda, también con sus propios pesos, y así hasta llegar a la capa final de las categorías en que puede clasificarse. Este modelo detecta patrones y relaciones en los atributos que permiten hacer clasificaciones tan complicadas como qué tanto debe acelerar o frenar un vehículo autónomo dependiendo de la categoría de camino que corresponde a la imagen que capta la cámara al frente (recto, curvo, ascendente, descendente, etc.).

El modelo de 2012 utilizaba por primera vez un algoritmo de retro propagación de errores para ajustar automáticamente los pesos de forma que cada ajuste acercara a la solución. El algoritmo, cuyas fórmulas investigaba Hinton desde la década de 1980, recorre la red con los valores de los atributos de un ejemplo, compara los resultados con el valor correcto de las categorías y regresa ajustando en cada capa los pesos que más contribuyeron al error para reducirlo. Los pesos ajustados son utilizados para el siguiente ejemplo y el ciclo se repite hasta que se terminan los ejemplos o el valor de los pesos ya no cambia.
Este fue el avance que desató la revolución, pues permitió que el aprendizaje de redes neuronales profundas con múltiples capas, decenas o cientos de ellas, cada una formada por cientos o miles de neuronas, pudiera hacerse de manera automática a gran velocidad, sólo limitada por la capacidad del equipo de cómputo.
Hoy en día sistemas de aprendizaje profundo alcanzan resultados que superan los que un ser humano puede lograr en cada vez más actividades, además de incentivar la exploración permanente de aplicaciones en nuevos campos que están transformando industrias y economías. Esto gracias al uso de múltiples unidades de procesamiento gráfico (originalmente diseñadas para juegos, pero que resultaron muy efectivas para hacer estos cálculos), modelos de redes en las que neuronas se conectan con otras de la misma capa o de capas anteriores, así como millones de ejemplos para el aprendizaje.
Ante esto, no hay duda de que el aprendizaje profundo marcará un hito en la historia de la inteligencia artificial. Finalmente, en la batalla de la clasificación, Perceptrón ha derrotado a los perros y gatos.
Para recordar:
Aprendizaje de máquina. Rama de la Inteligencia Artificial que se encarga del descubrimiento de patrones y relaciones en los datos para hacer predicciones o tomar decisiones.
Aprendizaje profundo. Técnica del aprendizaje de máquina que hace uso de redes neuronales profundas para resolver problemas de clasificación.
Clasificación. Técnica del aprendizaje de máquina en la que, a partir de miles y miles de ejemplos con atributos y la categoría en la que está clasificado cada ejemplo, encuentra patrones y relaciones para clasificar nuevos ejemplos.
Redes neuronales profundas. Modelo de neuronas conectadas formado por una capa que recibe los atributos, varias capas de neuronas conectadas entre sí y una capa final de categorías.
¿Te gustó este artículo? Lee otros artículos de nuestro blog IF Inteligencia Futura aquí.