Źródło przedruku artykułu: Trend AI

Źródło artykułu: Xinzhiyuan

Redaktor: Eneasz taki śpiący

Niedawno RoboGen, pierwszy na świecie generatywny agent robota zaproponowany przez CMU/MIT/Tsinghua/Umass, może generować nieograniczoną ilość danych i umożliwiać robotom trenowanie non-stop 24 godziny na dobę, 7 dni w tygodniu. AIGC for Robotics to rzeczywiście przyszły kierunek.

Premiera pierwszego na świecie robota generatywnego – Agenta!

Przez długi czas w porównaniu z modelami językowymi lub wizualnymi, które można trenować na wielkoskalowych danych internetowych, modele strategiczne robotów szkoleniowych wymagają danych zawierających informacje o dynamicznych interakcjach fizycznych, a brak tych danych był największą przeszkodą w rozwoju ucieleśnionych inteligencja.

Niedawno naukowcy z CMU, Uniwersytetu Tsinghua, MIT, UMass i innych instytucji zaproponowali nowego inteligentnego agenta RoboGen.

Wykorzystując rozległą wiedzę zawartą w dużych modelach językowych i modelach generatywnych, połączoną z informacjami fizycznymi dostarczanymi przez realistyczny symulowany świat, możemy „w nieskończoność” generować różne zadania, scenariusze i dane edukacyjne, umożliwiając w pełni automatyczne szkolenie robotów 24 godziny na dobę, 7 dni w tygodniu.

Szybko brakuje nam wysokiej jakości, prawdziwych tokenów z internetu. Światu brakuje danych do trenowania sztucznej inteligencji.

Hinton, ojciec głębokiego uczenia, stwierdził: „Firmy technologiczne planują wykorzystać 100 razy większą moc obliczeniową niż obecnie GPT-4 do trenowania nowych modeli w ciągu najbliższych 18 miesięcy”. Im większe parametry modelu, tym większa wymagana moc obliczeniowa. Ale skąd pochodzą te dane?

W obliczu zapotrzebowania na modele odpowiedzią jest synteza AI.

Adres publikacji: https://arxiv.org/abs/2311.01455

Strona główna projektu: https://robogen-ai.github.io/

开源地址:https://github.com/Genesis-Embodied-AI

Dokładniej rzecz ujmując, zespół badawczy pod przewodnictwem Gan Chuanga, głównego naukowca MIT-IBM, korzystając ze wsparcia sztucznej inteligencji generatywnej i symulacji fizyki różniczkowalnej, zaproponował cykl „propozycja-generacja-nauka”, pozwalający agentom na zadawanie własnych pytań i trenowanie własnych robotów.

Najpierw agent zaproponował, abyśmy rozwinęli tę umiejętność.

Następnie generuje odpowiednie środowisko, konfigurację i wskazówki dotyczące nauki umiejętności, aby stworzyć środowisko symulacyjne.

Na koniec agent rozłoży proponowane zadanie wyższego poziomu na podzadania, wybierze najlepszą metodę nauki, a następnie nauczy się strategii i opanuje proponowane umiejętności.

Warto zauważyć, że cały proces nie wymaga praktycznie żadnego nadzoru ze strony człowieka, a liczba zadań jest właściwie nieskończona!

Jim Fan, starszy naukowiec firmy Nvidia, również przekazał te ważne badania.

Teraz robot nauczył się serii operacji wybuchowych ——

Aby umieścić przedmioty w szafce:

Aby podgrzać miskę zupy w mikrofalówce:

Aby zaparzyć kawę, pociągnij dźwignię:

I salta w tył itp.:

Środowiska symulowane są kluczem do nauki różnorodnych umiejętności

W badaniach nad robotyką od dawna pojawia się trudny problem: w jaki sposób wyposażyć roboty w różnorodne umiejętności, aby mogły działać poza fabryką i wykonywać szeroki zakres zadań za ludzi?

W ostatnich latach uczyliśmy roboty wielu złożonych umiejętności, takich jak manipulowanie płynami, rzucanie przedmiotami, gra w piłkę nożną, parkour itp. Jednakże umiejętności te są niezależne i mają krótkie pole widzenia, wymagając ręcznie opracowanych opisów zadań i nadzoru szkolenia.

Ponieważ zbieranie danych w świecie rzeczywistym jest kosztowne i pracochłonne, umiejętności te są trenowane w symulacjach z odpowiednią randomizacją domen, a następnie wdrażane w świecie rzeczywistym.

W porównaniu z eksploracją i gromadzeniem danych w świecie rzeczywistym, środowiska symulowane mają wiele zalet, takich jak zapewnianie uprzywilejowanego dostępu do stanów niskiego poziomu i nieograniczonych możliwości eksploracji, obsługa obliczeń masowo równoległych, co znacznie przyspiesza gromadzenie danych, a także umożliwienie robotom opracowywania strategii pętli zamkniętej i możliwości odzyskiwania błędów.

