Sommaire
-
Pilier 1 Tableau Numpy (ndarray)
Une grille rectangulaire de nombres rangés en mémoire d'un seul tenant, avec une forme — un nombre de lignes, de colonnes, voire de profondeurs.
-
Pilier 2 Opérations `élément-par-élément` vs produit matriciel
Quand on écrit `A * B` avec deux tableaux, le calcul se fait case par case (multiplication coordonnée a coordonnée).
-
Pilier 3 Le perceptron — neurone artificiel à un seuil doux
Un perceptron prend en entrée un vecteur de mesures, fait la somme pondérée de ses coordonnées, ajoute un décalage constant, puis écrase le tout dans l'intervalle $[0,1]$ via une courbe
-
Pilier 4 Activation = la non-linéarité qui rend deux couches utiles
Sans une fonction qui coude le signal entre les deux couches, deux couches collees ne valent qu'une couche : on retombe sur un trait droit dans le plan d'origine.
-
Pilier 5 Cross-entropy : l'erreur d'une prédiction probabiliste
Mesurer à quel point la distribution de probabilités sortie par le modèle est éloignée de la bonne réponse.
-
Pilier 6 Descente de gradient — la bille qui descend la pente
Imagine une bille posee sur le flanc d'une colline accidentee : à chaque instant, elle bouge un peu dans la direction de la plus grande pente vers le bas.
-
Pilier 7 Rétropropagation — la règle de la chaîne appliquée à une pile
On a besoin de savoir comment chaque coefficient profond influence l'erreur en sortie ; on fait remonter l'information depuis la sortie en multipliant à chaque étape par la dérivée locale.
-
Pilier 8 Réseau à 2 couches (Multi-Layer Perceptron)
On empile deux blocs : une couche cachée qui prend les entrées brutes, leur applique une transformation linéaire suivie d'une saturation, et produit un nouvel ensemble de mesures intermediaires ;
-
Pilier 9 MNIST — chiffres manuscrits 28 x 28
On dispose de 60 000 images d'entrainement, chacune en niveaux de gris sur une grille 28 x 28, representant un chiffre manuscrit entre 0 et 9 ; on aplatit chaque
-
Concept 10 Forme (shape) d'un tableau
Le format d'un tableau, écrit comme un tuple (nombre de lignes, nombre de colonnes, ...).
-
Concept 11 Opérations élément par élément
Quand on additionne, multiplie ou élève au carré deux tableaux de même forme, l'opération s'appliqué sur chaque case indépendamment, en parallèle.
-
Concept 12 Diffusion d'un scalaire (broadcasting de base)
Multiplier un tableau par un nombre seul, comme `2*A`, c'est multiplier chaque case par ce nombre.
-
Concept 13 Masque booléen
`A>2` ne renvoie pas un nombre mais un tableau de la même forme que A, rempli de Vrai et Faux selon que chaque case dépasse 2.
-
Concept 14 Tableau 1D : ni ligne, ni colonne
Un tableau de dimension 1 comme `A = np.array([1,2,3])` n'est pas une matrice ligne ni une matrice colonne : c'est un objet à part, de forme `(3,)`.
-
Concept 15 Vectorisation — boucler sans boucler
Au lieu d'écrire une boucle qui parcourt chaque case, on demande l'opération sur le tableau entier en une ligne, et la machine s'occupe du reste en mode rapide.
-
Concept 16 Notebook compagnon de la vidéo 5
On reprend chaque formule déjà enoncee dans la vidéo et on la traduit en code Python executable, en remplacant le nuage de 100 points aléatoires par les quatre coins d'un
-
Concept 17 Dataset booleen — les 4 coins du carre unite
On remplace les 100 plantes aléatoires par les quatre coins du carre unite et on les etiquette selon une table de verite.
-
Concept 18 Image 28×28 comme tableau de nombres
Une image en niveaux de gris est un tableau rectangulaire de petits carrés (les pixels), chacun contenant un nombre qui dit à quel point le carré est sombre ou clair.
-
Concept 19 Vectorisation d'une image (aplatir 28×28 en 784)
Coucher la matrice à plat en mettant ses lignes bout à bout : on obtient un long vecteur de 784 nombres au lieu d'un carré 28×28.
-
Concept 20 Classification multi-classe (10 chiffres)
Au lieu de répondre oui/non à une seule question, le modèle doit choisir entre dix réponses possibles : est-ce un 0, un 1, un 2, …, ou un 9 ?
-
Concept 21 Jeu de données MNIST
Une collection célèbre de 70 000 images de chiffres écrits à la main, scannées et alignées sur des grilles 28×28.
-
Concept 22 Normalisation des pixels
Recadrer les valeurs des pixels pour qu'elles vivent dans une plage centrée et bornée (ici autour de zéro, entre $-1$ et $+1$), au lieu de leur plage brute de 0
-
Concept 23 Softmax pour la sortie
Une fonction qui prend dix nombres bruts (pouvant être positifs ou négatifs, grands ou petits) et les transforme en dix nombres positifs qui somment à 1 — donc en une
-
Concept 24 Entraînement par descente de gradient stochastique
Faire bouger les coefficients d'un petit pas dans la direction qui fait baisser l'erreur, et recommencer 300 fois.
-
Concept 25 Inférence par argmax
Une fois le réseau entraîné, on lui donné une nouvelle image et on regarde laquelle des dix sorties à la valeur la plus grande — c'est la classe prédite.
-
Concept 26 Accuracy (taux de bonnes prédictions)
Compter combien de fois le modèle a deviné juste, et diviser par le nombre total d'essais.
-
Concept 27 Pourquoi deux couches : ce que le perceptron seul ne pouvait pas
Quand un trait droit ne peut pas séparer les points, on plie l'espace en deux morceaux, et c'est dans cet espace plie qu'un trait droit suffit.
-
Concept 28 Le dictionnaire `parametres` : un sac etiquete pour W1, b1, W2, b2
Au lieu de quatre variables baladeuses, on range les poids et biais des deux couches dans un sac etiquete que l'on passe d'une fonction a l'autre.
-
Concept 29 Autograd : le forward construit le graphe, backward le redescend
Quand on calcule la sortie, le programme note silencieusement la suite des opérations sur un carnet. Quand on demande la dérivée, il relit le carnet a l'envers en appliquant la
-
Concept 30 SGD : la bille qu'on pousse en aval du potentiel
Une bille qu'on pousse à chaque pas dans la direction de la pente, d'une longueur eta proportionnelle à la pente locale.
-
Concept 31 Pont vers MNIST : ce réseau, plus large, lit les chiffres
Le même programme, en agrandissant juste les dimensions des tenseurs, apprend a reconnaitre des chiffres écrits à la main.
-
Concept 32 Tableau Numpy — un sac de nombres ranges en grille
Imagine un cahier quadrille ou tu inscris des nombres dans des cases : une ligne, un rectangle de lignes et de colonnes, ou un pave de plusieurs feuilles empilées.
-
Concept 33 Table de verite des opérations booleennes (ET, OU, XOR)
On prend les quatre couples possibles $(x_0, x_1) \in \{0,1\}^2$ et on note pour chacun trois résultats : 1 quand les deux valent 1 (ET), 1 des qu'au moins une
-
Concept 34 Differentiation automatique Pytorch (`requires_grad=True`)
On demande à un objet de retenir l'arbre des opérations effectuees sur lui ; quand on dit 'remonte', il calcule mecaniquement les dérivées en remontant cet arbre.
-
Concept 35 Frontière de décision dans le plan des entrées
On echantillonne le carre $[0,1]^2$ par une grille fine, on calcule la sortie en chaque point et on colore selon la valeur (bleu pour 0, rouge pour 1) ; la
-
Concept 36 Mini-batch SGD et $\mathrm{epochs}$
Au lieu de calculer le gradient sur les 60 000 images à chaque pas, on coupé le dataset en petits paquets de 64 images et on met a jour les
-
Concept 37 Plan de travail IA — vacances de printemps MPSI
Un parcours guidé pour s'imprégner du Deep Learning : on regarde quatre vidéos courtes et on suit, en parallèle, quatre notebooks Google Colab.
-
Concept 38 Premier programme de neurone artificiel
On construit une petite fonction qui prend deux mesures (par exemple longueur et largeur d'une feuille), les melange par une combinaison pondérée, écrase le résultat dans [0,1], et que l'on
-
Concept 39 Dataset $(X, Y)$ — 100 plantes à deux variables
On dispose d'un tableau de 100 lignes et 2 colonnes (chaque ligne est une plante, chaque colonne une mesure) et d'un vecteur de 100 etiquettes valant 0 ou 1.
-
Concept 40 Fonction d'initialisation des parametres
Avant tout apprentissage, on tire au hasard les coefficients et le décalage : c'est le point de départ de la trajectoire qu'on va corriger pas a pas.
-
Concept 41 Forme linéaire $Z = X W + b$
Pour chaque ligne (chaque plante), on calcule un seul nombre qui resume l'entrée : on multiplie chaque coordonnée par son coefficient et on ajoute le décalage.
-
Concept 42 Modèle complet $A = \sigma(XW + b)$
Le modèle empile deux opérations : d'abord la combinaison pondérée, puis l'écrasement qui ramene chaque résultat dans (0,1) pour le lire comme une probabilite.
-
Concept 43 Descente de gradient — la bille dans la cuvette
Pour minimiser une fonction de plusieurs variables, on part d'un point quelconque et on se déplace à chaque étape d'un petit pas dans la direction de plus forte pente descendante.
-
Concept 44 Boucle d'apprentissage — `artificial_neuron`
Tout l'apprentissage tient en quatre lignes repetees : calcul des sorties, mesure de l'erreur, calcul des pentes, correction des coefficients.
-
Concept 45 Courbe d'apprentissage — l'erreur vue itération par itération
On garde la trace de la valeur de l'erreur à chaque itération et on la trace : on voit une courbe décroissante qui se stabilise.
-
Concept 46 Frontière de décision $z = 0$
Quand la sortie passe au-dessus de 0,5, on declare 'classe 1' ; les points indecis forment une droite dans le plan.
-
Concept 47 Pourquoi empiler des neurones — le perceptron seul est trop biaisé
Un neurone seul trace une frontière droite : il sait séparer deux nuages que l'on peut couper d'un trait.
-
Concept 48 Une couche de neurones — plusieurs détecteurs en parallèle
Quand plusieurs neurones reçoivent les mêmes entrées sans se parler, chacun calculé son propre score à partir des mêmes données.
-
Concept 49 Empiler les couches — la sortie de l'une devient l'entrée de la suivante
On branche la sortie d'une couche dans l'entrée de la suivante : ce qui sort de l'étage 1 sert de données brutes à l'étage 2.
-
Concept 50 Vectorisation d'une couche — un seul produit matriciel
Plutôt qu'une équation par neurone, on range tous les poids d'une couche dans un tableau et un seul produit calculé tout en une fois.
-
Concept 51 Forward propagation — faire couler les données de la couche 1 jusqu'à la sortie
Faire couler les données de l'entrée jusqu'à la sortie en répétant le même geste à chaque étage.
-
Concept 52 Coût d'un réseau et descente de gradient — le même geste qu'un seul neurone
On mesure l'erreur entre la prédiction et la vérité, on regarde comment cette erreur change quand on bouge chaque réglage, on déplace chaque réglage dans le sens qui fait baisser
-
Concept 53 Backpropagation — remonter la chaîne de la sortie vers l'entrée
Remonter la chaîne en sens inverse : on part de l'écart final et on regarde de quoi il dépend, étape par étape, jusqu'aux premiers réglages.
-
Concept 54 Backpropagation : remonter le chemin pour calculer les pentes
On rebrousse le chemin parcouru à l'aller pour calculer comment chaque réglage influe sur l'erreur finale.
-
Concept 55 Réseau à deux couches : architecture matricielle
On enchaîne deux étages : chacun multiplie les entrées par une grille de coefficients, ajoute un décalage, puis passe le tout dans un tordeur.
-
Concept 56 Broadcasting : prêter une ligne à toutes les autres
Quand on ajoute un petit vecteur à une grande matrice, on imagine que le petit vecteur est recopié autant de fois qu'il faut pour combler.
-
Concept 57 L'astuce $dZ$ : factoriser la base commune des gradients
Tous les calculs de la couche commencent par la même chaîne ; on la nommé une fois et on la réutilise partout.
-
Concept 58 Vérification dimensionnelle : $\partial L / \partial \theta$ à la dimension de $\theta$
Une dérivée par rapport à un objet a toujours exactement la forme de cet objet.
-
Concept 59 Réseau de neurones à deux couches
Empiler deux étages : chacun mélange ses entrées par une combinaison linéaire et les passe dans une non-linéarité, le second prenant pour entrées les sorties du premier.
-
Concept 60 Paramètres en dictionnaire
Un sac unique qui porte tous les coefficients du modèle, étiquetés par leur nom (W1, b1, W2, b2).
-
Concept 61 Forward propagation
Faire couler les données d'entrée à travers le réseau, étage par étage, pour obtenir une prédiction en sortie.
-
Concept 62 Backpropagation
Remonter le réseau à rebours, de la sortie vers l'entrée, pour distribuer la responsabilité de l'erreur sur chaque coefficient.
-
Concept 63 Boucle d'entraînement (neural network)
Répéter mille fois le même cycle : faire couler les données vers l'avant pour obtenir la prédiction, comparer à la vérité, faire remonter l'erreur vers les coefficients pour calculer combien