Naučimo se voziti: onstran čiste imitacije

Avtor Mayank Bansal in Abhijit Ogale - Waymo Research

Pri Waymu smo osredotočeni na gradnjo najbolj izkušenega voznika na svetu. Tako kot vsak dober voznik mora tudi naše vozilo zaznati in razumeti svet okoli sebe s prepoznavanjem okoliških predmetov in napovedovanjem, kaj lahko naredijo naslednjič, preden se odloči, kako varno voziti, ob upoštevanju prometnih pravil.

V zadnjih letih je nadzorovano usposabljanje globokih nevronskih mrež z uporabo velikih količin označenih podatkov hitro izboljšalo najsodobnejše stanje na številnih področjih, zlasti na področju zaznavanja in napovedovanja predmetov, in te tehnologije se v Waymoju veliko uporabljajo. . Po uspehu nevronskih mrež za zaznavanje smo si seveda zastavili vprašanje: glede na to, da imamo na voljo miljone kilometrov podatkov o vožnji (t.i. strokovne demonstracije vožnje), ali lahko usposobljenega voznika treniramo s čisto nadzorovanim pristopom globokega učenja?

Ta objava - na podlagi raziskav, ki smo jih pravkar objavili * - opisuje eno raziskavo, s katero bomo postavili meje, kako lahko uporabimo strokovne podatke za ustvarjanje nevronske mreže, ki ne bo sposobna samo voziti avtomobila v zahtevnih situacijah v simulaciji, ampak je tudi zanesljiva dovolj za vožnjo pravega vozila v našem zasebnem testiranju. Kot je opisano spodaj, preprosto posnemanje velikega števila strokovnih demonstracij ni dovolj za ustvarjanje sposobne in zanesljive tehnologije samovoze. Namesto tega se nam je zdelo dragoceno, da se od dobrega dojemanja in nadzora poenostavimo učno nalogo, obvestimo model z dodatnimi izgubami in simuliramo slabo, ne pa samo posnemamo dobrega.

Ustvarjanje ChauffeurNet: ponavljajoča se nevronska mreža za vožnjo

Da bi vozili s posnemanjem strokovnjaka, smo ustvarili globoko ponavljajoče se nevronsko omrežje (RNN) z imenom ChauffeurNet, ki je usposobljeno za oddajanje vozne poti z opazovanjem srednje vstavljene scene kot vhoda. Zastopanje na srednji ravni ne uporablja neposredno surovih senzorskih podatkov, s čimer razlaga nalogo zaznavanja, in nam omogoča kombiniranje resničnih in simuliranih podatkov za lažje prenosno učenje. Kot je prikazano na spodnji sliki, je ta vhodna predstavitev sestavljena iz pogleda od zgoraj navzdol (s ptičje perspektive), ki vsebuje informacije, kot so zemljevid, okoliški predmeti, stanje semaforjev, preteklo gibanje avtomobila in tako naprej naprej. Omrežju je dana tudi pot v slogu Google-Maps, ki ga vodi do cilja.

ChauffeurNet med vsako ponovitvijo pokaže eno točko vzdolž prihodnje vozne poti, hkrati pa napiše predvideno točko v pomnilnik, ki se uporablja med naslednjo ponovitvijo. V tem smislu RNN ni tradicionalen, ker je spominski model izrecno oblikovan. Načrtovalni izhod ChauffeurNet, ki ga sestavlja deset prihodnjih točk, je nato dodeljen krmilniku na nizki ravni, ki ga pretvori v krmilne ukaze, kot sta krmiljenje in pospeševanje, ki mu omogočata vožnjo z avtomobilom.

Poleg tega smo uporabili ločeno glavo "PerceptionRNN", ki iterativno napoveduje prihodnost drugih premikajočih se predmetov v okolju in to omrežje deli funkcije z RNN, ki napoveduje našo lastno vožnjo. Ena od prihodnjih možnosti je globlje prepletanje procesa napovedovanja reakcij drugih dejavnikov ob izbiri lastne vozne poti.

Izdelani vhodi in izhodi za vozni model. Zgornja vrstica od leve proti desni: časovni načrt, semaforji, omejitev hitrosti in pot. Spodnja vrstica od leve proti desni: polje trenutnega agenta, dinamične škatle, pozicije predhodnega agenta in izhodne pozicije agentov v prihodnosti.ChauffeurNet ima dva notranja dela, FeatureNet in AgentRNN. AgentRNN porabi sliko z upodabljanjem preteklih predstav agentov, naborom funkcij, ki jih izračuna konvolucijsko omrežje

