← Comprendre les Réseaux de Neurones
💡 Phase 3.5 · 1 jour

L'exercice XOR - le moment « Aha ! »

🎯 Ce que tu retiens : Pourquoi les couches cachées ?

Le problème

Voici un problème qu'un seul neurone ne peut PAS résoudre (la sortie vaut 1 quand les entrées sont différentes) :

Entrée 1Entrée 2Sortie
000
011
101
110

📖 Vocabulaire - français / anglais

  • XOR ↔ *OU exclusif* (vrai quand les deux entrées diffèrent)
  • séparable linéairement ↔ *linearly separable* (séparable par une droite)

Exercice 3.5.1 - Impossible à la main

✍️ À toi de jouer

Sur papier, place 4 points : (0,0)=noir, (0,1)=blanc, (1,0)=blanc, (1,1)=noir.

Question : peux-tu tracer UNE SEULE ligne droite qui sépare les blancs des noirs ?

Voir la réponse

Non - c'est géométriquement impossible. Les deux blancs sont sur une diagonale, les deux noirs sur l'autre.

La leçon : un seul neurone = une seule ligne droite. Si les données ne sont pas séparables par une droite, un neurone seul échoue toujours.

Exercice 3.5.2 - Résoudre avec une couche cachée

✍️ À toi de jouer

Reprends le code de la Phase 3, mais avec les données XOR :

X = np.array([[0,0], [0,1], [1,0], [1,1]])
y = np.array([[0], [1], [1], [0]])

Essaie d'abord sans couche cachée (2 entrées → 1 sortie). L'erreur reste-t-elle bloquée vers 0.25 ? Puis essaie avec 2 neurones cachés (l'architecture d'origine). L'erreur descend-elle presque à 0 ?

Voir la réponse
# Sans couche cachée : 2 -> 1 directement.
#   poids1 = np.random.uniform(-1, 1, (2, 1)); supprime couche1/poids2.
#   Résultat : l'erreur reste coincée autour de 0.25, pour toujours.

# Avec 2 neurones cachés : 2 -> 3 -> 1 (code d'origine).
#   Résultat : l'erreur descend vers ~0.01.

La leçon : une couche cachée n'est pas de la décoration. Chaque neurone caché trace sa propre droite, et le neurone final les combine pour « plier » l'espace. Avec assez de neurones cachés, presque n'importe quel problème devient séparable.

Sans cet exercice, beaucoup de gens pensent : « pourquoi ne pas juste un neurone ? ». Maintenant tu sais pourquoi.