Sztuczna inteligencja DeepMind robi kolejny krok. Uczy się od podstaw metodą prób i błędów
Firma DeepMind, której system sztucznej inteligencji zdobył rozgłos pokonując mistrza Go, a niedawno zapowiedział rewolucję na polu nauk biologicznych, poszła o krok dalej. Stworzyła system MuZero, który uczy się zasad gry od podstaw, bez żadnych informacji wstępnych. Celem DeepMind jest spowodowanie, by MuZero uczył się tak, jak robi to dziecko, metodą prób i błędów.
MuZero rozpoczyna naukę reguł gry od spróbowania jakiegoś działania. Później próbuje czegoś innego. Jednocześnie sprawdza, czy jego działanie jest dozwolone i jaki jest jego skutek. Do dalszej pracy wybiera te z działań, które przynoszą najlepszy rezultat. W szachach będzie to doprowadzenie do szach-mata, w Pac-Manie zaś połknięcie kropki. Następnie algorytm tak zmienia swoje działania by pożądane rezultaty osiągnąć najniższym kosztem. Taki sposób nauki, poprzez obserwację, jest idealną metodą w przypadku SI. Chcemy bowiem zadać sztucznej inteligencji pytania i poprosić o rozwiązywanie problemów, których nie można łatwo zdefiniować. Ponadto w świecie rzeczywistym, gdzie nie obowiązują stałe i jasne reguły gry, SI co chwila będzie napotykała na przeszkody, z którymi musi sobie poradzić.
Obecnie MuZero uczy się kompresji wideo. W przypadku AlphaZero nauczenie się tego zadania byłoby bardzo kosztowne, mówią autorzy algorytmu. Już teraz zastanawiają się nad wdrożeniem MuZero do nauczenia się jazdy samochodem. Myślą też o zaprzęgnięciu algorytmu do projektowania białek. Przypomnijmy, że siostrzany algorytm AlphaFold udowodnił ostatnio, że świetnie sobie radzi z zawijaniem białek. MuZero mógłby zaś projektować białka od podstaw. Dzięki temu, mając do dyspozycji np. szczegółową wiedzę o wirusie czy bakterii, którą białko ma niszczyć, byłby w stanie zaprojektować nowe lekarstwa.
MuZero, dzięki jednoczesnemu uczeniu się reguł gry i udoskonalaniu swoich działań pracuje znacznie bardziej ekonomicznie, niż jego poprzednicy stworzeni przez DeepMind. Radzi sobie świetnie nawet wówczas, gdy twórcy celowo ograniczą jego możliwości. Podczas nauki zasad Pac-Mana, gdy na każdy rozważany ruch MuZero mógł przeprowadzić nie więcej niż 7 symulacji skutków swoich działań – co jest liczbą zdecydowanie zbyt małą, by rozważyć wszystkie opcje – algorytm i tak całkiem dobrze sobie poradził.
Twórcy MuZero mówią, że taki system potrzebuje sporych mocy obliczeniowych, by nauczyć się zasad. Gdy jednak już je pozna, podejmowanie kolejnych decyzji wymaga już tak niewielu obliczeń, że całe działania mogą być przeprowadzone na smartfonie. Jednak nawet nauka nie jest bardzo wymagająca. MuZero nauczył się od podstaw zasad Pac-Mana w ciągu 2-3 tygodni, korzystając przy tym z jednego GPU, mówi Julian Schrittwieser, jeden ze współautorów algorytmu.
Jednym z elementów powodujących, że wymagania MuZero są nieduże w porównaniu z innymi systemami jest fakt, iż algorytm bierze pod uwagę tylko elementy istotne w procesie podejmowania decyzji. Wiedza, że parasol ochroni cię przed deszczem jest bardziej użyteczna, niż umiejętność modelowania ruchu kropel wody w powietrzu, czytamy w oświadczeniu DeepMind.
Celem twórców MuZero jest spowodowanie, by ich system potrafił odrzucić wszystko to, co w danym momencie nie jest potrzebne, by skupił się na kwestiach istotnych. Mówią tutaj o dziecku, które po zaledwie kilkukrotnym doświadczeniu jest w stanie generalizować wiedzę na dany temat i połączyć np. kroplę wody z potężnym wodospadem, widząc powiązanie pomiędzy nimi.
Komentarze (36)
radar, 24 grudnia 2020, 19:51
Szlag by ich trafił. Wymyślą wszystko przede mną. Człowiek się tu męczy, a Ci "se robią".... ;)
peceed, 25 grudnia 2020, 20:11
Czyli chodzi o efektywne myślenie abstrakcyjne.
cyjanobakteria, 26 grudnia 2020, 01:40
Trudno przebić skalę Google. Zatrudniają tylko najlepszych ludzi, a chętnych nie brakuje, bo płacą bardzo dobrze. W Deepmind nad AlphaStar, AI które ograło kilku pro-gamerów w StarCraft 2, pracowało jakieś 80 osób przez kilka lat.
Brałem kiedyś udział w seriach rekrutacyjnych, nie do Google, ale do kilku porównywalnych firm. To jest norma, że ma się 6-10 interview i wałkują z każdego możliwego tematu, a jak którykolwiek z biorących udział ma choćby najmniejsze wątpliwości, to się wylatuje na aut. Sam proces jest jednak bardzo profesjonalny. Jest to męczące, chociaż do zrobienia, nawet jak ktoś ma braki. Trzeba tylko mocno się przyłożyć do roboty na wiele miesięcy, no i profilaktycznie brać prozac w dużych ilościach
Ergo Sum, 26 grudnia 2020, 10:54
No, wreszcie to o czym piszę od kilku lat, proces samooceniania. Kolejnym krokiem jest dodanie procesu "wyobrażania" sobie - czyli symulacji swoich ruchów. Jeśli to będzie rozwinięte to będzie można mówić o maszynach mających świadomość i inteligencję. Tak naprawdę to jest podejście humanistyczne w programowaniu i wreszcie ktoś to zaczął wdrażać - bo ludzie myślący algorytmami niestety mają małe pojęcie o humanistyce. Myślą że są w stanie wszystko analizować "matematycznie" ale tak nie jest. Potrzebna jest współpraca i wzajemne zaufanie bo humaniści oczywiście nie potrafią myśleć algorytmicznie. W żadnym wypadku nie jest to ujma - tylko specjalizacja. Ale trzeba ją przyjąć i zaakceptować.
radar, 26 grudnia 2020, 12:10
Niestety, ale nie masz pojęcia o czym mówisz, w kontekście tego artykułu i kierunku prac
Tak niestety na razie jest. Nic z rzeczy, które opisujesz powyżej nie byłoby możliwe bez "algorytmów" i matematyki (głównie statystyki). Problemem nie jest to, że programiści nie mają pojęcia o humanistyce, tylko, że nikt na razie nie wie jak "humanistykę wytłumaczyć" maszynom.
Paaanie, jak ja bym chciał tam pracować to już bym tam pracował, ale wolę jednak pracować na własny rachunek. Problem polega na tym, że jest tam grupa na prawdę inteligentnych ludzi z możliwościami, ale teraz, bez zaglądania do google, wymień mi kilka "czołowych" nazwisk z tej 80 osobowej grupy, które przyczyniły się do sukcesu AlphaStar... albo AlphaGo, czy AlphaZero... hę? Tylko bez oszukiwania Czy może jedyne co wiemy to to, że "google to, google tamto", ewentualnie DeepMind
Jajcenty, 26 grudnia 2020, 13:34
No jak to? Przecież już wiemy, że to macierz wag. Zgodnie z prawem przechodzenia ilości w jakość, duża macierz może stać się humanistką i odmówić liczenia całek. Żart ale nie całkiem. Ponieważ nie wiemy jak działa inteligencja próbujemy ja naśladować. Tak długo potrząsamy pudełkiem, aż wzór zacznie mieć sens - dla mnie AI to czyste lenistwo H.S. in statu nascendi
Przy okazji: w tej chwili uczę model rozpoznawania numeru detalu na taśmie i muszę powiedzieć, że to Rzymianie mieli rację, nie Arabowie. Cyfry 3, 5, 6, 8, 9 stanowią poważny problem - sztuczna głupota łatwo je ze sobą myli, zwłaszcza gdy brakuje części cyfry, czy kąt patrzenia jest zbyt ostry, lub napis jest rozmazany. Z III, V, VI, VIII, IX nie miałbym takiego problemu. Z dokładnością do odstępów VIII i V III
radar, 28 grudnia 2020, 10:28
I z czego korzystasz? DL? Jakie accuracy na razie?
Wydaje się, że i rzymskie by w takich przypadkach niewiele pomogly. Różnica między VIII i VII nie jest chyba taka znacząca. Może enseble Ci pomoże? Co n głów to nie jedna
Jajcenty, 28 grudnia 2020, 11:10
YOLO v4, mAP ~93% ale numer detalu zawiera cyfrę kontrolną więc jest dużo łatwiej i można skonstruować poprawny numer z kliku klatek. Zwykle mam 4-8 klatek z widocznym numerem - coś można z tego 'przez odgaść' wycisnąć. Przy okazji zabawna historia, nie ustawiłem flip=0 i litera M rozpoznawana jest jako 11 - jedynka i jej lustrzane odbicie. Sztuczna inteligencja potrafi być absurdalnie konsekwentna. Włoski strajk, to jej drugie imię
radar, 28 grudnia 2020, 11:43
Już jest niby v5 i jakaś implementacja v3. Bawiłem się przez chwilę v4 w czerwcu jak wyszło. Nawet fajnie to chodzi (na moim 1070Ti), ale że pracowałem głównie nad NLP i rozpoznawaniem wzorców to odstawiłem to i potem zapomniałem Aż z ciekawości muszę wrócić do tego i potestować więcej. Przyda się do mojego domowego Jarvisa
Na czym to rozpoznajesz na tej taśmie (hardware)?
Jajcenty, 28 grudnia 2020, 12:06
O tu bieda: maszyna chodzi na 16 rdzeniach CPU mam jakieś 800 ms / ramkę czyli 1.2 fps. Słabo, ale klientowi wystarcza. Do uczenia dostałem 1080ti i też nie ma rewelacji. 30K iteracji trwa ponad 60 godzin, detekcja to około 3fps - strasznie rozczarowujące. Nie wiem na czym ludzie dostają te 30 fpsów, K80? RTX30*?
Wokół v5 są kontrowersje. Generalnie opinie są takie, że to pomigane v3 i nie zasługuje na własny numer główny. Nie miałem czasu się w to wgłębiać. Poczekam aż się wyklaruje.
radar, 28 grudnia 2020, 12:51
To jakoś bardzo mało. Może spróbuj z mniejszym modelem, albo rodzielczość obrazu masz jakąś dużą z jakimś dużym preprocessingiem na początku? Bo 1.2 fps na CPU vs. 3 fps na 1080Ti sugerowałoby, że zadanie się słabo zrównolegla.
Jajcenty, 28 grudnia 2020, 13:50
Tak 640x640 - mam małe cyferki do rozpoznania, więc niżej nie zejdę. Chwalenie się 30 fps przy 416x416 w dobie powszechności 4K uważam, za przesadzone. Zadanie się świetnie skaluje na rdzenie, 100% na wszystkich rdzeniach - sprawdzone na 32 , ale najwięcej daje włączenie intelowskiego SSE - to podzieliło czas przez dziesięć. Pierwszy wynik miałem 18 sekund na ramkę - wyobraź sobie moje zdumienie jak to zobaczyłem. Zamarłem i na palcach liczyłem ile to jest te 18345.1234 ms.
Jajcenty, 28 grudnia 2020, 15:06
Kto jak kto, ale Ty chyba najlepiej wiesz jak ważna jest rozdzielczość. Jak cyfra ma 4x4 piksele to jej cechy szczególne są dawno niebyłe.
Oj widze na filozofię Cię wzięło. Zasadniczo nie. Wyniki zwykle pojawiają się szybciej, ale w dalszym ciągu na ostatnim neuronie chodzi sigmoid https://en.wikipedia.org/wiki/Sigmoid_function , a to daje odpowiedzi zawsze mniejsze od 1. Dodatkowo model jest deterministyczny. My rzemieślnicy za prawdę uważamy 0.25 - tak mam próg ustawiony w poszukiwaniu cyferek na obrazku.
Klient przeznaczył 16 na projekt. Ja dostałem 32 do innego przedsięwzięcia. W dobie maszyn wirtualnych to jeden ruch myszą dla kumpla od serwerów. Mam nadzieję, że nie zarzucasz mi konfabulacji czy koloryzowania?
Jajcenty, 28 grudnia 2020, 15:39
Kiedyś bawiłem się trochę w https://www.zooniverse.org/projects/sundial-itn/space-fluff/classify i nie uszło mej uwadze jak niewiele pikseli astronomom potrzeba do szczęścia. Niestety w mojej pracy tak się nie da.
Jajcenty, 28 grudnia 2020, 15:45
E tam, pogadajcie z Muskiem. Postawi wam zwierciadła w punktach Lagrange'a i rozdzielczość skoczy. Tylko pewnie STW i OTW będą mieszać z czasem
peceed, 28 grudnia 2020, 16:41
Bardzo głupi pomysł, SSRI na dłuższą metę obniżają zdolności intelektualne, przynajmniej w dawkach terapeutycznych.
Ja bym powiedział że wręcz przeciwnie - ludzie "myślący algorytmami" mają znakomite pojęcie o problemach humanistyki
Przede wszystkim - przerost formy nad treścią i zastępowanie myślenia luźnym błądzeniem myśli sterowanym emocjami.
Wszyscy myślą algorytmicznie w podobnym stopniu. Ba, to humaniści oczekują "algorytmów na myślenie" do rozwiązywania skomplikowanych zadań ścisłych, które mogliby zapamiętać i stosować tymczasem właśnie ścisłowcy rozumieją te zagadnienia w pełni intuicyjnie.
P.S. Nie spotkałem się ze ścisłowcami mającymi problemy z posługiwaniem się językiem. Ludzie łatwo zapominają że Mickiewicz był matematykiem.
cyjanobakteria, 28 grudnia 2020, 17:36
Prozac do tego zdaje się miał poważne skutki uboczne, ale to był dowcip Nie jestem lekarzem ani farmaceutą w myśl ustawy o lekarzach i farmaceutach oraz nie biorę odpowiedzialności za niczyją głupotę Chodziło mi o to, że takie maratony rekrutacyjne wyczerpują i mogą zdołować.
ex nihilo, 28 grudnia 2020, 18:27
Hmm... od zawsze jestem wrednie ścisłym ściślakiem. I od zawsze też mam duże problemy z językami. Totalny antytalent. Napisanie kilku zdań to dla mnie coś na pograniczu tortury. Czytam w kilkunastu językach, ale czynnie używać ich nie potrafię, no może z niewielkimi wyjątkami na zasadzie "Kali chcieć jeść" (z polskim też kiepsko, dlatego różne wynalazki, chociaż w tym jest też trochę zabawy). Wzory, schematy, tabele i co tam jeszcze ok., słowa nie. Pod czaszką nie mam słów, tylko jakieś struktury, zależności, które cholernie trudno mi przerobić na słowa, zdania - szczególnie napisane, bo w rozmowie trochę łatwiej, zwłaszcza kiedy na kartce mogę bazgrać jakieś wzory czy schematy
cyjanobakteria, 28 grudnia 2020, 19:10
Nie przesadzaj z tymi karpiami. Jakbyś napisał, że były wielkie jak 737, to bym jeszcze uwierzył
peceed, 28 grudnia 2020, 20:34
Miałem dokładnie tak samo - reprezentacja wiedzy była na pewnym poziomie czysto semantyczna, z tym że nie miałem problemu z opisem wniosków za pomocą słów. Za to u humanistów wszystko zdaje składać się ze słów, do tego stopnia, że u niektórych synonimy i homonimy są mechanizmami wnioskowania (tzn. przeskoki pomiędzy nimi)
ex nihilo, 29 grudnia 2020, 06:50
Opis "gołych" wniosków zwykle nie wielkim problemem, gorzej, kiedy te wnioski trzeba uzasadnić, wtedy wychodzi niezgodność struktury myślenia ze strukturą tekstu. Ale w ogóle słowa są dla mnie narzędziem cholernie niewygodnym.
Z humanistami niewiele miałem do czynienia, znacznie więcej z humanistkami. Potwierdzam to, co napisałeś, ale najgorsze jest, że słowa mają diabelską siłę programowania/ograniczania wyobraźni. Dotyczy to zresztą nie tylko humanistów/humanistek, bo nawet w fizyce ten problem też istnieje.
radar, 29 grudnia 2020, 21:49
Plus za ostatnie 2 zdania:
Qion, 29 grudnia 2020, 23:57
Jestem ciekaw, czy program wykorzystujący algorytmy AI byłby w stanie pokonać najlepszy obecnie silnik szachowy jakim jest Stockfish. Nawet mistrz świata Magnus Carlsen nie ma z nim szans na wygranie. Dzisiejsze programy szachowe nie wykorzystują algorytmów neuronowych, lecz analizują miliony kombinacji na wiele posunięć do przodu. Przyporządkowują każdej odpowiednią ocenę punktową, a następnie dokonują wyboru możliwie najlepszej kontynuacji.
Ergo Sum, 30 grudnia 2020, 00:49
No .. i właśnie to jest doskonały przykład tego że informatycy totalnie nie wiedzą co jest zakresem humanistyki. Nie, nie jest to tylko język i luźne błądzenie. Określając tak procesy społeczne czy psychologiczne wykazujesz że tego po prostu nie rozumiesz. Właśnie ten sam błąd popełniają informatycy i właśnie dokłdnie ten błąd jest podstawą dlaczego algorytmy "AI" nie są "I".