Le neurone artificiel et les réseaux
⏱ 55 minUn neurone calcule une somme pondérée puis applique une fonction d'activation non linéaire :
sortie = activation(w·x + b)
Sans non-linéarité, empiler des couches reviendrait à une seule transformation linéaire. Les activations courantes : ReLU max(0, z) — standard, rapide, évite la saturation ; sigmoïde et tanh — surtout en sortie ou dans les RNN.
Un réseau profond empile des couches : chaque couche apprend des représentations de plus en plus abstraites (pixels → contours → formes → objets).
Théorème d'approximation universelle : un réseau à une couche cachée suffisamment large peut approximer n'importe quelle fonction continue. En pratique, la profondeur est plus efficace que la largeur.
import torch.nn as nn
model = nn.Sequential(
nn.Linear(784, 128), nn.ReLU(),
nn.Linear(128, 64), nn.ReLU(),
nn.Linear(64, 10),
)
📚 Pour aller plus loin
✍️ Exercices de la leçon
2 exercicesFais-les dans l'ordre, dans un vrai fichier .py — pas dans ta tête. Ne déplie la correction qu'après avoir écrit quelque chose, même faux.
Exercice A — Compter les paramètres avant de les entraîner
Application directe · Tu appliques ce que tu viens de lire.
Construis ce réseau en PyTorch :
import torch.nn as nn
model = nn.Sequential(
nn.Linear(784, 128), nn.ReLU(),
nn.Linear(128, 64), nn.ReLU(),
nn.Linear(64, 10),
)
- 1.calcule à la main, sur papier, le nombre total de paramètres entraînables
- 2.vérifie ton calcul en Python
- 3.fais passer un tenseur de forme
(32, 784)et affiche la forme de sortie - 4.remplace la dernière couche par
nn.Linear(64, 1): combien de paramètres en moins ?
Savoir compter les paramètres est un réflexe de base — c'est ce qui te dira si un modèle tient en mémoire avant de lancer un entraînement de six heures.
Exercice B — Prouver que la non-linéarité est indispensable
Page blanche · Aucun squelette : à toi de choisir la méthode.
Page blanche. Démonstration expérimentale.
Le cours affirme : « sans fonction d'activation non linéaire, empiler des couches revient à une seule transformation linéaire ».
Ne le crois pas. Prouve-le.
Conçois une expérience qui montre les deux choses suivantes :
1. un réseau profond sans activation ne peut pas apprendre un problème non linéairement séparable
2. le même réseau, avec des ReLU, y arrive
Choisis toi-même le problème de test, l'architecture, et la façon de visualiser le résultat.
Indice de choix du problème : il te faut quelque chose qu'une droite ne peut pas séparer. Le plus petit exemple connu tient en quatre points.