Uczenie maszynowe. Praktyczne zastosowanie AI w biznesie

Już dziś warto się zainteresować, gdzie w firmie należy wdrożyć uczenie maszynowe, jakie funkcje ono oferuje i zacząć analizować, w jakich obszarach firmy może ono znaleźć praktyczne zastosowanie.

Dla większości firm wdrożenie systemów uczenia maszynowego ML (Machine Learning) to wciąż zadanie na przyszłość. Według szacunków Gartnera tylko w 15% korporacji udało się osiągnąć sukces we wdrożeniu tego typu rozwiązań.

Podobne dane prezentuje firma O’Reilly. Według przeprowadzonych przez nią badań ankietowych, 15% przedsiębiorstw już wdrożyło systemy uczenia maszynowego lub mechanizmy sztucznej inteligencji (AI), a zdecydowana większość (pozostałe 85%) wciąż nie zdecydowała się na tego typu inwestycje.

Zobacz również:

Uczenie maszynowe to jeden z elementów sztucznej inteligencji, który zaczyna zdobywać praktyczne zastosowania w biznesie.

Jak jednak radzą specjaliści, warto już teraz zacząć eksperymentować z systemami uczenia maszynowego, bo ich zastosowanie będzie coraz bardziej wpływać na biznes i konkurencyjną pozycję firm. Z licznych raportów i badań ankietowych wynika, że uczenie maszynowe, a ogólniej mechanizmy sztucznej inteligencji, jest coraz szerzej postrzegane jako technologia, która w najbliższych latach stanie się podstawowym elementem praktycznie wszystkich innowacji do 2021 r. (tak uważa 42% ankietowanych ostatnio przez Accenture dyrektorów firm).

Zastosowanie mechanizmów machine learning może przynieść pozytywne efekty wtedy, gdy problem, który chcielibyśmy rozwiązać, jest dobrze znany, ale nie ma szansy na zatrudnienie dostatecznie dużej liczby pracowników do jego rozwikłania. Inna możliwość: wiadomo, co chcemy osiągnąć, ale brakuje dobrze zdefiniowanej metody pozwalającej na realizację celu.

Nie należy jednak ulegać promocji dostawców i reklamie narzędzi ML, bo może to prowadzić do chybionych inwestycji. Lepiej jest starannie przeanalizować fakty i zrozumieć, co może dać technologia, a czego nie należy oczekiwać od wdrożeń narzędzi do uczenia maszynowego.

Na rynku dostępnych jest wiele różnych rozwiązań, metod, algorytmów i funkcji, które mogą znaleźć praktyczne zastosowanie w firmach. Jak jednak radzą specjaliści, przed podjęciem decyzji o inwestycji w narzędzia i infrastrukturę do obsługi uczenia maszynowego należy starannie przeanalizować planowane rozwiązania, określić, jaka metoda uczenia maszynowego jest najlepiej dopasowana do wymagań, jakie dane posłużą do trenowania systemu i czy będzie to zbiór statyczny, czy też dynamicznie modyfikowany.

Podstawowe elementy procesu uczenia maszynowego (machine learning pipeline)

1. Dostarczenie danych

2. Przetworzenie danych w zestaw możliwy do wykorzystania

3. Trenowanie systemu i utworzenie odpowiednich modeli

4. Prezentacja przewidywanych wyników.

Źródło: George Gilbert, analityk z Wikibon Research

Uczenie maszynowe to nie jest sztuczna inteligencja

Pojęcia uczenie maszynowe i sztuczna inteligencja są często stosowane jako synonimy, ale technologia AI ma znacznie szerszy zakres i obejmuje technologie stosowane choćby do rozpoznawania obrazów i wideo lub przetwarzania języków naturalnych, które nie muszą korzystać z uczenia maszynowego.

Uczenie maszynowe to przede wszystkim tworzenie na podstawie analizy dużych zbiorów danych dynamicznych wzorców, które prezentują wyniki wyglądające na „inteligentne”, ale podstawą ich uzyskania jest w rzeczywistości zastosowanie mechanizmów analizy statystycznej działających z dużą wydajnością i w dużej skali.

Główne metody uczenia maszynowego

Uczenie nadzorowane (supervised learning)

Jest to dobre rozwiązanie, jeśli użytkownik dokładnie wie, czego system ma się nauczyć. Po dostarczeniu odpowiednio dużej liczby danych do trenowania systemu, sprawdzeniu generowanych wyników, modyfikacji wstępnie zdefiniowanych parametrów system należy przetestować, wprowadzając zestaw nowych, wcześniej niedostarczonych danych. Pozwala to na sprawdzenie, czy generowane wyniki są zgodne z oczekiwaniami.

