Strona głównaAI i MLDetektor anomalii czujników — autoenkoder na żywo

🔧 Detektor anomalii czujników — autoenkoder na żywo

Obserwuj, jak prawdziwy autoenkoder neuronowy trenuje się na żywo metodą propagacji wstecznej, aby rekonstruować normalne symulowane odczyty czujników, sygnalizując anomalie poprzez rzeczywiste skoki błędu rekonstrukcji, których nigdy nie nauczono się dobrze kompresować.

AI i ML3DZaawansowany60 FPS
ai-manufacturing-sensor-anomaly-autoencoder ↗ Otwórz osobno

O tej symulacji

Ta symulacja uruchamia prawdziwą sieć neuronową typu enkoder-dekoder (pięciowejściowy autoenkoder z przewężeniem o trzech jednostkach) całkowicie w twojej przeglądarce, trenując ją na żywo za pomocą ręcznie napisanej propagacji wstecznej i stochastycznego spadku gradientu — bez TensorFlow.js, bez gotowej biblioteki ML, jedynie przejścia w przód i wstecz zakodowane na podstawie reguły łańcuchowej. Sieć jest zasilana ciągłym strumieniem syntetycznych, skorelowanych odczytów „normalnej pracy” z pięciu symulowanych czujników maszyny (temperatura, wibracja, ciśnienie, prąd i obroty), i uczy się, epoka po epoce, kompresować i rekonstruować ten zdrowy wzorzec. Po wytrenowaniu podanie jej odczytu, którego nigdy nie widziała — skoku, dryfu, zablokowanego czujnika, zerwania korelacji lub wybuchu szumu — powoduje mierzalnie wyższy błąd rekonstrukcji, co jest dokładnie tym, jak prawdziwe systemy konserwacji predykcyjnej sygnalizują usterki sprzętu, zanim spowodują przestój.

🔬 Co przedstawia

Krzywą straty na żywo, która faktycznie opada w miarę jak propagacja wsteczna aktualizuje wagi sieci w każdej klatce, wykres paskowy błędu rekonstrukcji na żywo z regulowanym progiem detekcji oraz trójwymiarowy model maszyny, którego pięć węzłów czujników świeci od zielonego do czerwonego w zależności od kwadratu błędu rekonstrukcji każdego kanału w czasie rzeczywistym.

🎮 Jak korzystać

Pozwól sieci trenować przez kilka sekund, aż krzywa straty się spłaszczy, następnie wybierz typ anomalii z listy rozwijanej i kliknij Wstrzyknij, aby podać wytrenowanej sieci wzorzec usterki, którego nigdy nie widziała. Obserwuj, jak błąd rekonstrukcji skacze powyżej linii progu, dostosuj suwak progu, aby zmienić czułość detekcji, i użyj Resetu, aby ponownie zainicjować sieć i wytrenować ją od nowa.

💡 Czy wiesz, że?

Wykrywanie anomalii oparte na autoenkoderach nie potrzebuje żadnych oznakowanych przykładów usterek: trenuje się wyłącznie na obfitych danych typu „wszystko jest w porządku”. Właśnie dlatego jest popularne w przemysłowej konserwacji predykcyjnej, gdzie prawdziwe awarie są rzadkie, kosztowne do celowego wywołania i często za każdym razem inne.

Najczęściej zadawane pytania

Czym jest autoenkoder i jak wykrywa anomalie?

Autoenkoder to sieć neuronowa trenowana do rekonstrukcji własnego wejścia poprzez wąską warstwę przewężenia (bottleneck), która zmusza ją do nauczenia się skompresowanej reprezentacji danych. Wytrenowana wyłącznie na normalnych odczytach czujników sieć staje się bardzo dobra w kompresowaniu i rekonstruowaniu wzorców, które widziała, ale słaba w rekonstruowaniu wzorców, których nigdy nie napotkała. Wykrywanie anomalii wykorzystuje ten fakt: podaj wytrenowanej sieci dowolny nowy odczyt i zmierz błąd rekonstrukcji, czyli średnią kwadratową różnicę między wejściem a wyjściem sieci. Normalne odczyty rekonstruują się z niskim błędem; odczyty wykraczające poza nauczoną rozmaitość rekonstruują się z wysokim błędem, ponieważ skompresowane przewężenie po prostu nie ma dla nich efektywnego kodu.

Dlaczego warstwa przewężenia ma znaczenie?

Gdyby warstwa ukryta była tak szeroka jak wejście, sieć mogłaby nauczyć się trywialnego odwzorowania tożsamościowego, które po prostu kopiuje każdą wartość wprost, a każde wejście, normalne czy anomalne, rekonstruowałoby się z niemal zerowym błędem, czyniąc wykrywanie anomalii bezużytecznym. Enkoder w tej symulacji kompresuje pięć kanałów czujników do przewężenia o 3 jednostkach, zanim lustrzany dekoder rozszerza je z powrotem do pięciu wyjść. To wąskie przewężenie zmusza sieć do odkrycia niskowymiarowej struktury, która faktycznie rządzi zdrową maszyną — jej wspólnego cyklu obciążenia — i odrzucenia wszystkiego, co wykracza poza tę strukturę.

Jak ta sieć jest faktycznie trenowana w przeglądarce?

W każdej klatce animacji symulacja losuje świeże syntetyczne normalne odczyty, nigdy prawdziwe pliki danych, przepuszcza je przez bieżącą sieć w przejściu w przód, oblicza średniokwadratowy błąd rekonstrukcji względem tego samego wejścia jako celu treningowego, a następnie wykonuje pełne przejście wstecz: reguła łańcuchowa jest stosowana warstwa po warstwie w celu obliczenia gradientów dla każdej wagi i obciążenia, wykorzystując pochodne tanh dla warstw ukrytych i zwykłą pochodną liniową dla warstwy wyjściowej, a następnie każdy parametr jest korygowany o minus szybkość uczenia razy jego gradient. Jest to prawdziwa propagacja wsteczna i spadek gradientu, zaimplementowane od podstaw w czystym JavaScript bez żadnej biblioteki uczenia maszynowego, a krzywą straty można obserwować, jak opada w miarę postępu treningu.

Jakie typy anomalii mogę wstrzyknąć i czym się różnią?

Dostępnych jest pięć trybów awarii: Skok czujnika, gdzie jeden kanał gwałtownie skacze o kilka normalnych odchyleń standardowych, Dryf czujnika, gdzie jeden kanał powoli oddala się od swojego zdrowego zakresu, Zablokowany czujnik, gdzie jeden kanał zamraża się na stałej wartości, podczas gdy rzeczywiste obciążenie wciąż się zmienia, Zerwanie korelacji, gdzie wszystkie czujniki wciąż się zmieniają, ale przestają zmieniać się razem, mimo że w prawdziwych maszynach czujniki są sprzężone przez wspólne obciążenie fizyczne, oraz Wybuch szumu, gdzie wszystkie kanały stają się znacznie bardziej zaszumione niż cokolwiek widziane podczas treningu. Ponieważ sieć nigdy nie była trenowana na żadnym z tych pięciu wzorców, każdy z nich zazwyczaj powoduje błąd rekonstrukcji od kilkudziesięciu do kilkuset razy wyższy niż normalna praca.

Jak powinienem ustawić próg detekcji?

Suwak progu ustawia wartość błędu rekonstrukcji, powyżej której symulacja sygnalizuje WYKRYTO ANOMALIĘ. Ustawiony zbyt nisko spowoduje, że zwykłe zaszumione, ale zdrowe odczyty będą wywoływać fałszywe alarmy; ustawiony zbyt wysoko sprawi, że prawdziwe usterki przemkną się niewykryte. Powszechnym praktycznym podejściem, odzwierciedlonym tutaj, jest ustawienie progu kilka odchyleń standardowych powyżej średniego błędu rekonstrukcji zaobserwowanego na zwalidowanych normalnych danych, a następnie dostosowanie go podczas obserwacji wykresu błędu na żywo, aby zrównoważyć czułość z częstością fałszywych alarmów dla konkretnej monitorowanej maszyny.

Dlaczego sieć jest trenowana tylko na danych normalnej pracy?

To jest kluczowa sztuczka wykrywania anomalii opartego na autoenkoderach: ponieważ prawdziwe anomalie są rzadkie, zróżnicowane i często niemożliwe do przewidzenia z góry, zwykle nie jest praktyczne zebranie oznakowanego zbioru danych dla każdego możliwego trybu awarii. Zamiast tego sieć potrzebuje jedynie przykładów tego, jak wygląda normalność, których jest pod dostatkiem, i uczy się wykrywania anomalii jako nienadzorowanego produktu ubocznego dobrego kompresowania tych stale generowanych normalnych danych. Ta symulacja ściśle oddziela swój generator treningowy, który tworzy wyłącznie zdrowy skorelowany wzorzec czujników, od swojej ścieżki kodu wstrzykiwania anomalii na żywo, więc każdy wysoki błąd rekonstrukcji, który widzisz, jest prawdziwą, nieprzygotowaną porażką generalizacji, a nie zapamiętanym przykładem.

Czy wizualizacja 3D pokazuje prawdziwe wartości?

Tak. Pięć świecących węzłów czujników odpowiada pięciu kanałom wejściowym sieci: temperaturze, wibracji, ciśnieniu, prądowi i obrotom (RPM), a kolor i intensywność blasku każdego węzła są napędzane bezpośrednio przez podniesiony do kwadratu błąd rekonstrukcji tego kanału w bieżącej chwili — rzeczywisty odczyt minus rekonstrukcja sieci, podniesione do kwadratu. Kolor centralnej obudowy odzwierciedla łączny wynik względem bieżącego progu. Nic nie jest zaskryptowane ani wcześniej przygotowane: każda wartość pochodzi z przejścia w przód na żywo tej samej sieci pokazanej podczas treningu na wykresie straty.

⚙ Pod maską

Gęsty autoenkoder 5→8→3→8→5 trenuje się na żywo za pomocą ręcznie napisanej propagacji wstecznej i SGD na syntetycznych skorelowanych danych czujników, a następnie sygnalizuje anomalie na podstawie rzeczywistych skoków błędu rekonstrukcji względem regulowanego progu.

AutoencoderBackpropagationAnomaly DetectionGradient DescentPredictive Maintenance

3D · silnik Three.js / WebGL · cel 60 FPS · działa w całości po stronie klienta, bez instalacji

Co znalazłeś/aś?

Dodaj kroki odtworzenia (opcjonalnie)