Strona główna ASTOR
Trendy i inspiracje

Jak działa Barometr AVEVA?

Kontakt w sprawie artykułu: Mateusz Zajchowski - 2022-07-05

Z tego artykułu dowiesz się m.in.:

  • jaka jest architektura aplikacji „Barometr AVEVA”,
  • jakie technologie informatyczne i algorytmy zostały w niej wykorzystane,
  • w jaki sposób wykorzystano Platformę Systemową AVEVA oraz oprogramowanie InTouch HMI do przygotowania interfejsu użytkownika dla Barometru.

W pierwszej części artykułu opowiedzieliśmy o genezie projektu „Barometr AVEVA” oraz o efektach, które udało się uzyskać. Dziś pokażemy Barometr od środka i od kuchni. Opowiemy, jaka jest architektura aplikacji, jaki algorytm został wykorzystany i jak on działa, oraz jak zintegrowano model AI z Platformą Systemową AVEVA.

Architektura aplikacji

Projektanci Barometru AVEVA zadecydowali, że cały system ma charakter rozproszony i w dużym stopniu wykorzystuje mechanizm wirtualizacji oraz konteneryzacji. Poszczególne moduły aplikacji umieszczane są w obrębie zwirtualizowanych kontenerów, zbudowanych z wykorzystaniem technologii Docker, oraz maszynach wirtualnych, bazujących na technologii Microsoft.

Docker jest narzędziem, dzięki któremu możemy umieścić program lub jego moduł w niewielkiej przenośnej maszynie wirtualnej, zwanej kontenerem. Charakteryzuje się ona tym, że jest bardzo lekka – w odróżnieniu od pełnej wirtualizacji kontenery są zarządzane przez nadrzędny system operacyjny, który obsługuję technologię Docker (może to być dowolny serwer oparty na systemie Linux). Wszystkie kontenery uruchomione w danym środowisku działają niezależnie od siebie i są od siebie odizolowane, chociaż mogą się ze sobą komunikować za pośrednictwem przewidzianych do tego celu kanałów komunikacyjnych.

Kontenery Docker można bardzo łatwo przenosić – na dowolne komputery, maszyny wirtualne, a nawet na urządzenia takie, jak sterowniki programowalne, o ile obsługują one mechanizm wirtualizacji. Przykładem tego rodzaju urządzenia może być kontroler Emerson PAC CPL410 (LINK) z wbudowanym komputerem przemysłowym. Możemy także umieszczać nasze zwirtualizowane kontenery w rozproszonym środowisku chmurowym.

Barometr AVEVA działa w chmurze

W przypadku Barometru AVEVA wybrano to ostatnie rozwiązanie – całość systemu umieszczona jest w chmurze Azure. Ma to dwie podstawowe zalety: łatwy dostęp do aplikacji z dowolnego miejsca na świecie, a także jej właściwie nieograniczoną skalowalność.

Schemat działania aplikacji Barometr AVEVA. Źródło: ASTOR

Powyższy schemat przedstawia serce Barometru AVEVA – model AI, pracujący jako aplikacja zamknięta w kontenerze Docker. Model komunikuje się z innymi komponentami, których zadaniem jest dostarczanie niezbędnych danych, szczegółowo opisanych w pierwszej części artykułu. Informacje o wskaźnikach atrakcyjności rywali dostarczane są raz w każdym sezonie. Inne dane, takie jak aktualna sytuacja w tabeli i wyniki ostatnich meczów, dostarczane są dla każdej predykcji.

Drzewa decyzyjne

Model AI wykorzystany w Barometrze wykonany został z wykorzystaniem bibliotek TensorFlow. Technologia ta – opracowana przez specjalistów Google Brain Team – jest rozbudowaną platformą open source przeznaczoną do tworzenia aplikacji wykorzystujących uczenie maszynowe. W skład TensorFlow wchodzi bogaty zbiór narzędzi, bibliotek programistycznych i innych zasobów, dzięki któremu budowanie nowoczesnych rozwiązań Machine Learning jest łatwe i szybkie. TensorFlow udostępnia wiele rozbudowanych interfejsów API, pozwalających na wykorzystanie biblioteki w aplikacjach napisanych w różnych językach programowania, a także wykorzystujących różne technologie informatyczne, w tym cloud computing.

Przykładowy schemat drzewa decyzyjnego Barometru AVEVA. Źródło: ASTOR

Do wyliczania predykcji został wykorzystany algorytm drzew decyzyjnych. Jest to bardzo popularna metoda uczenia maszynowego, której podstawową zaletą jest łatwość interpretacji – zarówno samych drzew, jak i generowanych wyników. Drzewa decyzyjne tworzone są na podstawie danych historycznych (zwanych uczącymi) w procesie uczenia. W przypadku Barometru AVEVA algorytm tworzy ponad 500 drzew, z których każde działa na nieco innym zbiorze danych.

