100857925

Page 1


Spis treści

3. Utrzymać się na drodze. Percepcja samochodów autonomicznych

4. Ustępowanie pierwszeństwa na skrzyżowaniach. Mózg samochodu autonomicznego

5. Netflix i konkurs na najlepszy algorytm rekomendacji ....................

6. Zjednoczone zespoły: zwycięzcy Nagrody Netfliksa .........................

7. Jak uczyć komputery, karmiąc je smakołykami ...............................

8. Jak zwyciężać w grach Atari dzięki sieciom

9. Jak sztuczne sieci neuronowe widzą świat ......................................

10. Zaglądając pod maskę głębokich sieci neuronowych .......................

11. Sieci neuronowe, które słyszą, mówią i pamiętają ...........................

12. Rozumienie języka naturalnego (i pytań w grze Jeopardy!)

13. Wydobywanie najlepszej odpowiedzi w grze Jeopardy! .....................

14. Dobra strategia wyszukaną metodą siłową .....................................

15. Partia w go na poziomie eksperckim ..............................................

16. Sztuczna inteligencja czasu rzeczywistego i StarCraft .......................

17. Pięćdziesiąt (lub więcej) lat później ................................................

Utrzymać się na drodze .

Percepcja samochodów autonomicznych

Autonomiczną nawigację traktuj jako zagadnienie z dziedziny oprogramowania. filozofia projektu Stanford Racing Team, 2005

Drugi Grand Challenge

Drugi Grand Challenge odbył się półtora roku po pierwszym, również na pustyni Mojave. Tym razem samochody bezzałogowe startowały w pięciominutowych odstępach, tak aby nie przeszkadzały sobie wzajemnie na trasie przejazdu1. Strategia Red Team po raz kolejny koncentrowała się wokół mapowania trasy i nawigacji. W miesiącu poprzedzającym zawody zespół wysłał na pustynię trzech kierowców, których zadaniem było przeszukanie 2000 mil terenu pod kątem potencjalnych tras, jakie mogły zostać wyznaczone na potrzeby rajdu. Tak samo jak przedtem, zespół złożony z ludzi przestudiował trasę na dwie godziny przed startem, by pomóc komputerowi zaplanować ścieżkę, która następnie została wczytana do pojazdu Humvee2. Wprowadzono również regułę, która miała zapobiec zatrzymaniu się pojazdu na skałach. Jeśli pojazd by utknął – to znaczy gdyby koła obracały się, choć czujnik GPS twierdziłby, że stoi w miejscu – Humvee miał cofnąć się o 10 metrów, wyczyścić wskazania przeszkód i spróbować ponownie3.

Największe wyzwanie na trasie stanowił Beer Bottle Pass, 1,5-milowa nieutwardzona droga ze stromymi skałami po jednej stronie i 30-metrowym uskokiem po drugiej4. Uczestnicy zawodów gromadzili się wokół ekranu

z transmisją wideo z przesmyku, by sprawdzić, czy ich samochody temu podołały5. Humvee autorstwa Red Team poradził sobie całkiem nieźle, choć podczas przejazdu nieco się ocierał. W istocie Humvee przemierzył z powodzeniem cały dystans, czyli 132 mile – dwanaście razy dłuższy dystans niż podczas pierwszych zawodów6. Mimo to jednak nie wygrał.

Zwycięzcą rajdu okazał się Stanley, samochód zbudowany przez zespół Stanford Racing Team, który startował w zawodach po raz pierwszy. Stanley jechał tak szybko, że dwukrotnie należało go zatrzymać, by dać więcej czasu pojazdowi jadącemu przed nim7. Ostatecznie jednak organizatorzy zawodów zatrzymali samochód jadący przez Stanleyem, by utorować mu drogę. Ostatecznie Stanley ukończył wyścig 10 minut szybciej niż Humvee autorstwa Red Team8.

Na czele zespołu Stanford Racing Team stał Sebastian Thrun, najmłodszy w historii szef stanfordzkiego laboratorium sztucznej inteligencji. Sebastian również wywodził się z Carnegie Mellon, gdzie kilka lat wcześniej sprawował funkcję młodszego pracownika naukowego w laboratorium robotyki. Nigdy jeszcze nie skonstruował żadnego samochodu autonomicznego, ale Grand Challenge go do tego zainspirował. Poznawszy wyniki wyścigu – tej pustynnej porażki – zadał sobie pytanie: „Co moglibyśmy zrobić lepiej?”9. Dzięki pomocy Volkswagena – dwóm touaregom tej marki oraz wsparciu będącego własnością firmy Electronics Research Laboratory – od inspiracji przeszedł do czynu10. Jak ujął to w osobistej relacji z wyścigu, zasoby ludzkie potrzebne do zbudowania Stanleya zgromadził, organizując seminarium, podczas którego powstał prototyp11. Nie były to zwykłe zajęcia: nie wymagało się podręczników, nie istniał syllabus ani też nie zadawano lektur12. Dwudziestka uczestników kursu na potrzeby zajęć przeczytała zaledwie dwa teksty, dzięki czemu nie była przywiązana do żadnych konkretnych rozwiązań13. W ciągu ośmiu krótkich tygodni zbudowano prototyp potrafiący przejechać dłuższy dystans niż Humvee (choć w wolniejszym tempie)14.

