W ostatnich latach najmodniejszym, technologicznym tematem jest Sztuczna Inteligencja. Czy ktoś z Was zastanawiał się, jak Sztuczna Inteligencja ... staje się inteligentna?
Początki nauki Inteligencji
W temacie nauczania Sztucznej Inteligencji, często przytacza się pewien eksperyment.
W czasach Zimnej Wojny, armia amerykańska zainteresowana była wykorzystaniem komputerów do analizy zdjęć lotniczych.
To żmudny proces, podczas którego przegląda się tysiące fotografii. A wszystko po to, aby zidentyfikować relokację jednostek wojskowym, na obserwowanym terenie. W praktyce cały sztab ludzi przeglądał tysiące zdjęć lotniczych, aby wyłowić z nich czołgi, cysterny, czy duże oddziały żołnierzy lub ich obozy.
Do tego zadania postawiono wykorzystać modne w tamtym czasie sieci neuronowe.
Po przygotowaniu oprogramowania nastąpił proces nauki. Naukowcy przygotowali 50 zdjęć, na których znajdowały się zakamufolowane w lesie czołgi oraz 50 zdjęć lasu bez ukrytych czołgów.
Podczas szkolenia pokazywano przed „oko kamery” sieci neuronowej konkretne zdjęcia i „podpowiadano” jaka powinna być odpowiedź. Sieć neuronowa analizowała przedstawiony obraz i wykształcała mechanizm udzielania odpowiedzi.
Taką formę nauki wielokrotnie powtórzono, aż Sieć neuronowa za każdym razem zaczęła udzielać prawidłowych odpowiedzi.
Po tej części szkolenia, naukowcy zwiększyli próbkę zdjęć do 200, gdzie na 100 zdjęciach były zakamuflowane w lesie czołgi, a na 100 pozostałych był tylko las. Tym razem przedstawiono do analizy przez Sieć neuronową komplet zdjęć, wśród których połowę stanowiły nowe zdjęcia, które niewykorzystywane były do tej pory w procesie szkolenia.
Efekt? Sieć neuronowa poprawnie zakwalifikowała nie tylko zdjęcia z treningu, ale także nową pulę zdjęć.
Ogłoszono sukces i przekazano prototyp do Pentagonu.
Informacja zwrotna przyszła dość szybko – Sieć neuronowa w niczym nie jest lepsza od ludzi, ponieważ nie rozpoznaje czołgów na zdjęciach.
Gdzie był błąd?
Okazało się, że sieć neuronowa nauczyła się całkiem czegoś innego. Zdjęcia jakie wykorzystano do nauki i późniejszego przeegzaminowania miały pewien „defekt”.
Zakmuflowane w lesie czołgi fotografowane były w słoneczny dzień, a zdjęcia lasu bez czołgów - w pochmurny dzień.
Sieć świetnie nauczyła się rozpoznawać fotografie robione w słoneczny dzień, od tych zrobionych przy zachmurzeniu nieba.
Nigdy nie udało się ostatecznie potwierdzić powyższych faktów, a nawet jest podejrzenie, że zostały wymyślone, aby podkreślić wagę problemu z jakim musieli zmierzyć się naukowcy, aby nauczyć się … uczenia Sztucznej Inteligencji.
Różne szkoły dla maszyn
Powyższy przykład pokazuje, że nie tylko z nauką ludzi jest problem, ale także metodologia szkolenia Sztucznej Inteligencji wcale nie jest banalna i oczywista.
Tak jak w przypadku systemów nauczania w szkołach, na całym świecie jest szereg metod edukacyjnych. Tak samo w przypadku Sztucznej Inteligencji, cały czas tworzy się coraz to nowsze metody "kształcenia maszyn". Przyglądnijmy się paru z nich.
Deep Learning Deep Learning to jedna ze starszych metod, wykorzystywanych w nauce sieci neuronowych. Stanowi ona bazę, z której wywodzą się kolejne „szkoły nauki maszyn”.
W metodzie tej nie programuje się konkretnych zachowań czy procedur postępowania komputera, lecz uczy się wykonywania zadań w sposób zbliżony do ludzkiego mózgu.
Tym samym, zamiast pisać procedury na organizowanie danych i wykonywaniu szeregu zdefiniowanych równań – komputer zbiera podstawowe parametry danych i próbuje rozpoznać wzorce, przetwarzając zebrane dane w różny sposób.
Taka metoda analizy danych pozwoliła na stworzenie maszyn, które potrafią wykryć korelację różnych zdarzeń, co do których ludzie nie mieli pojęcia.
Przy pomocy tego typu technologii, największe mocarstwa, stworzyły symulatory "gier wojennych". Dzięki tym symulatorom bardzo szybko są w stanie zidentyfikować korelacje i wzajemne powiązania różnych gałęzi światowych gospodarek.
Tysiące serwerów, udostępnionych specjalnie zaprogramowanej Sztucznej Inteligencji, monitoruje "on-line" i analizuje powiązania gospodarcze na całym świecie. Dzięki temu rządy otrzymują od analityków bardzo precyzyjne scenariusze.
Scenariusze, które prognozują efekty konkretnych działań, mogących dawać zaskakujące efekty (często negatywne), w różnych częściach świata lub różnych gałęziach gospodarki.
To już nie jest opis z filmów S-F, ale opis realnych narzędzi, wykorzystywanych przez największe agencje rządowe.
Na bazie metody Deep Learning powstało Machine Learning (nauczanie maszynowe) oraz inne nowoczesne metody nauczania Sztucznej Inteligencji.
Poznajmy parę z nich.
Uczenie drzew decyzyjnych
To metoda nauki, której celem jest wspomaganie procesu decyzyjnego.
W tej metodzie buduje się „drzewo decyzyjne”, po którym można się poruszać przy wystąpieniu konkretnego zdarzenia.
Drzewo decyzyjne zawiera w sobie informacje o dostępnych opcjach, jak również pozwala wnioskować o możliwych konsekwencjach danego wyboru.
Ta metoda wykorzystywana jest do tworzenia systemów, których zadaniem jest szybkie reagowanie na występujące zdarzenia i podpowiadaniu najlepszych rozwiązań.
Przykładem zastosowania mogą być sytuacje w ruchu lotniczym, gdzie opóźnienie jednego samolotu ma wpływ na loty osób, dla których był to lot tranzytowy.
W takich przypadkach, linie lotnicze mają obowiązek przebukować pasażerowi bilety na całej trasie jego lotu docelowego.
Dyspozytor analizujący wyłącznie możliwość umieszczenia spóźnionego pasażera do najbliższej „okazji”, wcale nie musi wybrać wariantu korzystnego dla linii lotniczej.
Dopiero analiza całej „zmienionej trasy” przelotu spóźnionego pasażera, daje odpowiedź, który lot/loty są optymalne ekonomicznie dla linii lotniczej.
Uczenie Bayesowskie
Uczenie maszyn tą metodą oparte jest na XVII-wiecznym twierdzeniu Thomasa Bayesa.
Twierdzenie związane jest z teorią prawodopobieństwa i wzajemnego oddziaływania dwóch zdarzeń.
Ta metoda nauki maszyn może być wykorzystana do stawiania diagnoz medycznych, gdzie Sztucznej Inteligencji podane zostaną wszystkie znane objawy oraz zdarzenia z życia pacjenta.
Analiza tych danych określi prawdopodobieństwo wystąpienia u takiego pacjenta konkretnych chorób, których te objawy dotyczą.
Uczenie z przykładów
Ta metoda podobna jest do opisanej historii z rozpoznawania zamaskowanych czołgów.
W procesie uczenia przedstawia się konkretne przykłady postępowania. Zadaniem maszyny jest zakwalifikowanie nowych zdarzeń do konkretnego przykładu i postępowania zgodnie z jego schematem powstępowania.
W przypadku braku takiego przykładu, zdarzenie jest nowym przykładem, który zostanie zapamiętany i będzie stanowił metodę do porównań dla kolejnych zdarzeń.
Metoda może być wykorzystywana zarówno na rynkach finansowych, gdzie często występują wzorce zachowań inwestorów, jak również do prognoz pogody.
Uczenie przez wzmacnianie
Ta metoda uczenia maszyn wzoruje się na metodzie behawioralnej z psychologii.
Ogólnie można powiedzieć, że metoda polega na nagradzaniu przy podejmowania dobrych decyzji.
Przykładem z życia, opisującym tą metodę, jest sposób uwarunkowania psów.
Nie możemy powiedzieć psu co ma zrobić, ale możemy nagrodzić go lub ukarać, jeżeli coś zrobi dobrze lub źle.
Zadaniem psa jest przeanalizowanie co zrobił, aby otrzymać nagrodę, a czego nie powinien robić, aby nie dostać kary.
Podobnie można szkolić komputery. Metoda dobrze sprawdza się w algorytmach związanych z grami (np. szachy), planowaniu działań lub kontroli kończyn robotów.
To tylko podstawowe zagadnienia związane z nauczaniem maszyn.
Nowe zawody
Obecnie na rynku można zaobserwować szybko rosnące zapotrzebowanie zarówno na analityków potrafiących budować konkretne schematy nauczania - jak i samych „nauczycieli”, których zadaniem jest „karmienie” maszyn danymi i reagowaniem w procesie uczenia.
Poszukiwanie w Polsce nauczycieli dla bota, czyli nauczycieli dla automatu który ma udzielać odpowiedzi klientom, to dopiero początek tej historii.
Współcześni nauczyciele i pedagodzy powinni mocno zainteresować się tą nową dziedziną informatyki.
I wcale nie potrzebują znać się na skomplikowanych algorytmach decyzyjnych.
Ich zadaniem będzie przygotowywanie konkretnych danych oraz obserwacja wyników pracy Sztucznej Inteligencji.
Powstaje tylko pytanie, komu wystawić ocenę za wykonanie lub niewykonanie zadania?
Programiście? Analitykowi? A może Nauczycielowi?
Bo raczej „uczniowi” trudno będzie coś zarzucić.