Jednak zbudowanie symulowanego środowiska wymaga szeregu żmudnych zadań (projektowanie zadań, dobór odpowiednich i semantycznie znaczących zasobów, generowanie rozsądnych układów i konfiguracji scen oraz formułowanie nadzoru nad treningiem, takiego jak funkcje nagrody lub straty). Nawet w symulowanym świecie znacznie ogranicza to skalowalność uczenia się umiejętności robotów.

Dlatego też badacze proponują paradygmat „symulacji generatywnej”, który łączy postęp w nauce symulowanych umiejętności robotycznych z najnowszymi osiągnięciami w zakresie modeli ugruntowanych i generatywnych.

Wykorzystując możliwości generatywne najnowocześniejszych modeli bazowych, symulacje generatywne mogą generować informacje na wszystkich etapach wymaganych do nauki różnych umiejętności robotycznych w symulacji.

Dzięki kompleksowej wiedzy zakodowanej w najnowszych modelach bazowych, wygenerowane w ten sposób dane dotyczące scen i zadań mogą być bardzo zbliżone do rozkładu scen ze świata rzeczywistego.

Co więcej, modele te mogą dodatkowo dostarczać rozłożonych na czynniki pierwsze podzadań niskiego poziomu, które mogą być bezproblemowo obsługiwane przez metody uczenia się zasad specyficzne dla danej dziedziny, co skutkuje demonstracjami w zamkniętej pętli różnych umiejętności i scenariuszy.

Proces RoboGen

RoboGen to w pełni zautomatyzowany proces, który pozwala robotom uczyć się różnych umiejętności 24 godziny na dobę, 7 dni w tygodniu. Składa się on z czterech etapów:

1. Propozycje zadań;

2. Generowanie scenariuszy;

3. Generowanie nadzoru szkoleniowego;

4. Wykorzystaj wygenerowane informacje do nauki umiejętności.

Wykorzystując wbudowany zdrowy rozsądek i możliwości twórcze najnowszych modeli bazowych, RoboGen może automatycznie generować zadania, scenariusze i nadzór nad szkoleniami, umożliwiając robotom naukę wielu umiejętności na dużą skalę.

Sugestie zadań

Na tym etapie RoboGen jest w stanie proponować zadania wysokiego poziomu, generować odpowiadające im środowiska, rozkładać cele wysokiego poziomu na podzadania niskiego poziomu, a następnie sekwencyjnie uczyć się podumiejętności.

Po pierwsze, RoboGen generuje sensowne, zróżnicowane i zaawansowane zadania, których roboty mają się nauczyć.

Naukowcy zainicjowali system z określonym typem robota i losowo wybrali obiekty z puli. Dostarczone informacje o robocie i wybranych obiektach zostały następnie wprowadzone do systemu LLM.

Proces pobierania próbek zapewnia różnorodność generowanych zadań.

Na przykład roboty poruszające się na nogach, takie jak czworonogi, są w stanie nabyć szereg umiejętności motorycznych, podczas gdy manipulatory ramion robotów, po połączeniu, mają potencjał wykonywania wielu zadań manipulacyjnych z różnymi obiektami.

Naukowcy wykorzystali GPT-4 do zapytania o bieżący proces, a następnie wyjaśnili szczegóły RoboGen w kontekście maszyn i zadań związanych z manipulacją obiektami.

Obiekty używane do inicjalizacji są wybierane z predefiniowanej listy, obejmującej powszechnie występujące w domu obiekty ruchome i nieruchome, takie jak piekarnik, kuchenka mikrofalowa, dozownik wody, laptop, zmywarka itp.

Ponieważ GPT-4 został wytrenowany na ogromnych zbiorach danych internetowych, dysponuje on bogatą wiedzą na temat możliwości wykorzystania tych obiektów, sposobów interakcji z nimi oraz istotnych zadań, z którymi można je powiązać.

Załóżmy na przykład, że badanym obiektem przegubowym jest kuchenka mikrofalowa, gdzie staw 0 to przegub obrotowy łączący drzwiczki, a staw 1 to kolejny przegub obrotowy sterujący pokrętłem timera. GPT-4 zwróci zadanie: „Ramię robota wkłada miskę zupy do kuchenki mikrofalowej, zamyka drzwiczki i ustawia timer kuchenki mikrofalowej na odpowiedni czas podgrzewania a”.

Inne obiekty wymagane do wygenerowanego zadania obejmują miskę zupy A, a także połączenia i łączniki związane z zadaniem, w tym połączenie 0 (do otwierania drzwiczek mikrofalówki), połączenie 1 (do ustawiania timera), połączenie 0 (drzwi) i połączenie 1 (pokrętło timera).

