Cours
IA de 10e année : apprentissage profond et IA multimodale
Construis et entraîne des réseaux de neurones en PyTorch pour des images, du texte et du son.
Fais les leçons dans l’ordre. À la fin, tu peux calculer la sortie d’un neurone, comparer les activations ReLU, sigmoïde et softmax, et écrire la passe avant d’un petit réseau avec NumPy. Tu peux choisir une perte, expliquer la descente de gradient et la rétropropagation, et écrire un script avec la boucle complète d’entraînement et de test en PyTorch. Tu peux entraîner un classifieur d’images avec un CNN, entraîner un classifieur de sentiment pour distinguer les avis positifs des avis négatifs, expliquer comment l’attention pèse les autres tokens, et classer de courts extraits sonores. Tu peux réduire le surapprentissage, affiner un modèle préentraîné sur de nouvelles classes, grouper les erreurs et trouver leur cause, et présenter un moniteur intelligent de faune testé sur des images jamais vues.
Comment utiliser ces leçons
- Commence à la leçon qui dit Fais ça. Passe à la suite quand tu peux faire tout seul la ligne sous le titre.
- Joue d’abord aux Jeux. Ensuite fais les Quiz. 8 sur 10 justes pour réussir. Les Fiches sont sur papier. Les réponses sont en bas.
- Chaque leçon s’appuie sur la précédente. Note chaque entraînement : les réglages, la courbe de perte et le score du test.
- Les leçons de code utilisent Python et PyTorch dans un cahier en ligne gratuit avec un GPU. De petits modèles et de petits jeux de données suffisent. Utilise seulement des jeux de données ouverts que tu as le droit d’utiliser, et n’entraîne jamais sur des photos de personnes sans leur permission.
Chaque leçon a des jeux, des quiz et des fiches.
0 sur 36
Bases des réseaux de neurones
- 1NeuronesCalcule la sortie d’un neurone à partir des entrées, des poids et du biais.
- Écris la somme pondérée plus le biais.
- Calcule-la à la main pour trois entrées.
- Calcule-la en code avec un produit scalaire.
- 2ActivationsCompare les activations ReLU, sigmoïde et softmax.
- Trace chaque activation.
- Explique pourquoi un réseau a besoin d’une activation non linéaire.
- Utilise softmax pour changer des scores en probabilités.
- 3Couches et réseauxEmpile des couches pour former un réseau.
- Écris une couche comme une multiplication de matrices.
- Suis la forme des données à chaque couche.
- Compte les paramètres d’un réseau.
- 4Un petit réseauÉcris la passe avant d’un petit réseau avec NumPy.
- Construis un réseau à deux couches en NumPy.
- Fais passer un lot d’entrées dedans.
- Vérifie la forme de la sortie.
Entraînement des réseaux de neurones
- 5PerteChoisis une perte pour une tâche et calcule-la.
- Utilise l’erreur quadratique moyenne pour la régression.
- Utilise l’entropie croisée pour la classification.
- Dis ce que veut dire une perte qui baisse.
- 6Descente de gradientExplique comment la descente de gradient fait descendre les poids.
- Trouve la pente d’une courbe de perte.
- Fais des pas avec un taux d’apprentissage.
- Vois ce qui se passe si le taux est trop grand ou trop petit.
- 7RétropropagationSuis la rétropropagation de l’erreur en arrière dans le réseau.
- Utilise la règle de la chaîne sur un tout petit réseau.
- Calcule un gradient à la main.
- Vérifie-le avec la différentiation automatique.
- 8Entraîne un réseauEntraîne un petit réseau et trace la perte.
- Entraîne avec des mini-lots.
- Trace la perte d’entraînement et de validation.
- Arrête quand la perte de validation ne s’améliore plus.
Bibliothèques d’apprentissage profond
- 9TenseursCrée et change la forme de tenseurs PyTorch.
- Crée des tenseurs et vérifie leur forme et leur type.
- Change leur forme, empile-les et découpe-les.
- Envoie des tenseurs sur un GPU.
- 10ModulesConstruis un modèle avec des modules torch.nn.
- Crée une sous-classe de nn.Module.
- Utilise des couches Linear et d’activation.
- Affiche le modèle et son nombre de paramètres.
- 11OptimiseursEntraîne avec les optimiseurs SGD et Adam.
- Utilise zero_grad, backward et step.
- Compare SGD et Adam sur une tâche.
- Utilise un calendrier de taux d’apprentissage.
- 12Script d’entraînementÉcris un script avec la boucle complète d’entraînement et de test.
- Charge les données avec un DataLoader.
- Entraîne, valide et teste.
- Enregistre le meilleur modèle.
Vision par ordinateur
- 13Images comme tenseursCharge des images comme tenseurs et normalise-les.
- Charge une image en canaux, hauteur et largeur.
- Redimensionne-la et normalise-la.
- Montre un lot comme une grille.
- 14ConvolutionsExplique comment un filtre de convolution trouve les bords.
- Fais glisser un filtre 3×3 sur une image à la main.
- Applique des filtres de bords en code.
- Explique stride, padding et pooling.
- 15CNNConstruis un réseau de neurones convolutif, un CNN.
- Empile des couches de convolution, d’activation et de pooling.
- Aplatis et ajoute une tête de classifieur.
- Suis les formes dans le réseau.
- 16Classifieur d’imagesEntraîne un classifieur d’images avec un CNN.
- Entraîne sur un petit jeu d’images.
- Donne l’exactitude au test.
- Montre des images qu’il a mal classées.
Traitement du langage naturel
- 17TokenisationFais la tokenisation : change le texte en tokens et en identifiants.
- Compare les tokens de mots et de sous-mots.
- Construis un vocabulaire.
- Complète les séquences à la même longueur.
- 18EmbeddingsExplique comment les embeddings rapprochent les mots semblables.
- Utilise une couche d’embedding.
- Trouve les mots les plus proches d’un mot.
- Trace des embeddings en deux dimensions.
- 19Modèles de texteConstruis un modèle de texte qui lit une séquence de tokens.
- Fais la moyenne des embeddings en un seul vecteur.
- Utilise une couche récurrente simple.
- Compare les deux.
- 20Classifieur de sentimentEntraîne un classifieur de sentiment pour distinguer les avis positifs des avis négatifs.
- Entraîne sur un jeu d’avis.
- Donne l’exactitude, la précision et le rappel.
- Trouve des avis qui le trompent, comme le sarcasme.
Transformers
- 21AttentionExplique comment l’attention pèse les autres tokens.
- Explique les requêtes, les clés et les valeurs.
- Calcule les poids d’attention d’une phrase courte.
- Dis pourquoi l’attention aide pour le sens à longue distance.
- 22Blocs transformerNomme les parties d’un bloc transformer.
- Nomme l’attention multi-têtes, la couche feed-forward et les couches de normalisation.
- Explique les connexions résiduelles.
- Explique les encodages de position.
- 23Modèles préentraînésUtilise un modèle préentraîné transformer pour une tâche.
- Charge un modèle préentraîné et un tokeniseur.
- Classe du texte avec lui.
- Compare-le à ton propre modèle de sentiment.
- 24Cartes d’attentionLis une carte d’attention.
- Trace les poids d’attention comme une carte de chaleur.
- Trouve quels mots un token regarde.
- Dis pourquoi l’attention n’est pas une explication complète.
Audio et IA multimodale
- 25Le son comme donnéesChange le son en une forme d’onde et un spectrogramme.
- Charge de l’audio et trace sa forme d’onde.
- Explique la fréquence d’échantillonnage.
- Fais un spectrogramme.
- 26Classifieur audioClasse de courts extraits sonores avec un classifieur audio.
- Traite les spectrogrammes comme des images.
- Entraîne un CNN dessus.
- Teste avec du bruit de fond.
- 27Entrées multimodalesExplique comment un modèle combine des entrées multimodales d’images et de texte.
- Explique des encodeurs séparés pour chaque entrée.
- Explique un espace d’embeddings partagé.
- Nomme trois applications multimodales.
- 28Image et texteAssocie image et texte : relie des images à des légendes avec un modèle préentraîné.
- Calcule des embeddings d’images et de légendes.
- Classe les légendes de chaque image.
- Cherche des images avec une requête en texte.
Amélioration du modèle
- 29RégularisationRéduis le surapprentissage avec la régularisation : dropout et décroissance des poids.
- Ajoute du dropout.
- Ajoute une décroissance des poids.
- Compare les courbes de validation.
- 30Augmentation de donnéesFais de l’augmentation de données : ajoute des images retournées et recadrées au jeu d’entraînement.
- Applique des retournements, des recadrages et des changements de couleur.
- Augmente seulement le jeu d’entraînement.
- Mesure le changement de l’exactitude au test.
- 31Apprentissage par transfertUtilise l’apprentissage par transfert pour affiner un modèle préentraîné sur de nouvelles classes.
- Gèle les couches préentraînées.
- Remplace et entraîne la tête.
- Dégèle et affine avec un petit taux d’apprentissage.
- 32Analyse des erreursFais une analyse des erreurs : groupe les erreurs et trouve leur cause.
- Lis une matrice de confusion pour beaucoup de classes.
- Range les erreurs en groupes.
- Choisis la correction pour le plus grand groupe.
Projet d’apprentissage profond
- 33Données de fauneChoisis et découpe un jeu ouvert d’images de faune.
- Choisis un jeu ouvert de pièges photo ou de faune.
- Choisis de cinq à dix espèces.
- Découpe par lieu pour que le test soit juste.
- 34Affine le modèleAffine le modèle classifieur d’images sur des classes de faune.
- Affine un modèle préentraîné.
- Suis l’exactitude de validation.
- Enregistre le meilleur point de contrôle.
- 35Interface de démoConstruis une interface de démo qui montre des prédictions sur des images envoyées.
- Accepte une image envoyée.
- Montre les trois espèces principales et leurs scores.
- Montre « pas sûr » quand la confiance est basse.
- 36Moniteur intelligent de faunePrésente un moniteur intelligent de faune : l’exactitude sur des images jamais vues et les erreurs principales.
- Donne l’exactitude sur des images jamais vues.
- Montre les erreurs principales et leurs causes.
- Dis ce que tu changerais ensuite.