Réseaux de neurones: exercices Playground

Un premier réseau de neurones

Dans cet exercice, nous allons entraîner notre premier petit réseau de neurones. Les réseaux de neurones nous permettront d'apprendre des modèles non linéaires sans avoir à utiliser des croisements de caractéristiques explicites.

Tâche 1:Le modèle donné combine nos deux caractéristiques d'entrée en un seul neurone. Ce modèle va-t-il apprendre des non-linéarités ? Exécutez-le pour confirmer votre supposition.

Tâche 2 : essayez d'augmenter le nombre de neurones dans la couche cachée de 1 à 2, et essayez également de passer d'une activation linéaire à une activation non linéaire comme la fonction ReLU. Pouvez-vous créer un modèle capable d'apprendre des non-linéarités ? Peut-il modéliser les données efficacement ?

Tâche 3 : essayez d'augmenter le nombre de neurones dans la couche cachée de 2 à 3, en utilisant une activation non linéaire comme la fonction ReLU. Peut-il modéliser les données de manière efficace ? En quoi la qualité du modèle varie-t-elle d'une exécution à l'autre ?

Tâche 4:poursuivez l'expérimentation en ajoutant ou en supprimant des couches et des neurones cachés par couche. N'hésitez pas non plus à modifier les taux d'apprentissage, la régularisation et d'autres paramètres d'apprentissage. Quel est le plus petit nombre de neurones et de couches qui donne une perte d'évaluation de 0,177 ou moins ?

L'augmentation de la taille du modèle améliore-t-elle l'adéquation ou la vitesse de convergence ? Cela change-t-il la fréquence à laquelle il converge vers un modèle approprié ? Par exemple, essayez l'architecture suivante:

  • Première couche cachée avec 3 neurones.
  • Deuxième couche cachée avec 3 neurones.
  • Troisième couche cachée avec 2 neurones.

(Les réponses s'affichent juste en dessous de l'exercice.)



Initialisation du réseau de neurones

Cet exercice utilise à nouveau les données XOR, mais examine la reproductibilité de l'entraînement des réseaux de neurones et l'importance de l'initialisation.

Tâche 1 : exécutez le modèle donné quatre ou cinq fois. Avant chaque essai, cliquez sur le bouton Réinitialiser le réseau pour obtenir une nouvelle initialisation aléatoire. (Le bouton Réinitialiser le réseau est la flèche de réinitialisation circulaire située à gauche du bouton de lecture.) Assurez-vous que chaque essai dure au moins 500 pas pour assurer la convergence. Sous quelle forme les résultats de chaque modèle convergent-ils ? Qu'en est-il du rôle de l'initialisation dans l'optimisation non convexe ?

Tâche 2 : essayez de rendre le modèle légèrement plus complexe en ajoutant une couche et quelques nœuds supplémentaires. Répétez les essais de la tâche 1. Cela apporte-t-il une stabilité supplémentaire aux résultats ?

(Les réponses s'affichent juste en dessous de l'exercice.)



Spirale du réseau de neurones

Cet ensemble de données est une spirale bruyante. Bien entendu, un modèle linéaire échouera ici, mais même les croisements de caractéristiques définis manuellement peuvent être difficiles à construire.

Tâche 1 : entraînez le meilleur modèle possible en utilisant uniquement X1 et X2. N'hésitez pas à ajouter ou supprimer des couches et des neurones, et à modifier les paramètres d'apprentissage tels que le taux d'apprentissage, le taux de régularisation et la taille de lot. Quelle est la meilleure perte d'évaluation possible ? La surface de sortie du modèle est-elle lisse ?

Tâche 2:même avec les réseaux de neurones, une certaine extraction de caractéristiques est souvent nécessaire pour obtenir de meilleures performances. Essayez d'ajouter des caractéristiques croisées ou d'autres transformations, comme sin(X1) et sin(X2). Avez-vous un meilleur modèle ? La surface de sortie du modèle est-elle plus fluide ?

(Les réponses s'affichent juste en dessous de l'exercice.)