Zdrowa dieta dla Twojej sztucznej inteligencji
W ostatnich latach wchodząc do restauracji i otrzymując menu rozpoczynam nie od wyboru zupy czy przystawki, a od rozpoznania legendy. Przy wielu daniach znajdują się symbole wskazujące, że jest ono bezglutenowe, wegetariańskie, wegańskie, fit, itd. To pozytywny symbol naszych czasów. Interesujemy się tym co jemy, patrzymy na skład produktów, które kupujemy w sklepach. W każdym dużym markecie eksponowane miejsce zajmuje regał ze zdrową żywnością.
Jedzenie pomaga nam zachować siły i zdrowie, poprawia nam humor, wpływa na naszą kondycję zarówno fizyczną jak i intelektualną. Rożne badania (w tym amerykańskich naukowców ) udowadniają, że owoce morza, ryby, zielone warzywa, orzechy, czy suszone owoce mogą pozytywnie wpływać na naszą inteligencję. A zastanawialiście się kiedyś czym należy karmić sztuczną inteligencję, żeby była zdrowa, sprawna i naprawdę inteligentna?
Jesteś tym co jesz
Algorytmy machine learning (często biznesowo utożsamiany ze sztuczną inteligencją) żywią się danymi. Każdy z nich musi najpierw „pożreć” naprawdę duże ilości danych, aby zyskać właściwy ogląd sytuacji i zdolność do wskazywania optymalnych decyzji. W dużym uproszczeniu – im więcej danych tym model będzie poprawniejszy.
Zanim dane z baz danych w naszym przedsiębiorstwie będą zjadliwe dla algorytmu machine learning, trzeba je odpowiednio przygotować. Proces ten jest bardzo pracochłonny, a przygotowanie danych zajmuje około 80% czasu pracy w projektach związanych z uczeniem maszynowym. Co jednak, gdy mimo najlepszych starań, dane jakie przekażemy do algorytmu nie będą całkowicie poprawne?
Prosty przykład
Załóżmy, że chcemy przewidywać odejścia naszych klientów (ang. churn). W pierwszej kolejności musimy zebrać dane naszych klientów w jednym miejscu i zbudować wokół nich historię kontaktów z nimi, zakupów jakich dokonali, zwrotów czy zażaleń jakie do nas zgłaszali. Przygotowanie takich informacji może wydawać się proste, ale jeśli dane o klientach znajdują się w kliku różnych systemach IT, sytuacja mocno się komplikuje. Należy przeprowadzić proces scalenia klientów z różnych źródeł danych, a prawie niemożliwe jest zrobić to bezbłędnie.
Doświadczenia pokazują, że proste połączenie klientów po oczywistym kluczu takim jak numer PESEL czy numer dowodu osobistego jest o 25% mniej skuteczne niż bardziej zaawansowane, ale i dużo bardziej pracochłonne metody.
Jeśli pozostaniemy przy prostym łączeniu klientów, nasze dane nie będą w pełni poprawne. Część profili klientów będzie wybrakowana, a brakujące niepołączone informacje utworzą nowe również niekompletne profile. W opisywanym przypadku ponad 25% bazy informacji o klientach będzie zawierać niepełne, a nawet błędne dane. Jaki będzie efekt nakarmienia takimi danymi naszego żarłocznego algorytmu machine learning?
Sztuczna inteligencja jest bardzo wrażliwa
Dokładne określenie wpływu jakości danych na skuteczność sztucznej inteligencji będzie zależne od wybranego problemu do rozwiązania, rodzaju algorytmu oraz samych danych jakie będziemy wykorzystywać. Niewiele jest również badań naukowych w tym temacie, ale istniejące wskazują, że nawet 5% niepoprawnych danych może mieć dewastujący wpływ na wyniki osiągane przez algorytm machine learning.
Zastanówmy się nad tym chwilkę, nad sposobem uczenia algorytmów sztucznej inteligencji. Porównajmy go do uczenia dziecka rozpoznawania kolorów. Załóżmy, że pokazujemy maluchowi plansze z kolorami i nazywamy je, dziecko szybko zaczyna powtarzać nazwy kolorów po nas.
A co, jeżeli w co czwartym przypadku będziemy dziecku podawali złą nazwę koloru? Jaka jest szansa, że dziecko nauczy się kolorów w pełni poprawnie? Raczej niewielka, a zauważmy, że dziecko może wychwycić niespójność, że jeden kolor raz nazywamy niebieskim a raz czerwonym.
Algorytmowi machine learning będzie bardzo trudno dostrzec takie sytuacje, a najczęściej będzie to po prostu niemożliwe. W konsekwencji nasz model nauczy się błędnie i będzie w przyszłości sugerował błędne decyzje.
Jak umiera inicjatywa?
Z badań firmy Pactera Technologies wynika, że 85% projektów związanych ze sztuczną inteligencją kończy się porażką. Powodów tej sytuacji jest na pewno wiele: sztuczna inteligencja (w zastosowaniu biznesowym) jest we wczesnej fazie rozwoju, na rynku brakuje ekspertów, a decydenci często nie chcą ryzykować wprowadzania niezrozumiałych algorytmów do kluczowych procesów w organizacji.
Jeśli jednak wrócimy do faktu, że 80% czasu budowy modelu to przygotowanie danych, łatwo wywnioskować, że duża część niepowodzeń wynika z tego właśnie procesu. Dzieje się tak ponieważ koszt i czas przygotowania danych rośnie proporcjonalnie do spadku ich jakości. A realne organizacje biznesowe zawsze mają ograniczony czas i zasoby jakie mogą przeznaczyć na projekt. Jeśli zbyt długo nie przynosi on efektów zostanie anulowany.
Z drugiej strony takie czyszczenie danych post factum przez data scientist może być niewystarczające. Zasada „Garbage In – Garbage Out” działa w Machnie learning ze zdwojoną siłą. Mimo ciężkiej pracy i dobrych zamiarów, dane, którymi zasilimy algorytm mogą być zbyt zanieczyszczone i będzie on wskazywał błędne lub mocno nieprecyzyjne wyniki. Oczywistym jest, że nie może być mowy o wdrożeniu takiego błędnego modelu w proces biznesowy.
Co możemy zrobić?
Niestety podobnie jak z naszą dietą, przygotowanie danych na potrzeby algorytmów machine learning w naszych organizacjach jest procesem długotrwałym i wymaga dużo samozaparcia. W pierwszej kolejności musimy zbudować odpowiednie fundamenty w trzech obszarach: strategii, architektury i narzędzi.
Strategia zarządzania danymi (ang. data governance) to opis biznesowego podejścia do zarządzania jakością danych w organizacji. W uproszczeniu jest to wyjaśnienie jakie istnieją w organizacji procesy przetwarzania danych i kto za nie odpowiada. To co kluczowe w naszych rozważaniach – strategia taka określa, które dane w organizacji są cenne i warto inwestować w ich jakość, a które mniej znaczące i można poświęcić im mniej środków.
Kolejne dwa kroki są bardziej techniczne. Po pierwsze musimy zaprojektować i zbudować architekturę przetwarzania danych w organizacji. Najistotniejsze dane (np. dane klientów, produktów, finansowe) przechowujemy w sposób możliwie najbardziej restrykcyjny, zapewniając wysoką jakość. Natomiast dane mniej cenne (np. statystyki poruszania się po firmowej stronie www czy wypełnione formularze internetowe) mogą być objęte mniejszym rygorem jakościowym.
Architektura IT powinna odpowiadać potrzebom biznesowym, to znaczy kierować cenne dane np. do hurtowni danych, a mniej ważne do struktur takich jak data stage (czy modny w ostatnich latach data lake).
Na koniec, szczególnie w obszarze danych najcenniejszych, należy rozważyć zastosowanie narzędzi poprawiających ich jakość (ang. data quality). Narzędzia takie po odpowiednim zastosowaniu mogą poprawić dane zgodnie z wcześniej przygotowanymi słownikami, usunąć literówki, zweryfikować wartości i na koniec wskazać, które rekordy mają odpowiednią jakość, a które należy wykluczyć w wykorzystania biznesowego, ponieważ ich poprawność jest wątpliwa.
Czas na zdrową dietę
Powyższe trzy obszary: strategii, architektury i narzędzi to temat na trzy osobne opracowania. Ważne, aby mieć świadomość, że to kluczowe obszary, których nie możemy pomijać w naszej drodze do budowania organizacji opartej na danych i świadomie korzystającej z przewag jakie wnoszą algorytmy machine learning. Musimy pamiętać, że albo nasza sztuczna inteligencja przejdzie na zdrową dietę złożoną z danych wysokiej jakości, albo będzie ociężała, nieskuteczna i niezdolna do zmiany naszej biznesowej rzeczywistości.
Łukasz Nienartowicz, Britenet Sp. z o. o.