Docsity
Docsity

Przygotuj się do egzaminów
Przygotuj się do egzaminów

Studiuj dzięki licznym zasobom udostępnionym na Docsity


Otrzymaj punkty, aby pobrać
Otrzymaj punkty, aby pobrać

Zdobywaj punkty, pomagając innym studentom lub wykup je w ramach planu Premium


Informacje i wskazówki
Informacje i wskazówki

Detekcja anomalii w systemach ICT, Notatki z Sztuczna inteligencja

Dokument zawiera opracowanie następujących zagadnień: - rodzaje anomalii, metody wykrywania anomalii, - techniki poprawiania danych uczących, - anomalie w danych jednowymiarowych - metody nadzorowane, nienadzorowane, - anomalie w szeregach czasowych, - Problemy modeli z danymi spoza zbioru - OoD, OoD Detection, - open set vs close set, - few-shot learning, relation network, -meta-learning, zero-shot learning, incremental learning - XAI. Uwaga, część tekstów jest w języku angielskim.

Typologia: Notatki

2023/2024

W sprzedaży od 21.10.2024

informatyka-ai-ml-inz-biomedyczna
informatyka-ai-ml-inz-biomedyczna 🇵🇱

5 dokumenty

1 / 38

Toggle sidebar

Ta strona nie jest widoczna w podglądzie

Nie przegap ważnych części!

bg1
Notatki ogólne
1
Notatki ogólne
Wykład 1
Ogólna tematyka
Rodzaje anomalii:
anomaly
novelty
outlier
out-of-distribution
Metody wykrywania anomalii:
statystyczne
parametryczne
nieparametryczne
gęstościowe
kątowe
oparte na klasteryzacji:
nadzorowane
nienadzorowane
Wykrywanie anomalii w danych wysokowymiarowych
Klasyfikacja open-set - wykrywanie danych nieznanych OoD
Anomalie w szeregach casowych i w danych grafowych
Cross Industry Standard Process for Data Mining (CRISP-DM) – schemat ilustrujący
ogólny proces eksploracji danych.
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26

Podgląd częściowego tekstu

Pobierz Detekcja anomalii w systemach ICT i więcej Notatki w PDF z Sztuczna inteligencja tylko na Docsity!

Notatki ogólne 1

Notatki ogólne

Wykład 1

Ogólna tematyka

Rodzaje anomalii: anomaly novelty outlier out-of-distribution Metody wykrywania anomalii: statystyczne parametryczne nieparametryczne gęstościowe kątowe oparte na klasteryzacji: nadzorowane nienadzorowane Wykrywanie anomalii w danych wysokowymiarowych Klasyfikacja open-set - wykrywanie danych nieznanych OoD Anomalie w szeregach casowych i w danych grafowych Cross Industry Standard Process for Data Mining (CRISP-DM) – schemat ilustrujący ogólny proces eksploracji danych.

Notatki ogólne 2

Przykład - anomalie w danych pomiarowych: Dane z procesu produkcji. Do anomalii zaliczmy wartości odstające i ekstremalne. Techniki do wykrywania takich anomalii to np. progowanie (IQR lub sigma). Techniki poprawiania danych uczących: Nullify – zamiana na missing (następnie wykonujemy missing value imputation) Coerce – przesuń w kierunku legalnych wartości Discard – usuń obserwację z anomaliami

Przykład - wykrywanie obserwacji out-of-distribution w klasyfikacji otwartej (open-set) DNN uczone jako modele dyskryminacyjne (uczone rozróżniania klas treningowych) rozpoznają próbki z klas nieznanych jako jedne ze znanych klas. W jaki sposób rozpoznawać dane OoD? Np. za pomocą modelu generatywnego zbudowanego na podstawie danych treningowych znanej klasy. Popularne metody OoD detection: Odległość Mahalanobisa badanej próbki od znanych danych - jako miara netypowości (outlierness) próbki

Notatki ogólne 4

