
Czy zastanawiałeś się kiedyś, Drogi Czytelniku, w jaki sposób nasza kilkunastoosobowa fabryka jest w stanie dostarczać swoim klientom miliony antyfraudowych modeli behawioralnych?
To bardzo proste – dzielimy się danymi po równo i każdy z nas ręcznie buduje po kilkaset tysięcy z nich!
[Źródło: https://pixabay.com/vectors/factory-car-engine-assembling-35104/]
No cóż, to nie do końca prawda, ale może zacznijmy od początku…
Industrializacja i rozwój przemysłu są wyjątkowo rozłożystymi gałęziami historii, z których możemy czerpać ogromną ilość wiedzy i pomysłów na udoskonalanie nowoczesnych systemów informatycznych. Myśląc o liniach montażowych, wielu z nas błyskawicznie przypomina sobie o nazwisku Henry’ego Forda, lecz jedynie nieliczni są świadomi tego, że linie produkcyjne powstały już ponad 100 lat przed wdrożeniem ich do produkcji legendarnego Forda T! To właśnie liniom produkcyjnym postanowiłem poświęcić niniejszy artykuł.
Nie pozostaje mi więc nic innego, jak tylko zaprosić Cię na podróż po naszej fabryce modeli!
[Źródło: https://pixabay.com/vectors/forklift-merchandise-storage-160284/]
Jak każdy szanujący się zakład przemysłowy, nasza fabryka również musi zadbać o dostawy surowców potrzebnych do wykonania produktu. O ile żadna belka nie powstanie bez drewna, żaden kabel bez metalu – tak i żaden model nie powstanie bez danych! Nasi klienci dbają o to, żeby każda sesja użytkownika korzystającego np. z aplikacji do bankowości mobilnej dostarczała nam możliwie jak najwięcej informacji na temat jego zachowania (np. odczyty z akcelerometru, czy tempo pisania na klawiaturze). Wszystkie tego rodzaju sesje zostają wypakowane w strefie rozładunku i ułożone w naszych bazach danych, by umożliwić nam tworzenie modeli biometrii behawioralnej.
[Źródło: https://pixabay.com/vectors/factory-machine-assembly-line-158423/]
Zanim jednak przejdziemy do działu trenowania modeli, skupmy się na dostarczanych danych. Choć klienci przesyłają nam odczyty o bardzo wysokiej jakości, to niestety nie nadają się one do trenowania klasyfikatorów. Muszą one zostać przetworzone tak, by wybrane metody dobrze radziły sobie z ich przetwarzaniem. Poszczególne algorytmy działają różnie w zależności od środowiska – dla przykładu – algorytmy oparte na drzewach decyzyjnych (np. LightGBM, czy XGBoost) radzą sobie lepiej na danych tabelarycznych, a dla odmiany sieci neuronowe, czy SVM działają lepiej na znormalizowanych danych pochodzących z czujników. Opierając się na dostarczonych odczytach, przeprowadzamy serie eksperymentów z różnymi rodzajami danych, różnymi nastawami hiper-parametrów wielu algorytmów, by wyłonić najlepszy zestaw dane : algorytm : hiper-parametry. Proces ten jest całkiem złożony, więc zostawmy sobie go na inny artykuł 🙂
[Źródło: https://pixabay.com/vectors/business-men-black-men-business-295469/]
Choć posiadamy wszystkie składniki potrzebne do budowy modeli, to zanim się do tego zabierzemy, musimy dokładnie poznać zapotrzebowanie systemu na konkretny ich rodzaj. Jeden z naszych modułów o nazwie „Trigger” pełni rolę kierownika zlecającego pracownikom kompletowanie produktu w oparciu o dostarczoną specyfikację. Obraz Triggera monitoruje jakość i zachowanie modeli produkcyjnych, sesje użytkowników oraz inne kluczowe elementy systemu. Na podstawie analizy tychże elementów, Trigger podejmuje decyzje o trenowaniu modeli dla poszczególnych użytkowników, ustawiając je w kolejce do (re)treningu.
Dodatkowo Trigger pełni rolę selekcjonera, który widząc modele produkcyjne odbiegające jakością od normy, podejmuje decyzje o „zdjęciu ich z boiska” w oparciu o serię predefiniowanych reguł.
[Źródło: https://pixabay.com/vectors/factory-plant-assembly-line-35081/]
Posiadając surowce w postaci danych i specyfikację produktu w postaci informacji na temat algorytmu i użytkownika, możemy w końcu zasiąść do tworzenia modeli! Tym zadaniem zajmuje się nasz specjalista – moduł o nazwie „Shot”. Shot pobiera od Triggera ID użytkownika znajdującego się na początku kolejki (re)treningu, buduje model, a następnie weryfikuje jego jakość za pomocą specjalnie przygotowanego zbioru walidacyjnego. Jeżeli jakość odpowiada naszym standardom, a do tego jest wyższa niż ta, którą dysponuje aktualny model użytkownika, Shot podmienia wersję modelu i od tej chwili nasz użytkownik może cieszyć się jeszcze lepszą ochroną przed atakami hakerskimi!
Biorąc pod uwagę fakt, że nasz system buduje modele dla milionów użytkowników, a do tego każdy z tych użytkowników może posiadać kilka modeli (każdy model monitoruje inny rodzaj zachowania), to jeden monter mógłby nie poradzić sobie z takim nawałem pracy. Na szczęście nasza fabryka jest na tyle duża, że zatrudnia wielu pracowników jednocześnie! Obrazy Shota można kopiować w niemal dowolnej ilości, a Trigger jest w stanie obsłużyć wielu z nich jednocześnie. Jak uczą nas Gwiezdne Wojny, taka armia klonów jest niepokonana! (Przynajmniej w większości przypadków…)
Liczymy, że podobała Ci się, Drogi Czytelniku, wycieczka po naszym zakładzie! Mamy nadzieję, że nasz system wydaje Ci się już przystępniejszy i łatwiejszy do zrozumienia.
Trzeba podkreślić, że nie brakuje nam zapału i nowych pomysłów! Nasza fabryka jest stale modernizowana, dzięki czemu użytkownicy chronieni przez Digital Fingerprints stają się z dnia na dzień coraz bezpieczniejsi!
Digital Fingerprints S.A. ul. Żeliwna 38, 40-599 Katowice. KRS: 0000543443, Sąd Rejonowy Katowice-Wschód, VIII Wydział Gospodarczy, Kapitał zakładowy: 1 128 828,76 zł – opłacony w całości, NIP: 525-260-93-29
Biuro Informacji Kredytowej S.A., ul. Zygmunta Modzelewskiego 77a, 02-679 Warszawa. Numer KRS: 0000110015, Sąd Rejonowy m.st. Warszawy, XIII Wydział Gospodarczy, kapitał zakładowy 15.550.000 zł opłacony w całości, NIP: 951-177-86-33, REGON: 012845863.
Biuro Informacji Gospodarczej InfoMonitor S.A., ul. Zygmunta Modzelewskiego 77a, 02-679 Warszawa. Numer KRS: 0000201192, Sąd Rejonowy m.st. Warszawy, XIII Wydział Gospodarczy, kapitał zakładowy 7.105.000 zł opłacony w całości, NIP: 526-274-43-07, REGON: 015625240.