Jak opracować wewnętrzny system wykrywania nadużyć?

Materiał Partnera
7 min

Podczas gdy ilość danych rośnie każdego roku, mechanizmy wykrywania nadużyć typu rule-based nie nadążają za rozwojem technologii stosowanych przez hakerów. W poniższym artykule Igor Kaufman z firmy DataArt, krok po kroku przedstawia sposób na opracowanie własnej platformy wykrywania nadużyć.

Systemy wykrywania nadużyć, które są oparte na sztucznej inteligencji, to jeden z najbardziej popularnych tematów w branży. Ale jak one dokładnie działają? Jakie czynności należy wykonać, by taki system wdrożyć we własnej firmie? Jak wygląda sterowanie procesem decyzyjnym? Odpowiedzi na te pytania znajdują się poniżej.

Krok 0. Przygotowanie danych

Na potrzeby tego artykułu pominę, jak należy agregować, przechowywać i przenosić dane. Zamiast tego, przejdę od razu do ich wykorzystywania w uczeniu maszynowym.

Dane to paliwo dla mechanizmów uczenia maszynowego. Jeśli użyjemy lepszego paliwa, możemy oczekiwać, że pojazd osiągnie wyższą prędkość.

Na początek ważne jest oczyszczenie danych, by wyszczególnić odpowiednie elementy do analizy. Spójrzmy na przykład na mechanizmy płatności w sieci. Kluczowymi elementami danych są informacje o kupującym i sprzedającym, kwoty, godzina przekazania transakcji, dane banku, adresy IP i wiele innych. Na dobrą sprawę takich parametrów mogą być setki. Im bardziej złożony proces, tym więcej niezbędnych parametrów. Dlatego im lepiej dane są oczyszczone i pozbawione zależnych lub skorelowanych elementów, tym lepiej końcowy algorytm będzie działał. W przeciwnym wypadku trudno będzie określić, który element był podstawą oceny końcowej. Z reguły analiza i opracowanie danych mogą zająć połowę lub więcej całego czasu realizacji projektu uczenia maszynowego.

da1

Czerwone kwadraty przedstawiają wysoce skorelowane elementy; im mniej czerwonych kwadratów, tym łatwiejsze jest interpretowanie modelu.

Krok 1. Uczenie pod nadzorem, czyli co można wyciągnąć z tego, co już wiemy?

Firmy z reguły mają wdrożony system wykrywania nadużyć. Mogą to być rozwiązania oparte na zasadach (rule-based fraud detectors). Takie systemy z czasem stają się zbyt uciążliwe ze względu na liczbę potrzebnych zasad, a przy tym mają trudności z odfiltrowaniem wszystkich podejrzanych działań. W alternatywie, mogą to być również rozwiązania oparte na sztucznej inteligencji, ale dostarczone przez zewnętrzne firmy, gdzie poufne dane są przetwarzane poza obrębem własnej infrastruktury.

Jeśli chcemy wzmocnić ochronę i opracować wewnętrzny system wykrywania nadużyć, to czy istnieje sposób na wykorzystanie bieżących zasobów wiedzy w tej dziedzinie? Okazuje się, że tak. Nadzorowane uczenie maszynowe to proces, w którym człowiek podpowiada maszynie, co jest prawidłowe i nieprawidłowe. Wykorzystując sprawdzone wyniki z bieżących systemów, można znacznie przyspieszyć proces uczenia maszynowego.

Z reguły istnieje szereg algorytmów możliwych do wykorzystania. Należy więc odnaleźć taki, który będzie sprawnie posługiwał się wybranym zestawem danych, a następnie odpowiednio dobrać jego parametry, by uzyskać odpowiedni balans wyników prawdziwie dodatnich (faktyczne nadużycia), fałszywie dodatnich (działania błędnie oznaczone jako nadużycia) i fałszywie ujemnych (nadużycia, które nie zostały jako takie rozpoznane). Istnieje wykres zwany tablicą pomyłek, który naukowcy stosują w celu optymalizowania algorytmów.

da2

Tablica pomyłek – pomarańcza, czy nie pomarańcza?