Każde drzewo składa z węzłów, a każdy z nich stanowi pytanie o pewną wartość, taką jak np. wskaźnik atrakcyjności rywala lub data czy godzina meczu. Podczas przetwarzania drzewa sprawdzana jest ta wartość i w zależności od wyniku – wybierane jest odpowiednie rozgałęzienie drzewa. Na końcu każdej ścieżki znajduje się wynik – jest to predykcja obliczona przez to drzewo.

Powiększony fragment przykładowegodrzewa decyzyjnego. Źródło: ASTOR

Kiedy model otrzymuje nowe zlecenie wykonania predykcji dla określonych danych, przetwarza wszystkie drzewa. Ponieważ różnią się one od siebie, każde z nich generuje predykcję nieznacznie inną od pozostałych. Na końcu obliczana jest średnia wszystkich wyliczonych predykcji – i to ona stanowi finalny wynik działania algorytmu.

Algorytm Barometru działa całkowicie autonomicznie, a łączy się on z pozostałymi elementami systemu za pomocą specjalnie zaprojektowanego interfejsu API. Dzięki niemu model może z jednej strony udostępniać wyniki predykcji, a z drugiej – odbierać polecenia od aplikacji wizualizacyjnej (np. polecenie przygotowania predykcji).

Komunikacja z modelem AI za pośrednictwem interfejsu API. Źródło: ASTOR

Oprogramowanie InTouch HMI wizualizuje Barometr AVEVA

Za obsługę interfejsu użytkownika Barometru AVEVA odpowiada Platforma Systemowa AVEVA. Główną ideą, jaka przyświecała projektantom, było stworzenie aplikacji przystępnej i zrozumiałej dla każdego. Chodziło o to, by mogły ją obsługiwać osoby bez wiedzy technicznej, które nie miały nigdy do czynienia z algorytmami AI ani w ogóle z programowaniem. Dlatego wizualizacja została zrealizowana w oprogramowaniu AVEVA InTouch HMI. Okno aplikacji jest bardzo proste i w prosty sposób pokazuje informacje o rywalu, bieżącej passie i świadomości sytuacyjnej, a rezultat działania modelu prezentowany jest w postaci jednej liczby – przewidywanej frekwencji na stadionie. Wizualizacja udostępniana jest przez Internet w postaci strony, którą można obsługiwać w dowolnej przeglądarce.

Okno aplikacji wizualizacyjnej Barometru AVEVA. Źródło: ASTOR

Na potrzeby aplikacji został zaprojektowany obiekt serwera aplikacyjnego w Platformie Systemowej AVEVA, który wykorzystuje wspomniany wcześniej interfejs API modelu. Za pośrednictwem tego interfejsu wykonywane są zapytania zwracające niezbędne dane. Zapytania kierowane do modelu mogą być modyfikowane za pomocą prostych przycisków i kontrolek zaimplementowanych w aplikacji wizualizacyjnej. Pozwala to nie tylko uzyskiwać predykcję dla rzeczywistych meczów, które mają się odbyć, ale również predykcje symulacyjne.

Zmiana warunków dla przygotowywanej predykcji. Źródło: ASTOR

Domyślnie po uruchomieniu aplikacji w oknie są prezentowane rzeczywiste dane – tzn. faktyczny rywal w najbliższej kolejce, prawdziwa data i godzina meczu oraz realne dane o passie i świadomości sytuacyjnej. Użytkownik może jednak wybrać z listy rozwijalnej inną drużynę, dla której chciałby wygenerować przewidywaną frekwencję. Może także określić datę i godzinę meczu, a nawet zmodyfikować passę (umożliwia to sprawdzenie, co by było, gdyby przykładowo Wisła ostatnio nie wygrała, tylko przegrała). Naciskając przycisk „Predykcja” uzyskujemy predykcję dla wybranego rywala i warunków.

Barometr AVEVA zaprojektował i wdrożył zespół w składzie:



Bartłomiej Hebda

Artur Połeć

Renata Poreda

Małgorzata Radzik

Szymon Rewilak

Mateusz Wojtulewicz

Marcin Woźniczka

Mateusz Zajchowski

Stefan Życzkowski

Czy ten artykuł był dla Ciebie przydatny?

Średnia ocena artykułu: 3.9 / 5. Ilość ocen: 7

Ten artykuł nie był jeszcze oceniony.

Zadaj pytanie

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

2 odpowiedzi na “Jak działa Barometr AVEVA?”

  1. Dzień dobry!
    Predykcje sprawdzały się ze średnim błędem względnym 5%. Natomiast wykres ROC nie nadaje się do zadań regresji (jakim jest predykcja liczby kibiców) tylko do specyficznych problemów klasyfikacji dwuklasowej z progiem aktywacji (albo regresji logistycznej). Więc w tym przypadku nie dałoby się go nawet narysować, natomiast istnieją inne metryki i wykresy wizualizacji błędu dla regresji, na przykład wspomniany średni błąd (względny lub bezwzględny), błąd średniokwadratowy i tym podobne.

  2. Dzień dobry,

    w jakim stopniu predykcje się sprawdziły? Może przydał by się do tego wykres ROC lub coś podobnego.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *