CommencezCommencez gratuitement

Modifier les paramètres d'optimisation

C'est le moment de mettre les mains à la pâte avec l'optimisation. Vous allez maintenant optimiser un modèle avec un taux d'apprentissage très faible, un très élevé et un « juste milieu ». Après l'exécution de cet exercice, examinez les résultats en gardant en tête qu'une faible valeur de la fonction de perte est un bon signe.

Pour ces exercices, nous avons préchargé les prédicteurs et les valeurs cibles de vos modèles de classification précédents (prédire qui survivrait au Titanic). Vous voudrez que l'optimisation reparte de zéro chaque fois que vous changez le taux d'apprentissage, afin de comparer équitablement les performances de chaque taux d'apprentissage dans vos résultats. Nous avons donc créé une fonction get_new_model() qui génère un modèle non optimisé à optimiser.

Cette activité fait partie du cours

Introduction à Deep Learning en Python

Voir le cours

Instructions de l’exercice

  • Importez SGD depuis tensorflow.keras.optimizers.
  • Créez une liste de taux d'apprentissage à tester pour l'optimisation appelée lr_to_test. Les taux d'apprentissage qu'elle contient doivent être .000001, 0.01 et 1.
  • À l'aide d'une boucle for pour itérer sur lr_to_test :
    • Utilisez la fonction get_new_model() pour construire un nouveau modèle non optimisé.
    • Créez un optimiseur nommé my_optimizer à l'aide du constructeur SGD() avec l'argument nommé lr=lr.
    • Compilez votre modèle. Attribuez au paramètre optimizer l'objet SGD créé ci-dessus et, comme il s'agit d'un problème de classification, utilisez 'categorical_crossentropy' pour le paramètre loss.
    • Entraînez votre modèle en utilisant predictors et target.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

# Import the SGD optimizer
____

# Create list of learning rates: lr_to_test
lr_to_test = ____

# Loop over learning rates
for lr in lr_to_test:
    print('\n\nTesting model with learning rate: %f\n'%lr )
    
    # Build new model to test, unaffected by previous models
    model = ____
    
    # Create SGD optimizer with specified learning rate: my_optimizer
    my_optimizer = ____
    
    # Compile the model
    ____
    
    # Fit the model
    ____
Modifier et exécuter le code