Przejdź do treści

O co w tym chodzi: pytania i odpowiedzi na temat systemów uczących się

Wielu z nas kojarzy systemy uczące się z czymś futurystycznym. Ostatnio jednak coraz częściej pojawiają się one w naszym życiu – gdy komputer Google świetnie sobie radzi w grze w Go lub gdy funkcja Inbox by Gmail tworzy automatyczne odpowiedzi. To wszystko jest fascynujące, jednak niektórzy z nas wciąż zastanawiają się, czym dokładnie są systemy uczące się. Dlaczego jest to tak ważne? Dlaczego rozpoznanie psa na zdjęciu nie jest tak proste, jak się wydaje? Wraz z Mayą Guptą, która prowadzi w Google badania naukowe nad systemami uczącymi się, postanowiliśmy wyjaśnić, o co w tym wszystkim chodzi.

Zacznijmy od podstaw. Czym dokładnie są systemy uczące się?

Systemy uczące się na podstawie grupy przykładów ustalają występujące w nich wzorce, a następnie według tych wzorców przewidują cechy kolejnych przykładów.

Weźmy na przykład rekomendacje filmów. Powiedzmy, że każdy z miliarda ludzi podaje nam tytuł swojego ulubionego filmu. To sporo przykładów, które komputer może wykorzystać, by dowiedzieć się, co wspólnego mają ze sobą popularne filmy. Następnie komputer opracowuje wzorce, które wyjaśniają te przykłady. Takim wzorcem może być stwierdzenie „Osoby, które lubią horrory, zwykle nie przepadają za romansami, ale podobają im się filmy, w których grają ci sami aktorzy”. Jeśli więc poinformujesz komputer, że lubisz „Lśnienie” z Jackiem Nicholsonem, może on wysnuć trafne przypuszczenie o tym, czy zechcesz obejrzeć „Lepiej późno niż później” z tym aktorem oraz jakie inne filmy zarekomendować Ci w YouTube.

Rozumiem. Przynajmniej w pewnym stopniu. Jak to jednak działa w praktyce?

W praktyce wzorce, których uczy się komputer, mogą być bardzo skomplikowane i trudne do opisania słowami. Weźmy Zdjęcia Google, w których możesz wyszukiwać fotografie psów. Jak Google to robi? Najpierw tworzymy grupę przykładowych zdjęć z etykietą „pies” (oczywiście dzięki internetowi). Tworzymy też grupę zdjęć z etykietą „kot” oraz grupy zdjęć z milionem innych etykiet. Wszystkich nie będę tu wymieniać.

Następnie komputer szuka wzorców tworzonych przez kolorowe piksele, by odgadnąć, czy obraz przedstawia kota, psa czy coś innego. Najpierw losowo zgaduje, jakie wzorce mogą być skuteczne przy rozpoznawaniu psów. Następnie analizuje przykładowe zdjęcie psa i sprawdza, czy bieżące wzorce dają właściwy wynik. Jeśli błędnie uzna psa za kota, delikatnie dostosowuje używane wzorce. Następnie analizuje zdjęcie kota i ponownie dostosowuje wzorce, by uzyskać prawidłowy wynik. Powtarza proces około miliarda razy – sprawdza przykład, a jeśli wynik jest błędny, dostosowuje używane wzorce, by następnym razem uzyskać lepszy rezultat.

Na koniec wzorce z wyuczonego modelu, takiego jak głęboka sieć neuronowa, pozwalają (w większości przypadków) prawidłowo rozpoznawać psy, koty, strażaków i wiele innych rzeczy.

To brzmi dość futurystycznie. Jakie inne usługi Google korzystają obecnie z systemów uczących się?

Jest sporo nowych rzeczy, które Google robi za pomocą systemów uczących się. Na przykład Tłumacz Google potrafi wczytać zdjęcie znaku drogowego czy menu w jakimś języku, rozpoznać ten język i widoczne słowa, a następnie automatycznie przetłumaczyć je w czasie rzeczywistym na Twój język.

Możesz też powiedzieć praktycznie dowolną rzecz do Tłumacza, a uruchomi się rozpoznawanie mowy z systemem uczącym się. Rozpoznawanie mowy działa też w kilku innych usługach, na przykład analizuje zapytania głosowe w aplikacji Google i ułatwia wyszukiwanie filmów w YouTube.

Wystarczy, że nakierujesz swój aparat na znak, menu czy coś podobnego, a od razu uzyskasz tłumaczenie. Nie potrzebujesz nawet połączenia z internetem. * Aplikacja Word Lens jest dostępna w języku angielskim i jeszcze ponad dwudziestu innych językach.
Rozmawiaj z osobami, które posługują się innym językiem.
Łatwo pisz odręcznie słowa i znaki, których nie ma na klawiaturze.
Wpisuj słowa, które chcesz przetłumaczyć.

