Orlando Rodríguez
“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”
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.
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 del 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:
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:
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):
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:
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.
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 , o 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 blog lo dedicaré a un ejemplo ilustrativo de la teoría expuesta.