Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Révision pour l'examen final

Révision pour l’examen final

Chaque méthode du cours répond à une limite de la précédente :

k-ppv → fléau de la dimensionnalité → modèles linéaires → caractéristiques à la main → réseaux de neurones (caractéristiques apprises) → dérivation automatique → dissolution du gradient → ReLU, résiduel, batch norm → séquences → RNN/LSTM → goulot séquentiel → attention / transformeurs. Pour les données tabulaires : arbres, boosting, forêts aléatoires.

Partie I — Rappel de la matière pré-intra

Méthodes non paramétriques (intro)

Les méthodes non paramétriques conservent les données d’entraînement et les consultent au moment de la prédiction. Les trois variantes à retenir forment une progression : voisinage dur → noyau lisse → moyenne pondérée par noyau.

Les méthodes non paramétriques souffrent du fléau de la dimensionnalité : en haute dimension, la notion de voisinage perd son sens. Pour passer à l’échelle, il faut formaliser ce que signifie « bien prédire » et s’engager sur une famille de fonctions paramétriques.

Risque et prédicteur de Bayes (ch. 1)

Le cours repose sur un cadre commun : on cherche un prédicteur ff qui minimise le risque R(f)=E[ℓ(f(x),y)]\Risk(f) = \E[\ell(f(\mathbf{x}), y)]. Comme la distribution conjointe est inconnue, on minimise à la place le risque empirique sur un ensemble d’entraînement. Le prédicteur de Bayes optimal, qui minimise le risque parmi toutes les fonctions, fixe la borne inférieure (risque de Bayes R∗\Risk^*).

Le cadre du risque nous dit quoi minimiser. Les modèles linéaires sont le premier choix de famille paramétrique : ils ont une solution en forme fermée et une interprétation probabiliste directe.

Régression linéaire et Ridge (ch. 2)

Les moindres carrés ordinaires donnent la solution en forme fermée θ^=(X⊤X)−1X⊤y\hat{\boldsymbol{\theta}} = (\mathbf{X}^\top \mathbf{X})^{-1}\mathbf{X}^\top \mathbf{y}, mais cette solution est instable quand d≈Nd \approx N ou d>Nd > N. Ridge stabilise en ajoutant λI\lambda \mathbf{I}. Via la SVD, Ridge atténue sélectivement les directions de faible variance.

Classification (ch. 3)

En régression, la vraisemblance gaussienne mène aux moindres carrés. En classification, la vraisemblance de Bernoulli mène à l’entropie croisée et à la régression logistique, qui modélise directement p(y∣x)p(y \mid \mathbf{x}). Le softmax généralise la sigmoïde au cas multiclasse. La perte associée est l’entropie croisée, dérivée du maximum de vraisemblance.

Généralisation (ch. 4)

Un modèle linéaire peut être trop simple pour les données, ou trop complexe si l’espace de caractéristiques est enrichi. Le compromis biais-variance structure la première moitié du cours. Un modèle trop simple sous-apprend (biais élevé); un modèle trop complexe surapprend (variance élevée). La validation croisée sert à choisir les hyperparamètres.

Cadre probabiliste (ch. 5)

La régularisation contrôle la complexité, mais d’où vient-elle? Le cadre probabiliste unifie trois perspectives sur l’apprentissage. Le MAP relie la régularisation à un a priori bayésien, et la théorie de l’information fournit une troisième lecture via la divergence KL.

Modèles probabilistes génératifs (ch. 6)

La régression logistique modélise p(y∣x)p(y \mid \mathbf{x}) directement (approche discriminative). Une alternative est de modéliser p(x∣y)p(\mathbf{x} \mid y) et d’appliquer Bayes (approche générative). Les modèles génératifs modélisent p(x∣y)p(y)p(\mathbf{x} \mid y)p(y) puis appliquent Bayes pour classifier, contrairement aux modèles discriminatifs qui modélisent directement p(y∣x)p(y \mid \mathbf{x}). L’algorithme EM est la méthode d’estimation pour les modèles à variables latentes.


Partie II — Matière post-intra