Metody uczenia nadzorowanego są wykorzystywane do takich zastosowań, jak określanie poziomu ryzyka finansowego związanego z osobami i firmami na podstawie wcześniejszych informacji o ich działaniach. Oprócz tego, wykorzystując analizę wcześniejszych wzorców zachowań, mogą dostarczyć przydatnych informacji, jak klienci będą się najprawdopodobniej zachowywać i jakie są ich preferencje.

W instytucjach finansowych takie technologie są coraz częściej stosowane. Umożliwiają istotne przyspieszenie podejmowania decyzji, zmniejszenie ryzyka, kosztów związanych z analizą wniosków klientów, a także lepsze i szybsze dopasowanie oferty do ich indywidualnych wymagań.

Uczenie nienadzorowane (unsupervised learning)

Uczenie bez nadzoru to metoda automatycznej analizy dużych zbiorów danych w poszukiwaniu ukrytych wzorców połączeń między różnymi zmiennymi. Jest ona wykorzystywana do klasyfikacji i grupowania danych na podstawie ich parametrów statystycznych.

Metoda ta może być przydatna m.in. w przedsiębiorstwach, które muszą integrować dane pochodzące z różnych źródeł, jednostek biznesowych i oddziałów w celu uzyskania spójnego i kompleksowego obrazu klientów.

Coraz częściej jest też stosowana do określania uczuć i identyfikacji stanu emocjonalnego osób na podstawie analizy ich postów w mediach społecznościowych, wiadomości e-mail i innych publikowanych opinii. Pozwala to na przykład na zautomatyzowane badanie poziomu satysfakcji klientów.

Uczenie częściowo nadzorowane (semisupervised learning)

Metoda uczenia w części nadzorowanego to połączenie wymienionych wyżej technik.

W tym przypadku niewielka część danych zostaje oznaczona, wyniki ich analizy są zweryfikowane przez system, a następnie osoba trenująca definiuje, w jaki sposób mają one zostać włączone do pozostałej części zbioru informacji będących podstawą do tworzenia modeli i wzorców zachowań.

Technika taka jest stosowana m.in. do wykrywania prób oszustw w systemach transakcyjnych online przy wykorzystaniu skradzionej tożsamości.

Uczenie wzmocnione (reinforcement learning)

Uczenie wzmocnione to metoda, która może znaleźć zastosowanie w systemach wchodzących w interakcję z otoczeniem, na przykład segregujących przedmioty na linii produkcyjnej. Podczas treningu system podejmuje zarówno dobre, jak i błędne decyzje. Działania prawidłowe są potwierdzane (wzmacniane) i w ten sposób oprogramowanie automatycznie uczy się, w jaki sposób ma reagować.

Metoda ta jest testowana głównie w ośrodkach badawczych, ale już zaczyna znajdować praktyczne, pilotowe zastosowania w firmach handlowych, m.in. do sortowania odzieży lub innych produktów.

Jej odmianą jest głębokie uczenie wzmacniane (deep reinforcement learning), które może znaleźć zastosowanie w systemach autonomicznych, gdzie techniki uczenia nadzorowanego lub nienadzorowanego nie są stanie spełnić wymagań.

Nie wszystkie dane są wartościowe

Dostarczenie odpowiednio dużego i dobrze dopasowanego zbioru danych ma kluczowe znaczenie dla wytrenowania systemu uczenia maszynowego. Należy pamiętać, że muszą to być informacje przydatne do tworzenia wzorców mających realizować określone funkcje, a jednocześnie nie zawierać danych, które mogą spowodować generację fałszywych wniosków i nieużytecznych modeli. Przykładem jest dostarczenie do systemu zbioru fotografii, na których wszyscy mężczyźni stoją, a wszystkie kobiety siedzą. Może to spowodować stworzenie modelu prezentującego nieprzydatne wnioski i prognozy.

Dane wykorzystywane do trenowania systemu należy tak przygotować, by zawierały informacje związane z pytaniami, które będą później zadawane. Niestety, wymaga to dużej pracy, bo błędem jest założenie, że dostępne dane są jasne, reprezentatywne i łatwe do sklasyfikowania.

Dostarczenie odpowiednio dużego i dobrze dopasowanego zbioru danych ma kluczowe znaczenie dla wytrenowania systemu uczenia maszynowego. Muszą to być informacje przydatne do tworzenia wzorców mających realizować określone funkcje, bez danych, które mogą spowodować tworzenie fałszywych wniosków i nieużytecznych modeli.