Im lepsze są wyniki uzyskane przy jego użyciu, tym szybciej nowy system zastąpi dotychczasowe rozwiązania, ponieważ został on skutecznie wyuczony w oparciu o dane historyczne.

Krok 2. Wykrywanie anomalii

Co zrobić, jeśli istniejące algorytmy nie wychwytują wielu elementów stanowiących nadużycia? Po to właśnie potrzebna jest pomoc – by odnaleźć podejrzane rekordy, które mogą być nadużyciami.

W tym celu należy pogrupować wszystkie elementy, transakcje, płatności i innego typu informacje. Drobne i odległe zgrupowania danych są elementami podejrzanymi. Powstają one dlatego, że algorytm grupowania oznaczył dane jako nietypowe. Niekoniecznie oznaczają one nadużycia, ale warto się im przyjrzeć i dokładniej je zbadać.

da3

Trójwymiarowa reprezentacja klastrów. Rzeczywista liczba wymiarów może wynosić setki D.

Później specjalista w danej dziedzinie może się przyjrzeć takim zgrupowaniom. Pozwoli to sprawdzić,

  • czy wpisy nie wyglądają na autentyczne i czy wszystkie transakcje z tego zgrupowania należy automatycznie blokować;
  • tylko cześć rekordów jest podejrzana i należy dostosować parametry zgrupowania lub przekazać wszystkie podejrzane rekordy do sprawdzenia przez specjalistę.

Krok 3. Analiza szeregów czasowych i limity dynamiczne

Grupowanie można wykonywać na statycznym zestawie danych, ale oczekiwane zachowania zmieniają się w czasie. Przychody osobiste lub firmowe mogą rosnąć, poszerzając schematy związane z wydatkami. Oprócz tego wydatki mogą się zmieniać okresowo – na przykład w okresie świątecznym. Takie wzorce działań również należy uwzględnić, by system funkcjonował prawidłowo. Powinien on sprawdzać nietypowe transakcje, w dynamiczny sposób korygując oczekiwane zakresy, by uwzględnić zmieniającą się w czasie naturę transakcji.

W tworzeniu „bezpiecznych” zakresów wykorzystuje się algorytmy szeregów czasowych – począwszy od mniej skomplikowanych modeli autoregresyjnych i przechodząc do bardziej złożonych modeli takich jak FBProphet (opracowany przez Facebooka), które uwzględniają okresowość.

da4

Ciemnoniebieska linia – wartości rzeczywiste i oczekiwane, niebieski zakres – oczekiwane odchylenie, czarne kropki – wartości rzeczywiste. Czarne kropki poza zakresem są podejrzane.

Krok 4. Integracja

Dane są przygotowane, a model jest wstępnie wyuczony i przetestowany. Jak go zintegrować z istniejącą infrastrukturą?

Pod względem technologicznym nie jest to skomplikowane. Model uczenia maszynowego jest przekształcany w usługę (np. REST) wykorzystującą interfejs API, z którym może współpracować reszta systemu. Następnie należy go przetestować i wdrożyć (np. jako container w platformie Docker), podłączając do źródeł danych i interfejsu użytkownika wspierającego proces decyzyjny.

Z perspektywy zarządzania ryzykiem i weryfikacji sensownie jest jednocześnie korzystać z nowego i starego (jeśli taki istnieje) systemu wykrywania nadużyć, by się upewnić, że działają one w sposób spójny. Oprócz tego można wdrożyć weryfikację przez człowieka, by ograniczyć ryzyko błędnych decyzji w realnych warunkach, a także usprawnić działanie modeli poprzez dodatkowe uczenie nadzorowane.

O autorze:
Igor Kaufman, Head of Machine Learning /Data Science Practice, DataArt
Specjalizuje się w projektowaniu i budowaniu rozwiązań automatyzujących procesy biznesowe przy użyciu zaawansowanych technik analitycznych i transformacji cyfrowej.
Pasjonuje go innowacja technologiczna i lean engineering. Przed dołączeniem do DataArt w 2017 roku, Igor budował i zarządzał zespołami inżynieryjnymi w różnych dziedzinach – od startupów zajmujących się analizą danych po liderów Magic Quadrant firmy Gartner.
Udostępnij