Le carnet On est
Annale 2025-2026 · MI FI

Examen IA — MI FI

Quatre exercices : jeux à deux joueurs (Minimax + alpha-beta), Deep Learning I (Convnet MNIST Keras), Deep Learning II (RNN analyse de sentiment), apprentissage par renforcement (Q-Learning grille 2x3). Durée 2h, calculatrices autorisées, sans documents.

2h · MI FI 4 exercices · sans documents Date : Avril 2026

i. Le sujet

Le PDF ne s'affiche pas. Télécharger le sujet.

Sujet en plein écran

ii. Analyse du sujet

ExoThèmeChapitresType
1Jeux à deux joueursMinimax + alpha-betaConstruction d'arbre + déroulement algo + analyse
2Deep Learning I (Convnet)CM2Analyse de code Keras (MNIST), hyperparamètres vs paramètres, calcul de params par couche
3Deep Learning II (RNN)CM3Dimensionnement d'un RNN pour analyse de sentiment (3 classes, 40 mots, vecteur 50, couche cachée 64)
4Apprentissage par renforcementCM4Modélisation MDP sur grille 2x3, Q-Learning, stratégie optimale, exploration/exploitation
Constat notable
  • L'exercice 1 (Minimax / alpha-beta) porte sur du contenu hors programme GI 2026 (CM1/CM6). Il est spécifique à MI FI.
  • Pas de NLP (CM5) dans ce sujet, contrairement à l'annale GSI FI 2024-2025.
  • CM2 + CM3 + CM4 sont bien les 3 piliers confirmés de l'examen IA.
  • Le format de l'exo RNN (analyse de sentiment, 3 classes) correspond au scénario many-to-one du cours.

1. Jeux à deux joueurs

Arbre de jeu à 5 niveaux (racine=Max, feuilles=niveau 5). Chaque noeud non terminal a exactement 2 fils. Feuilles (gauche à droite) : 3, -5, -6, 7, 7, 8, 8, -3, -4, 6, 8, -3, 3, 2, -1, 5.

Points clés à maîtriser
  • Minimax : Max choisit le max de ses fils, Min le min. Remonter de bas en haut.
  • Signification des feuilles : valeurs d'utilité estimées par une heuristique (positif = favorable à Max).
  • Alpha-beta : couper les branches inutiles. $\alpha \le v \le \beta$. Si $\alpha \ge \beta$ : coupure.
  • Mesure d'amélioration : compter les noeuds évalués avec vs sans élagage.

2. Deep Learning I (Convnet)

Code Keras donné : MNIST (28x28, 1 canal), architecture Conv2D(32, 5x5, sigmoid, same) + MaxPool(2,2) + Conv2D(64, 5x5, sigmoid, same) + MaxPool(2,2) + Flatten + Dense(100, sigmoid) + Dense(nb_classes, softmax).

Questions types et méthode
  • to_categorical : one-hot encoding (vecteur de probabilités cible pour la cross-entropie).
  • Hyperparamètres (choisis avant l'entraînement) : nb filtres, taille filtre, nb couches, taux d'apprentissage, epochs, batch_size.
  • Paramètres (appris pendant l'entraînement) : poids des filtres + biais, poids des couches denses.
  • Calcul de params Conv2D(32, 5x5) sur 1 canal : $32 \times (5 \times 5 \times 1 + 1) = 832$.
  • Conv2D(64, 5x5) sur 32 canaux : $64 \times (5 \times 5 \times 32 + 1) = 51\,264$.
  • Couche de sortie : 10 neurones (10 chiffres), softmax pour distribution de probabilités sur les classes.

3. Deep Learning II (RNN)

RNN pour analyse de sentiment : 3 classes (positif, négatif, neutre). Textes de 40 mots, chaque mot = vecteur de taille 50. Couche cachée de taille 64.

Dimensionnement du réseau
  • Entrée : $n = 50$ (taille du vecteur mot). Séquence $T = 40$.
  • Sortie : $p = 3$ (positif, négatif, neutre) avec softmax (classification multi-classes).
  • Couche cachée : $m = 64$.
  • Params RNN :
    • $U$ : $m \times n = 64 \times 50 = 3\,200$ (entrée vers hidden)
    • $V$ : $m \times m = 64 \times 64 = 4\,096$ (hidden vers hidden)
    • $B^h$ : $m = 64$ (biais hidden)
    • $W$ : $p \times m = 3 \times 64 = 192$ (hidden vers sortie)
    • $B^o$ : $p = 3$ (biais sortie)
    • Total : $3\,200 + 4\,096 + 64 + 192 + 3 = \mathbf{7\,555}$
  • Architecture : many-to-one (on ne garde que la dernière sortie $H^T$ pour classifier).

4. Apprentissage par renforcement

Grille 2x3 : objectif (vert) et piège (rouge). Modélisation MDP + Q-Learning.

Modélisation et Q-Learning
  • MDP : $S$ = 6 cases, $A$ = {haut, bas, gauche, droite}, $T$ = déterministe (murs = rester), $R$ = +1 objectif / -1 piège / 0 sinon, $\gamma$ à choisir.
  • Q-Learning : $Q(s,a) \leftarrow Q(s,a) + \alpha [r + \gamma \max_{a'} Q(s',a') - Q(s,a)]$.
  • Sortie de l'algo : table $Q(s,a)$ pour chaque paire (état, action).
  • Stratégie optimale : $\pi^*(s) = \text{argmax}_a\, Q^*(s,a)$. Construire à la main = suivre les flèches max.
  • Exploration / Exploitation : $\varepsilon$-greedy. Avec proba $\varepsilon$ action aléatoire (explore), sinon action argmax $Q$ (exploite).

* Notions ré-activées

  • Minimax : Max maximise, Min minimise. Valeur remontée de bas en haut
  • Alpha-beta : $\alpha \le v \le \beta$. Coupure si $\alpha \ge \beta$. Réduit le nombre de noeuds explorés
  • to_categorical = one-hot encoding pour la cross-entropie
  • Hyperparamètres (choisis) vs paramètres (appris)
  • Params Conv2D = $F \times (m \times m \times c + 1)$
  • Taille sortie conv same = entrée (préserve les dimensions)
  • MaxPool(2,2) divise chaque dimension par 2
  • Flatten : $H \times W \times C \to H \cdot W \cdot C$ (vecteur 1D)
  • Dense : params = $(in + 1) \times out$
  • RNN : $H^t = \tanh(U \cdot X^t + V \cdot H^{t-1} + B^h)$
  • Params RNN = $U(m \times n) + V(m \times m) + B^h(m) + W(p \times m) + B^o(p)$
  • Many-to-one : seule $H^T$ (dernier pas) alimente la couche de sortie
  • Softmax pour classification multi-classes ($p \ge 3$)
  • Q-Learning = model-free, off-policy. MAJ : $Q \leftarrow Q + \alpha(r + \gamma \max Q' - Q)$
  • $\varepsilon$-greedy : $\varepsilon \to 0$ = exploitation, $\varepsilon \to 1$ = exploration