Redes neuronales: Nodos y capas ocultas

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.

  1. 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$.

  2. 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.

  3. 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.

¿Cuántos parámetros (pesos y sesgos) hace que tienen los modelos de red?
4
Nuestro modelo original del ejercicio 1 tuvo cuatro parámetros: w11, w21, w31 y b. Debido a que este modelo contiene capa oculta, hay más parámetros.
12
Ten en cuenta que la cantidad total de parámetros incluye ambos. que se usa para calcular los valores del nodo en la capa oculta a partir del los valores de entrada y los parámetros usados para calcular el valor de salida de los valores del nodo en la capa oculta.
16
Ten en cuenta que la cantidad total de parámetros incluye tanto la ponderación parámetros de sesgo.
21
Se utilizan 4 parámetros para calcular cada uno de los 4 valores de nodo en la capa oculta; 3 pesos (uno para cada valor de entrada) y una sesgo, que suma 16 parámetros. Luego, se usan 5 parámetros para calcular el valor de salida: 4 ponderaciones (una para cada nodo en el capa oculta) y un sesgo. En total, esta red neuronal tiene 21 parámetros.

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?

Haz clic en cada nodo de la capa oculta y en el nodo de salida. y revisa los cálculos a continuación. ¿Qué notas todos estos cálculos?
No

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.