🔧 Détecteur d'anomalies de capteurs — Autoencodeur en direct
Regardez un véritable autoencodeur neuronal s'entraîner en direct par rétropropagation pour reconstruire des relevés de capteurs simulés normaux, signalant les anomalies par de véritables pics d'erreur de reconstruction qu'il n'a jamais appris à bien compresser.
À propos de cette simulation
Cette simulation exécute un véritable réseau de neurones encodeur-décodeur (un autoencodeur à cinq entrées avec un goulot d'étranglement de trois unités) entièrement dans votre navigateur, l'entraînant en direct avec une rétropropagation codée à la main et une descente de gradient stochastique — pas de TensorFlow.js, pas de bibliothèque de ML toute faite, juste des propagations avant et arrière codées à partir de la règle de dérivation en chaîne. Il reçoit un flux continu de relevés synthétiques et corrélés de « fonctionnement normal » provenant de cinq capteurs de machine simulés (température, vibration, pression, courant et régime moteur), et il apprend, époque après époque, à compresser et reconstruire ce motif sain. Une fois entraîné, lui présenter un relevé qu'il n'a jamais vu — un pic, une dérive, un capteur bloqué, une rupture de corrélation, ou une rafale de bruit — produit une erreur de reconstruction mesurablement plus élevée, ce qui est exactement la façon dont les véritables systèmes de maintenance prédictive signalent les défaillances d'équipement avant qu'elles ne causent des arrêts.
🔬 Ce que ça montre
Une courbe de perte en direct diminuant véritablement à mesure que la rétropropagation met à jour les poids du réseau à chaque image, un graphique en bande d'erreur de reconstruction en direct avec un seuil de détection réglable, et une machine 3D dont les cinq nœuds de capteurs s'illuminent du vert au rouge selon l'erreur de reconstruction quadratique en temps réel de chaque canal.
🎮 Comment l'utiliser
Laissez le réseau s'entraîner quelques secondes jusqu'à ce que la courbe de perte s'aplatisse, puis choisissez un type d'anomalie dans le menu déroulant et cliquez sur Injecter pour présenter au réseau entraîné un motif de défaillance qu'il n'a jamais vu. Regardez l'erreur de reconstruction dépasser la ligne de seuil, ajustez le curseur de seuil pour changer la sensibilité de détection, et utilisez Réinitialiser pour réinitialiser le réseau et le réentraîner à partir de zéro.
💡 Le saviez-vous ?
La détection d'anomalies par autoencodeur ne nécessite aucun exemple de défaillance étiqueté : elle ne s'entraîne que sur des données abondantes de type « tout va bien ». C'est exactement pourquoi elle est populaire en maintenance prédictive industrielle, où les vraies défaillances sont rares, coûteuses à provoquer volontairement, et souvent différentes à chaque fois.
Questions fréquentes
Qu'est-ce qu'un autoencodeur et comment détecte-t-il les anomalies ?
Un autoencodeur est un réseau de neurones entraîné à reconstruire sa propre entrée à travers une couche goulot d'étranglement étroite qui le force à apprendre une représentation compressée des données. Lorsqu'il n'est entraîné que sur des relevés de capteurs normaux, le réseau devient très bon pour compresser et reconstruire les motifs qu'il a vus, mais médiocre pour reconstruire des motifs qu'il n'a jamais rencontrés. La détection d'anomalies exploite cela : on présente au réseau entraîné n'importe quel nouveau relevé et on mesure l'erreur de reconstruction, la différence quadratique moyenne entre l'entrée et la sortie du réseau. Les relevés normaux se reconstruisent avec une faible erreur ; les relevés qui sortent de la variété apprise se reconstruisent avec une erreur élevée, car le goulot d'étranglement compressé n'a tout simplement pas de code efficace pour eux.
Pourquoi la couche goulot d'étranglement est-elle importante ?
Si la couche cachée était aussi large que l'entrée, le réseau pourrait apprendre une application identité triviale qui recopie chaque valeur directement, et chaque entrée, normale ou anormale, se reconstruirait avec une erreur proche de zéro, rendant la détection d'anomalies dénuée de sens. L'encodeur de cette simulation compresse cinq canaux de capteurs jusqu'à un goulot d'étranglement de 3 unités avant qu'un décodeur en miroir ne les réétende à cinq sorties. Ce goulot d'étranglement étroit force le réseau à découvrir la structure de faible dimension qui régit réellement une machine saine, son cycle de charge partagé, et à écarter tout ce qui sort de cette structure.
Comment ce réseau est-il réellement entraîné dans le navigateur ?
À chaque image d'animation, la simulation tire de nouveaux relevés normaux synthétiques, jamais de vrais fichiers de données, les fait passer dans le réseau actuel lors d'une propagation avant, calcule l'erreur de reconstruction quadratique moyenne par rapport à cette même entrée utilisée comme cible d'entraînement, puis effectue une propagation arrière complète : la règle de dérivation en chaîne est appliquée couche par couche pour calculer les gradients de chaque poids et biais, en utilisant les dérivées de tanh pour les couches cachées et une simple dérivée linéaire pour la couche de sortie, puis chaque paramètre est ajusté de moins le taux d'apprentissage multiplié par son gradient. Il s'agit d'une véritable rétropropagation et descente de gradient, implémentée de zéro en JavaScript pur sans bibliothèque d'apprentissage automatique, et vous pouvez observer la courbe de perte diminuer à mesure que l'entraînement progresse.
Quels types d'anomalies puis-je injecter, et en quoi diffèrent-ils ?
Cinq modes de défaillance sont disponibles : un Pic de capteur où un canal bondit brusquement de plusieurs écarts-types normaux, une Dérive de capteur où un canal s'écarte lentement de sa plage saine, un Capteur bloqué où un canal se fige à une valeur fixe tandis que la charge réelle continue de changer, une Rupture de corrélation où tous les capteurs continuent de bouger mais cessent de bouger ensemble alors que les vraies machines ont leurs capteurs couplés par une charge physique partagée, et une Rafale de bruit où tous les canaux deviennent bien plus bruyants que tout ce qui a été vu à l'entraînement. Comme le réseau n'a jamais été entraîné sur aucun de ces cinq motifs, chacun produit typiquement une erreur de reconstruction des dizaines à des centaines de fois plus élevée qu'en fonctionnement normal.
Comment dois-je régler le seuil de détection ?
Le curseur de seuil définit la valeur d'erreur de reconstruction au-dessus de laquelle la simulation signale ANOMALIE DÉTECTÉE. Le régler trop bas fera déclencher de fausses alarmes par des relevés ordinaires bruyants mais sains ; le régler trop haut laissera passer inaperçues de vraies défaillances. Une approche pratique courante, reprise ici, consiste à fixer le seuil à quelques écarts-types au-dessus de l'erreur de reconstruction moyenne observée sur des données normales validées, puis à l'ajuster en observant le graphique d'erreur en direct pour équilibrer la sensibilité et le taux de fausses alarmes pour la machine spécifique surveillée.
Pourquoi le réseau n'est-il entraîné que sur des données de fonctionnement normal ?
C'est l'astuce déterminante de la détection d'anomalies par autoencodeur : comme les vraies anomalies sont rares, variées et souvent imprévisibles, il est généralement impossible en pratique de rassembler un jeu de données étiqueté pour chaque mode de défaillance possible. Le réseau n'a au contraire besoin que d'exemples de ce à quoi ressemble le fonctionnement normal, qui sont abondants, et il apprend la détection d'anomalies comme un sous-produit non supervisé du fait de bien compresser ces données normales générées en continu. Cette simulation sépare strictement son générateur d'entraînement, qui ne produit jamais que le motif de capteurs corrélés sain, de son code d'injection d'anomalies en direct, si bien que toute erreur de reconstruction élevée que vous observez est un véritable échec de généralisation non répété, et non un exemple mémorisé.
La visualisation 3D affiche-t-elle de vraies valeurs ?
Oui. Les cinq nœuds de capteurs lumineux correspondent aux cinq canaux d'entrée du réseau, température, vibration, pression, courant et régime moteur (RPM), et la couleur et l'intensité lumineuse de chaque nœud sont directement pilotées par l'erreur de reconstruction quadratique de ce canal à l'instant présent, le relevé réel moins la reconstruction du réseau, au carré. La couleur du boîtier central reflète le score combiné par rapport au seuil actuel. Rien n'est scripté ni précalculé : chaque valeur provient de la propagation avant en direct du même réseau montré s'entraînant dans le graphique de perte.
Un autoencodeur dense 5→8→3→8→5 s'entraîne en direct par rétropropagation codée à la main et SGD sur des données de capteurs corrélées synthétiques, puis signale les anomalies à partir de véritables pics d'erreur de reconstruction par rapport à un seuil réglable.
3D · Moteur de rendu Three.js / WebGL · Cible 60 FPS · fonctionne entièrement côté client, sans installation