Tous les modèles vus jusqu’ici reposent sur des caractéristiques choisies à la main : polynomiales, MFCC, mesures cliniques. Les réseaux de neurones apprennent leurs propres caractéristiques par composition de transformations non linéaires.

Réseaux de neurones (ch. 7)

Un perceptron multicouche (MLP) empile des couches de la forme zℓ=φ(Wℓzℓ−1+bℓ)\mathbf{z}_\ell = \varphi(W_\ell \mathbf{z}_{\ell-1} + \mathbf{b}_\ell). La couche de sortie est dictée par le maximum de vraisemblance : linéaire pour la régression, softmax pour la classification multiclasse, sigmoïde pour la classification binaire.

Dérivation automatique (ch. 7)

Un MLP est une composition de fonctions. Pour l’entraîner par descente de gradient, il faut calculer le gradient de la perte par rapport à tous les paramètres. La dérivation automatique (AD) calcule les dérivées exactes d’un programme en appliquant la règle de la chaîne sur son graphe de calcul.

Mode avant vs mode arrière

Pour une composition f=fL∘⋯∘f1f = f_L \circ \cdots \circ f_1, le jacobien est Jf=JfL⋯Jf1J_f = J_{f_L} \cdots J_{f_1}. Les deux modes d’AD correspondent aux deux sens d’évaluation de ce produit.

Graphe de calcul et branchement

Un programme se décompose en un DAG où chaque nœud est une opération élémentaire. Lorsqu’une variable a plusieurs successeurs (branchement), le mode arrière accumule les adjoints de chaque chemin.

uˉ=∑v∈succ(u)vˉ⋅Duφv\bar{u} = \sum_{v \in \text{succ}(u)} \bar{v} \cdot D_u \varphi_v
Règles VJP

Chaque opération a une règle VJP qui calcule uˉ⊤Jf\bar{\mathbf{u}}^\top J_f sans former le jacobien :

Le traceur

En pratique (JAX, PyTorch), un traceur encapsule chaque valeur numérique et enregistre les opérations sur une bande de Wengert. Chaque entrée de la bande contient une fermeture (closure) qui capture les valeurs de la passe avant et la règle VJP. La passe arrière parcourt la bande en sens inverse et accumule les adjoints.

Le gradient en main, nous pouvons entraîner des réseaux profonds. Mais la profondeur crée ses propres difficultés.

Entraîner un réseau de neurones (ch. 8)

Optimiseurs
Dissolution et explosion du gradient

Dans un réseau à LL couches, le gradient par rapport aux premières couches est un produit de jacobiens. Si le rayon spectral de chaque jacobien est <1< 1, le gradient disparaît exponentiellement.

Bloc résiduel : le terme identité garantit un chemin direct pour le gradient.

Figure 1:Bloc résiduel : le terme identité garantit un chemin direct pour le gradient.

Régularisation
Transfert de représentations

Un réseau se décompose en tronc (caractéristiques générales) et tête (spécifique à la tâche). Deux stratégies : geler le tronc et entraîner la tête (extraction de caractéristiques), ou régler finement le réseau entier avec un taux d’apprentissage réduit.

Architecture tronc-tête : le tronc pré-entraîné extrait des caractéristiques générales.

Figure 2:Architecture tronc-tête : le tronc pré-entraîné extrait des caractéristiques générales.

Auto-encodeurs (ch. 9)

Les réseaux vus jusqu’ici sont supervisés. Un auto-encodeur utilise la même machinerie (MLP, rétropropagation) pour l’apprentissage non supervisé : il comprime l’entrée via un goulot d’étranglement puis la reconstruit. L’auto-encodeur linéaire est exactement l’ACP.

Réseaux récurrents (ch. 9)

Les MLP traitent des entrées de taille fixe. Pour les séquences (texte, audio, séries temporelles), il faut une architecture qui accepte des entrées de longueur variable. Les RNN traitent des séquences en maintenant un état caché ht\mathbf{h}_t. Le partage de paramètres à travers le temps permet de traiter des séquences de longueur variable.

Attention et transformeurs (ch. 10)