(uwaga: zawartość tweeta (text) – reprezentowana za pomocą metod NLP, np. BoW, fastText, word-embeddings, BERT, itd.) Metoda 2 Wykorzystujemy sieci grafowe – np. GNN – Graph Neural Networks Reprezentacje węzłów są tworzone / modyfikowane przez macierz sąsiedztwa grafu

Wykrywanie anomalii/ OoD/ novelty - inne obszary zastosowań:

Intrusion detection Fraud detection Obrazowanie medyczne (anomalie w ECG, EEG, zdjęciach z CT, …) Fault detection / industrial damage detection Przetwarzanie obrazów – odszumianie obrazów (szumy impulsowe – np. metody oparte na LOF) Text data (nowy temat – novelty detection) Incremental learning

Notatki ogólne 5

Wykład 2

Anomalie w danych jednowymiarowych Anomalie można wykryć w oparciu o takie techniki jak: progowanie - z wykorzystaniem metryki IQR. Najlepiej pokazuje się na wykresie pudełkowym

wartości odstające (outliers) to zakres poza Q1-1,5IQR oraz Q3+1,5IQR wartości ekstremalne to zakres poza Q1-3IQR oraz Q3+3IQR progowanie - w oparciu o std rozkładu (normalnego)

wartości odstające (outliers) dla |z_i|> progowanie w oparciu o Median Absolute Deviation MAD

wartości odstające (outliers) dla |z_i|>

Metody nadzorowane

Są one oparte o klasyfikatory (SVM, NN) Założenie jest takie, że normalne obserwacje i anomalie rozróżnialne na podstawie cech, dostępne dane uczace/historyczne Dane uczące są zlabelowane (nieanomalnia i anomalia/fraud/atak/ruch botnetu) Uczymy model rozpoznawania znanych typów anomalii, ataktów itd. Co z nieznanymi anomaliami? Korzysta się z metod nienadzorowanych

IQR = Q 3 − Q 1

z i =

x i − μ

z i = =

MAD

x i − Q 2

