Redes neuronales y Deep Learning

13 de junio de 2018
Sohrob Kazerounian
Distinguished AI Researcher
Redes neuronales y Deep Learning

¿Qué es el aprendizaje profundo?

El aprendizaje profundo se refiere a una familia de algoritmos de aprendizaje automático que pueden utilizarse para el aprendizaje supervisado, no supervisado y de refuerzo. Estos algoritmos se están popularizando tras muchos años en desuso. El nombre proviene de la constatación de que la adición de un número creciente de capas típicas en una red neuronal permite a un modelo aprender representaciones cada vez más complejas de los datos. Inspirado en la estructura y función biológicas de las neuronas del cerebro, el aprendizaje profundo se basa en grandes redes interconectadas de neuronas artificiales.

¿Qué son las redes neuronales?

Los modelos de redes neuronales artificiales se inspiran en los circuitos biológicos del cerebro humano. Las redes neuronales artificiales se crearon por primera vez para mostrar cómo los circuitos biológicos podían calcular o determinar los valores de verdad de las proposiciones de la lógica de primer orden. Las redes neuronales aprenden características relevantes de un conjunto de datos y construyen representaciones cada vez más complejas de esas características a medida que los datos fluyen hacia capas superiores de la red.

La comprensión de Warren S. McCullough y Walter Pitts de las redes neuronales

Warren S. McCullough y Walter Pitts demostraron cómo construir una serie de puertas lógicas que podían calcular los valores de verdad binarios. Las neuronas de su modelo son unidades individuales que integran la actividad de otras neuronas. Cada conexión entre neuronas se pondera para simular la eficacia sináptica, es decir, la capacidad de una neurona presináptica para activar una neurona postsináptica.

Aunque tuvieron en cuenta la secuencia temporal del procesamiento y quisieron incluir bucles de retroalimentación, sus modelos fueron incapaces de aprender o adaptarse.

neuronas y sus interconexiones & redes neuronales
Izquierda: Dibujo de las neuronas y sus interconexiones realizado por el neuroanatomista Ramón y Cajal.
Derecha: Dibujos de "redes neuronales" de McCullough y Pitts, diseñadas para procesar enunciados lógicos.

Explicación del aprendizaje en redes neuronales

Aunque existen varias reglas de aprendizaje para entrenar una red neuronal, en su forma más básica el aprendizaje puede concebirse de la siguiente manera: A una red neuronal se le presenta una entrada, y la actividad se propaga a través de su serie de neuronas interconectadas hasta alcanzar un conjunto de neuronas de salida.

Estas neuronas de salida determinan el tipo de predicción que hace la red. Por ejemplo, para reconocer dígitos manuscritos, podríamos tener 10 neuronas de salida en la red, una para cada uno de los dígitos entre 0-9. La neurona con mayor actividad en respuesta a una imagen de un dígito denota la predicción de qué dígito se ha visto. Al principio, los pesos entre las neuronas se fijan en valores aleatorios, y las primeras predicciones sobre qué dígito hay en una imagen serán aleatorias. A medida que se presenta cada imagen, los pesos pueden ajustarse para que sea más probable que la respuesta sea correcta la próxima vez que vea una imagen similar.

Ajustando los pesos de este modo, una red neuronal puede aprender qué características y representaciones son relevantes para predecir correctamente la clase de la imagen, en lugar de tener que predeterminar este conocimiento a mano.

Aunque cualquier procedimiento para actualizar los pesos de esta manera puede ser suficiente -por ejemplo, las leyes biológicas de aprendizaje, los algoritmos evolutivos y el recocido simulado-, el principal método utilizado hoy en día se conoce como retropropagación.

El algoritmo backprop, descubierto varias veces por diferentes investigadores a partir de los años 60, aplica de forma efectiva la regla de la cadena para deducir matemáticamente cómo cambia la salida de una red con respecto a los cambios en sus pesos. Esto permite a una red adaptar sus pesos según una regla de actualización de pesos basada en el descenso gradiente.‍

A pesar de que ya existen las reglas para que las redes neuronales funcionen y aprendan con eficacia, se necesitaron algunos trucos matemáticos más para llevar realmente el aprendizaje profundo a niveles de vanguardia.‍

Uno de los problemas que dificultaban el aprendizaje en las redes neuronales, especialmente en las redes profundas o multicapa, fue descrito matemáticamente por Sepp Hochreiter en 1991. Este problema se conocía como el problema del gradiente evanescente, con una cuestión dual que ahora se conoce como el problema del peso explosivo.

El análisis de Hochreiter motivó el desarrollo de una clase de red neuronal recurrente (RNN) conocida como modelo de memoria a corto plazo (LSTM), que es profunda en el tiempo, en lugar de profunda en el espacio. Las LSTM superaron muchas de las dificultades a las que se enfrentaban las RNN y, hoy en día, siguen siendo una de las técnicas más avanzadas para modelar datos temporales o secuenciales.

Además de los avances en hardware, como la proliferación de unidades de procesamiento gráfico (GPU) y la disponibilidad cada vez mayor de datos, las redes neuronales han funcionado tan bien gracias a inicializaciones de pesos más inteligentes, nuevas funciones de activación y mejores métodos de regularización.

Enfoque de Vectra AI para aplicar el aprendizaje profundo a la ciberseguridad

Vectra AI utiliza el aprendizaje profundo y las redes neuronales artificiales para construir representaciones complejas de características aprendidas y relevantes de un conjunto de datos. Dado que estas representaciones son aprendidas, en lugar de predeterminadas por los científicos de datos, son extremadamente potentes cuando se utilizan para resolver problemas muy complejos. Más información sobre la aplicación del aprendizaje profundo y automático deVectra AI.

Preguntas frecuentes