Les RNN compriment tout le passé dans un vecteur de taille fixe et ne peuvent pas être parallélisés. Le mécanisme d’attention élimine ces deux limites : chaque position accède directement à toutes les autres via des requêtes, clés et valeurs apprises, sans passer par un état caché séquentiel.

Attention par produit scalaire : les requêtes interrogent les clés pour pondérer les valeurs.

Figure 3:Attention par produit scalaire : les requêtes interrogent les clés pour pondérer les valeurs.

Un bloc transformeur : auto-attention → résiduel → LayerNorm → MLP → résiduel → LayerNorm.

Figure 4:Un bloc transformeur : auto-attention → résiduel → LayerNorm → MLP → résiduel → LayerNorm.

Arbres et ensembles (ch. 11)

Les réseaux de neurones sont l’outil de choix pour les données non structurées (images, texte, audio). Pour les données tabulaires structurées, les méthodes d’ensemble à base d’arbres restent compétitives et souvent préférables. La descente de gradient fonctionnelle optimise les prédictions elles-mêmes plutôt que les paramètres. Les arbres de décision servent de modèles de base.


Questions de pratique

Question 1 — Quel modèle pour quel problème?

Question 2 — Dérivation automatique

Question 3 — Compréhension de code

Question 4 — Attention et transformeurs

Matrice de scores et version masquée pour cet exemple :

Source
import numpy as np
import matplotlib.pyplot as plt

Q = np.array([[1, 0], [0, 1], [1, 1], [0, 0]], dtype=float)
K = np.array([[1, 0], [0, 1], [0, 0], [1, 1]], dtype=float)
d_k = 2

S = Q @ K.T / np.sqrt(d_k)

mask = np.triu(np.full((4, 4), -np.inf), k=1)
S_masked = S + mask

fig, axes = plt.subplots(1, 2, figsize=(9, 3.5))

for ax, mat, title in [(axes[0], S, "Scores $S = QK^\\top / \\sqrt{d_k}$"),
                        (axes[1], S_masked, "Scores avec masque causal")]:
    display_mat = np.where(np.isneginf(mat), np.nan, mat)
    im = ax.imshow(display_mat, cmap="YlOrRd", vmin=-0.5, vmax=1.5)
    ax.set_title(title, fontsize=11)
    ax.set_xlabel("Clé (position $j$)")
    ax.set_ylabel("Requête (position $i$)")
    ax.set_xticks(range(4))
    ax.set_yticks(range(4))
    for i in range(4):
        for j in range(4):
            val = mat[i, j]
            if np.isneginf(val):
                ax.text(j, i, "$-\\infty$", ha="center", va="center", fontsize=9, color="gray")
            else:
                ax.text(j, i, f"{val:.2f}", ha="center", va="center", fontsize=9)
    plt.colorbar(im, ax=ax, shrink=0.8)

plt.tight_layout()
plt.show()
<Figure size 900x350 with 4 Axes>

Question 5 — Optimisation et régularisation

Question 6 — Auto-encodeurs et représentations

Question 7 — Dissolution du gradient dans les RNN

Question 8 — Gradient boosting


Tableau de synthèse

Les thèmes transversaux du cours relient la matière pré-intra et post-intra :

ThèmePré-intraPost-intra
Dissolution du gradient—Sigmoïde → ReLU, connexions résiduelles, LSTM
RégularisationRidge (λ∣θ∣2\lambda |\boldsymbol{\theta}|^2), validation croiséeDropout, arrêt précoce, décroissance des poids
Maximum de vraisemblanceMCO = EMV gaussien, logistique = EMV BernoulliCouche de sortie des réseaux (softmax, linéaire)
Réduction de dimensionSVD, ACP via RidgeAuto-encodeur (linéaire = ACP, non linéaire)
Modèles à variables latentesMélange de gaussiennes, EMAuto-encodeur variationnel
Moyenne pondéréeNadaraya-Watson (noyau fixe), mélange d’experts (routage appris)Attention (noyau appris q⊤k/dkq^\top k / \sqrt{d_k})
Biais-variancekk (k-ppv), λ\lambda (KDE), λ\lambda (Ridge), validation croiséeBoosting (biais) vs bagging (variance)