Sztuczna inteligencja, czyli SI (ang. AI), jest jedną z najprężniej rozwijających się dziedzin nowych technologii. Jednocześnie to termin obecnie mocno nadużywany, głównie w celach marketingowych, aby podnieść rangę produktu lub usługi, wskazuje w komentarzu eksperckim dla ISBtech Radosław Broniszewski, Cloud Solutions Architect w Billennium.
Powszechne jest nazywanie telewizora lub smartfona urządzeniem wykorzystującym SI, bo potrafi wykryć, czy użytkownik patrzy w ekran lub rozpoznać twarz w obiektywie aparatu. Tylko czy telewizor albo telefon potrafiłby przejść test Turinga (który najogólniej polega na tym, że rozmówca nie jest w stanie rozpoznać, czy prowadzi konwersację z człowiekiem czy maszyną). Odpowiedź jest jednoznaczna – nie.
Aktualnie mamy do czynienia z dwoma pojęciami dotyczącymi określenia SI. Pierwsze znaczenie to po prostu marketingowy „buzzword”. Drugie odnosi się do terminu naukowo- technicznego, pod którym kryją się realne narzędzia, funkcje czy rozwiązania informatyczne.
Dzisiaj chciałbym skupić się na drugim pojęciu, a konkretnie na procesie budowy rozwiązań wykorzystujących algorytmy uczenia maszynowego, stanowiące jeden z głównych filarów sztucznej inteligencji.
Jak wygląda proces tworzenia rozwiązań SI i nauki modeli predykcyjnych?
Tworzenie każdego rozwiązania IT składa się z wielu ustrukturyzowanych etapów. Nie inaczej jest z procesem budowy i wdrożenia rozwiązań wykorzystujących algorytmy uczenia maszynowego i/lub uczenia głębokiego. Poniżej przedstawiam 7 głównych etapów:
1. Identyfikacja problemu, który chcemy rozwiązać przy użyciu SI
Pierwszym etapem procesu jest identyfikacja problemu jaki stoi przed tworzonym przez nas rozwiązaniem SI. Kluczowe jest zrozumienie istoty zadania, dokładne zdefiniowanie jego głównych założeń biznesowych i technicznych oraz ustalenie kryteriów, na podstawie których planujemy znaleźć jego rozwiązanie.
2. Eksploracja dostępnych danych
Każde rozwiązanie SI, aby działało właściwie i odpowiadało na zadany problem, potrzebuje zbioru danych. Dane te są niezbędne by algorytm mógł się uczyć, co w rezultacie prowadzi do stworzenia modelu SI potrafiącego dokonywać predykcji i funkcjonować zgodnie z założeniami w warunkach rzeczywistych.
Podczas drugiego etapu realizacji wyszukujemy i analizujemy dostępne dane, które potencjalnie mogą nam pomóc w wyszkoleniu SI. Źródłami danych mogą być np. internet czy rozwiązania IoT, wspierane przez zasoby chmury publicznej. Tak naprawdę każda informacja rejestrowana w formie cyfrowej może być źródłem danych dla SI. Celem tego etapu jest zrozumienie informacji zawartych w danych, sprawdzanie ich jakości, wolumenu oraz wytypowanie zakresu danych, które będziemy chcieli wykorzystać do budowy naszego rozwiązania SI. Zostaną one użyte podczas kolejnych etapów do zasilenia i wyszkolenia naszego modelu SI.
3. Zebranie i przygotowanie danych
Następnym etapem jest dostarczenie danych do tworzonego przez nas rozwiązania. Im więcej danych dobrej jakości uda nam się pozyskać, tym większą mamy szansę na zbudowanie dobrego modelu SI. Dane przechodzą proces czyszczenia, uzupełnienia i normalizacji. Konieczne jest m.in. sprawdzenie korelacji pomiędzy poszczególnymi atrybutami (zbiorami danych). Na końcu tego etapu dane są przekształcane w celu ich jak najlepszego dostosowania do potrzeb algorytmów SI.
4. Wybór modeli SI i ich trenowanie
Po przygotowaniu i dostosowaniu danych, należy dokonać ich podziału na dane, na których nasze modele wykorzystujące algorytmy uczenia maszynowego, będą się uczyły (trenowały) oraz dane, które posłużą do weryfikacji efektywności ich działania.
W tej fazie następuje budowa modeli SI, czyli dalsze przekształcenie danych oraz wybór algorytmów podlegających szkoleniu na zbiorze wybranych wcześniej danych treningowych. Warto wspomnieć, że nie w każdym projekcie stosuje się podział na dane treningowe i testowe, np. przy algorytmach typu uczenia nienadzorowanego, których zadaniem jest odkrywanie w zbiorze danych wzorców bez wcześniejszego etykietowania zbioru danych.
Oznacza to, że takie algorytmy zakładają brak obecności oczekiwanego wyjścia w danych uczących. W ich przypadku do trenowania wykorzystuje się cały zbiór danych, a wyniki analizuje i interpretuje Data Scientist, twórca modeli.
5. Ocena modeli
Kolejny etap budowy rozwiązania to ocena utworzonych modeli SI, który pozwala zweryfikować ich działanie i wspiera proces tworzenia pod kątem jakościowym. Wykorzystuje się do tego m.in. metryki do walidacji wyników, dostępne wraz z używanymi algorytmami w utworzonych modelach SI. Należy również dokonać pomiarów jakości zbiorów danych i obliczeń macierzowych. Ten etap jest bardzo istotny z punktu widzenia całego procesu budowy, gdyż to na tym etapie wybierany jest model, który zostanie wdrożony w naszym rozwiązaniu.
6. Wdrożenie i dostosowanie
Utworzone przez nas rozwiązanie SI zostaje wdrożone i musi zmierzyć się z prawdziwym światem. Testujemy je na danych rzeczywistych i w środowisku docelowym. Ten etap pozwala nam na monitorowanie działania rozwiązania SI oraz jego dostrajanie do warunków w jakich funkcjonuje. Odbywa się to między innymi poprzez modyfikacje rozwiązań w obszarze elementów wpływających na jego funkcjonowanie, które nie zostały uwzględnione w fazie projektowania, np. z uwagi na brak możliwości ich zasymulowania w środowisku deweloperskim.
7. Predykcja
Nasz model został przeszkolony, predykcje wygenerowane przez SI przetestowane. Rozwiązanie jest już wdrożone i dostosowane do warunków w jakich ma funkcjonować. Model SI jest gotowy do udzielania odpowiedzi na zadany mu pytanie/zadanie przy użyciu predykcji. Rozwiązania SI mogą dokonywać wszelkiego rodzaju predykcji, od rozpoznawania obrazu po semantykę czy też analizę predykcyjną.
Jak widać, proces budowy modeli SI jest dobrze zdefiniowany i ustrukturyzowanym. Na każdym etapie powstawania jego twórcy mają do dyspozycji bardzo duży zestaw narzędzi wspierających, który przyśpiesza i usprawnia pracę, np. usługi i serwisy dostępne w ramach chmury obliczeniowej Microsoft Azure takie jak Machine Learning czy Cognitive Services.
Zarówno sama struktura procesu, jak i dostępne narzędzia, pozwalają twórcom rozwiązań na wdrożenie nowych funkcjonalności w produktach i usługach w sposób efektywny. Oczywiście nie umknie to uwadze wspomnianych na początku specjalistów od marketingu, którzy z dużą chęcią przykleją im kolejną metkę z napisem SI. Jednak różnica jest taka, że tym razem stworzyliśmy rozwiązanie wykorzystujące sztuczną inteligencję w prawdziwym tego słowa znaczeniu.
Billennium to zespół ponad 1300 specjalistów IT, który niezmiennie od 2003 roku przekracza granice technologii, aby dostarczać innowacyjne rozwiązania IT dla biznesu. Nasze biura mieszczą się w Polsce, Stanach Zjednoczonych, Niemczech, Malezji i Indiach.