Redes neuronales: Ejercicios interactivos

En los ejercicios interactivos de más abajo, explorarás más el funcionamiento interno de las redes neuronales. Primero, verás cómo cambian los parámetros y los hiperparámetros afectar las predicciones de la red. Luego, usarás lo que aprendiste para entrenar un de una red neuronal prealimentada para que se ajuste a datos no lineales.

Ejercicio 1

El siguiente widget configura una red neuronal con la siguiente configuración:

  • Capa de entrada con 3 neuronas que contienen los valores 0.00, 0.00 y 0.00
  • Capa oculta con 4 neuronas
  • Capa de salida con 1 neurona
  • Función de activación ReLU aplicada a todos los nodos de la capa oculta y el nodo de salida

Revisa la configuración inicial de la red (Nota: No hagas clic en el botón ▶️ ni en >|) y, luego, completa las tareas que aparecen debajo del widget.

Tarea 1

Todos los valores para los tres atributos de entrada para el modelo de red neuronal 0.00 Haz clic en cada uno de los nodos de la red para ver todos los de salida. Antes de presionar el botón Reproducir (▶️), responde esta pregunta:

¿Qué tipo de valor de salida piensa que se producirá: positivo, negativo o 0?
Valor de salida positivo
Valor de salida negativo
Valor de resultado 0

Haz clic en el botón Reproducir (▶️) arriba de la red y observa todas las capas y los valores del nodo de salida se propagan. ¿La respuesta anterior fue correcta?

Haz clic aquí para ver una explicación

El valor exacto de salida que obtendrás variará en función del peso y se inicializan de forma aleatoria. Sin embargo, como cada neurona de la capa de entrada tiene un valor de 0, los pesos que se usan para calcular Los valores de los nodos de la capa oculta estarán en cero. Por ejemplo, el primer el cálculo de nodos de la capa oculta será el siguiente:

y = ReLU(w11* 0.00 + w21* 0.00 + w31* 0.00 + b)

y = ReLU(b)

Por lo tanto, el valor de cada nodo de capa oculta será igual al valor de ReLU de la sesgo (b), que será 0 si b es negativo y b sí mismo si b es 0 o positivo.

El valor del nodo de salida se calculará de la siguiente manera:

y = ReLU(w11* x11 + w21* x21 + w31 × x31 + w41* x41 + b)

Tarea 2

Antes de modificar la red neuronal, responde la siguiente pregunta:

Si agregas otra capa oculta a la red neuronal después de la primera capa oculta y asignaremos a esta capa nueva 3 nodos, parámetros de entrada y de peso/sesgo son iguales, a diferencia de los otros nodos, cálculos se verán afectados?
Todos los nodos en la red, excepto en los nodos de entrada
Solo los nodos en la primera capa oculta
Solo el nodo de salida

A continuación, modifica la red neuronal para agregar una nueva capa oculta con 3 nodos, como se muestra a continuación:

  1. Haz clic en el botón + a la izquierda del texto 1 capa oculta para agregar una nueva oculta antes de la capa de salida.
  2. Haz clic dos veces en el botón + sobre la nueva capa oculta para agregar 2 nodos más. a la capa.

¿La respuesta anterior fue correcta?

Haz clic aquí para ver una explicación

Solo cambia el nodo de salida. Debido a que la inferencia para esta red neuronal es "feed-forward" (calcula el progreso de principio a fin), la suma de una nueva capa a la red solo afectará a los nodos después de la nueva y no las que la preceden.

Tarea 3

Haz clic en el segundo nodo (en la parte superior) de la primera capa oculta de la red. gráfico. Antes de realizar cambios en la configuración de red, responde las siguiente pregunta:

Si cambias el valor del atributo el peso w12 (se muestra debajo del primer nodo de entrada, x1) a qué otros nodos los cálculos podrían verse afectados para algunas entradas valores?
Ninguno
El segundo nodo en la primera capa oculta, todos los nodos de la segunda capa oculta y los de salida.
Todos los nodos de la la primera capa oculta, la segunda capa oculta y la capa de salida.

Ahora, haz clic en el campo de texto del grosor w12 (que se muestra debajo de la primer nodo de entrada, x1), cambia su valor a 5.00 y presiona Intro. Observa las actualizaciones en el gráfico.

¿Tu respuesta fue correcta? Ten cuidado al verificar la respuesta: si un nodo valor no cambia, ¿eso significa que el cálculo subyacente no cambió?

Haz clic aquí para ver una explicación

El único nodo afectado en la primera capa oculta es el segundo nodo (el en la que hiciste clic). Los cálculos de valor para los otros nodos de la primera capa oculta no contienen w12 como parámetro, por lo que no se afectado. Todos los nodos de la segunda capa oculta se ven afectados, ya que los cálculos dependen del valor del segundo nodo en el primer nodo capa oculta. Del mismo modo, el valor del nodo de salida se ve afectado porque su los cálculos dependen de los valores de los nodos de la segunda capa oculta.

¿Pensaste que la respuesta era "ninguna"? porque ninguno de los valores del nodo en la cuando cambió el valor del peso? Ten en cuenta que un cálculo de un nodo puede cambiar sin cambiar el valor del nodo (p.ej., ReLU(0) y ReLU(–5) producen una salida de 0. No hagas suposiciones sobre cómo la red se vio afectada solo por observas los valores del nodo; asegúrate de revisar los cálculos también.

Ejercicio 2

En los Ejercicios de combinación de atributos En el módulo Datos categóricos, construiste manualmente combinaciones de atributos para ajustar datos no lineales. Ahora verás si puedes crear una red neuronal que pueda aprender automáticamente cómo ajustar datos no lineales durante el entrenamiento.

Tu tarea: Configura una red neuronal que pueda separar los puntos anaranjados de los puntos azules del diagrama de abajo, con lo cual se obtiene una pérdida inferior a 0.2 en ambos los datos de entrenamiento y prueba.

Instructions:

En el widget interactivo a continuación:

  1. Modifica los hiperparámetros de la red neuronal experimentando con algunas de los siguientes parámetros de configuración:
    • Agregar o quitar capas ocultas haciendo clic en los botones + y - en la a la izquierda del encabezado HIDDEN LAYERS en el diagrama de red.
    • Agrega o quita neuronas de una capa oculta con un clic en + y -. botones sobre una columna de capa oculta.
    • Elige un valor nuevo en Tasa de aprendizaje para cambiar la tasa de aprendizaje. desplegable arriba del diagrama.
    • Cambia la función de activación eligiendo un nuevo valor de la Menú desplegable Activación que se encuentra arriba del diagrama.
  2. Haga clic en el botón Reproducir (▶️) arriba del diagrama para entrenar la red neuronal con los parámetros especificados.
  3. Observar la visualización del modelo ajustando los datos como entrenamiento avanza, así como la Pérdida de prueba y Valores pérdida de entrenamiento en la sección Resultado (Output).
  4. Si el modelo no logra una pérdida inferior a 0.2 en los datos de prueba y entrenamiento, haz clic en Restablecer y repite los pasos 1 a 3 con un conjunto diferente de parámetros de configuración. configuración. Repite este proceso hasta que logres los resultados preferidos.

Haz clic aquí para ver nuestra solución

Logramos una pérdida de prueba y entrenamiento por debajo de 0.2 de la siguiente manera:

  • Agregar 1 capa oculta que contiene 3 neuronas
  • Elegir una tasa de aprendizaje de 0.01.
  • Elección de una función de activación de ReLU.