Pokazał programowi 15 godzin nagrań Mario Kart. A ten zdobył później dwa złote medale
Eksperymentów ze sztuczną inteligencją ciąg dalszy. Programista hobbistycznie nauczył sieć neuronową, jak ma grać w grę wyścigową Mario Kart. A ta wygrała później całą serię wyścigów.
Mistrzostwo w 15 godzin
Seth Bling, odpowiedzialny za ten projekt, zbudował od podstaw własną sieć neuronową. MariFlow, bo tak się nazywa, uczy się zachowania gracza poprzez oglądanie jego starań w trakcie rozrywki.
Dlatego Bling nagrał 15 godzin własnych starań w Mario Kart, które później pokazał zbudowanej przez siebie sieci neuronowej. MariFlow, analizując jego styl gry, przewidywał później, jak programista w danym momencie wyścigu najprawdopodobniej się zachowa. Co istotne, ta konkretna sieć jest siecią rekurencyjną. Co oznacza, jest zdolna do zapamiętywania informacji, których się "nauczyła".
Jak jednak tłumaczy Seth w swoim wideo, samo oglądanie nagrania nie wystarczyło, by MariFlow. Przy bardziej skomplikowanych fragmentach tras sieć potrafiła zawrócić pojazd lub blokować się na bandach. Tutaj konieczna była interwencja twórcy. Podczas nagrywania 15-godzinnego zapisu gry, przejmował kontrolę nad pojazdem w najtrudniejszych momentach, aby MariFlow mógł nauczyć się jego reakcji, by później samemu odpowiednio się zachować.
Ostatecznie, program zdobył złoty medal w rozgrywkach Mushroom Cup oraz Flower Cup. W ostatnim, trzecim trybie o nazwie Star Cup, zdobył "tylko" srebrny medal. Gra ma już 25 lat, więc nie jest ona szczytem technologii, którą używa się w grach. Jednak możliwość nauczenia od podstaw programu, który samemu się napisało, by zaczął wygrywać, jest imponujące.
Sieć do grania i poszukiwania
Jednak jakie zastosowanie, poza czysto hobbystycznym, ma nauczanie maszynowe? Na to pytanie odpowiedział mi dr Michał Klincewicz z Zakładu Kognitywistyki Uniwersytetu Jagiellońskiego. Najpierw jednak uściślił, czym jest sieć neuronowa.
- Sieć neuronalna lub neuronowa jest taka tylko z nazwy. To tak naprawdę programy, które budują pewne struktury. Nie mają zbyt dużo wspólnego z neuronami – po prostu inspiracją były sieci w ludzkim mózgu, bo badacze kiedyś myśleli, że będzie to działać na tej samej zasadzie. A do czego może być używane? Prawie do wszystkiego – podkreśla.
Dr Klincewicz tłumaczy, że najlepszym przykładem są tutaj tak zwane dyskryminacje. Chodzi o detekcję pewnych szczególnych właściwości lub cech w środowisku naturalnym lub cyfrowym. Na przykład można jej użyć do rozpoznawania twarzy, jak zrobił to Apple. Ale wykorzystuje się je również do wykrywania łodzi podwodnych, wymienia.
- Jeśli masz sonar na pokładzie, to odbicie fal od takiej łodzi ma specyficzną charakterystykę. Kiedyś robili to operatorzy, nasłuchujący tych odgłosów, i potrafili rozpoznać, czy to łódź amerykańska czy rosyjska. Teraz robią to komputery. Wszystko to możliwe dzięki "wytrenowaniu" sieci neuronowej – dodaje.
Czy jednak komputer może nauczyć się czegoś nowego? W pewnych ramach tak, mówi. Jeśli chcemy mieć nową cechę lub element rzeczywistości, który taki system rozpozna, to dzięki dobrze określonym parametrom zrobi to. Ale jeśli chcemy, by system grający w Go czy rozpoznający twarzy, nauczył się samodzielnie grać w szachy lub rozpoznawać owoce, to nie jest możliwe, ostrzega Klincewicz.
Dlaczego? Bo programy są wyspecjalizowane do konkretnych zadań. Uczenie sztucznej inteligencji nowych rzeczy to już całkiem inna gałąź informatyki, jeszcze na poziomie science fiction, ocenia.
- Nie ma możliwości, by robot sam nauczył się wykonywać jakąś czynność. Nie jesteśmy jeszcze na tym etapie i nie ma też potrzeby. Istotniejsze jest tworzenie wysoko wyspecjalizowanych systemów, nie systemów generalnie inteligentnych – konkluduje.