El blog de Machine Learning

Inteligencia Artificial y Matemáticas. Parte 1: Anatomía de una Red Neuronal

 

“Al afirmar verbalmente que las Matemáticas son difíciles, estamos diciéndolo con  un lenguaje  cuya sintaxis es tan compleja, no mas, no menos, que aquella que gobierna las matemáticas” 

 

neural network

Las redes neuronales (DNN) son uno de los modelos de aprendizaje de máquina mas utilizados hoy en día. DNN se puede visualizar como un conjunto de nodos y líneas conformando una red, ver figura 1. Su similitud con la organización de las neuronas en el cerebro es evidente, pero este tema lo abordaré mas adelante.

 

neural network

Figura 1. Esquema  simplificado de Red Neuronal Profunda (DNN)

 

 

En una red neuronal, dos nodos y una línea corresponden a una unidad básica del modelo y son una representación gráfica de una función matemática de tipo:

 

f(x) = k.x

 

Para la figura 2, la variable de entrada (x) corresponde al nodo verde, la variable de salida  f(x) al nodo azul y la línea que las une corresponde a la constante k:

 

 

neural node

Figura 2. Unidad fundamental de una DNN

 

 

Toda función matemática puede visualizarse como una caja que recibe uno o varios elementos de entrada y entrega un único elemento de salida:

 

 

math function

Figura 3. Representación gráfica de una función matemática

 

 

La función “f ” es una relación matemática entre una o mas variables de entrada y una variable de salida.

Así, la función:

 

f(x) = 3.x

 

toma valores de entrada x, los multiplica por 3 y entrega valores de salida f(x):

 

 

function

Figura 4. Elementos de entrada (x) y salida  f(x)  definidos por la función f

 

 

El valor “3” sobre cada flecha corresponde al valor de la constante (parámetro de la función) que caracteriza la misma en cada caso.

En la red neuronal de la figura 1, cada elemento de salida corresponde a la suma de varias funciones, cada una con su propio parámetro que la define:

 

three variable function

Figura 5. Función con tres variables de entrada y una variable de salida

 

 

A modo ilustrativo, trabajemos sobre algunos nodos y líneas de la Red Neuronal mencionada arriba, ver Figura 6.

 

Partial neural network

 

Figura 6. Detalle parcial de una red Neuronal

 

 

 

Para estos elementos de la red, podemos definir una función:

 

f(Xi) = Sum(Ki.Xi)

 

Esto es, la salida f(Xi) (nodo naranja) corresponde a la sumatoria de las variables de entrada multiplicadas cada una por su constante correspondiente (parámetro de la función).

Lo que el ejemplo anterior nos evidencia es que si pre-definimos valores para los 32 parámetros (valores del total de líneas de enlace de la Red Neuronal) y contamos con los valores de las tres variables de entrada (Input Layer), podemos ir encadenando de izquierda a derecha los resultados de las funciones, convirtiéndose  la salida de una función en la entrada de la siguiente, hasta obtener los valores de la última salida (Output Layer).

Esta operación se conoce como “Forward Propagation”, que para modelos entrenados (parámetros con valores asignados), permite que se puedan evaluar o clasificar entidades de  entrada, siendo esta evaluación la salida calculada del modelo.

El siguiente artículo lo dedicaré a un ejemplo ilustrativo de la teoría expuesta.

 

Inteligencia Artificial
Redes neuronales