Co przesądziło o sukcesie Stanleya w zawodach? Zespoły biorące udział w poprzednim wyścigu zbyt mało uwagi poświęciły na takie kwestie jak wykrywanie przeszkód15. Stanford Racing Team uznał, że przykładanie tak dużej wagi do mapowania i nawigacji kosztem odbierania bodźców z otoczenia jest błędem. Mimo że konkurenci Stanleya, zespół Red Team, przeczesali 2000 mil pustynnych dróg przed drugim Grand Challenge, zbadany teren stanowił zaledwie 2 procent faktycznej trasy przejazdu16.

Stanford Racing Team – zdając sobie sprawę, że nawet potężny Humvee może zostać zatrzymany przez skały, a także wiedząc od DARPA, że drogę da radę przemierzyć zwykły pickup – przyjął odmienną filozofię projektu wyrażającą się we frazie: „Autonomiczną nawigację traktuj jako zagadnienie z dziedziny oprogramowania”17. Po ukończeniu zajęć, podczas których studenci

się na drodze. Percepcja samochodów autonomicznych

zaprojektowali pierwszą wersję maszyny, Sebastian wraz z mniejszą już grupą osób (złożoną z zaledwie garstki studentów z zajęć oraz innych badaczy) wyrzucił do kosza większość kodu i przepisał go z większą starannością, stawiając wysoką poprzeczkę oprogramowaniu, w które miał zostać wyposażony pojazd18.

Jednak zespół nie zamierzał polegać wyłącznie na oprogramowaniu, projekt miał bowiem opierać się również na uczeniu maszynowym, które rozwiązałoby problem kierowania pojazdem.

Uczenie maszynowe w samochodach autonomicznych

Stanford Racing Team nie był pierwszą grupą badawczą, która wykorzystała uczenie maszynowe w projektowaniu samochodów autonomicznych. Zagadnienie to poddawano analizie w kontekście pojazdów bezzałogowych przynajmniej od lat 80. XX wieku19. Był jednak jednym z pierwszych zespołów zajmujących się samochodami autonomicznymi, który tak bardzo postawił na uczenie maszynowe i który wykorzystał jego rolę w tej dziedzinie prawie dziesięć lat przed tym, gdy stało się ono modnym hasłem pojawiającym się w mediach głównego nurtu. W opisie samochodu sporządzonym po wyścigu zespół Sebastiana stwierdził:

O solidności i precyzyjności Stanleya przesądził wszechstronny użytek uczyniony z uczenia maszynowego, zarówno przed wyścigiem, jak i po nim. Uważamy, że technologie te, połączone ze szczegółowym testowaniem samochodu, jakie miało miejsce, przyczyniły się znacząco do sukcesu odniesionego w rajdzie przez Stanleya20.

Kiedy Sebastian i jego zespół przystępowali do pracy nad konstruowaniem Stanleya, mieli przed sobą ogromne wyzwanie. Musieli obmyślić sposób, w jaki ich automat będzie postrzegał świat i na niego reagował: Stanley nie mógł pozwolić sobie nawet na sekundowe opóźnienia w trakcie wyszukiwania nowej ścieżki; musiał podejmować decyzje płynnie wraz z przekształcaniem się jego modelu otoczenia. Zespół rozważył to zagadnienie, tak jak ekipa architektów rozważa zaprojektowanie nowego budynku. Członkowie zespołu musieli wymyślić dla Stanleya określoną architekturę.

Architektura Stanleya

Architektura, na jaką się zdecydowali, została podzielona na trzy osobne segmenty, które przedstawia ilustracja 3.1. Lewy segment architektury to warstwa

