Sztuczna Inteligencja

Czym jest Machine Learning?

Machine Learning, czyli uczenie maszynowe, jest jednym z podstawowych zagadnień w obszarze sztucznej inteligencji. Służy do gromadzenia doświadczeń określonego typu i doskonalenia się na ich podstawie. Jest pochodną informatyki, robotyki i statystyki, ma jednak działać na dokładnie tej samej zasadzie, jak w przypadku ludzi – poznawać nowe rzeczy, właściwie je interpretować oraz wyciągać na tej podstawie wnioski na przyszłość. Mówiąc krótko – doświadczyć czegoś i na podstawie tego zdobyć wiedzę do ponownego wykorzystania. Brzmi prosto, banalnie i oczywiście – jak to jednak wygląda w rzeczywistości? Na czym polega uczenie maszynowe z punktu widzenia projektanta-programisty? Spróbujemy wytłumaczyć to w kilku prostych krokach…

Zaczniemy od bardzo krótkiego rysu historycznego – twórcą machine learning jest koncern IBM, którego inżynierowie dali podwaliny tej nauce już na początku lat 50-tych ubiegłego wieku. Pierwsze prace miały na celu stworzenie systemu informatycznego na potrzeby szkolenia zawodników szachowych, w późniejszych latach znalazły one zastosowanie w prowadzeniu i optymalizacji badań naukowych w chemii i matematyce. W 1997 roku IBM wystawił do pojedynku szachowego z ówczesnym arcymistrzem – Garrim Kasparowem, swój superkomputer o nazwie Deep Blue. Komputer pokonał mistrza w szóstym pojedynku, jednakże było to zwycięstwo niezwykle kontrowersyjne, gdyż inżynierowie IBM optymalizowali kod oprogramowania w trakcie kolejnych przerw w rozgrywkach, równocześnie odmawiając Kasparowowi wgląd w rozegrane przez komputer partie.

Pod koniec lat 90-tych ze sztucznej inteligencji i uczenia maszynowego zaczęły korzystać wyszukiwarki internetowe z Google, Bing i Yahoo na czele. W 2006 r. już bez żadnych kontrowersji ogólnodostępny program szachowy Fritz 10 pokonał mistrza świata Władimira Kramnika, a pięć lat później superkomputer Watson (stworzony ponownie przez IBM) wygrał w teleturnieju Jeopardy!, pokonując dwóch najlepszych graczy w historii.

Maszyny imitujące i dostosowujące się do ludzkich zachowań

Podstawową rzeczą jaką chcemy nauczyć daną aplikację jest aby wyciągała wnioski z wydarzeń w przeszłości – w tym z poznanych przykładów referencyjnych. Przykładowo, jeżeli:

3 = 9
4 = 16
8 = 64
9 = ??

to 9 wyniesie oczywiście 81. Skąd to wiemy? W pierwszej kolejności z zasad matematyki – w dalszej z całej masy wcześniejszych (np. szkolnych) doświadczeń, gdzie powyższe równania przerabialiśmy w nieskończoność. W przypadku programowania sztucznej inteligencji, algorytmy uczenia maszynowego wykorzystują metody obliczeniowe do uczenia się informacji bezpośrednio z danych, bez polegania na z góry określonym równaniu jako modelu. Algorytmy adaptacyjnie poprawiają swoją wydajność wraz ze wzrostem liczby próbek dostępnych do nauki. Algorytmy znajdują naturalne wzorce w danych, uzyskują wiedzę i przewidują nieznane w celu podjęcia lepszych decyzji.

Dwa typy Machine Learning

Rozróżniamy dwa typy uczenia maszynowego:

  • nauka nadzorowana
  • nauka bez nadzoru.

Nadzorowana nauka znajduje wzorce i opracowuje modele predykcyjne przy użyciu zarówno danych wejściowych, jak i wyjściowych. Są one formowane w Klasyfikację lub Regresję.

Klasyfikacja służy do przewidywania konkretnych, pojedynczych odpowiedzi np.:

  • czy drużyna A wygra mecz? – WYGRA / PRZEGRA
  • czy wiadomość e-mail jaką otrzymaliśmy to spam? – poczta CHCIANA / NIECHCIANA.

Regresja służy do przewidywania ciągłych odpowiedzi np. jaki jest trend giełdowy, lub prognoza pogody.

Nauka bez nadzoru znajduje wzorce na podstawie danych wejściowych. Ta technika jest przydatna, gdy nie mamy pewności, czego szukamy? Jest zwykle używana do eksploracyjnej analizy surowych danych. Większość technik uczenia się bez nadzoru jest formą analizy skupień. W analizie skupień grupuje się elementy danych, które mają pewną miarę podobieństwa w oparciu o wartości charakterystyczne.

Mamy zestaw różnych grup (A-Z). 
Element danych (d1) w jednej grupie (A) 
jest bardzo podobny do innych elementów danych (d2-dx) 
w tej samej grupie (A), 
ale d1 znacznie różni się od elementów danych 
należących do pozostałych grup (B-Z).

Tym samym przykład z początku artykułu był przykładem techniki nadzorowanej nauki w formie regresji.

Gdzie korzystamy z Machine Learning?

Chociaż znakomita większość z nas nie zdaje sobie z tego sprawy, z uczeniem maszynowym mamy do czynienia w przypadku większości popularnych usług internetowych i aplikacji mobilnych. Wszędzie tam gdzie pojawia się sztuczna inteligencja – musi być nauka zachowań użytkowników lub innych zmiennych będących istotą aplikacji. Z machine learning korzysta:

  • dopasowanie reklam w przeglądarkach lub mediach społecznościowych
  • dopasowanie usług w systemach streamingowych
  • generowanie prognoz pogody
  • przewidywanie wyników meczy przed lub w trakcie ich trwania (na podstawie przebiegu rozgrywki)
  • diagnozy medyczne
  • asystenci głosowi (np. Google lub Siri).
Pawel Levy
Ekspert w dziedzinie nowych technologii. Zastanawia się, czy teoria symulacji to tylko ciekawy eksperyment myślowy, nowy i chwilowy trend internetowy, czy odpowiedź na pytanie po co żyjemy...?

    You may also like

    Comments are closed.