Google

Uczenie maszynowe daje niesamowite efekty. Wydaje się, że to magia!

Marcin Hołowacz
Uczenie maszynowe daje niesamowite efekty. Wydaje się, że to magia!
6

Uczestniczyłem ostatnio w spotkaniu, w trakcie którego Greg Corrado, czyli Principal Scientist, Director of Augmented Intelligence Research z firmy Google, opowiadał o zagadnieniach związanych ze sztuczną inteligencją oraz uczeniem maszynowym. Efekt, który chciałbym uzyskać w tym tekście, to wyraźne rozdzielenie tego co mówił Greg Corrado, między tym co stanowi moje skojarzenia i przemyślenia.

Futurystyczne wizje

Na wstępie główny naukowiec Google z zakresu Machine Learning oraz Artificial Intelligence (dla ułatwienia będę posługiwał się również skrótami „ML” i „AI”) wyjaśnia:

Rzeczy takie jak ML i AI nie są jakimś rodzajem futurystycznych wizji, to jest coś w czego posiadaniu już jesteśmy. To już znajduje się w produktach i usługach, z których korzystają ludzie na całym świecie. I dzieje się to na dwa sposoby. Jednym jest wzięcie czegoś i uczynienie tego znacznie lepszym: dla przykładu może to być coś tak dobrze nam znanego, jak wyszukiwarka Google, która kilka lat temu została znacząco usprawniona, właśnie poprzez wykorzystanie uczenia maszynowego.

Drugim sposobem wykorzystywania uczenia maszynowego jest sytuacja, w której zamiast usprawnić już istniejący produkt czy usługę, uzyskuje się coś zupełnie nowego, tzn. powstaje coś, co wcześniej w ogóle nie było możliwe. Przykładem takiego zastosowania jest dostępna w języku angielskim funkcja Gmail, które polega na tym, że system automatycznie generuje odpowiedź email dla wiadomości, którą otrzymaliśmy. Komponuje jednozdaniową odpowiedź, a człowiek ją zatwierdza jeżeli jest to mniej więcej to, co stanowiłoby jego naturalną odpowiedź. To nie byłoby możliwe bez nauczania maszynowego.

Machine Learning to nie magia

To może się wydawać magią, jednak prawda jest taka, że wystarczy rozpoznawać pewne schematy, dostrzec odpowiedni wzór występujący w danej wiadomości, aby mieć naprawdę spore prawdopodobieństwo tego, że nasza odpowiedź będzie mniej więcej taka, a nie inna. Dla przykładu, jeżeli nasz szef albo współpracownik pisze do nas w sprawie dokumentów, które mieliśmy dla niego przygotować i pyta kiedy w końcu będą, to jest całkiem spora szansa na to, że naszą odpowiedzią będzie coś w stylu: „będziesz je miał jutro z rana na swoim biurku”. Oczywiście nikt nie mówi, że tak musi być, ale… często tak jest. A jeżeli system nauczy się rozpoznawać więcej subtelnych różnic, które mogą wskazywać na konieczność zastosowania trochę innych odpowiedzi, to będzie w tym jeszcze lepszy. My natomiast nie będziemy się mogli nadziwić, jakim cudem automat zazwyczaj pisze dokładnie to co sami byśmy napisali.

Moje przemyślenia o powyższym

Tutaj pora na moje przemyślenia. Zacząłem się zastanawiać, czy czasem nie jest tak, że ujmujemy wartości takim procesom jak ML i podkreślamy, że nie jest to choćby w najmniejszym stopniu przejaw inteligencji, takiej jaka występuje u ludzi (i nie jest, bo to tylko naśladowanie tysięcy przerobionych przykładów, a nie faktyczne myślenie), a jednak nasze zaawansowane myślenie to w sporej mierze… funkcjonowanie według uproszczonych schematów. Niby robimy coś bardzo zaawansowanego, podejmujemy się skomplikowanych interakcji międzyludzkich i funkcjonujemy w społeczeństwie (to nie byle co!), a tak naprawdę w dużej mierze jest to tylko schematyczne reagowanie na określone bodźce. Szef pyta: „kiedy będą papiery?”, a w naszym mózgu z reguły zostaje wciśnięty odpowiedni guziczek, który wyzwala automatyczną, natychmiastową reakcję: „jutro szefie, jutro!”. Tak sobie tylko rozmyślam. Pora wrócić do konkretów omawianych przez Grega Corrdao.

Proste wyjaśnienie na temat różnic między AI i ML

Artificial Intelligence to sztuka oraz nauka podejmowania prób tworzenia maszyn, które sprawiają wrażenie inteligentnych. Nie chodzi tu o tworzenie maszyn, które będą takie jak ludzie. Tutaj chodzi o próby stworzenia maszyn, które będą użyteczne dla ludzi – to bardzo ważne rozróżnienie.

Jest jeszcze nowsza i mniejsza dyscyplina określana jako Machine Learning, polegająca na tworzeniu maszyn, które się uczą. A pomiędzy nimi jest pewien punkt przecięcia, który ostatnimi czasy jest niezwykle ważny. Chodzi to o maszyny, które są inteligentne, ale uczą się bycia inteligentnymi. To najbardziej obiecujące podejście, gwarantujące lepsze efekty od tych starszych.

Dobrym przykładem jest IBM Deep Blue, który w słynnym pojedynku pokonał Kasparova w graniu w szachu. To był przykład systemu, który nie nauczył się tego jak grać w szachy, on został zaprogramowany w taki sposób, żeby grać w szachy. Przeciwieństwem jest np. AlphaGo, które nauczyło się skutecznego grania w Go i pokonało niedawno najlepszego gracza na świcie, Ke Jie.

Robotyka

Do mieszanki warto jeszcze dorzucić robotykę, która skupia się na maszynach wykonujących różne ruchy. Mamy więc maszyny, które umownie są inteligentne, maszyny które się uczą oraz maszyny, które się ruszają. Wielu może powiedzieć, że połączenie tych trzech rzeczy to science fiction, jednak współczesna rzeczywistość mówi nam coś innego: istnieją roboty, które uczą się tego, jak mają się poruszać.

Dobry przykład bardzo przydatnego zastosowania ML przez Google

Powodem spotkania, w którym miałem przyjemność uczestniczyć był oczywiście fakt, że Google prowadzi wiele badań nad uczeniem maszynowym i aktywnie rozwija ten temat. My, zwykli ludzie, mamy dzięki temu sporo usprawnień, z których być może nie do końca zdajemy sobie sprawę. Dobrym przykładem, który osobiście doceniam, jest bardzo dobry filtr antyspamowy. Jak to jest, że Google filtruje większość spamu, który w przeciwnym razie zaśmieciłby naszą skrzynkę email i dosłownie sprawił, że musielibyśmy przekopywać się przez masę „śmieciowych wiadomości” tylko po to, żeby przeczytać tę jedną o którą nam chodziło?

Na początku było klasyczne podejście, wykorzystujące stare dobre AI. Projektujemy zestaw zasad, który działa na zasadzie: „posłuchaj filtrze spamu, jeżeli wiadomość email zawiera taki rodzaj tekstu, wtedy istnieje bardzo wysokie prawdopodobieństwo, że jest to spam.” Jest to całkiem niezłe podejście, ale ma pewną wadę: w momencie kiedy „ci od spamu” podejmą próby przechytrzenia nas, nasze przestarzałe zasady mogą się już nie sprawdzać i filtr nie będzie tak dobry jak powinien.

Na szczęście jest nowe, lepsze podejście. To wciąż oprogramowanie, tyle że działa trochę inaczej. Analizuje historię wiadomości email, ma podane rozróżnienie, że ta wiadomość była niechcianą wiadomością (spam), a ta jest normalną, pożądaną przez użytkownika wiadomością i… uczy się. Co najważniejsze uczy się nieustannie, dzięki czemu nadąża za nadchodzącymi zmianami. Ktoś kto generuje spam i próbuje nowych sztuczek, zmienia to i owo, żeby obejść filtry spamowe. Jednak oprogramowanie cały czas się trochę zmienia, w taki sposób aby osiągać lepsze efekty w przewidywaniu tego co jest spamem, a co nim nie jest.

Magia czy żmudne i nudne powtarzanie przykładów, a później naśladowanie?

Greg Corrado wielokrotnie podkreślał, że to może brzmieć jak magia, czary, coś niesamowitego i nadzwyczajnego. Później natomiast wyjaśniał, że nie ma w tym niczego nadzwyczajnego i jest to po prostu korzystanie z bardzo dużej ilości przykładów, po to żeby dojść do tego, w jaki sposób skutecznie naśladować to co widać na przykładach. Jest to okropnie nudne i żmudne. Tysiące przykładów na zasadzie: ok, czyli to jest spam. To natomiast nie jest spam. A tutaj widzę kolejny przykład spamu, a tutaj z kolei mam następny przykład normalnej wiadomości…

Takie coś jest powtarzane naprawdę, ale to naprawdę wiele razy. Dzięki temu, czyli na zasadzie otrzymanych przykładów, maszyna uczy się tego jak naśladować to co miało miejsce w przykładach. Może to dotyczyć filtrowania spamu, rozpoznawania kotów na zdjęciach (koniec końców to tylko takie, a nie inne schematy tworzone przez piksele), tłumaczenia języków, rozpoznawania mowy, rozpoznawania chorób na zdjęciach pacjentów, wspierania badań w podwodnej eksploracji dna morskiego…

Czy Machine Learning to klucz do wszystkiego?

Przykładów zastosowań Machine Learning jest tak dużo, że zapytałem Grega Corrado czy jego zdaniem uczenie maszynowe jest jak „klucz do wszystkiego”, a jedyną formą iluzorycznego ograniczenia w jakimś zakresie jest brak odpowiedniej ilości przykładów, albo brak odpowiedniej mocy obliczeniowej. Odpowiedź była taka, że ML nie może zostać uznane za klucz do wszystkiego. W jednych rzeczach sprawdzi się naprawdę dobrze, a w innych poniesiemy porażkę nawet po np. 6 bardzo poważnych próbach zastosowania ML. Nie oznacza to, że 7 próba nie okaże się sukcesem, ale też nie mamy takiej gwarancji i być może Machine Learning nigdy nie znajdzie zastosowania w tym określonym zagadnieniu.

Hej, jesteśmy na Google News - Obserwuj to, co ważne w techu