Strona głównaArtykułyUczenie maszynowe

Autoenkodery w wykrywaniu anomalii: uczenie się normy do wychwytywania nieprawidłowości

Jak sieci neuronowe autoenkodery oznaczają anomalie poprzez pomiar błędu rekonstrukcji, a także jak porównują się one z metodami opartymi na gęstości, takimi jak DBSCAN, LOF i One-Class SVM.

mysimulator teamZaktualizowano — czerwiec 2026≈ 5 min czytania▶ Otwórz symulację

Pomysł: kompresuj, a następnie oceń, jak dobrze możesz go odtworzyć

Większość algorytmów wykrywania anomalii pyta "Czy ten punkt odbiega znacząco od swoich sąsiadów?" Autoenkoder zadaje inne pytanie: "Jeśli zmniejszę ten punkt danych do małej reprezentacji i spróbuję go rozszerzyć z powrotem, jak blisko oryginalnego jestem?" Sieć neuronowa zbudowana jako autoenkoder składa się z dwóch części — kodera, który kompresuje wejście do mawej warstwy węższego kanału oraz dekodera, który próbuje odtworzyć pełne wejście z tej skompresowanej postaci. Sieć jest trenowana tylko na danych normalnych, dzięki czemu staje się bardzo dobra w rekonstrukcji wzorców, które widziała wiele razy wcześniej.

Po wytrenowaniu sieć jest pokazywana nowym danym, w tym danym, których nigdy wcześniej nie spotkała. Przykłady normalne, które przypominają rozkład treningowy, są dokładnie rekonstruowane: wyjście jest bliskie wejściu, a błąd rekonstrukcji — zwykle średni kwadrat różnicy między wejściem i wyjściem — pozostaje niski. Przykłady anomalne, które nie pasują do wzorców, których sieć się nauczyła, są słabo rekonstruowane, ponieważ kanał węższego kanału nigdy nie był zoptymalizowany pod kątem zachowania tego, co sprawia, że są one nietypowe. Duży błąd rekonstrukcji jest zatem traktowany jako dowód na anomalię.”]} {}

Budowanie sieci i wybór wąskiego gardła

Prosty autoenkoder dla danych z czujników tabelarycznych to po prostu warstwa gęsta, która redukuje dane do wąskiego gardła, a następnie symetrycznie je rozszerza. Na przykład, warstwa wejściowa, warstwa ukryta o 32 jednostkach, wąskie gardło o 8 jednostkach, kolejna warstwa ukryta o 32 jednostkach i warstwa wyjściowa dopasowana do oryginalnej wymiary wejściowej. Sieć jest trenowana z funkcją straty rekonstrukcji, taką jak średni błąd kwadratowy, przy użyciu optymalizatora Adam, dokładnie tak, jak model regresji — z tym że celem jest sam wejście.

Wymiar wąskiego gardła jest kluczową decyzją projektową. Zbyt duży, a sieć ma wystarczającą pojemność, aby zapamiętać nietypowe dane wraz z normalnymi, co podważa cel – wszystko rekonstruuje się dobrze, w tym anomalie, więc model traci zdolność do rozróżniania. Zbyt mały, a nawet normalna wariacja nie może zostać dokładnie odtworzona, generując wysoki błąd bazowy, który zagłusza sygnał anomalii. W praktyce wąskie gardło jest wybierane empirycznie, często jako ułamek liczby cech wejściowych i sprawdzane, czy błąd rekonstrukcji oddziela znane przykłady normalne i anomalne w sposób wyraźny.

Ustalanie progu anomalii

Rekonstrukcja błędu sama w sobie jest jedynie liczbą; przekształcenie jej na decyzję typu „normalne czy anomalia” wymaga progu, a to właśnie tutaj dokonuje się większości praktycznych ocen. Często stosowaną metodą jest oparta na percentylach: oblicza się błąd rekonstrukcji na zbiorze walidacyjnym składającym się głównie z danych normalnych, a następnie oznaczany jako anomalia każdy wynik powyżej 95. lub 99. percentyla. Druga opcja polega na modelowaniu błędu jako w przybliżeniu rozkładu normalnego i oznaczaniu każdego wyniku poza środkiem plus trzy odchylenia standardowe. Trzecia, gdy dostępna jest niewielka ilość danych z etykietowanymi anomaliami, to przeskanowanie progu i wybranie wartości, która maksymalizuje wynik F1 lub inną wybraną metrykę na zbiorze walidacyjnym.

