Redes neuronales: Ejercicios de Playground

Una primera red neuronal

En este ejercicio, entrenaremos nuestra primera red neuronal. Las redes neuronales nos proporcionarán una forma de aprender modelos no lineales sin usar combinaciones de atributos explícitas.

Tarea 1: El modelo especificado combina dos atributos de entrada en una sola neurona. ¿Este modelo aprenderá no linealidades? Ejecútala para confirmar tu respuesta.

Tarea 2: Intenta aumentar el número de neuronas en la capa oculta de 1 a 2. También intenta cambiar de una activación lineal a una activación no lineal, como ReLU. ¿Puedes crear un modelo que pueda aprender no linealidades? ¿Puede modelar los datos de manera eficaz?

Tarea 3: Intenta aumentar el número de neuronas en la capa oculta de 2 a 3 con una activación no lineal, como ReLU. ¿Puede modelar los datos de manera eficaz? ¿Cómo varía la calidad del modelo de ejecución en ejecución?

Tarea 4: Para seguir experimentando, agrega o quita capas ocultas y neuronas por capa. También puedes cambiar las tasas de aprendizaje, la regularización y otras opciones de configuración de aprendizaje. ¿Cuál es la cantidad más pequeña de neuronas y capas que puedes usar y que da una pérdida de prueba de 0.177 o menos?

¿Mejorar el tamaño del modelo mejora el ajuste o la rapidez con la que converge? ¿Esto cambia la frecuencia con la que converge a un buen modelo? Por ejemplo, prueba la siguiente arquitectura:

  • Primera capa oculta con 3 neuronas.
  • Segunda capa oculta con 3 neuronas.
  • Tercera capa oculta con 2 neuronas.

(Las respuestas aparecen justo debajo del ejercicio).



Inicialización de redes neuronales

Este ejercicio vuelve a usar los datos XOR, pero analiza la repetibilidad del entrenamiento de las redes neuronales y la importancia de la inicialización.

Tarea 1: Ejecuta el modelo especificado cuatro o cinco veces. Antes de cada prueba, presiona el botón Restablecer la red para obtener una nueva inicialización aleatoria. (El botón Restablecer la red es la flecha de restablecimiento circular que se encuentra a la izquierda del botón Reproducir). Deja que cada prueba se ejecute al menos 500 pasos para garantizar la convergencia. ¿A qué forma converge el resultado de cada modelo? ¿Qué dice esto sobre la función de inicialización en la optimización no convexa?

Tarea 2: Agrega una capa y un par de nodos adicionales para intentar que el modelo sea un poco más complejo. Repite las pruebas de la tarea 1. ¿Esto agrega algo de estabilidad adicional a los resultados?

(Las respuestas aparecen justo debajo del ejercicio).



Espiral de red neuronal

Este conjunto de datos es un espiral muy ruidoso. Obviamente, un modelo lineal fallará aquí, pero incluso las combinaciones de atributos definidas manualmente pueden ser difíciles de construir.

Tarea 1: Entrena el mejor modelo posible; usa solo X1 y X2. Puedes agregar o quitar capas y neuronas, o cambiar la configuración de aprendizaje, como la tasa de aprendizaje, la tasa de regularización y el tamaño del lote. ¿Cuál es la mejor pérdida de prueba que puedes obtener? ¿Qué tan uniforme es la superficie de salida del modelo?

Tarea 2: Incluso con las redes neuronales, a menudo se necesita un poco de ingeniería de atributos para lograr un mejor rendimiento. Intenta agregar atributos de productos cruzados adicionales o algunas otras transformaciones, como sin(X1) y sin(X2). ¿Un modelo es mejor? ¿La superficie del resultado del modelo es más suave?

(Las respuestas aparecen justo debajo del ejercicio).