Jeśli w przypadku dostosowywania klasyfikatora wykorzystywalibyśmy uczenie maszynowe, wagę każdej cechy oraz próg określilibyśmy na podstawie danych. Zgromadzilibyśmy je, prosząc dzieci o przygotowanie jakichś dań i odnotowując, które najbardziej im smakowały. Następnie wykorzystalibyśmy standardowy wzór statystyczny do określenia wag konkretnych cech na podstawie zebranych danych. Wzór ten jest czytelnikom zapewne znany ze szkoły średniej (choć został natychmiast wymazany z pamięci), z lekcji, na której uczono, w jaki sposób na kartce papieru poprowadzić linię przez zbiór punktów (x, y). Tutaj wykorzystujemy ten sam wzór, z tą tylko różnicą, że każdej współrzędnej y przypisana jest więcej niż jedna współrzędna x. Kiedy już na podstawie garstki przepisów – dajmy na to, że 100 z 15 tysięcy – dopasujemy wagi, możemy za pomocą komputera uruchomić klasyfikator, który zajmie się 14 900 przepisami i ustali, jaki z nich się nadaje, a jaki nie. Możemy wybrać 200 najlepszych przepisów ze zbioru 15 000 na podstawie tego, co ustalił klasyfikator, wypróbować je, by upewnić się, że się nadają, i zachować w publikacji tylko te najlepsze, a wtedy wszystko będzie gotowe.

Dysponując już umiejętnością dostosowywania klasyfikatora, wróćmy teraz do Wielkiej Nagrody Netfliksa i sprawdźmy, jak za jego pomocą przebiega proces rekomendacji filmów.

Cele konkursu

Jakimi kryteriami powinien kierować się Netflix, rekomendując filmy klientom? Jakie cele powinny mu przyświecać? Takie pytania padły w artykule opublikowanym przez Clive’a Thompsona w „New York Timesie” w roku 2008, a więc wtedy, gdy konkurs właśnie trwał12. Czy Netflix – pytał autor – świadcząc usługę rekomendacji filmów, powinien ograniczyć się do „bezpiecznych wyborów”, filmów, które z pewnością polubimy, choć nie sprawią, że opuścimy swoją strefę komfortu? A może powinien odegrać rolę ekscentrycznego sprzedawcy ze sklepu z filmami, polecającego filmy, które być może pokochamy miłością bezgraniczną, ale też takie, które uznamy za niewypały?13

W tradycyjnych wypożyczalniach filmowych tamtego czasu większość wypożyczanych tytułów to były filmy nowe i popularne; wypożyczalnie te mogły bazować na tej wąskiej selekcji filmów, by rekomendowanie filmów było łatwiejsze. Z Netfliksem sprawa przedstawiała się inaczej: 70% wypożyczonych filmów stanowiły tytuły niezależne i starsze. Biorąc pod uwagę szeroki katalog filmów oraz duży odstęp czasu dzielący jedno wypożyczenie od drugiego, Netflix polegał na Cinematch, własnym systemie rekomendacji filmów, za pomocą którego polecał pozycje użytkownikom. Udoskonalanie Cinematch miało zasadniczy

na najlepszy algorytm re komendacji

wpływ na wynik finansowy firmy, jako że groziła jej utrata tych klientów, którzy obejrzeli zbyt mało filmów Netfliksa lub też nie spodobał im się film, na który czekali kilka dni: widzowie ci mogli w każdej chwili zrezygnować z subskrypcji14. Tak więc programiści Netfliksa wciąż zajmowali się udoskonalaniem algorytmu Cinematch. Nie mogąc już posunąć się w pracach do przodu, podjęli decyzję o ogłoszeniu Wielkiej Nagrody Netfliksa, w ramach której zespół zdolny pobić ich własny algorytm o 10 procent miał otrzymać nagrodę w wysokości miliona dolarów. Jak oznajmił dyrektor Netfliksa Reed Hastings, wypłacenie nagrody nie stanowiło problemu dla firmy: korzyści finansowe płynące z ulepszenia rekomendacji filmów miały potencjał szybkiego zrekompensowania kosztów poniesionych na jej ufundowanie15. Nawet niewielkie poprawki wprowadzone do systemu rekomendacji mogły przynieść duże zyski, ponieważ mnożyły się przez setki milionów rekomendacji udzielanych każdego dnia16. Na wypadek, gdyby żadnemu zespołowi nie udało się osiągnąć celu 10 procent, Netflix przygotował Nagrodę Postępu: zgodnie z jej zasadami, jeśli uczestnicy dokonają wystarczających postępów w ciągu roku, najlepszy zespół otrzyma 50 tysięcy dolarów. Netflix obwarował otrzymanie tych nagród tylko jednym warunkiem: zwycięzca musiał opublikować szczegółowy opis stworzonego algorytmu rekomendacji.

