CDOPolecane tematy

Jaka czeka nas przyszłość po zbudowaniu sztucznej inteligencji

Z Wojciechem Zarembą, Head of Robotics Research w OpenAI rozmawiamy o rozwoju sztucznej inteligencji, robotyce, ograniczeniach, z którymi muszą się dziś mierzyć naukowcy oraz kierunkach rozwoju algorytmów sterujących robotami.

Nad jakimi projektami pracują dziś organizacje takie, jak OpenAI?

Celem OpenAI jest zapewnienie pozytywnej przyszłość po zbudowaniu sztucznej inteligencji. OpenAI pracuje nad problemami, które mają szansę przybliżyć nas do sztucznej inteligencji, i które są obecnie poza zasięgiem jakichkolwiek znanych metod. Zadania, którymi ja się zajmuję są inspirowane robotyką.

Czego brakuje do powstania sztucznej inteligencji?

Zbudowanie generycznej sztucznej inteligencji wymaga kombinacji potężnej mocy obliczeniowej, algorytmów i zadań. Wydaje sie, że moc obliczeniowa wymagana do zbudowania AI jest obecnie dostępna. Wynika to z estymacji mocy obliczeniowej mózgu człowieka. Wykonuje on obliczenia używając synaps. Posiadamy ich ok. 1015. Synapsy komunikują się stosunkowo wolno. Wysyłają sygnały binarne nie częściej niż 10 razy na sekundę. Przyjmuje się, że moc obliczeniowa pojedynczej synapsy jest w przybliżeniu równoważna jednej operacji zmienno-przecinkowej (FLOP). Potrzebujemy maszyny o mocy ok. 1 PETAFLOPsa. Obecnie dostępne karty graficzne (GPU) mają jedną setną tej mocy (10 TERAFLOPs). Zarazem wiele stworzonych już klastrów ma tysiące takich kart, co jest równoważne dziesiątkom ludzkich mózgów.

Jednym z mechanizmów, który stosujemy w robotyce jest dawanie robotowi nagrody. Podobnie, jak przy tresowaniu zwierząt. Tworzymy więc sieć neuronową, która jako wejście ma sensory – wzrok, słuch, dotyk. Sieć próbuje wykonać wiele akcji. Niektóre dają wiecej nagrody niż inne. W taki sposób robot uczy się, które akcje wybierać, aby zmaksymalizować ilość nagrody. Człowiek potrafi pracować nie oczekując nagrody od razu, lecz np. za pół roku. W przypadku robotów jednak, im bardziej jest ona opóźniona, tym uczą się one wolniej. To jedno z ograniczeń obecnie tworzonych algorytmów sztucznej inteligencji.

Sztuczna inteligencja to jeden z elementów, nad którym pracują Państwo w dziale Robotics Research. W jaki sposób uczy się dziś roboty?

Jest wiele sposobów, z których sami korzystamy w trakcie uczenia się. Możemy je zastosować również w tym przypadku. Jednym z mechanizmów, który stosujemy w robotyce jest dawanie robotowi nagrody. Podobnie, jak przy tresowaniu zwierząt. Tworzymy więc sieć neuronową, która jako wejście ma sensory – wzrok, słuch, dotyk. Sieć próbuje wykonać wiele akcji. Niektóre dają wiecej nagrody niż inne. W taki sposób robot uczy się, które akcje wybierać, aby zmaksymalizować ilość nagrody.

Człowiek potrafi pracować nie oczekując nagrody od razu, lecz np. za pół roku. W przypadku robotów jednak, im bardziej jest ona opóźniona, tym uczą się one wolniej. To jedno z ograniczeń obecnie tworzonych algorytmów sztucznej inteligencji. Podobnie jest ze zwierzętami. Uczą się bardzo szybko, ale muszą otrzymać nagrodę w ciągu kilku sekund po zakończeniu jakiegoś zadania, tak jak robot. Powodem są obecne ograniczenia algorytmów. Być może byłyby one bardziej skuteczne, gdyby komputery były szybsze. Dowodem na to jest fakt, że wiele z tych, które powstały 30 lat temu wówczas nie działało, a teraz się sprawdzają. Stało się to możliwe dzięki zwiększeniu mocy komputerów.

Co może być nagrodą dla robota?

Dla mózgu ludzkiego nagrodą jest cukier, a negatywnym bodźcem jest ból. W przypadku robotów mówimy po prostu, że coś jest dobrze zrobione lub źle zrobione.

Niedawno opublikowali Państwo na blogu artykuł, z którego wynika, że samodzielna gra pozwala sztucznym inteligencjom odkryć umiejętności fizyczne, takie jak walka, schylanie się, udawanie, kopanie, łapanie czy nurkowanie po piłkę, a wszystko bez projektowania dedykowanego środowiska z tymi umiejętnościami. Uważają Państwo, że samodzielna gra będzie kluczową częścią potężnych systemów sztucznej inteligencji w przyszłości. Czy to swego rodzaju przełom dla rozwoju sztucznej inteligencji?

Granie, przeciwko graczowi, który jest kopią samego siebie ma wiele zalet. Taki przeciwnik jest na takim samym poziomie, jak my. Dzięki temu uzyskujemy stopniowo coraz bardziej skomplikowane zadanie. Takie warunki sprzyjają nauce. Obecne rezultaty w takich środowiskach są bardzo obiecujące. Aby jednak mówić o przełomie, rezultaty te muszą być potwierdzone w bardziej skomplikowanych sytuacjach.

