TRAIN — Fine-tuning live d'un MLP

← Tous les jeux
TRAIN FINE-TUNING LIVE · MLP · TF.JS · 100 % LOCAL

? À quoi ça sert ?

Dessinez un chiffre entre 0 et 9 dans la zone de gauche, cliquez sur le bouton de la classe correspondante pour ajouter votre dessin comme exemple. Après en avoir collecté quelques-uns, lancez l'entraînement : un petit réseau de neurones apprend, en direct, à reconnaître ce que vous considérez comme chacun de ces chiffres.

Le modèle démarre à zéro (poids aléatoires). C'est un exemple pédagogique de fine-tuning : vous constituez votre propre jeu de données, vous voyez la courbe de perte descendre en même temps que la précision monte, puis vous testez le modèle sur un nouveau dessin.

1 Dessiner et étiqueter

Astuce : dessiner épais, centré et gros. Le modèle prend ce qu'il voit.

Ajouter le dessin actuel comme exemple de :

2 Prédiction en direct

Le modèle n'a pas encore été entraîné. Les prédictions ci-dessous seront aléatoires jusqu'à l'entraînement.

Ce que le modèle voit (28×28, centré)
Distribution de probabilité (softmax)
Prédiction : (confiance )
Top-3 des candidats : — · — · —
💡 Conseils pour un modèle qui généralise bien :
  • viser au moins 5 exemples par classe ;
  • varier styles de tracé (fin, épais, penché, arrondi) ;
  • varier tailles et positions dans le canvas ;
  • garder la case Data augmentation cochée : chaque exemple est multiplié par dix via translation, rotation et zoom aléatoires.

3 Entraînement

Chargement de TensorFlow.js…
⚙️ Paramètres avancés (optionnel)

🎯 Les valeurs affichées ci-dessous sont celles recommandées — calibrées pour donner de bons résultats avec un petit dataset artisanal. Libre à toi d'expérimenter pour comprendre l'effet de chaque paramètre ; le bouton Restaurer ramène la configuration optimale en un clic.

Combien de fois le modèle voit tout le dataset. Trop haut = risque de surapprentissage.
Vitesse d'apprentissage. Trop haut = instable, trop bas = très lent.
Nombre d'exemples traités par étape. Plus grand = plus stable mais moins de mises à jour.
Variantes générées par exemple original (rotation, translation, zoom). Un exemple + N variantes = N+1 vus.
Fraction de neurones désactivés à chaque batch. Régularise contre le surapprentissage.
Nombre de neurones de la première couche dense. Plus grand = plus de capacité, mais plus lent.
Perte (loss) — plus bas = mieux
Précision (accuracy) — plus haut = mieux
Aucun exemple collecté pour l'instant. Ajouter au moins 2 exemples par classe pour un entraînement significatif.

Sous le capot

Architecture du modèle

Un MLP compact : Flatten(28×28)Dense(128, relu)Dense(64, relu)Dense(10, softmax). Optimiseur Adam, perte entropie croisée catégorielle.

Préparation des données

Chaque dessin est redimensionné à 28×28 en niveaux de gris, normalisé dans [0, 1] et centré autour du centre de masse. Les étiquettes sont encodées en one-hot. La data augmentation (activée par défaut) génère neuf variantes par exemple original avec translation, rotation et zoom aléatoires — le modèle apprend la forme du chiffre plutôt que sa position.

Entraînement live

Chaque epoch, TF.js calcule la perte et la précision sur l'ensemble collecté, met à jour les poids par rétropropagation, puis remonte les métriques à l'interface : courbes redessinées à chaud.

RGPD par design

Tout tourne localement. Aucun dessin, exemple ou métrique ne quitte votre onglet. Seule la bibliothèque TF.js est téléchargée depuis un CDN.