Również wyniki generowane przez system uczenia maszynowego nie zawsze są prawidłowe. Przykładem jest paradoksalnie wyglądający fakt, że osoby cierpiące na astmę, choroby krążenia lub w podeszłym wieku mają większe prawdopodobieństwo przeżycia zapalenia płuc. W efekcie prosty system uczenia maszynowego zainstalowany w dziale przyjęć do szpitala mógłby sugerować odesłanie takiego chorego do domu, nie biorąc pod uwagę, że wysoki wskaźnik przeżycia wymienionych osób wynika z tego, że są z reguły natychmiast przyjmowane i leczone, bo zapalenie płuc stwarza znacznie większe zagrożenie dla ich życia niż u innych ludzi.

Niestety, trudno jest stwierdzić, że dostarczone do systemu dane zawierają podstawę do stworzenia szkodliwego wzorca, dopóki nie zostaną zauważone jego skutki.

Wdrożenia trudniejsze, niż się wydają

Na rynku jest wiele usług i narzędzi ułatwiających wdrożenie systemów uczenia maszynowego. Ich przegląd można znaleźć m.in. w opublikowanym w „Computerworld 3/2017” artykule „Najlepsze frameworki do uczenia maszynowego i głębokiego uczenia”.

Niestety, praktyczne zbudowanie efektywnego systemu ML nie jest łatwym zadaniem. Myli się ten, kto uważa, że system uczenia maszynowego można po prostu kupić jako gotowy do wykorzystania produkt.

Magia czarnej skrzynki? Biznes mówi: nie

Uczenie maszynowe jest czasami postrzegane jak magiczna czarna skrzynka. Wrzucamy do niej dane, a na wyjściu pojawiają się przewidywania, co będzie się działo.

Ale w rzeczywistości nie ma tu żadnej magii, a tylko dane i analizujące je algorytmy, które tworzą modele pozwalające na zautomatyzowaną prezentację przewidywań, jakie będą skutki podejmowanych akcji.

Użytkownicy, którzy podejmują decyzje biznesowe, wykorzystując informacje dostarczone przez systemy uczenia maszynowego, najczęściej nie chcą, by dane były prezentowane po prostu przez czarną skrzynkę. Bo im bardziej zrozumieją, co i w jaki sposób w niej działa, tym lepiej poznają, jak przebiega każdy krok w procesie przekształcenia danych w przewidywania. Wtedy wnioski prezentowane przez system będą miały większe znaczenie biznesowe.

„Jeśli ktoś nie zajmował się wcześniej systemami uczenia maszynowego i ich praktycznym wdrażaniem, najprawdopodobniej nie zdaje sobie sprawy, jak skomplikowany jest proces. Ale z drugiej strony taki dobrze zaprojektowany i wdrożony system może przynieść zadziwiająco pozytywne efekty biznesowe” – uważa Ted Dunning, główny architekt aplikacji MapR.

Uczenie maszynowe to technologia, która wymaga specjalistycznej wiedzy, jak przygotować dane do trenowania i testowania, jakie algorytmy zastosować i jak wdrożyć system produkcyjny, a później jak jego działanie monitorować i dopasowywać do zmieniających się warunków. Dlatego wiedza i doświadczenie osób wdrażających, a później zajmujących się utrzymaniem systemu uczenia maszynowego mają krytyczne znaczenie dla powodzenia tego typu projektów.

Dane danymi, ale intuicja jest najważniejsza

62% przedstawicieli kadry zarządzającej firmami twierdzących, że podejmowane przez nich decyzje opierają na obiektywnych danych, przyznaje jednocześnie, że ignoruje przewidywania, które nie są zgodne z ich intuicją.

Jak pisze Matt Asay z InfoWorld USA, firmy, które chciałyby nadrobić czas, korzystając ze zautomatyzowanych mechanizmów uczenia maszynowego, takich jak: Google AutoML lub płatnych usług konsultantów, mają małe szanse na szybki sukces. Nie ma tu drogi na skróty.

Producenci oprogramowania ML często sugerują, że jest ono łatwe do wykorzystania, ale do takich stwierdzeń należy podchodzić z rezerwą. Na przykład narzędzia Google AutoML mają, jak pisze Google, „umożliwić programistom, z małym doświadczeniem w technologii uczenia maszynowego, stworzenie wysokiej jakości modeli dopasowanych do biznesowych potrzeb ich firmy”. To dobrze brzmi, ale wdrożenie uczenia maszynowego to nie dostrojenie gotowego modelu, ale przede wszystkim wiedza i doświadczenie, jak to zrobić – podkreśla Matt Asay.