W przypadku obiektów przegubowych, ponieważ PartNetMobility jest jedynym wysokiej jakości zbiorem danych o obiektach przegubowych i obejmuje już różnorodne zasoby przegubowe, zadania będą generowane na podstawie próbkowanych zasobów.

Poprzez wielokrotne przetwarzanie różnych próbek obiektów i przykładów można generować różnorodne zadania manipulacyjne i ruchowe.

Generowanie scen

Mając dane zadanie, możemy dalej generować odpowiednie scenariusze symulacyjne, aby nabyć umiejętności potrzebne do jego wykonania.

Jak pokazano na rysunku, komponenty i konfiguracje scenariusza są generowane zgodnie z opisem zadania, zasoby obiektów są pobierane lub generowane, a następnie scenariusz symulacji jest wypełniany.

Komponenty i konfiguracje sceny składają się z następujących elementów: zapytania o odpowiednie zasoby do wypełnienia sceny, ich parametrów fizycznych (takich jak rozmiar), konfiguracji (takich jak początkowe kąty połączeń) oraz ogólnej konfiguracji przestrzennej zasobów.

Oprócz niezbędnych zasobów obiektów wymaganych do wykonania zadania wygenerowanego w poprzednim kroku, w celu zwiększenia złożoności i różnorodności generowanych scen, przy jednoczesnym odzwierciedleniu rozkładu obiektów w rzeczywistych scenach, badacze pozwolili również GPT-4 zwracać dodatkowe zapytania dotyczące obiektów semantycznie powiązanych z zadaniem.

Na przykład w przypadku zadania „otwórz szafkę, włóż do niej zabawkę, a następnie ją zamknij” wygenerowana scena będzie również obejmować poduszkę z salonu, lampkę biurkową, książkę i krzesło biurowe.

Generowanie nadzoru szkoleniowego

Aby nabyć odpowiednie umiejętności, nauka umiejętności musi odbywać się pod nadzorem.

RoboGen najpierw prześle zapytanie do GPT-4, aby zaplanować i rozłożyć długie zadania na krótsze podzadania.

Podstawowym założeniem jest to, że gdy zadanie zostanie podzielone na wystarczająco krótkie podzadania, każde podzadanie można niezawodnie rozwiązać za pomocą istniejących algorytmów, takich jak uczenie przez wzmacnianie, planowanie ruchu i optymalizacja trajektorii.

Po rozłożeniu RoboGen wysyła zapytanie do GPT-4 i wybiera odpowiedni algorytm w celu rozwiązania każdego podzadania.

RoboGen integruje kilka różnych typów algorytmów uczenia się: uczenie przez wzmacnianie, strategie ewolucyjne, optymalizację trajektorii opartą na gradiencie oraz inicjalizację działań z planowaniem ruchu.

Każda z nich nadaje się do innych zadań; na przykład optymalizacja trajektorii oparta na gradiencie lepiej nadaje się do nauki zadań wymagających precyzyjnej manipulacji miękkimi ciałami, takich jak nadawanie ciastu docelowego kształtu.

Połączenie inicjalizacji akcji z planowaniem ruchu jest bardziej niezawodne w rozwiązywaniu zadań, np. zbliżaniu się do obiektu docelowego ścieżką bezkolizyjną.

Uczenie przez wzmacnianie i strategie ewolucyjne lepiej sprawdzają się w przypadku zadań wymagających częstego kontaktu i ciągłej interakcji z innymi elementami sceny, np. poruszanie się na nogach, lub gdy żądanej czynności nie można po prostu sparametryzować za pomocą dyskretnej pozycji efektora końcowego, np. przy przekręcaniu pokrętła piekarnika.

Krótko mówiąc, GPT-4 wybierze, który algorytm ma zostać użyty w trybie online, na podstawie wygenerowanych podzadań.

Następnie możesz tworzyć scenariusze symulacyjne dla robotów, aby pomóc im nauczyć się pewnych umiejętności.

Robot uczy się otwierać sejf

Na przykład RoboGen pozwala robotom uczyć się bardzo delikatnych zadań, takich jak zmiana kierunku świecenia lampki biurkowej.

Co ciekawe, w tej scenie na ziemi leżą delikatne przedmioty, takie jak monitory komputerowe.

Można powiedzieć, że jest to świetny test zdolności robota do rozpoznawania otoczenia.

W tym celu RoboGen generuje bardzo szczegółowy kod operacyjny, obejmujący konfigurację sceny, rozkład zadań i nadzór:

Dodatkowo robot będzie szkolony w zakresie zadań wymagających wykonania wielu kroków, np. wyjmowania przedmiotów z sejfu.