median (∣ x i − Q 2 ∣

x i − Q 2

Notatki ogólne 7

Oparte na klasteryzacji: K-means, grupowanie hierarchiczne, DBSCAN założenie: normalne obserwacje tworzą klastery, anomalie – nie należą do klastra założenie: normalne obserwacje tworzą liczne/duże klastry, anomalie – małe klastry założenie: normalne obserwacje leżą blisko centroida klastra, anomalie – daleko od centroida najbliższego klastra Nie musimy mieć danych otagowanych

  • Możemy wykrywać nieznane typy ataków / anomalii / zero-day
  • Ale musimy nauczyć nasz model stanu normalnego (np. ruch w sieci) -? Jak odlegle próbki od klastra normalnego należy traktować jako anomalie niełatwe dostrajanie False positve / False negative rate
  • Podatność na concept drift – stan / ruch „normalny” zmienia się w czasie
  • Przydatne metody wizualizowania / rzutowania danych z Rd na 2D (PCA, t-SNE, …)

Inne metody: kNN – outlierness score jako średnia odległość od najbliższych sąsiadów ABOF – score jako wariancja kątów zdefiniowanych przez pary punktów z klastra Metody oparte na błędzie rekonstrukcji (duże błędy rekonstrukcji outliers): PCA-AD AutoEncoder

Notatki ogólne 8

VAE

GAN

Statistical data depth (~ wielowymiarowa mediana – p. IRWD w lab.) OneFlow – minimal volume regions Novelty / OoD detection Założenie: dane X zawierają normalne obserwacje (in-distribution, ID) Outlierness score - służy do oceny czy nowe dane pochodzą z tego samego rozkładu co X, czy spoza tego rozkład – dane oceniamy jako ID vs OOD

Anomaly / outlier detection Założenie: dane X zawierają obserwacje normalne oraz obserwacje odstające (anomaly, outliers) Celem jest zidentyfikowanie obserwacji w zbiorze X, które są (najbardziej) odstające Założenie: przyjmujemy, że udział obserwacji odstających w X wynosi p (ozn. contamination)

Wykład 3

Anomalie w szeregach czasowych Wykrywanie anomalii w systemach ICT (Information and Communication Technology) jest kluczowym elementem zarządzania i monitorowania tych systemów. Anomalie w szeregach czasowych mogą wskazywać na problemy takie jak ataki DDoS, awarie sprzętu, błędy konfiguracyjne czy nieautoryzowane działania. Opracowanie dla przykładowego ataku DDoS z zbiorem danych DARPA1998 pokazujące proces analizy szeregów czasowych i wykrywania anomalii.

Analiza szeregu czasowego – dekompozycja

Analiza szeregów czasowych często rozpoczyna się od dekompozycji, czyli podziału oryginalnego sygnału na komponenty. Dekompozycja pozwala lepiej zrozumieć strukturę danych i ułatwia wykrywanie anomalii.

Model addytywny

Notatki ogólne 10

Anomalie w szeregach czasowych – na przykładzie ataku DDoS

Zbiór DARPA

Zbiór danych DARPA1998 zawiera 1215 minut ruchu sieciowego, z 53 próbkami zawierającymi ataki typu DDoS (SYN FLOOD). Analizując wybrane cechy ruchu, takie jak liczba pakietów ( n_packets ) i entropię źródłowych/destynacyjnych IP oraz portów, możemy zidentyfikować anomalie.

Analiza wybranych cech ruchu

  1. n_packets : Liczba pakietów może gwałtownie wzrosnąć podczas ataku DDoS.
  2. Entropia IP i portów : Ataki DDoS mogą powodować nietypowe wzorce entropii w źródłowych i destynacyjnych adresach IP oraz portach.

Podsumowanie

Wykrywanie anomalii w szeregach czasowych w systemach ICT jest kluczowe dla utrzymania bezpieczeństwa i wydajności. Analiza dekompozycji oraz zastosowanie różnych metod wykrywania anomalii pozwala na skuteczne identyfikowanie problemów. Przykład ataku DDoS z wykorzystaniem zbioru DARPA1998 ilustruje, jak można wykorzystać te techniki w praktyce.

Detekcja anomalii 2.1 1

Detekcja anomalii 2.

Problemy modeli z danymi spoza zbioru - OoD

Modele głębokiego uczenia, takie jak sieci neuronowe, zazwyczaj są trenowane na określonym zbiorze danych, co powoduje, że stają się eksperckie w rozpoznawaniu wzorców w tym zbiorze. Problem pojawia się, gdy model napotyka dane spoza tego zbioru (tzw. dane Out-of-Distribution, OoD). Dlaczego modele nie radzą sobie w momencie podania danych spoza zbioru? Wyjściowo model z dość dużą dokładnością klasyfikuje daną próbkę jednak jest to wynik niepoprawny. Wynika to z działania funkcji straty, której działanie kara mocno model, jeśli nie przypisze zdjęcia do danej klasy. Głównym zadaniem modelu jest przecież klasyfikacja i rozdział, separacja danych między sobą. Główne przyczyny problemów: Funkcja straty : Standardowa funkcja straty (np. cross-entropy) kara model za nieprzypisanie danych do jednej z klas, co prowadzi do błędnej klasyfikacji, nawet jeśli dane nie należą do żadnej z trenowanych klas. Overfitting : Model często dopasowuje się do wzorców występujących w zbiorze treningowym, ignorując nietypowe dane. Brak reprezentacji OoD : Modele są trenowane na danych reprezentujących tylko określone klasy, więc nie uczą się rozpoznawać danych, które nie pasują do żadnej z nich.

Różnica w receptive field między modelami CNN a ViT

Convolutional Neural Networks (CNN) : W CNN receptywne pole (receptive field) jest lokalne i rośnie wraz z głębokością sieci. CNN dobrze radzą sobie z lokalnymi cechami, takimi jak krawędzie i tekstury. Vision Transformers (ViT) : ViT korzystają z mechanizmu self-attention, który ma globalne receptive field już od pierwszej warstwy, co pozwala na lepsze uchwycenie globalnych wzorców i relacji.

Vision Transformer

Detekcja anomalii 2.1 3

ich pozycje. Pomaga to modelowi zachować informacje o strukturze przestrzennej obrazu.

  1. Bloki transformera : Sekwencja wektorów paczek, wraz z informacjami o pozycjach, jest przekazywana przez standardowe bloki transformera. Każdy blok składa się z warstw self-attention oraz sieci feed-forward. Self-Attention : Mechanizm, który pozwala modelowi ocenić zależności między różnymi paczkami. Dzięki temu ViT może efektywnie wykrywać globalne wzorce i relacje na obrazie. Feed-Forward Network (FFN) : Nieliniowa sieć neuronowa, która przetwarza wyniki warstwy self-attention, wprowadzając dodatkową złożoność i zdolność modelu do reprezentowania skomplikowanych wzorców.
  2. Klasyfikacja : Wektor reprezentujący obraz (często wektor klasyfikacyjny, dodawany na początku sekwencji wektorów paczek) jest używany jako wejście do warstwy klasyfikacyjnej (np. warstwy softmax), która przewiduje etykietę obrazu.

Różne cechy obrazów Texture : Powtarzalne wzorce, które mogą być dobrze uchwycone przez lokalne receptive fields w CNN. Object : Koncepty wyższych poziomów, składające się z wielu części i cech. Edges : Proste, liniowe cechy, które są podstawą do wykrywania bardziej złożonych wzorców. Patterns : Powtarzające się motywy, które mogą być wykrywane na różnych poziomach abstrakcji. Parts : Elementy obiektów, które mogą być łączone w bardziej złożone struktury.

Znaczenie cech dla zbiorów otwartych, zamkniętych i OoD

Zbiór zamknięty : Modele są trenowane na kompletnym zestawie klas. Cechy takie jak tekstury, krawędzie, wzorce, obiekty i części są wystarczające do dokładnej klasyfikacji, ponieważ wszystkie możliwe klasy są znane.

Detekcja anomalii 2.1 4

Zbiór otwarty : Modele muszą radzić sobie z nowymi klasami podczas testowania. Istnieje ryzyko błędnej klasyfikacji, ponieważ cechy nowych klas mogą być podobne do znanych klas. Detekcja OoD polega na identyfikacji danych, które różnią się od danych treningowych pod względem wykrytych cech. OoD : Modele muszą być w stanie wykrywać dane spoza zakresu nauczonego modelu. Wykorzystanie cech takich jak nietypowe tekstury, nowe obiekty, nieznane krawędzie, unikalne wzorce i nieznane części może pomóc w identyfikacji danych OoD.

Podsumowanie

Różne cechy obrazów mają kluczowe znaczenie w ekstrakcji cech i klasyfikacji w różnych kontekstach. W zbiorach zamkniętych cechy te mogą być wystarczające do dokładnej klasyfikacji, podczas gdy w zbiorach otwartych i detekcji OoD, modele muszą być bardziej elastyczne i czułe na nietypowe cechy, aby skutecznie identyfikować i klasyfikować nowe lub nieznane dane. W analizie obrazów różne cechy, takie jak tekstura, obiekty, krawędzie, wzorce i części, odgrywają kluczowe role w ekstrakcji cech i klasyfikacji, zarówno w zbiorach zamkniętych, otwartych, jak i w detekcji danych spoza zakresu nauczonego modelu (Out-of-Distribution, OoD). W zbiorach zamkniętych modele są trenowane na kompletnym zestawie klas, więc cechy te są wystarczające do dokładnej klasyfikacji. Tekstury i krawędzie pomagają w rozpoznawaniu powierzchni i struktur, obiekty i części w identyfikacji przedmiotów, a wzorce w rozpoznawaniu scen i kontekstu.

Problemy z wielowymiarowością Wielowymiarowość : Modele głębokiego uczenia działają w przestrzeniach o wysokiej wymiarowości, co utrudnia interpretację wyników. t-SNE : Technika redukcji wymiarów, która pomaga wizualizować dane wysokowymiarowe w 2D lub 3D, pozwalając lepiej zrozumieć struktury w danych.

Cechy -> MLP -> Logits -> Loss

Cechy : Wektory cech wyekstrahowane przez model.

Detekcja anomalii 2.1 6

Opis : Skupia się na wykrywaniu semantycznych anomalii, gdzie testowane obrazy zawierają obiekty inne niż te, na których model był trenowany. Jest to także znane jako wykrywanie nowości dla jednej klasy. (c) Multi-Class Novelty Detection Trening : Model trenuje się na obrazach przedstawiających psa, kota i rybę. Test : Podczas testowania, model klasyfikuje obrazy przedstawiające psa, kota i rybę oraz wykrywa obiekty spoza tych klas (np. ptak). Opis : Model jest trenowany na wielu klasach, a zadanie polega na wykrywaniu nowych klas obiektów, które nie były obecne w zbiorze treningowym. (d) Open Set Recognition Trening : Model trenuje się na obrazach przedstawiających psa, kota i rybę. Test : Podczas testowania, model klasyfikuje obrazy przedstawiające psa, kota i rybę oraz wykrywa obrazy spoza tych klas. Opis : W odróżnieniu od wykrywania nowości, zadaniem modelu jest nie tylko wykrycie nowych klas, ale również poprawne rozpoznanie, które obrazy należą do znanych klas. (e) Out-of-Distribution Detection Trening : Model trenuje się na obrazach przedstawiających psa, kota i rybę. Test : Podczas testowania, model klasyfikuje obrazy przedstawiające psa, kota i rybę oraz wykrywa obrazy spoza tych klas. Opis : Ogólna kategoria, która obejmuje wszystkie techniki detekcji danych spoza zakresu nauczonego modelu, koncentrująca się na wykrywaniu wszystkich typów anomalii i nieznanych klas. (f) Outlier Detection Trening : Model trenuje się na obrazach przedstawiających psa, kota i rybę. Test : Wszystkie obserwacje są dostępne. Model wykrywa obrazy, które są odstające w kontekście całego zbioru danych. Opis : Skupia się na identyfikacji odstających próbek w całym zbiorze danych, uwzględniając zarówno znane, jak i nieznane klasy oraz inne typy anomalii.

Sposoby detekcji danych spoza zakresu nauczonego modelu

  1. Thresholding : Ustawienie progu na wyjściach modelu, aby odróżnić dane in-distribution od OoD. Problemem jest zależność od konkretnych danych OoD.

Detekcja anomalii 2.1 7

  1. Near-/Far-OoD : Klasyfikacja danych OoD jako bliskie lub dalekie od znanych klas. Bliskie dane są podobne do znanych klas, dalekie są zupełnie różne.
  2. Zwiększenie entropii w funkcji straty : Dodanie termu zwiększającego entropię predykcji dla danych OoD, co zmusza model do bycia mniej pewnym klasyfikacji tych danych.

OoD detection - miary i inne

AUC, ROC : Miary efektywności detekcji OoD, które oceniają zdolność modelu do odróżniania danych in-distribution od OoD.

TNR (True Negative Rate) i TPR (True Positive Rate) TPR, znany również jako czułość (sensitivity) lub wskaźnik wykrywania (recall), to miara odsetka prawidłowo wykrytych przypadków pozytywnych. Wzór : TPR = TP / (TP + FN) TP (True Positives) - liczba prawidłowo wykrytych przypadków pozytywnych. FN (False Negatives) - liczba przypadków pozytywnych, które zostały błędnie sklasyfikowane jako negatywne. Znaczenie w detekcji OoD : W kontekście detekcji OoD, TPR mierzy skuteczność modelu w wykrywaniu prawdziwych danych spoza zakresu (OoD). Wysoka wartość TPR oznacza, że model dobrze identyfikuje dane, które nie były częścią zbioru treningowego. TNR, znany również jako specyficzność (specificity), to miara odsetka prawidłowo wykrytych przypadków negatywnych. Wzór : TNR = TN / (TN + FP). TN (True Negatives) - liczba prawidłowo wykrytych przypadków negatywnych. FP (False Positives) - liczba przypadków negatywnych, które zostały błędnie sklasyfikowane jako pozytywne. Znaczenie w detekcji OoD : W kontekście detekcji OoD, TNR

Detekcja anomalii 2.1 9

jest to próba OoD. Bez funkcji softmax : Zamiast normalizować logity przy użyciu funkcji softmax, analizuje się je bezpośrednio. Wartości te mogą dostarczyć bardziej surowe informacje na temat pewności modelu w odniesieniu do klasyfikacji. Jak to działa?

  1. Ekstrakcja logitów : Dla danej próbki wejściowej model oblicza logity dla każdej klasy.
  2. Analiza logitów : Na podstawie wartości logitów ocenia się, czy próbka jest prawdopodobnie ID czy OoD. Wysokie wartości logitów sugerują, że próbka jest bardziej podobna do danych ID, natomiast niskie wartości mogą sugerować, że próbka jest OoD.
  3. Detekcja OoD : Próbki, które mają logity odbiegające od typowych wartości obserwowanych dla danych ID, mogą być oznaczone jako OoD. FreeEnergy to miara oparta na koncepcji energii Helmholtza z fizyki statystycznej, zastosowana w kontekście głębokiego uczenia i detekcji OoD. FreeEnergy mierzy poziom niepewności modelu co do danej próbki, co pozwala na lepsze wykrywanie próbek spoza rozkładu danych treningowych. Jak działa FreeEnergy?
  4. Model probabilistyczny : FreeEnergy jest często stosowana w kontekście modeli probabilistycznych, takich jak wariacyjne autoenkodery (VAE) czy modele energetyczne.
  5. Obliczenie energii : Energia próbki jest obliczana na podstawie logitów modelu lub bezpośrednio z gęstości prawdopodobieństwa. W modelach energetycznych, energia jest często definiowana jako ujemny logarytm prawdopodobieństwa.
  6. Detekcja OoD : Próbki z wysoką energią są klasyfikowane jako OoD, podczas gdy próbki z niską energią są uznawane za należące do rozkładu danych treningowych (In-Distribution, ID). Różnica między FreeEnergy a analizą logitów FreeLogits : Analiza logitów polega na bezpośrednim wykorzystaniu wartości logitów (przed softmax) do oceny, czy próbka jest ID czy OoD. Logity dostarczają surowych informacji o niepewności modelu. FreeEnergy : FreeEnergy opiera się na koncepcji energii z modeli probabilistycznych i wykorzystuje pojęcie energii do oceny niepewności. Jest

Detekcja anomalii 2.1 10

bardziej zaawansowana i teoretycznie ugruntowana niż prosta analiza logitów.

Global Average Pooling

Kluczowe różnice

Architektura : W CNN używamy w pełni połączonych warstw do przekształcenia map cech w końcowe wyjścia, podczas gdy w NIN używamy globalnego średniego poolowania. Wyjścia : W CNN, mapy cech są przekształcane przez w pełni połączone warstwy, co dodaje parametry i może prowadzić do przetrenowania. W NIN, globalne średnie poolowanie prowadzi do bardziej bezpośredniej i zrozumiałej mapy zaufania dla każdej kategorii. Prostota i złożoność : NIN redukuje złożoność modelu poprzez eliminację w pełni połączonych warstw, co może prowadzić do lepszej generalizacji na nowych danych.

Zastosowanie Global Average Pooling

Mapy zaufania : Jak zaznaczono na obrazku, NIN tworzy explicite mapy zaufania dla każdej kategorii, które są łatwiejsze do interpretacji. Efektywność : Global average pooling zmniejsza liczbę parametrów w sieci, co może poprawić efektywność obliczeniową i stabilność treningu.

Po co pracować na ostatecznym wyniku z warstwy klasyfikacyjnej, jak

można popatrzeć na mapy cech