Zbudowanie generycznej sztucznej inteligencji wymaga kombinacji potężnej mocy obliczeniowej, algorytmów i zadań. Wydaje sie, że moc obliczeniowa wymagana do zbudowania AI jest obecnie dostępna. Wynika to z estymacji mocy obliczeniowej mózgu człowieka.Potrzebujemy maszyny o mocy ok. 1 PETAFLOPsa. Obecnie dostępne karty graficzne (GPU) mają jedną setną tej mocy (10 TERAFLOPs). Zarazem wiele stworzonych już klastrów ma tysiące takich kart, co jest równoważne dziesiątkom ludzkich mózgów.

Na blogu OpenAI pojawiają się też artykuły poświęcone Nonlinear Computation, Hierarchical Reinforcement Learning, Meta-learning Agents. Czy któraś z tych metod okazała się skuteczniejsza od innych, testowanych przez Państwa?

Tak naprawdę różne metody testują bardzo różne umiejętności i nie da sie ich do końca porównać. Każda z nich sprawia, że algorytmy działają lepiej niż bez niej. Jednak żadna z tych metod nie okazała się jeszcze być bardziej skuteczną.

Jakiego typu algorytmy – Machine Learning, Deep Learning, Reinforcement Learning – są najskuteczniejsze w robotyce?

Deep Learning i Reinforcement Learning to część Machine Learning. Wiele z rezultatów, o których wspominałem, to polaczenie obu tych metod.

Koreański rząd pracuje nad stworzeniem dokumentu regulującego prawa robotów. Również w Wlk. Brytanii Sir David King, uważa, że gdy w przyszłości zostaną stworzone czujące roboty należy dać im te same prawa co ludziom. Opinia taka została wyrażona w dokumencie przygotowanym przez firmę Outsights. Dokument dotyczy przyszłości w roku 2056. Czy w powstające sieci neuronowe wpisywane są tego typu prawa?

Oczywiście chcemy stworzyć taką – sterującą robotem – sieć neuronową, która sprawi, że nawet jeśli człowiek będzie się „źle” zachowywał w stosunku do robota lub agenta, to ten mu nie „odda”. Choć oczywiście nie wszystkie rzeczy da się zapisać w algorytmie.

Jaki jest kolejny krok, którego trzeba dokonać w rozwoju robotyki i sztucznej inteligencji?

Roboty wiąż mają duże ograniczenia. Przede wszystkim bardzo wolno się uczą. Nie potrafią też uczyć się same, jak np. dzieci. Czeka nas więc jeszcze bardzo wiele pracy.

Co już udało się osiągnąć OpenAI w robotyce?

W maju 2017 roku OpenAI zaprezentował robota, który uczy się poprzez obserwację, podobnie jak nowo narodzone dziecko. Gdy zobaczy ono rodzica, który wysuwa język, naśladuje go. Naukowcy w OpenAI chcą, aby roboty uczyły się w ten sam sposób. Stworzyli nawet prototyp, który właśnie w ten sposób funkcjonuje. Uczą go jak zbudować wieżę z klocków pokazując mu jak to zrobić w symulacji. Robot uczy się wykonywać to zadanie nawet jeśli pracuje w zmienionych warunkach. Może to zrobić nawet wówczas, gdy ułożenie klocków na stole jest inne niż to pokazane w demonstracji. Robot używa do wykonania zadania umieszczonej na korpusie kamery i ramienia. Sterujący nim komputer posiada zaś dwie, niezależne sieci neuronowe. Jedna – Vision Network – rozpoznaje obrazy, druga – Imitation Network – podejmuje decyzję jaki kolejny ruch wykonać.

Vision Network wykorzystuje obrazy z kamery do zlokalizowania konkretnych klocków, np. różniących się kolorem. Do „wytrenowania” tej sieci wykorzystuje się tysiące układów klocków, tekstur tła, typów oświetlenia. Co ważne, naukowcy w OpenAI nie używają do tego prawdziwych obrazów, a jedynie stworzone komputerowo symulacje. Dzięki temu jednak w realnym świecie Vision Network jest w stanie zlokalizować klocki nawet jeśli w czasie procesu uczenia nie pokazano tej sieci tego konkretnego układu. Gdy znana jest już lokalizacja klocków, kontrolę nad robotem przejmuje Imitation Network. Sieć ta – w oparciu o zastany układ – przewiduje to, jakie działanie, w tej samej sytuacji podjąłby szkolący ją człowiek. Docelowo oczywiście roboty mają nie ograniczać się wyłącznie do klocków.

Tworząc obie sieci neuronowe wykorzystano metodę One-Shot Imitation Learning (arxiv.org/abs/1703.07326). Pozwala ona na komunikację pomiędzy robotem i uczącym go człowiekiem przy wykorzystaniu wirtualnej rzeczywistości VR. Dzięki temu opracowany system może nauczyć się sposobu zachowania po jednej zaledwie demonstracji w symulatorze. Następnie zaś może odtworzyć to samo zachowanie w różnych sytuacjach w prawdziwym świecie. Dzieje się tak dzięki generalizacji zdobytej wiedzy, a więcreagowaniu w ten sam sposób, już bez uczenia się, na podobny bodziec. Wcześniej oczywiście należy przekazać mu wiedzę opierając się na dziesiątkach różnych zadań do wykonania i tysiącach demonstracji tego, w jaki sposób je wykonać.

Każdy trening składa się z przykładów wykonania konkretnego zadania. W przypadku klocków są to przewidywane trajektorie, po których należy przesunąć obiekt na założone w zadaniu miejsce.

Tagi

Podobne

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *