RANKING TEKSTÓW 2019. MIEJSCE 9.* Dzisiejsze sieci neuronowe trenujemy, a potem wstawiamy w pewne środowisko, gdzie nie mają już możliwości uczenia się. My chcielibyśmy stworzyć agentów, którzy uczą się w trakcie swojego życia i adaptują się do nowej sytuacji. To nieodkryte jeszcze obszary – mówi Janusz Marecki w rozmowie z Moniką Redzisz
*Ranking 2019.
Najchętniej czytane teksty na sztucznainteligencja.org.pl
Święta, święta, Nowy Rok… czas sprzyjający podsumowaniom. My też po ponad pół roku od premiery portalu postanowiliśmy spojrzeć w przeszłość i sprawdzić, które teksty na sztucznainteligencja.org.pl czytaliście najczęściej.
Codziennie do 1 stycznia 2020 r. z naszego coraz bardziej przepastnego archiwum (liczy już ponad 800 pozycji) wyciągamy na witrynę teksty z listy dziesięciu najbardziej poczytnych artykułów.
Dla nas to nie tylko podróż sentymentalna, ale i okazja do namysłu, co zrobić, żeby portal był coraz ciekawszy i żeby dostarczać Wam coraz lepsze teksty.
Czego Wam i sobie życzymy!
Redakcja
Naszą listę 2019 znajdziecie na końcu tekstu
Monika Redzisz: Na początku wyjaśnijmy pojęcia. Czym jest system jednoagentowy, a czym – wieloagentowy?
Janusz Marecki*: System jednoagentowy to jeden mózg, który sam sobie myśli i sam rozwiązuje swoje problemy. Człowiek na przykład jest systemem jednoagentowym, ponieważ ma jeden mózg, który centralnie steruje całym organizmem. W systemie wieloagentowym jest kilku agentów – każdy sterowany innym mózgiem, na przykład inną siecią neuronową. Dobrym przykładem jest mrowisko. Wiedza jest tu rozproszona, a decyzji nie podejmuje jednostka centralna. Agenci mogą się ze sobą komunikować lub nie. My na przykład jesteśmy teraz tutaj, podczas tego spotkania, systemem dwuagentowym: dwójką agentów, którzy próbują się ze sobą porozumieć.
Skoro człowiek to system jednoagentowy, to społeczeństwo będzie przykładem systemu wieloagentowego.
Tak. Ale jeśli mielibyśmy system, w którym jest dziesięciu agentów, a każdy z nich miał wgląd w mózg innych i mógł je zdalnie kontrolować, to to będzie tak naprawdę jeden agent, który wszystko widzi, a więc system jednoagentowy. System wieloagentowy powstaje dopiero wtedy, kiedy mamy rozproszoną inteligencję: wiele mózgów, które nie mają w siebie wglądu.
W Polsce mamy 38 milionów jednostek, które – przynajmniej na razie – jakoś się ze sobą komunikują, ale nie wiedzą o sobie wszystkiego. Gdybyśmy mieli w kraju dyktaturę, która niczym Wielki Brat miała wgląd w nasze mózgi i mogła nami sterować, to mielibyśmy do czynienia z systemem jednoagentowym.
Czym w kontekście tego, nad czym pan pracuje w DeepMind, jest tradycyjna sztuczna inteligencja?
Sztuczne sieci neuronowe od początku były projektowane jako systemy jednoagentowe. SI wywodzi się z badań operacyjnych, w których chodziło o rozwiązanie jakiegoś problemu. Tworzono algorytmy, które rozwiązywały konkretne zadania, tak jak stworzony w DeepMind algorytm, który został mistrzem świata w go.
Po co mnożyć agentów, skoro mamy coraz doskonalsze algorytmy, które rozwiązują coraz trudniejsze zadania. Po co wprowadzać na scenę drugiego, trzeciego, czwartego agenta?
No właśnie. Centralizacja pozwala znaleźć optymalne rozwiązania dla całej grupy jednostek… Poza tym to łatwiejsze – podobnie jak dyktatura jest logistycznie łatwiejszą formą władzy niż demokracja. A jednak są dwa fundamentalne problemy centralnego sterowania. Po pierwsze – nie ma prywatności. Centralizacja wymaga, żebyśmy przesłali wszystkie informacje o sobie jednostce centralnej. A brak prywatności wpływa na inne rzeczy. Na przykład spada kreatywność, gdyż bezpieczniej jest podporządkować się ideom głównego nurtu.
Ogólna sztuczna inteligencja? To się stanie za około 10 lat. Już wiemy, czego nam brakuje
Po co prywatność algorytmom?
Kiedy algorytmy nie mają prywatności, to mogą wyczuć, że robienie czegoś na przekór jednostce centralnej może się im nie opłacać. Przypuśćmy, że zbudujemy system ogólnej sztucznej inteligencji, złożony z dziesięciu agentów, a każdy z nich będzie tak inteligentny jak człowiek. Algorytmy te, wiedząc, że system wie o nich wszystko, nie zrobią niczego po swojemu – pójdą głównym nurtem.
A drugi problem?
Rozwiązania scentralizowane zazwyczaj są bardzo kruche. Wystarczy wyeliminować centrum i wszystko padnie. Zdecentralizowany system jest bardziej odporny; nawet jak jeden agent zostanie zniszczony, to inne przetrwają. Łatwiej im się dostosować do zmieniającej się sytuacji – nie muszą przesyłać danych do centrum ani wykonywać niczyich rozkazów. Dlatego właśnie w DeepMind próbujemy budować systemy wieloagentowe.
Jak to konkretnie wygląda?
Tworzymy środowiska, do których wprowadzamy kilku agentów. Każemy im na przykład zbierać wirtualne jabłka. Agenci starają się zebrać jak największą liczbę jabłek. A my analizujemy, co powoduje, że ze sobą współpracują, a co, że zaczynają się zwalczać. Algorytmy mają wprogramowany egoizm. Zastanawiamy się, co zrobić, żeby stały się „dobrymi obywatelami”. Jeśli pozwolimy agentom robić, co chcą, może się okazać, że jeden spryciarz zabierze wszystko dla siebie, przez co ostatecznie zniszczy cały plon. Ucierpi cała społeczność. To mechanizm znany jako „tragedia wspólnego pastwiska” – sytuacja, w której zbyt duży indywidualny zysk prowadzi do tragedii całej wspólnoty.
To tak jak ze szczepieniami: indywidualni agenci, którzy mają dzieci, przypuszczają, że większe jest prawdopodobieństwo tego, że ich dzieci będą cierpieć na skutki uboczne szczepionki, niż tego, że zachorują na groźną chorobę – i nie szczepią ich. Jeśli każdy we wspólnocie tak postąpi, to prawdopodobieństwo wystąpienia tej choroby skacze w górę o kilka rzędów wielkości.
Czy właśnie tak się zachowują agenci, kiedy nie ingerujecie w ich sytuację?
Tak. Agenci się nawzajem niszczą. Jedni wygrywają, inni zostają z niczym. Panuje anarchia; w anarchii niektórym jednostkom żyje się dobrze, ale standard życia przeciętnej jednostki w całej społeczności spada.
Nawet jeśli zasobów było w bród? Jeśli starczyłoby ich dla wszystkich?!
Robiliśmy takie symulacje, w których agenci zbierali jabłka, lecz mieli też do dyspozycji lasery, które eliminowały przeciwników na jakiś czas z gry. Otóż póki zasobów było dużo, agenci zbierali sobie jabłka i specjalnie się nie kłócili. Im bardziej jabłek ubywało, tym częściej w użyciu był wirtualny laser.
Rozwiązania scentralizowane zazwyczaj są bardzo kruche. Wystarczy wyeliminować centrum i wszystko padnie. Zdecentralizowany system jest bardziej odporny. Dlatego właśnie w DeepMind próbujemy budować systemy wieloagentowe
Projektując systemy wieloagentowe, nie możemy pominąć tej kwestii: co będzie, jak agentów będzie dużo, a zasoby – ograniczone.
Niestety, im agent był inteligentniejszy, tym sprawniej eliminował przeciwników. Agent o największym mózgu eliminował innych nawet wtedy, kiedy zasobów było dużo.
Jak zbudować system, który nie pozwoli na to, by silniejsi niszczyli słabszych?
Trzeba wprowadzić odpowiednie reguły lub mechanizmy prawne. Szukamy na przykład mechanizmów, które powodują, że agenci będą mniej egoistyczni. Można na przykład nagradzać agenta za te zachowania, które są dobre dla całej wspólnoty. Eksperymentujemy z różnymi nagrodami – między innymi z czymś w rodzaju wirtualnej reputacji. Jeśli jeden z agentów zagarnia dla siebie wszystkie zasoby – jego reputacja idzie w dół. Jedno jest pewne, jeśli nie zaszczepimy im moralności, pierwszy zgarnie wszystko. Jak w życiu.
Ale przecież to systemy inteligentne, uczące się. Jeśli agenci sami zjedzą wszystkie jabłka i wyeliminują przeciwników, to głód nie dotknie ich co prawda w tym sezonie, ale w przyszłości i oni odczują skutki swojego egoizmu. Na dłuższą metę egoizm się nie opłaca. Dlaczego nie wyciągają takich wniosków?
Czasem wyciągają. Ale problem polega na tym, że stosujemy według mnie nieadekwatną technologię SI. Trenujemy sieci neuronowe na krótkich epizodach. I to jest fundamentalna rzecz. Pokazujemy im, jak jabłka rosły od stycznia do grudnia, a nie – przez dziesięć lat. Nie możemy im pokazać, co będzie w następnym sezonie.
Dlaczego? Nie można im dostarczyć więcej danych?
To są ograniczenia aktualnej technologii. Nasi agenci mają krótką pamięć. Kiedy trenujemy ich w grze go, to możliwych jest tylko 369 ruchów, nie więcej. Jeśli w Starcrafta – epizod trwa 5-10 minut. Nie mogą być trenowani na dłuższych epizodach, ponieważ mają problemy z pamięcią. Z długiego epizodu pamiętaliby tylko ostatnie ruchy. Dobrze działają w środowiskach, w których nie trzeba za daleko patrzeć w przeszłość. Kiedy algorytm gra w szachy albo w go, widzi planszę i podejmuje decyzję na podstawie tego, co widzi. Nie pamięta (nie ma potrzeby, żeby pamiętał), co się stało kilkaset kroków do tyłu.
Czytałem kiedyś, że dwie siostry bliźniaczki wygenerowały swój język niezrozumiały dla reszty świata. Nasi agenci robią coś podobnego; tworzą swój język komunikacji, który może być niezrozumiały dla innych agentów, nie mówiąc już o ludziach
Poza tym nie umiemy jak dotąd uczyć naszych agentów jednej rzeczy, potem drugiej, trzeciej i czwartej. Sieci neuronowe to aproksymatory funkcyjne, które uczą się bardzo dobrze jednego zadania. Kiedy pojawia się kolejne zadanie, koncentrują się wyłącznie na nim i zapominają o tym, co było wcześniej. Nie akumulują wiedzy. To się nazywa katastroficzna interferencja. Ludzie nie mają z tym problemu. To tak jak ja uczę się rozmawiać z moim sześcioletnim synem. Ja się uczę, ale on wciąż się zmienia, więc muszę uczyć się coraz to nowych rzeczy. Jednak przy tej okazji nie zapominam o starych.
Czy takie właśnie będą systemy wieloagentowe, które próbujecie budować?
Tak. Dzisiejsze sieci neuronowe są tak skonstruowane, że najpierw je trenujemy, a potem wstawiamy w pewne środowisko. Na tym etapie nie mają już możliwości uczenia się. Dziś umiemy, powiedzmy, wytrenować sztuczną pszczołę, żeby latała z kwiatka na kwiatek, ale kiedy jej się coś przytrafi, to koniec: następna pszczoła znów będzie się uczyła od zera.
My chcielibyśmy stworzyć agentów, którzy uczą się w trakcie swojego życia. Kiedy natkną się na niebezpieczeństwo, nauczą się go unikać, zaadaptują się do nowej sytuacji. To będzie właśnie GAI – generalna sztuczna inteligencja. Niestety, jeszcze nie umiemy tworzyć agentów, którzy operowaliby w zmiennym środowisku. To nieodkryte jeszcze obszary; nie mamy nawet wykrystalizowanej nazwy tego zjawiska.
Jak generalna sztuczna inteligencja ma się do systemów wieloagentowych?
Systemy wieloagentowe naturalnie tworzą dla siebie nowe wyzwania. Jest taka hipoteza, że inteligencja pojawiła się u ludzi właśnie dzięki temu, że było ich tak wielu. Musieli się cały czas siebie nawzajem uczyć, reagować na nowe problemy. Środowisko jednoagentowe tego niekoniecznie wymaga: jeden agent do nikogo nie musi się przystosowywać. Często nawet nie zdaje sobie sprawy z potencjalnych problemów.
Dopiero w systemie wieloagentowym, w którym agenci uczą się i zmieniają jednocześnie, widać, jakie mogą się pojawiać problemy. To środowisko niestacjonarne, które naturalnie generuje nowe sytuacje, nieprzewidziane zdarzenia. Jeśli pojedynczy agent w nim przetrwa, to znaczy, że potrafi zaadaptować się do zmieniającego się środowiska.
Czy to jest obserwowalne? Widać komunikację pomiędzy agentami?
Tak, widać, jak przekazują sobie informacje, modyfikując środowisko. Trochę jak mrówki, które przekazują informacje, zostawiając feromony.
Jeśli ktoś zbuduje system na poziomie inteligencji myszy, to przeskalowanie tego od myszy do człowieka zajmie rok albo miesiąc. Kiedy rozwiążemy problem inteligencji myszy – zacznę się bać
Czy ta informacja jest zrozumiała dla człowieka?
To ciekawe pytanie. Bo to jest jakiś kod, który jest ich językiem. Czytałem kiedyś, że dwie siostry bliźniaczki wygenerowały swój język niezrozumiały dla reszty świata. Nasi agenci robią coś podobnego; tworzą swój język komunikacji, który może być niezrozumiały dla innych agentów, nie mówiąc już o ludziach.
Co będzie, kiedy przerosną nas inteligencją?
No właśnie. Powiem tak: dopóki sieci neuronowe borykają się z problemami, o których wspominałem, nie boję się, że ich inteligencja przerośnie inteligencję ludzką.
Powiedział pan, że ogólna sztuczna inteligencja powstanie już za 10-20 lat…
Naukowcy zajmujący się SI mówią tak od połowy XX wieku! Gdybyśmy mówili, że za mniej niż 20, to łatwo byłoby dożyć momentu, kiedy się okaże, że byliśmy w błędzie. Gdyby natomiast wieszczyć, że zajmie to więcej niż 20 lat, to tak długa perspektywa nikogo nie obchodzi.
Poważnie mówiąc, uważam, że to się stanie za około 10 lat. Już wiemy, czego nam brakuje. Jeśli ktoś zbuduje system na poziomie inteligencji myszy, to przeskalowanie tego od myszy do człowieka zajmie rok albo miesiąc. Kiedy rozwiążemy problem inteligencji myszy – zacznę się bać.
Kto wie, być może naprawdę jedyną opcją dla człowieka będzie fuzja ze sztuczną inteligencją. Na razie interfejsy mózg-komputer są zbyt wolne – umiemy już kontrolować ruch kursora na ekranie za pomocą sygnałów z mózgu, ale problemem jest przepustowość. Poza tym to nam da jedynie dostęp do wiedzy; zdolność rozumowania to coś więcej. Na razie wciąż nie rozumiemy, jak działa nasz mózg, ten wieloagentowy, chaotyczny system.
Ale na pewno już teraz warto wypracować mechanizmy, które sprawią, że agenci systemów wieloagentowych będą „dobrymi obywatelami”. Zwłaszcza jeśli mają być kiedyś inteligentniejsi od nas. To jest nasza misja w DeepMind.
Read the English version of this text HERE
*Janusz Marecki od 2015 roku pracuje w Google DeepMind, gdzie zajmuje się badaniami nad uczeniem głębokim, uczeniem ze wzmocnieniem i systemami wieloagentowymi. Wcześniej przez siedem lat pracował dla IBM Watson. Pochodzi z Bielska-Białej. Absolwent informatyki na Uniwersytecie Jagiellońskim i studiów doktoranckich ze sztucznej inteligencji na Uniwersytecie Południowej Kalifornii w Los Angeles.