Żaden z tych wyborów nie jest wolny od kompromisów. Węższy próg zmniejsza fałszywe pozytywy – inżynierowie nie są wołani w przypadku normalnych fluktuacji, ale zwiększa się ryzyko pominięcia prawdziwych anomalii, co ma znaczenie, jeśli anomalie stanowią problemy z bezpieczeństwem lub awarie sprzętu. Luźniejszy próg wychwytuje więcej prawdziwych anomalii, ale ryzykuje wywołanie zmęczenia alarmami, gdzie operatorzy zaczynają ignorować alarmy, ponieważ zbyt wiele z nich okazuje się być nieszkodliwych. Próg powinien ostatecznie zostać ustalony z uwzględnieniem kosztów błędów w dalszej kolejności, a nie wyłącznie na podstawie reguły empirycznej.”]}صيانة.pdf

Alternatywy oparte na gęstości: DBSCAN i Lokalny Czynnik Wyjścia z Normy

Autoenkodery nie są jedyną ścieżką uczenia się bez nadzoru do wykrywania anomalii, a prostsze metody często są próbowane jako pierwsze, ponieważ nie wymagają treningu sieci neuronowej. DBSCAN, algorytm klastrowania oparty na lokalnej gęstości punktów, naturalnie generuje etykiety anomalii jako efekt uboczny: grupuje punkty ściśle ze sobą posortowane w klastry, a każdy punkt, który nie ma wystarczającej liczby sąsiadów w danym promieniu, aby dołączyć do klastra, jest oznaczany jako szum. Punkty szumu to anomalie. DBSCAN wymaga dwóch parametrów — promienia najbliższego sąsiedztwa (eps) i minimalnej liczby punktów wymaganej do utworzenia gęstej strefy (min_samples) — oraz wymaga przeskalowania cech wstecznie, ponieważ działa bezpośrednio na geometrii danych, a cechy o bardzo różnych skalach zniekształciłoby obliczenia odległości.

Lokalny Czynnik Wyjścia z Normy (LOF) przyjmuje powiązany, ale bardziej subtelny podział: zamiast twardego progu gęstości, porównuje lokalną gęstość wokół punktu z lokalną gęstością wokół jego sąsiadów. Punkt, którego najbliższe otoczenie jest znacznie rzadsze niż otoczenia jego sąsiadów, otrzymuje wysoki wynik wyjścia z normy, nawet jeśli punkt znajduje się w obszarze danych, który jest umiarkowanie gęsty pod względem absolutnym. Dzięki temu LOF jest lepiej przystosowany do danych, w których różne regiony naturalnie mają różną gęstość — na przykład odczyty czujników, które ściśle skupiają się podczas okresów ciszy, ale rozprzestrzeniają się bardziej podczas okresów dużego obciążenia, gdzie metoda o stałym promieniu, taka jak DBSCAN, błędnie oceniłaby, które punkty są naprawdę anomalne.

One-Class SVM i kiedy się opłaca

One-Class SVM podejmuje kolejny krok: próbuje nauczyć się granicy – w przekształconym, często wyższej wymiarowości przestrzeni cech za pomocą funkcji jądra – która jak najcieślej otacza obszar zajmowany przez normalne dane, a następnie oznaczając wszystko, co znajduje się poza tą granicą, jako anomalne. Może wychwytywać nieliniowe, złożone kształtem regiony normalnych danych, które prosta reguła oparta na odległości by pomylić, oraz działa dość dobrze na mniejszych zbiorach danych. Jego słabościami są koszt obliczeniowy, który źle skaluje się wraz ze wzrostem zbioru danych, i trudność w interpretacji, dlaczego granica wykluczyła dany punkt, ponieważ granica znajduje się w przekształconej przestrzeni cech, a nie w oryginalnej.

Wybór spośród tych czterech metod – autoenkoderów, DBSCAN, LOF i One-Class SVM – zależy głównie od kształtu i skali danych. Autoenkodery dobrze radzą sobie z danymi o wysokiej wymiarowości z złożoną, nieliniową strukturą i skalują się do dużych zbiorów danych po przeszkoleniu, ale wymagają wystarczającej ilości danych treningowych i mocy obliczeniowej, aby nauczyć się dobrej reprezentacji bottleneck i oferują najmniej interpretowalność spośród tej grupy. DBSCAN jest szybki i zrozumiały, gdy dane mają prawdziwą strukturę klastrów. LOF lepiej radzi sobie z regionami o zmiennej gęstości niż DBSCAN, kosztem nieco wyższego kosztu obliczeniowego. One-Class SVM nadaje się do mniejszych zbiorów danych z dobrze zdefiniowanym obszarem normalnym, ale nie skaluje się elegancko do dużych lub bardzo wysokowymiarowych danych.

Wykrywanie anomalii w produkcji

Niezależnie od wybranego algorytmu, wdrażanie wykrywania anomalii nie jest jednorazowym ćwiczeniem treningowym. Definicja „normy” ma tendencję do zmiany wraz z wiekiem podlegających systemom, zmianami wzorców użytkowania lub zmianami sezonowymi, dlatego modele wymagają okresowych ponownych trenowań na podstawie danych z ostatnich okresów, zamiast pozostawać zamrożone po początkowym wdrożeniu. Każda zgłoszona anomalia powinna być rejestrowana wraz z wystarczającą ilością kontekstu – wartościami surowymi, błędem rekonstrukcji lub wynikiem oceny gęstości, znacznikiem czasu – aby umożliwiła późniejszą analizę, a idealnie istnieje pętla sprzężenia zwrotnego, w której osoby prowadzące dochodzenie zgłoszonych zdarzeń potwierdzają lub odrzucają je, generując rosnący zbiór przykładów oznaczonych, które mogą być wykorzystane do walidacji przyszłych wyborów progowych lub nawet do trenowania późniejszego klasyfikatora nadzorowanego.

Ocena powinna wyjść poza pojedynczą liczbę. Dokładność mierzy, jaki procent zgłoszonych anomalii był prawdziwy, co ma znaczenie dla utrzymania zaufania operatora; czułość mierzy, jaki procent rzeczywistych anomalii został wykryty, co ma znaczenie dla bezpieczeństwa i niezawodności; a gdy dostępny jest oznaczony zestaw testowy, AUC-ROC zapewnia pogląd niezależny od progu tego, jak dobrze wynik anomalii oddziela normalne od nietypowych w ogóle. Różne poziomy poważności ostrzeżeń – niewielka odchylność rejestrowana cicho a duża wyzwalająca natychmiastową stronę – pozwalają temu samemu podzędnemu wynikowi anomalii napędzać proporcjonalne reakcje zamiast pojedynczej, sztywnej decyzji włącz/wyłącz.

Często zadawane pytania

Dlaczego powinienem użyć autoenkodera zamiast Isolation Forest?

Isolation Forest jest szybki, wymaga niewielkiej strojenia i dobrze sprawdza się w danych tabelarycznych o umiarkowanej wymiarowości. Autoenkodery generują dodatkowy koszt treningowy, gdy dane są wysokowymiarowe i posiadają nieliniową strukturę, której podejście drzewiaste z podziałem nie potrafi efektywnie izolować — na przykład surowe sygnały z czujników, obrazy lub szerokie zestawy cech z złożonymi korelacjami między zmiennymi.

Czy autoenkoder potrzebuje oznaczonych danych anomalii do treningu?

Nie. Potrzebuje jedynie zbioru treningowego, który składa się głównie z normalnych danych – nigdy nie widzi przykładów oznaczonych jako anomalie podczas treningu. Uczy się dobrze rekonstruować normalne wzorce, a anomalie są identyfikowane później wyłącznie na podstawie wysokiej błędu rekonstrukcji, co czyni go w pełni niezależnym od etyki metodą.

Jak LOF różni się od DBSCAN, jeśli oba są opartymi na gęstości?

DBSCAN wykorzystuje pojedynczy globalny próg gęstości: każdy punkt bez wystarczającej liczby sąsiadów w ustalonym promieniu jest uznawany za szum. LOF porównuje lokalną gęstość każdego punktu z lokalną gęstością jego sąsiadów, dzięki czemu może oznaczać odstępstwa od normy nawet w obszarach o rzadkiej gęstości, gdzie ogólny zbiór danych charakteryzuje się szerokim zakresie gęstości między regionami – coś, czego pojedynczy stały promień nie jest w stanie dostosować.

Jaki jest rozsądny próg błędu rekonstrukcji do rozpoczęcia?

Często używanym punktem wyjścia jest 95. lub 99. percentyl błędu rekonstrukcji zmierzony na zbiorze walidacyjnym składającym się głównie z normalnych danych – oznacz wszystko, co przekracza ten próg, jako anomalię. Traktuj to jako pierwszą szacunkową wartość, a nie ostateczną odpowiedź; dostosuj ją w oparciu o liczbę fałszywych alarmów, które operator może ztolerować, oraz koszt pominięcia anomalii.

Czy te metody niezależne od etykiet mogą całkowicie zastąpić klasyfikatory nadzorowane?

Zazwyczaj nie całkowicie. Metody niezależne od etykiet są niezbędne, gdy brakuje oznaczonych przykładów anomalii lub anomalie są zbyt rzadkie i zróżnicowane, aby zostały wcześniej zauważone. Po zgromadzeniu wystarczającej liczby potwierdzonych anomalii dzięki opiniom operatora wiele zespołów dodaje klasyfikator nadzorowany na wierzchu, wykorzystując wynik niezależny od etykiet jako jedną cechę wejściową obok surowych danych.

Wypróbuj na żywo

Wszystko powyżej działa bezpośrednio w Twojej przeglądarce — otwórz the simulation i zmieniaj parametry podczas działania. Nic nie jest instalowane ani przesyłane na serwer, cały model działa w jednej karcie.

▶ Otwórz symulację the simulation

Co znalazłeś?

Dodaj kroki odtworzenia (opcjonalnie)