Imitiram Dobro

Model smo usposobili s primeri iz približno 60 dni podatkov o strokovni vožnji, hkrati pa vključili tehnike treninga, kot je pretekli osip, da se omrežje ne nadaljuje s ekstrapolacijo iz preteklega gibanja in se dejansko pravilno odziva na okolje . Kot so mnogi ugotovili pred nami, vključno s projektom ALVINN iz osemdesetih let prejšnjega stoletja, zgolj posnemanje strokovnjaka daje model, ki deluje brezhibno, dokler razmere ne odstopajo preveč od tistega, kar smo videli na treningu. Model se nauči pravilno odzivati ​​na prometne kontrole, kot so zaustavitveni znaki in semaforji. Vendar odstopanja, kot je uvedba motenj na pot ali postavljanje v razmere skoraj trka, povzročijo, da se obnaša slabo, saj tudi če trenira z večjimi količinami podatkov, teh trenutek med treningom nikoli ni videl.

Agent, ki je usposobljen za učenje s posnemanjem, se zatakne za parkiranim vozilom (levo) in se med vožnjo po ukrivljeni cesti (desno) ne more okrevati od odklona poti. Tealna pot prikazuje vhodno pot, rumeni okvir je dinamičen objekt v prizoru, zeleno polje je agent, modre pike so pretekle pozicije agenta in zelene pike so predvidene pozicije v prihodnosti.

Sintetiziranje slabega

Strokovne demonstracije vožnje, pridobljene iz vožnje v resničnem svetu, ponavadi vsebujejo le primere vožnje v dobrih situacijah, ker iz očitnih razlogov ne želimo, da se naši strokovni vozniki znajdejo v bližnjih trkih ali se povzpnejo po robnikih samo zato, da bi nevronski mreži pokazali, kako si opomore. v teh primerih. Če želite mrežo izučiti iz težkih točk, je smiselno simulirati ali sintetizirati ustrezne podatke o vadbi. Eden preprostih načinov za to je tako, da dodamo primere, ko oviramo vozno pot pred tistim, kar je strokovnjak dejansko naredil. Motnja je takšna, da začetna in končna točka poti ostaneta enaka, odstopanje se večinoma pojavi na sredini. To uči nevronsko mrežo, kako si opomore od motenj. Poleg tega ta vznemirjanja ustvarjajo primere sintetičnih trčenj z drugimi predmeti ali robnike, omrežje pa učimo, da se temu izognemo tako, da dodamo izrecne izgube, ki takšna trčenja odvrnejo. Te izgube nam omogočajo, da uporabimo znanje o domeni, da usmerimo učenje k boljši posplošitvi v novih situacijah.

Motnja poti je tako, da trenutno povlečete trenutno mesto agenta (rdeča točka) stran od središča voznega pasu in nato namestite novo gladko pot, ki agent vrne na prvotno ciljno mesto vzdolž središča voznega pasu.

To delo prikazuje en način uporabe sintetičnih podatkov. Poleg našega pristopa je mogoče izvesti obsežne simulacije zelo interaktivnih ali redkih situacij, ki jih spremlja prilagoditev vozne politike z uporabo okrepljenega učenja (RL). Vendar pa za izvajanje RL moramo natančno modelirati vedenje drugih dejavnikov v okolju, vključno z drugimi vozili, pešci in kolesarji. Zaradi tega smo se v tem delu osredotočili na popolnoma nadzorovan učni pristop, pri čemer ne pozabimo, da lahko naš model uporabimo za ustvarjanje naravno obnašljivih "pametnih agentov" za zagon RL.

Rezultati eksperimentiranja

Videli smo, kako se čist model imitacije, ki se je naučil, ni uspel pripeljati okoli parkiranega vozila in se zataknil med odklonom poti. S polnim naborom sintetiziranih primerov in pomožnimi izgubami se naš polni model ChauffeurNet zdaj lahko uspešno vrti okoli parkiranega vozila (levo) in se umakne od odklona poti, da se nemoteno nadaljuje po ukrivljeni cesti (desno).

V spodnjih primerih prikazujemo odgovor ChauffeurNet na pravilne vzročne dejavnike na zabeleženih primerih v nastavitvi zaprtega kroga v našem simulatorju. V levi animaciji vidimo, da se agent ChauffeurNet popolnoma ustavi pred znakom stop (rdeči marker). V pravi animaciji odstranimo znak za zaustavitev z izrisane ceste in vidimo, da agent ne pride več do konca in preveri, ali se omrežje odziva na prave vzročne dejavnike.