Dlaczego Google tak poważnie traktuje teraz systemy uczące się?

Systemy uczące się nie są czymś nowym, swoje korzenie mają w XVIII-wiecznych statystykach. Ostatnio zyskały na znaczeniu z trzech powodów.

Po pierwsze potrzebujemy ogromnej liczby przykładów, by uczyć komputery, jak generować trafne odpowiedzi, także w przypadku zadań, które dla ludzi są łatwe (jak znalezienie psa na zdjęciu). Dzięki całej aktywności w internecie mamy teraz bogate źródło przykładów, na których mogą uczyć się komputery. Na stronach internetowych na całym świecie są obecnie miliony zdjęć psów oznaczonych etykietami „pies” w każdym języku.

Duża liczba przykładów to nie wszystko. Nie wystarczy pokazać wielu zdjęć psów do kamery internetowej i oczekiwać, że komputer się czegoś nauczy – potrzebny jest program uczący. Ostatnio naukowcy zajmujący się tą dziedziną (i Google) dokonali kilku fascynujących przełomów, osiągając nowe poziomy złożoności i wydajności programów do systemów uczących się.

Nasze programy nie są jednak doskonałe, a komputery wciąż są dość głupie, więc musimy wielokrotnie analizować liczne przykłady i regulować wiele cyfrowych przełączników, by uzyskać właściwy wynik. To wszystko wymaga ogromnej mocy obliczeniowej i złożonego przetwarzania równoległego. Postępy w technologii oprogramowania i sprzętu pozwoliły spełnić ten wymóg.

Czego komputery dzisiaj nie potrafią, a będą mogły robić wkrótce dzięki systemom uczącym się?

Jeszcze niedawno rozpoznawanie mowy z trudem radziło sobie zaledwie z dziesięcioma różnymi cyframi, gdy podawało się numer karty kredytowej przez telefon. W ciągu ostatnich pięciu lat ta technologia znacznie się rozwinęła dzięki zaawansowanym systemom uczącym się. Teraz umożliwia wyszukiwanie głosowe w Google i szybko staje się coraz lepsza.

Systemy uczące się sprawią, że wszyscy będziemy wyglądać lepiej. Nie wiem, jak Ty, ale ja nie cierpię przymierzać ubrań. Znajduję pasujące jeansy i kupuję pięć par. Na podstawie marek, które nam odpowiadają, systemy uczące się mogą zarekomendować produkty, które też powinny nam przypaść do gustu. Ten problem leży nieco poza obszarem zainteresowania Google, ale mam szczerą nadzieję, że ktoś pracuje nad jego rozwiązaniem.

Jak systemy uczące się będą wyglądać za dziesięć lat?

Wszyscy zajmujący się tą dziedziną pracują nad przyspieszeniem uczenia i zmniejszeniem liczby przykładów. Jednym ze sposobów (nad którym szczególnie intensywnie pracuje Google) jest wpojenie komputerom więcej zdrowego rozsądku, co nazywamy regularyzacją.

Co dla komputera oznacza zdrowy rozsądek? Ogólnie oznacza on między innymi to, że gdy przykład zmieni się w niewielkim stopniu, komputer nie powinien zupełnie zmieniać swojego zdania. Na przykład pies w kowbojskim kapeluszu na zdjęciu to wciąż pies.

Egzekwujemy tego rodzaju zdrowy rozsądek w programach do systemów uczących się, konfigurując je tak, by nie zwracały uwagi na nieistotne zmiany, takie jak kowbojski kapelusz. Łatwo to powiedzieć, ale jeśli zrobisz to źle, komputer nie będzie poświęcał dość uwagi ważnym zmianom. Wciąż zastanawiamy się, jak osiągnąć tu równowagę.

Co najbardziej pasjonuje Cię w systemach uczących się? Co motywuje Cię do pracy nad nimi?

Dorastałam w Seattle, gdzie sporo uczyliśmy się o odkrywcach zachodnich ziem Ameryki, na przykład o Lewisie i Clarku. W systemach uczących się jest ten sam duch odkrywania – widzimy rzeczy po raz pierwszy i próbujemy wyznaczyć ścieżkę ku wspaniałej przyszłości.

Jakim sloganem możesz opisać uczenie maszynowe w Google?

Jeśli nie uda się od razu, spróbuj jeszcze miliard razy.

Powrót do góry