CSC 8607 – Introduction au deep learning

Portail informatique

CC1 : Préparation

    1. Donnez trois exemples de fonctions d’activation.
    2. Si un MLP a 3 neurones d’entrée, 4 neurones dans une couche cachée, et 2 neurones dans la couche de sortie, combien a-t-il de paramètres (sans compter les biais) ?
    3. Donnez le nom d’une fonction de coût pour la régression.
    4. Donnez le nom d’une fonction de coût pour la classification.
    5. Comment s’appelle l’algorithme qui ajuste les paramètres du réseau pour minimiser la perte ?
    6. Ma descente de gradient diverge. Comment le voir et que faire sur le learning rate ?
    7. Comment s’appelle la descente de gradient qui met à jour les paramètres après chaque exemple ?
    8. Comment s’appelle la descente de gradient qui met à jour à partir de petits sous-ensembles d’exemples ?
    9. Comment s’appelle l’algorithme qui permet de calculer efficacement les gradients dans un réseau ?
    10. Sur quelle règle mathématique repose la backpropagation ?
    11. Qu’est-ce qu’il faut avoir effectué avant de lancer la backpropagation ?
    12. Quelle structure de données représente le déroulement du calcul pour le forward et le backward ?
    13. Dans PyTorch, quelle classe étend-on pour définir un modèle de réseau de neurones ?
    14. Comment s’appelle une itération complète sur tout le jeu de données d’entraînement ?
    15. Pourquoi a-t-on besoin d’une fonction d’activation non linéaire dans un MLP ?
    16. À quoi sert le biais b dans un neurone ?
    17. Donnez la formule de sortie d’un perceptron pour une entrée x, des poids w et un biais b.
    18. Pour une couche de M neurones, des entrées de taille N et un batch de m exemples, quelles sont les dimensions usuelles de W et X (format PyTorch) ?
    19. Donnez la dérivée de la fonction sigmoïde.
    20. Donnez la dérivée de tanh.
    21. Donnez la dérivée (presque partout) de ReLU.
    22. À quoi sert la fonction softmax en sortie d’un classifieur multiclasse ?
    23. Quelle règle de décision applique-t-on après un softmax pour prédire la classe finale ?
    24. Pour une classification binaire, quelle perte utilise-t-on avec une sortie sigmoïde ?
    25. Quelle variante de la BCE faut-il privilégier quand on manipule directement des logits en PyTorch ?
    26. Dans un classifieur binaire linéaire, quelle équation caractérise la frontière de décision quand σ(z)=0,5 ?
    27. Écrivez la mise à jour des poids en descente de gradient (avec un pas η).
    28. Quel est l'effet visuel d’un learning rate trop grand sur la courbe de perte ?
    29. Laquelle des variantes suivantes utilise toutes les données à chaque mise à jour ?
      A) SGD   B) Mini-batch   C) Batch complet
    30. Quel est l’avantage principal de la vectorisation (matrices) pour le forward pass ?
      A) Simplicité mathématique   B) Accélération par calcul parallèle   C) Plus de précision numérique
    31. Pourquoi stocke-t-on les valeurs intermédiaires du forward dans le graphe de calcul ?
    32. En PyTorch, comment active-t-on le calcul automatique des gradients pour un tenseur spécifique ?
    33. Quelle méthode déclenche la rétropropagation du gradient à partir d’un scalaire de perte en PyTorch ?
    34. Après l’appel à backward(), où PyTorch stocke-t-il les gradients des paramètres ?
    35. Dans la boucle d'entraînement PyTorch, quelle méthode appelle-t-on pour réinitialiser les gradients avant le backward pass ?
    36. Que se passe-t-il si vous oubliez d'appeler optimizer.zero_grad() ?
    37. Pourquoi doit-on appeler model.eval() avant d'évaluer le modèle sur l'ensemble de test ?
    38. Pourquoi utilise-t-on le bloc with torch.no_grad(): lors de l'évaluation ?
    39. Dans un DataLoader, pourquoi configure-t-on shuffle=True pour l'entraînement mais shuffle=False pour la validation ?
    40. Quelle commande Slurm permet de soumettre un script de calcul non interactif en arrière-plan ?
    41. Comment s'appelle l'argument permettant de logger une valeur scalaire (comme la perte) dans TensorBoard avec PyTorch ?
    42. Comment détecte-t-on visuellement un sur-apprentissage (overfitting) sur les courbes TensorBoard ?
    43. Que sont les logits ?
      A) Des probabilités normalisées   B) Des scores non bornés avant softmax/sigmoïde   C) Des labels encodés