Naučiť sa jazdiť: Za hranicou čistej imitácie

Autor: Mayank Bansal a Abhijit Ogale - Waymo Research

V spoločnosti Waymo sa zameriavame na budovanie najskúsenejšieho vodiča na svete. A rovnako ako každý dobrý vodič, aj naše vozidlo musí vnímať a porozumieť svetu okolo neho rozpoznaním okolitých objektov a predpovedaním toho, čo môžu robiť ďalej, skôr ako sa rozhodne, ako bezpečne jazdiť a zároveň dodržiavať dopravné predpisy.

V posledných rokoch vedené školenie hlbokých neurónových sietí pomocou veľkého množstva označených údajov rýchlo zlepšilo najmodernejší stav v mnohých oblastiach, najmä v oblasti vnímania a predikcie objektov, a tieto technológie sa vo Waymo značne využívajú. , Po vnímaní úspechu neurónových sietí sme si prirodzene položili otázku: vzhľadom na to, že sme mali milióny kilometrov údajov o šoférovaní (t. J. Expertné ukážky jazdy), môžeme vyškoliť skúseného vodiča pomocou čisto kontrolovaného prístupu hlbokého učenia?

Tento príspevok - založený na výskume, ktorý sme práve uverejnili * - popisuje jeden prieskum, ktorý posunie hranice toho, ako môžeme využiť odborné údaje na vytvorenie neurónovej siete, ktorá dokáže nielen simulovať vozidlo v náročných situáciách, ale aj spoľahlivé. dosť na to, aby sme mohli riadiť skutočné vozidlo v našom súkromnom testovacom zariadení. Ako je opísané nižšie, jednoduchá imitácia veľkého počtu odborných ukážok nestačí na vytvorenie schopnej a spoľahlivej technológie riadenia motorových vozidiel. Namiesto toho sme zistili, že je užitočné zaviesť systém dobrého vnímania a kontroly, aby sa zjednodušila úloha pri učení, informovala model s ďalšími stratami a simuloval sa zlý, a nielen aby sa napodobňovalo dobré.

Vytvorenie siete ChauffeurNet: Opakujúca sa neurónová sieť pre riadenie

Aby sme mohli riadiť napodobňovaním experta, vytvorili sme hlbokú rekurentnú neurónovú sieť (RNN) s názvom ChauffeurNet, ktorá je vyškolená na to, aby vysielala trajektóriu jazdy pozorovaním stredného stupňa reprezentácie scény ako vstupu. Reprezentácia na strednej úrovni priamo nepoužíva prvotné údaje zo senzorov, čím faktorizuje úlohu vnímania a umožňuje nám kombinovať skutočné a simulované údaje pre ľahšie prenosové učenie. Ako je znázornené na obrázku nižšie, toto znázornenie vstupu pozostáva z pohľadu zhora nadol (vtáčie oko) na prostredie, ktoré obsahuje informácie, ako sú mapa, okolité objekty, stav semaforov, minulý pohyb vozidla atď. ďalej. Sieti je tiež poskytnutá trasa v štýle Google-Maps, ktorá ju vedie k cieľu.

ChauffeurNet vydá jeden bod pozdĺž budúcej trajektórie jazdy počas každej iterácie, zatiaľ čo predpovedaný bod zapíše do pamäte, ktorá sa použije počas jeho nasledujúcej iterácie. V tomto zmysle nie je RNN tradičný, pretože model pamäte je výslovne vytvorený. Výstup trajektórie siete ChauffeurNet, ktorý pozostáva z desiatich budúcich bodov, je potom daný nízkoúrovňovému ovládaču, ktorý ho prevádza na ovládacie príkazy, ako sú riadenie a zrýchlenie, ktoré mu umožňujú riadiť vozidlo.

Okrem toho sme použili samostatnú hlavu „PerceptionRNN“, ktorá iteratívne predpovedá budúcnosť ďalších pohybujúcich sa objektov v prostredí a táto sieť zdieľa funkcie s RNN, ktorá predpovedá našu vlastnú jazdu. Jednou z budúcich možností je hlbšie preloženie procesu predpovedania reakcií iných činiteľov pri výbere vlastnej trajektórie jazdy.

Vykreslené vstupy a výstupy pre model riadenia. Horný riadok zľava doprava: cestovná mapa, semafory, rýchlostný limit a trasa. Spodný riadok zľava doprava: pole aktuálneho agenta, dynamické políčka, minulé pozície agentov a výstupné pozície budúcich agentov.ChauffeurNet má dve vnútorné časti, FeatureNet a AgentRNN. AgentRNN spotrebuje obrázok s vykreslením minulých pozícií agenta, množinu funkcií vypočítaných konvolučnou sieťou „FeatureNet“ z vykreslených vstupov, obrázok s posledným vykreslením schránky agenta a explicitnú pamäť s vykreslením predpokladaného budúci agent predstavuje predpovedanie ďalšej pozície agenta a nasledujúceho poľa agenta v pohľade zhora nadol. Tieto predpovede sa používajú na aktualizáciu vstupov do AgentRNN na predpovedanie ďalšieho časového intervalu.