这里就涉及到开门,取物,放下,关门等操作,期间还需要尽量避免与家具产生碰撞。

Kod podany przez RoboGen wygląda następująco:

Można na przykład poprosić humanoidalnego robota Boston Dynamics, aby kręcił się w kółko, co jest scenariuszem, jaki można spotkać w przestrzeni zamkniętej.

Kod wygląda następująco:

Wyniki eksperymentalne

- Różnorodność zadań

Jak pokazano w Tabeli 1, RoboGen osiąga najniższy wskaźnik Self-BLEU i podobieństwa osadzania w porównaniu ze wszystkimi poprzednimi liniami bazowymi. Innymi słowy, różnorodność zadań generowanych przez RoboGen jest wyższa niż w przypadku ręcznie tworzonych benchmarków i zbiorów danych dotyczących uczenia się umiejętności!

- Skuteczność scenariusza

Jak pokazano na rysunku 4, usunięcie weryfikacji rozmiaru powoduje drastyczny spadek wyniku BLIP-2. Wynika to z faktu, że rozmiary obiektów w Objaverse i PartNetMobility znacznie różnią się od rzeczywistych rozmiarów w świecie rzeczywistym. Ponadto wynik BLIP-2 bez weryfikacji obiektu jest również niższy i charakteryzuje się większą wariancją.

Natomiast etap weryfikacji w RoboGen może znacząco poprawić skuteczność wyboru obiektów.

- Skuteczność doradztwa szkoleniowego

Jak pokazano na rysunku 3, robot nabył umiejętności w czterech zadaniach długoterminowych na podstawie instrukcji szkoleniowych wygenerowanych przez RoboGen (tj. rozkład zadania i funkcja nagrody).

Wyniki pokazują, że robot z powodzeniem opanował umiejętności niezbędne do wykonania odpowiednich zadań. Innymi słowy, automatycznie generowane instrukcje szkoleniowe mogą skutecznie kształtować znaczące i przydatne umiejętności.

- Nauka umiejętności

Wyniki przedstawione w Tabeli 2 pokazują, że umożliwienie wyboru algorytmów uczenia się jest korzystne dla poprawy wydajności zadań. W przypadku korzystania wyłącznie z uczenia maszynowego (RL), uczenie się umiejętności kończy się niepowodzeniem w przypadku większości zadań.

- system

Jak pokazano na rysunku 1, RoboGen może generować różnorodne zadania służące nauce umiejętności, w tym manipulacji sztywnymi/stawowymi przedmiotami, lokomocji i manipulacji miękkimi ciałami.

Rysunek 3 dodatkowo pokazuje, że RoboGen jest w stanie zapewnić umiejętności operacyjne dalekiego zasięgu w sposób rozsądny pod względem rozkładu.

O autorze

Yufei Wang jest doktorantką trzeciego roku w Instytucie Robotyki Uniwersytetu Carnegie Mellon, pod opieką profesora Zackory'ego Ericksona i profesora Davida Helda. Jej zainteresowania badawcze koncentrują się na uczeniu się robotów.

Wcześniej, w grudniu 2020 r., uzyskał tytuł magistra informatyki na CMU pod kierunkiem profesora Davida Helda, a także tytuł licencjata z zakresu nauki o danych na Peking University Yuanpei College w lipcu 2019 r. pod kierunkiem profesora Bin Donga.

Zhou Xian jest doktorantem w Instytucie Robotyki Uniwersytetu Carnegie Mellon, pod kierunkiem Kateriny Fragkiadaki. Jego zainteresowania badawcze obejmują robotykę, widzenie komputerowe i uczenie się modeli świata.

Przed rozpoczęciem studiów na CMU ukończył studia licencjackie na Uniwersytecie Technologicznym Nanyang w Singapurze, gdzie jego mentorami byli Pham Quang Cuong i I-Ming Chen. Odbył również staże w Meta AI, Akshara Rai oraz MIT-IBM AI Lab, gdzie jego mentorem był Chuang Gan.

Obecnie jego badania koncentrują się na opracowaniu jednolitej infrastruktury neuronowej i symulacyjnej na potrzeby skalowalnego uczenia się robotów.

Współautorem jest również Chen Feng z klasy Yao na Uniwersytecie Tsinghua.

Lider zespołu, Gan Chuang, obecnie główny naukowiec w IBM i adiunkt na Uniwersytecie Massachusetts, jest studentem akademika Yao Qizhi. W trakcie studiów doktoranckich otrzymał Nagrodę Specjalną Tsinghua, stypendium Microsoft i stypendium Baidu. Jego badania były również finansowane przez Amazon Research Award, Sony Faculty Award, Cisco Faculty Award oraz program badawczy Microsoft Accelerate Foundation Models Research Program.

Odniesienia:

https://robogen-ai.github.io