Master Smart Cities · Introduction aux réseaux de neurones

🚲 Apprendre à prévoir l’affluence d’une station de vélos

Un réseau de neurones est un programme qui apprend par l’exemple au lieu de suivre des règles écrites à la main. Ici, on lui montre des situations vécues par une station de vélos en libre-service (l’heure, le jour, la météo) et le niveau d’affluence observé (faible, moyenne ou forte), et il apprend à prévoir l’affluence d’une situation qu’il n’a jamais vue.

📖 Comment lire cette page

Au départ, le réseau ne sait rien : ses réponses dépendent de poids initialisés au hasard et ne sont pas encore fiables. C’est normal, c’est tout l’intérêt de l’apprentissage !

🧭 Parcours en 4 étapes

  1. Avant d’apprendre : choisis « Jour ouvré, 8 h » ci-dessous. Regarde les trois barres de réponse : elles se ressemblent, le réseau hésite.
  2. Apprends : clique sur « Apprendre ». Observe les traits changer d’épaisseur et la courbe d’erreur évoluer (elle baisse généralement).
  3. Reteste : la forte affluence de 8 h est maintenant reconnue. Essaie le week-end et la nuit.
  4. Invente une situation : avec les curseurs, crée une situation imaginaire (ex. : un jour ouvré à midi, ou une tempête à l’heure de pointe). Que répond le réseau ?

Pour voir les calculs en détail, ouvre « Explorer le calcul » sous le schéma, ou « Mode avancé » en bas de page.

Changer l’architecture réinitialise l’apprentissage et les poids.

Un « cycle » affiché correspond à cinq passages sur les neuf exemples (cinq époques). Les poids sont ajustés après chaque exemple : descente de gradient stochastique, dans un ordre fixe.

Cycles0
Réussite apprentissage (9)—
Réussite test (8)—
Erreur moyenne apprentissage—
Erreur moyenne test—

La situation4 neurones cachésRéponse
🔍 Explorer le calcul : étapes, inspecter un neurone, modifier un poids

Propagation complète — clique sur « Étape suivante » pour commencer.

Les étapes ne changent pas les poids : elles dévoilent les calculs de gauche à droite. Clique sur un neurone pour voir son calcul, ou sur une connexion pour régler son poids et afficher les signes + ou − directement sur le réseau.

Choisir une connexion sans viser le trait
Trait gris : importance accordée (poids)Trait bleu : contribution positiveTrait orange : contribution négativeEn sélectionnant une connexion, son signe et sa contribution apparaissent directement sur le trait.● Cercle : plus il est gros et vert, plus il est « allumé » (valeur en %)
Les 4 neurones cachés repèrent des combinaisons utiles d’informations ; leurs noms « neurone 1, 2… » sont neutres, car le réseau décide seul de leur rôle. La réponse donne un score à chaque niveau d’affluence ; les trois scores s’additionnent toujours à 100 %.
💡 Astuce : décoche les traits gris au début pour ne voir que ce qui circule dans le réseau, puis remets-les pour comparer.
Modifier la situation

Les curseurs changent la situation testée, pas le réseau. Teste aussi des situations imaginaires !

Évolution des erreurs : apprentissage (bleu) et test (orange)

Deux courbes pour comparer les exemples appris aux situations jamais utilisées pour corriger les poids. Avec seulement 8 tests synthétiques, la courbe de test peut remonter légèrement après un certain nombre de cycles (surapprentissage), ou pas.

ErreurCycles →

Lance l’apprentissage pour voir le minimum atteint par chaque courbe. Survole la courbe pour lire les valeurs.

Le réseau n’a encore rien appris. Teste une situation, puis clique sur « Apprendre ».

🛠️ Mode avancé : fiches des neurones et données d’apprentissage / test

📊 Données d’apprentissage et données de test

Les 9 exemples d’apprentissage servent à ajuster les poids. Les 8 exemples de test, différents (dont deux volontairement difficiles), ne sont jamais utilisés pour corriger les poids. Ils permettent de vérifier si le réseau généralise. Toutes ces données sont synthétiques et simplifiées, pas des relevés réels d’une station.

Les valeurs des cinq informations décrivent les entrées ; la colonne « Classe » est la bonne réponse attendue. Les colonnes « Prédiction » et « Score » sont recalculées après chaque entraînement.

🔬 Pour aller plus loin (vocabulaire technique)

Réseau à 5 entrées, une couche cachée de 2, 4 ou 8 neurones et 3 sorties (architecture 5 → N → 3). La couche cachée utilise la fonction sigmoïde, la sortie utilise la fonction softmax : elle transforme les trois valeurs brutes en trois scores positifs qui s’additionnent à 100 %.

L’apprentissage utilise la rétropropagation de l’erreur et la descente de gradient sur neuf exemples synthétiques. Les « poids » sont les coefficients des connexions ; les « activations » sont les valeurs des neurones.

Épaisseur colorée = |activation × poids| ; ligne grise = |poids|. Un cycle affiché réalise cinq passages sur les neuf exemples. Le bouton « Autre départ » change l’initialisation aléatoire des poids : l’apprentissage aboutit à un résultat comparable, mais pas identique.

Modèle pédagogique. Les pourcentages sont des scores, pas des probabilités calibrées. La réussite sur les données de test est mesurée sur seulement huit exemples synthétiques : elle ne garantit pas de prévoir l’affluence d’une vraie station.

© Didier Orlandi — webprofs.fr · Licence CC BY-NC-SA 4.0