Napodobňovanie dobra

Model sme trénovali pomocou príkladov z ekvivalentu približne 60 dní expertných údajov o šoférovaní, pričom sme zahrnuli aj výcvikové techniky, ako je výpadok minulého pohybu, aby sme zaistili, že sieť nebude iba naďalej extrapolovať z minulého pohybu a skutočne bude správne reagovať na životné prostredie. , Ako mnohí pred nami našli, vrátane projektu ALVINN už v 80. rokoch, čisto napodobňovanie experta dáva model, ktorý funguje hladko, pokiaľ sa situácia príliš neodchyľuje od toho, čo bolo vidieť na školení. Model sa naučí správne reagovať na riadenie premávky, ako sú napríklad brzdové značky a semafory. Odchýlky, ako je zavádzanie trás do trajektórie alebo jej uvedenie do takmer kolíznych situácií, však spôsobujú, že sa správa zle, pretože aj keď bola trénovaná s veľkým množstvom údajov, nikdy nemohla vidieť tieto presné situácie počas výcviku.

Agent trénovaný s čistým napodobňovaním sa zasekne za zaparkovaným vozidlom (vľavo) a nedokáže sa zotaviť z odchýlky trajektórie pri jazde po zakrivenej ceste (vpravo). Cesta zelenomodrá predstavuje vstupnú cestu, žlté pole je dynamickým objektom v scéne, zelené pole je agentom, modré bodky sú minulými pozíciami agenta a zelené bodky sú predpokladané budúce polohy.

Syntéza zlého

Odborné ukážky jazdy získané z jazdy v reálnom svete zvyčajne obsahujú iba príklady jazdy v dobrých situáciách, pretože zo zrejmých dôvodov nechceme, aby sa naši odborní vodiči dostali do blízkosti zrážok alebo vystúpili na obrubníky, aby ukázali neurónovú sieť, ako sa zotaviť v týchto prípadoch. Ak chcete trénovať sieť, aby sa dostala z náročných miest, potom má zmysel simulovať alebo syntetizovať vhodné údaje o školení. Jedným jednoduchým spôsobom, ako to dosiahnuť, je pridať prípady, keď sme narušili trajektóriu jazdy od toho, čo odborník skutočne urobil. Porucha je taká, že počiatočný a konečný bod trajektórie zostávajú rovnaké, pričom odchýlka sa väčšinou vyskytuje v strede. Toto učí neurónovú sieť, ako sa zotaviť z porúch. Nielen to, že tieto poruchy vytvárajú príklady syntetických zrážok s inými objektmi alebo obrubníkmi a učíme sieť, ako sa vyhnúť tým, že pridajú explicitné straty, ktoré takéto zrážky odrádzajú. Tieto straty nám umožňujú využívať znalosti domény, aby sme sa naučili lepšie zovšeobecňovať v nových situáciách.

Porucha trajektórie ťahom na aktuálnom mieste agenta (červený bod) smerom od stredu jazdného pruhu a potom namontovaním novej hladkej dráhy, ktorá privádza agenta späť na pôvodné cieľové miesto pozdĺž stredu jazdného pruhu.

Táto práca demonštruje jeden spôsob použitia syntetických údajov. Okrem nášho prístupu sa môžu vykonávať rozsiahle simulácie vysoko interaktívnych alebo zriedkavých situácií, ktoré sú sprevádzané vyladením politiky riadenia pomocou učenia posilnenia (RL). Vykonávanie RL si však vyžaduje, aby sme presne modelovali skutočné správanie ostatných činiteľov v životnom prostredí vrátane iných vozidiel, chodcov a cyklistov. Z tohto dôvodu sa v tejto práci zameriavame na čisto kontrolovaný vzdelávací prístup, pričom nezabúdame na to, že náš model sa dá použiť na vytvorenie „inteligentných agentov“, ktoré sa správajú prirodzene, na zavádzanie RL.

Experimentálne výsledky

Videli sme, ako sa čisto naučený model napodobňoval pri parkovaní vozidla a zasekol sa počas odchýlky trajektórie vyššie. S celým radom syntetizovaných príkladov a pomocnými stratami sa náš úplný model ChauffeurNet môže teraz úspešne klásť okolo zaparkovaného vozidla (vľavo) a zotaviť sa z odchýlky trajektórie, aby plynulo pokračoval po zakrivenej ceste (vpravo).

