Crear una red neuronal que aprende no linealidades comiencen con la siguiente estructura de modelo conocida: modelo lineal con la forma USD 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 los tres nodos de entrada (en azul), y $y'$ es el nodo de salida. (en verde).
Ejercicio 1
En el modelo anterior, el peso y los valores de sesgo se asignaron de forma aleatoria antes de que se inicialice. Realiza las siguientes tareas para familiarizarte con el y explorar el modelo lineal. Puedes ignora el menú desplegable Activation Function por ahora; discutiremos esto más adelante en el módulo.
Haz clic en el botón Reproducir (▶️) arriba de la red para calcular el valor de el nodo de salida para los valores de entrada $x_1 = 1.00$, $x_2 = 2.00$ $x_3 = 3.00$.
Haz clic en el segundo nodo de la capa de entrada y aumenta el valor de 2.00 a 2.50. Ten en cuenta que cambia el valor del nodo de salida. Selecciona el resultado nodos (en verde) y revisa el panel Cálculos para ver cómo la salida se calculó el valor.
Haz clic en el nodo de salida (en verde) para ver el peso ($w_1$, $w_2$, $w_3$). sesgo ($b$) del parámetro. Disminuye el valor del peso para $w_3$ (recuerda que el valor del nodo de salida y los cálculos que se muestran a continuación) cambiaron). Luego, aumenta el valor de sesgo. Revisa cómo estos cambios afectaron la salida del modelo.
Agregar capas a la red
Ten en cuenta que cuando ajustaste los valores de ponderación y sesgo de la red en Ejercicio 1, que no cambió los valores matemáticos generales relación entre la entrada y la salida. Nuestro modelo sigue siendo lineal.
¿Qué sucede si agregamos otra capa a la red entre la capa de entrada y la de salida? En la terminología de 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 Resultado de un modelo lineal: Toma la suma del producto de cada una de sus entradas (las neuronas en la capa de red anterior) y un parámetro de peso único, además del sesgo. De forma similar, las neuronas en la capa siguiente (aquí, la capa de salida) se calculan con los valores de las neuronas de la capa oculta como entradas.
Esta nueva capa oculta permite a nuestro modelo recombinar los datos de entrada usando otro conjunto de parámetros. ¿Puede esto ayudar a nuestro modelo a aprender relaciones no lineales?
Ejercicio 2
Agregamos una capa oculta que contiene cuatro neuronas al modelo.
Haz clic en el botón Reproducir (▶️) arriba de la red para calcular el valor de entre 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.
Intenta modificar los parámetros del modelo y observa el efecto en el de los nodos de la capa oculta y el valor de salida (puedes revisar Panel de cálculos a continuación para ver cómo se obtuvieron estos valores calculada).
¿Puede este modelo aprender no linealidades?
Si haces clic en cada uno de los nodos de la capa oculta y revisas los siguientes cálculos, verás que todos son lineales (que comprende operaciones de multiplicación y suma).
Si haces clic en el nodo de salida y revisas el cálculo, verás que este cálculo también es lineal. Lineal los cálculos realizados sobre el resultado de los cálculos lineales también lineal, lo que significa que este modelo no puede aprender no linealidades.