Para construir una red neuronal que aprenda no linealidades , comience con la siguiente estructura de modelo familiar: un modelo lineal de la forma $y' = b + w_1x_1 + w_2x_2 + w_3x_3$.
Podemos visualizar esta ecuación como se muestra a continuación, donde $x_1$, $x_2$ y $x_3$ son nuestros tres nodos de entrada (en azul) e $y'$ es nuestro nodo de salida (en verde).
Ejercicio 1
En el modelo anterior, los valores de ponderación y sesgo se inicializaron aleatoriamente. Realice las siguientes tareas para familiarizarse con la interfaz y explorar el modelo lineal. Puede ignorar el menú desplegable "Función de Activación" por ahora; abordaremos este tema más adelante en este módulo.
Haga clic en el botón Reproducir (▶️) sobre la red para calcular el valor del nodo de salida para los valores de entrada $x_1 = 1.00$, $x_2 = 2.00$ y $x_3 = 3.00$.
Haga clic en el segundo nodo de la capa de entrada y aumente el valor de 2,00 a 2,50. Observe que el valor del nodo de salida cambia. Seleccione los nodos de salida (en verde) y revise el panel Cálculos para ver cómo se calculó el valor de salida.
Haga clic en el nodo de salida (en verde) para ver los valores de los parámetros de ponderación ($w_1$, $w_2$, $w_3$) y sesgo ($b$). Disminuya el valor de ponderación para $w_3$ (tenga en cuenta que el valor del nodo de salida y los cálculos a continuación han cambiado). Luego, aumente el valor de sesgo. Revise cómo estos cambios han afectado la salida del modelo.
Añadiendo capas a la red
Tenga en cuenta que al ajustar los valores de ponderación y sesgo de la red en el Ejercicio 1 , no se modificó la relación matemática general entre la entrada y la salida. Nuestro modelo sigue siendo lineal.
Pero ¿qué pasa si añadimos otra capa a la red, entre la capa de entrada y la de salida? En la terminología de las redes neuronales, las capas adicionales entre la capa de entrada y la de salida se denominan capas ocultas , y los nodos de estas capas se denominan neuronas .
El valor de cada neurona en la capa oculta se calcula de la misma manera que la salida de un modelo lineal: se toma la suma del producto de cada una de sus entradas (las neuronas de la capa de red anterior) y un parámetro de ponderación único, más el sesgo. De forma similar, las neuronas de la siguiente capa (en este caso, la capa de salida) se calculan utilizando los valores de las neuronas de la capa oculta como entradas.
Esta nueva capa oculta permite a nuestro modelo recombinar los datos de entrada utilizando otro conjunto de parámetros. ¿Puede esto ayudar a nuestro modelo a aprender relaciones no lineales?
Ejercicio 2
Hemos agregado una capa oculta que contiene cuatro neuronas al modelo.
Haga clic en el botón Reproducir (▶️) sobre la red para calcular el valor de los cuatro nodos de la capa oculta y el nodo de salida para los valores de entrada $x_1 = 1.00$, $x_2 = 2.00$ y $x_3 = 3.00$.
Luego explora el modelo y úsalo para responder las siguientes preguntas.
Intente modificar los parámetros del modelo y observe el efecto en los valores de los nodos de la capa oculta y el valor de salida (puede revisar el panel Cálculos a continuación para ver cómo se calcularon estos valores).
¿Puede este modelo aprender no linealidades?
Si hace clic en cada uno de los nodos de la capa oculta y revisa los cálculos a continuación, verá que todos son lineales (incluyen operaciones de multiplicación y suma).
Si hace clic en el nodo de salida y revisa el cálculo a continuación, verá que este también es lineal. Los cálculos lineales realizados sobre la salida de cálculos lineales también lo son, lo que significa que este modelo no puede aprender no linealidades.