-
Sur quels splits est-on susceptible d’overfit ?
Réponse : Train + Val, à cause du tuning des hyperparamètres.
-
À quoi faut-il faire attention quand on fait un découpage temporel ?
Réponse : Il faut que le val soit après le train, et le test après le val.
-
J’ai de bons résultats sur mon train et val, mais de mauvais résultats sur mon test. Donnez deux raisons.
Réponse : Overfit des hyperparamètres sur val, ou val trop simple / mal découpé.
-
Donner le nom de 5 métriques de classification.
Réponse : Accuracy, précision, rappel, F1, AUC.
-
Citez deux méthodes pour faire de la régularisation L2.
Réponse : Weight decay, ou ajout dans la loss.
-
Quel mécanisme peut-on ajouter à la descente de gradient pour ajouter de l’inertie ?
Réponse : Le moment.
-
Donnez le nom de deux optimiseurs mettant en place la normalisation du gradient.
Réponse : Adagrad et RMSProp.
-
Quel optimiseur fait à la fois le moment et la normalisation du gradient ?
Réponse : Adam.
-
Qu’est-ce que le weight decay ?
Réponse :
-
Quel est l’effet principal du weight decay sur les poids ?
Réponse : Il les pousse à être plus petits.
-
Quel type de régularisation consiste à arrêter l'entraînement quand la val ne s’améliore plus ?
Réponse : Early stopping.
-
Dans le code d’early stopping, à quoi sert best_state = copy.deepcopy(...) ?
Réponse : À sauvegarder le meilleur modèle.
-
Quelle condition arrête l’entraînement dans l’early stopping ?
Réponse : Si la val ne s’améliore pas après un certain nombre d’époques (patience).
-
Quelle opération est apprise à chaque convolution ?
Réponse : Une transformation linéaire.
-
Que faut-il ajouter pour chaîner les convolutions ?
Réponse : Une fonction d’activation (ex : ReLU).
-
Quel hyperparamètre permet de ne pas perdre de taille d’image pendant une convolution ?
Réponse : Le padding.
-
Quel hyperparamètre gère les sauts entre deux positions du kernel ?
Réponse : Le stride.
-
Formule : taille de sortie avec padding P, stride S, kernel K et entrée N ?
Réponse : (N - K + 2P) / S + 1
-
Combien de paramètres pour une couche Conv avec Cout filtres 3x3, Cin=3 ?
Réponse : Cout × (3×3×3 + 1)
-
Image 3×8×8, 10 filtres 3×3, stride=1, padding=1. Taille de sortie ?
Réponse : 10×8×8
-
Image 3×8×8, 10 filtres 3×3, stride=1, padding=1. Nombre de paramètres ?
Réponse : 10×(3×3×3 + 1) = 280
-
Image 1×4×4, max pooling 2×2, stride=2. Taille de sortie ?
Réponse : 1×2×2
-
Image 1×4×4, max pooling 2×2, stride=2. Nombre de paramètres ?
Réponse : 0 (aucun paramètre à apprendre).
-
Pourquoi les CNNs sont meilleurs que les MLPs sur les images ?
Réponse : Ils préservent la structure spatiale.
-
Quel est l’intérêt du partage de poids dans un CNN ?
Réponse : Réduire le nombre de paramètres.
-
Que signifie Cout dans une couche de convolution ?
Réponse : Le nombre de filtres, donc de canaux en sortie.
-
Comment augmenter le champ réceptif sans augmenter drastiquement le nombre de couches ?
Réponse : Avec du downsampling (e.g. strided convolution, pooling).
-
Formule du champ réceptif après L couches de taille K ?
Réponse : 1 + L×(K−1)
-
À quoi sert le padding dans une convolution ?
Réponse : À préserver la taille de l’image en sortie.
-
Quelle est la convention de dimension d’image en PyTorch ?
Réponse : CHW : Channel, Height, Width.
-
Combien de FLOPs approximatifs pour une couche Conv ?
Réponse : Cout × Cin × Kh × Kw × H’ × W’
-
Que fait une convolution avec stride > 1 ?
Réponse : Elle diminue la taille spatiale (downsampling).
-
Pourquoi augmente-t-on Cout quand H et W diminuent ?
Réponse : Pour conserver la capacité du modèle.
-
Quel est le but principal du dropout ?
Réponse : Rendre le modèle plus robuste.
-
Quand applique-t-on le dropout ?
Réponse : Uniquement à l’entraînement.
-
Pourquoi ne faut-il pas mettre de dropout sur la dernière couche ?
Réponse : Car elle donne la prédiction, qu'on veut stable.
-
Comment activer ou désactiver le dropout en PyTorch ?
Réponse : Avec model.train() ou model.eval().
-
Quelle transformation rend le modèle plus robuste aux invariants des données ?
Réponse : L’augmentation de données.
-
Quelle est la différence entre preprocessing et augmentation ?
Réponse : Préprocessing = déterministe, augmentation = aléatoire.
-
Une transformation d’augmentation modifie-t-elle le label ?
Réponse : Non, le label reste le même.
-
Citez deux exemples d’augmentation valides sur des images.
Réponse : Crop aléatoire, flip horizontal.
-
Citez un exemple d’augmentation invalide.
Réponse : Retourner un 6 → devient un 9.
-
Pourquoi ne faut-il pas toujours faire un horizontal flip ?
Réponse : Peut inverser du texte ou des infos gauche/droite.
-
Quelles sont les stats utilisées pour normaliser une image ?
Réponse : Moyenne et écart-type (souvent du train).
-
Que fait CenterCrop ?
Réponse : Découpe le centre de l’image à la bonne taille.
-
Pourquoi recadrer une image ?
Réponse : Pour obtenir la taille d’entrée attendue par le réseau.
-
Pourquoi utiliser des transformations aléatoires à l’entraînement ?
Réponse : Pour améliorer la généralisation.