V nižšie uvedených príkladoch uvádzame odpoveď spoločnosti ChauffeurNet na správne príčinné faktory na prihlásených príkladoch v nastavení uzavretej slučky v našom simulátore. V animácii vľavo vidíme agenta ChauffeurNet, ktorý sa zastavil pred stopkou (červená značka). Pri správnej animácii odstránime stopku z vykreslenej cesty a zistíme, že agent už nedokončí stopku, čím overíme, či sieť reaguje na správne kauzálne faktory.

V ľavej animácii nižšie vidíme agenta ChauffeurNet zastaviť sa za ostatnými vozidlami (žlté políčka) a potom pokračovať, keď sa ostatné vozidlá pohybujú ďalej. Pri správnej animácii odstránime ďalšie vozidlá z vykresleného vstupu a vidíme, že agent pokračuje prirodzene pozdĺž cesty, pretože v jeho ceste nie sú žiadne ďalšie objekty, čím sa overuje reakcia siete na ostatné vozidlá v scéne.

V nasledujúcom príklade sa agent ChauffeurNet zastaví, keď semafor prechádza zo žltej na červenú (všimnite si zmenu intenzity vykreslenia semafora, ktorá sa zobrazuje ako krivky pozdĺž stredov jazdných pruhov) namiesto slepého sledovania za ostatnými vozidlami.

Po testovaní v simulácii sme nahradili naše moduly primárneho plánovania s modulom ChauffeurNet a použili ho na pohon minivanu Chrysler Pacifica na našej súkromnej testovacej dráhe. Tieto videá ukazujú, že vozidlo úspešne sleduje zakrivený pruh a manipuluje so stopkami a zákrutami.

Nasledujúci príklad ukazuje predpovede z PerceptionRNN na protokolovanom príklade. Pripomeňme, že PerceptionRNN predpovedá budúci pohyb iných dynamických objektov. Červené chodníky označujú minulé dráhy dynamických objektov v scéne; zelené chodníky označujú predpokladané trajektórie dve sekundy do budúcnosti pre každý objekt.

Dlhá chvost, kauzalita a celoživotné vzdelávanie

Plne autonómne systémy riadenia musia byť schopné zvládnuť dlhé situácie, ktoré sa vyskytujú v reálnom svete. Aj keď hlboké vzdelávanie zaznamenalo v mnohých aplikáciách značný úspech, otvoreným problémom zostáva zvládanie situácií s nedostatkom údajov o školení. Hlboké učenie ďalej identifikuje korelácie v údajoch o výcviku, ale pravdepodobne nemôže vytvárať kauzálne modely čisto pozorovaním korelácií a bez schopnosti aktívne testovať kontrafakty v simulácii. Pri budovaní kauzálneho modelu jazdy je rozhodujúce vedieť, prečo sa odborný vodič choval tak, ako sa správal a na čo reagoval. Z tohto dôvodu nestačí mať iba veľký počet odborných ukážok, ktoré by ste mohli napodobniť. Pochopenie, prečo je ľahšie vedieť, ako vylepšiť taký systém, ktorý je obzvlášť dôležitý pre aplikácie kritické z hľadiska bezpečnosti. Okrem toho, ak sa takéto zlepšenia dajú vykonať inkrementálnym a cieleným spôsobom, systém sa môže naďalej učiť a zlepšovať donekonečna. Takéto kontinuálne celoživotné vzdelávanie je aktívnou oblasťou výskumu v komunite strojového učenia.

Plánovač, ktorý dnes jazdí na vozidlách Waymo, využíva kombináciu strojového učenia a explicitného zdôvodnenia, aby nepretržite vyhodnocoval veľké množstvo možností a robil najlepšie rozhodnutia v oblasti riadenia v rôznych scenároch, ktoré boli ocenené viac ako 10 miliónmi kilometrov testovania verejných komunikácií. a miliardy kilometrov v simulácii. Preto je lišta pre úplne strojom naučený systém, ktorý nahrádza plánovač Waymo, neuveriteľne vysoká, hoci komponenty z tohto systému sa môžu použiť v plánovači Waymo alebo sa môžu použiť na vytvorenie realistickejších „inteligentných agentov“ počas simulovaného testovania plánovač.

Riešenie dlhodobých situácií, porozumenie kauzality a celoživotné vzdelávanie sú predmetom aktívneho výskumu na Waymo, ako aj v širšej komunite strojového vzdelávania. Neustále hľadáme talentovaných vedcov, ktorí by sa k nám pridali pri riešení týchto náročných problémov strojového učenia, takže sa spojte s nami na adrese waymo.com/joinus.

Viac informácií o tejto práci nájdete v našom dokumente:

* ChauffeurNet: Naučiť sa riadiť tým, že napodobňuje to najlepšie a syntetizuje to najhoršie
Mayank Bansal, Alex Krizhevsky, Abhijit Ogale
(Doplnkový materiál)