Na spodnji levi animaciji vidimo, da se agent ChauffeurNet ustavi za drugimi vozili (rumena polja) in nato nadaljuje, ko se druga vozila premikajo naprej. V pravi animaciji odstranimo druga vozila iz upodobljenega vhoda in vidimo, da agent nadaljuje po poti naravno, saj na poti ni drugih predmetov, s čimer preverja odziv mreže na druga vozila v prizorišču.

V spodnjem primeru se agent ChauffeurNet ustavi zaradi semaforja, ki prehaja iz rumene v rdečo (upoštevajte spremembo intenzitete prikazovanja semaforja, ki je prikazan kot krivulje vzdolž središč voznega pasu), namesto da bi slepo sledil za drugimi vozili.

Po testiranju v simulaciji smo naš primarni modul za načrtovanje zamenjali z ChauffeurNet in ga uporabili za vožnjo enoprostora Chrysler Pacifica na naši zasebni testni stezi. Ti videoposnetki prikazujejo vozilo, ki uspešno vozi po ukrivljenem voznem pasu in upravlja z znaki in zavoji.

Spodnji primer prikazuje napovedi PerceptionRNN na zabeleženem primeru. Spomnimo, da PerceptionRNN napoveduje prihodnje gibanje drugih dinamičnih predmetov. Rdeče sledi označujejo pretekle poti dinamičnih predmetov na prizorišču; zelene sledi označujejo predvidene poti dve sekundi v prihodnost za vsak predmet.

Dolg rep, vzročnost in vseživljenjsko učenje

Popolnoma avtonomni vozni sistemi morajo biti sposobni obvladovati dolg rep situacij, ki se dogajajo v resničnem svetu. Medtem ko je globoko učenje v številnih aplikacijah doseglo velik uspeh, je odprta težava ravnanje z razmeroma malo podatkov o usposabljanju. Poleg tega globoko učenje identificira korelacije v podatkih o usposabljanju, vendar vzročno vzročnih modelov zagotovo ne more zgraditi s čisto opazovanjem korelacij in brez zmožnosti aktivnega testiranja nasprotnih dejavnikov v simulaciji. Za izdelavo vzročnega modela vožnje je ključno vedeti, zakaj se je strokovni voznik obnašal tako, kot so se ravnali in na kaj so reagirali. Zato preprosto ni dovolj veliko strokovnih demonstracij, ki bi jih lahko posnemali. Če razumemo, zakaj je lažje vedeti, kako izboljšati tak sistem, kar je še posebej pomembno za varnostno pomembne aplikacije. Poleg tega lahko sistem nadaljuje z učenjem in izboljševanjem, če se takšne izboljšave lahko izvajajo postopno in ciljno. Tako nenehno vseživljenjsko učenje je aktivno področje raziskav v skupnosti strojnega učenja.

Načrtovalec, ki se danes vozi na vozilih Waymo, uporablja kombinacijo strojnega učenja in izrecnega sklepanja, da nenehno ocenjuje veliko število možnosti in sprejema najboljše odločitve v vožnji v različnih scenarijih, ki jih je več kot 10 milijonov prevoženih javnih cestnih preizkušenj in milijarde kilometrov v simulaciji. Zato je trak za popolnoma strojno izučen sistem za nadomestitev načrtovalca Waymo neverjetno visok, čeprav se komponente iz takega sistema lahko uporabljajo v načrtu Waymo ali pa se uporabijo za ustvarjanje bolj realističnih "pametnih agentov" med simuliranim testiranjem načrtovalec.

Obvladovanje situacij z dolgim ​​repom, razumevanje vzročnosti in nenehno vseživljenjsko učenje so predmet dejavnih raziskav tako na Waymoju kot tudi v širši skupnosti strojnega učenja. Vedno iščemo nadarjene raziskovalce, ki bi se nam lahko pridružili pri reševanju teh zahtevnih težav pri strojnem učenju, zato se obrnite na waymo.com/joinus.

Več podrobnosti o tem delu najdete v našem prispevku:

* ChauffeurNet: Učenje vožnje s posnemanjem najboljšega in sintetiziranjem najslabših
Mayank Bansal, Alex Križevski, Abhijit Ogale
(Dopolnilno gradivo)