Netflix ułatwił zadanie uczestnikom przez ustanowienie jasnego, obiektywnego celu ich dążeń. Uczestnicy mieli za zadanie dokonać prognozy, ile gwiazdek zostało przyznanych przez określone grono klientów określonym filmom w określonym czasie. Netflix oceniał zespoły, obliczając średnią kwadratową różnic oceny prognozowanej i oceny rzeczywistej wystawionej przez klientów i zawartej w tajnej bazie danych, której uczestnicy mieli nigdy nie poznać17.

Za każdym razem, gdy jakiś zespół przedstawił Netfliksowi swoje ustalenia, firma oceniała pracę zespołu na podstawie tajnej bazy danych, po czym publikowała jego nowy wynik w rankingu cieszącym się zainteresowaniem zarówno innych zespołów, jak i dziennikarzy18. Technicznie rzecz biorąc, dany zespół mógł „podpatrzeć” oceny klientów przez przedstawianie Netfliksowi wielu wyników, które miały zostać poddane analizie na podstawie tajnej bazy danych. Netflix jednak był na tyle przebiegły, że trzymał w zanadrzu inną tajną bazę danych, której uczestnicy nigdy nie mieli zobaczyć. Ta podwójna tajna baza danych miała zostać użyta jedynie na zakończenie konkursu, aby ocenić wyniki najlepszych kandydatów do nagrody.

Potężna macierz ocen

Zważywszy że konkurs ogłoszony przez Netfliksa koncentrował się wyłącznie wokół ocen filmów wystawionych przez klientów, przydatne będzie rozważenie

nagrody w perspektywie gigantycznej macierzy ocen. Ilustracja 5.2 przedstawia niewielki wycinek tej macierzy (ze zmyślonymi liczbami).

Użytkownik480185

Terminator 2 UżytkownikUżytkownik21Użytkownik3Użytkownik4Użytkownik5 Użytkownik480186Użytkownik480187Użytkownik480188Użytkownik480189

Skrawki

Słodkie zmartwienia

Napoleon Wybuchowiec

Labirynt Fauna

Tajemnica spalonego domu X-Men

Edward Nożycoręki

Ilustracja 5.2. Przykłady ocen, które klienci Netfliksa mogli wystawić wybranym filmom. Netflix dostarczył badaczom część ocen w postaci macierzy (na ilustracji wyrażone są liczbowo). Zawodnicy musieli dokonać prognoz brakujących rekomendacji (na ilustracji oznaczone są pytajnikami)

Macierz była ogromna: zawierała oceny 177 700 różnych filmów wystawione przez 480 189 różnych osób19. Netflix przedstawił uczestnikom niektóre z tych ocen i poprosił ich, by dokonali prognoz dotyczących ocen brakujących (znaki zapytania w kratkach). Mimo swych rozmiarów tylko 1 procent macierzy zawierał jakiekolwiek liczby: rzecz jasna, większość klientów Netfliksa nie wystawiła ocen większości obejrzanych filmów.

Od czego więc powinni byli zacząć uczestnicy?

W początkowej fazie zawodów większość zespołów z czołówki przyjęła podobne podejścia w analizie ocen. Członkowie zespołu BellKor – naukowcy z AT&T oraz Yahoo! – zwracali uwagę na wartość płynącą z rozpoczęcia analizy od prostego modelu bazowego tłumaczącego podstawowe trendy widoczne w macierzy ocen. Model bazowy zaproponowany przez BellKor rozpoczynał pracę od dwóch elementów. Pierwszy odnosił się jedynie do filmów; możemy nazwać go efektem E.T.20. Efekt E.T. mierzył popularność danego filmu bez względu na to, kto poddał go ocenie. W bazie danych dostarczonej przez

Arcade Learning

Environment

Odbieranie

bodźców

Punktacja

Piksele

Aktuatory

Sterowanie

joystickiem

PercepcjaPlanowanie

Wykrywanie obiektów i ich modelowanie

Konwolucyjna sieć neuronowa

Pętla działań

Selektor działań

Ilustracja 8.11. Architektura agenta do gier Atari

Podążanie w głąb sieci neuronowych

Pod wieloma względami Atari było idealną platformą, za pomocą której DeepMind mógł zaprezentować mocne strony sieci neuronowych. Gry Atari miały to do siebie, że dostarczały agentowi jasnej, obiektywnej funkcji, liczbę zdobytych punktów, a jednocześnie oferowały nieskończone ilości danych do trenowania sieci. DeepMind dzięki stworzeniu Arcade Learning Environment przez badaczy z University of Alberta mógł skoncentrować się wyłącznie na zaprojektowaniu agenta potrafiącego grać w tyle różnych gier, na ile pozwalało tylko środowisko do nauki. Jak zobaczymy w rozdziale dziewiątym, ilość danych to jeden z najważniejszych czynników, od których zależy trenowanie złożonych sieci neuronowych. Dowiedzieliśmy się, co dzieje się – przynajmniej na powierzchni – z siecią neuronową, gdy ta gra w gry Atari. Wiele pytań pozostało jednak bez odpowiedzi. Na przykład: kiedy agentowi do gier Atari nie szło dobrze? Choć agent, bez względu na to, w jaką grał grę, opierał się na tej samej architekturze sieci neuronowej – trzech warstwach konwolucyjnych, po których następowały dwie warstwy w pełni połączone – przyswajał sobie różne wagi sieci w zależności od rodzaju gry. Po odbyciu treningu w dwadzieścia dziewięć z tych gier grał lepiej niż zawodowi gracze.

W porównaniu z człowiekiem sieć neuronowa wypadła najlepiej w grze Atari pod tytułem Video Pinball. W pinballu najważniejsze zadanie agenta sprowadza się do niewielkiego elementu gry: miejsca, gdzie łapka zetknie się z kulką. Sieć

w

dzięki si eciom ne uronowym

musi po prostu reagować, z refleksem i precyzją, w momencie gdy kulka zmierza w kierunku dołu ekranu. Gra pozwala także graczowi „przechylić” automat do pinballu w jakąś ze stron, tak aby kulka przemieściła się w bardziej dogodne miejsce. Gdy kulka dociera na dół ekranu, agent może wykorzystać czynność przechylenia, by idealnie ją ulokować. Ponieważ sieć potrafiła zdobywać wiedzę na temat ruchu oraz reagować z precyzją właściwą maszynie, w ciągu jednej rozgrywki zdobywała średnio 20 razy więcej punktów niż zawodowi gracze3.

W grze Montezuma’s Revenge agentowi wiodło się fatalnie4. Zadaniem gracza w tej grze jest eksplorowanie tworzących labirynt podziemi azteckiej piramidy (pomyślmy o Super Mario Brothers z drabinami). Gracz przemieszcza się z komnaty do komnaty, wystrzegając się wrogów i poszukując klejnotów. Drugą grą, która sprawiła agentowi najwięcej trudności, była Private Eye, w której misja gracza polega na odnajdywaniu podpowiedzi i różnych przedmiotów rozsianych po mieście.

Obie wspomniane gry polegały na eksploracji, która przez całą rozgrywkę wymagała od gracza świadomości kontekstu. Gracz musiał kontrolować, co zrobił, a czego nie zrobił, dokąd dotarł i dokąd należy pójść później. Agent do gier Atari nie potrafił tego dokonać, ponieważ nie posiadał pamięci. Nie istniał żaden sposób kontrolowania, które komnaty odwiedził, a których nie, co zrobił, a czego nie zrobił.

Istniał jeszcze jeden powód, powiązany z poprzednim, dlaczego agent nie radził sobie zbyt dobrze z tymi grami. Jak pamiętamy, na początku agent trenował samodzielnie, wybierając całkowicie losowe działania. Podejmując losowe działania, nie był w stanie posunąć się do przodu w grach opierających się na eksploracji. W Montezuma’s Revenge agent po prostu wchodził do komnaty i zaczynał po niej krążyć, i rzadko kiedy – jeśli w ogóle – przechodził przez pierwsze pomieszczenie do następnego. Jako że nie był w stanie czynić postępów w eksploracji, nie mógł też zdobyć punktów umożliwiających mu nauczenie się czegoś pożytecznego. Później poznamy kilka metod, w ramach których agent może rejestrować stan gry. Niemniej już teraz muszę ostrzec, że nie otrzymamy wszystkich odpowiedzi: to wciąż problem do końca nierozwiązany i zarazem przedmiot aktywnych badań naukowców zajmujących się uczeniem przez wzmacnianie.

Jednym z najbardziej udanych elementów agenta Atari była jego zdolność do postrzegania świata za pomocą konwolucyjnych sieci neuronowych. Głębokie sieci konwolucyjne, choć stanowią osiągnięcie stosunkowo młode, w kilku ostatnich latach okrzepły do tego stopnia, że komputery potrafią już klasyfikować obiekty na fotografiach lepiej niż ludzie. W następnych rozdziałach zajrzymy pod maskę wybranych sieci neuronowych, by dowiedzieć się, jak im się to udaje.

Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.
100857925 by WN PWN - Issuu