Mokymasis vairuoti: už grynos imitacijos

Mayank Bansal ir Abhijit Ogale - „Waymo“ tyrimai

„Waymo“ įmonėje mes sutelkiame dėmesį į labiausiai patyrusį vairuotoją pasaulyje. Ir kaip ir kiekvienas geras vairuotojas, mūsų transporto priemonė, prieš priimdama sprendimą, kaip saugiai vairuoti, laikantis eismo taisyklių, turi suvokti ir suprasti jį supantį pasaulį atpažindama aplinkinius objektus ir numatyti, ką jie gali daryti toliau.

Pastaraisiais metais prižiūrimas giliųjų neuroninių tinklų mokymas naudojant didelius paženklintų duomenų kiekius sparčiai pagerino pažangiausią lygį daugelyje sričių, ypač objektų suvokimo ir numatymo srityse, ir šios technologijos plačiai naudojamos Waymo . Po neuroninių tinklų sėkmės suvokimo, mes natūraliai uždavėme sau klausimą: ar turėjome milijonus mylių vairavimo duomenų (t. Y. Ekspertų vairavimo demonstracijos), ar galime išmokyti kvalifikuotą vairuotoją vadovaudamiesi grynai prižiūrimo gilaus mokymosi metodu?

Šis įrašas, pagrįstas ką tik paskelbtais tyrimais *, apibūdina vieną tyrinėjimą, kuriuo siekiama nustumti ribas, kaip panaudoti ekspertų duomenis, kad būtų sukurtas neuroninis tinklas, kuris ne tik gali vairuoti automobilį sudėtingose ​​situacijose, bet ir yra patikimas. pakankamai, kad vairuotume tikrą transporto priemonę mūsų privačiame bandymų punkte. Kaip aprašyta toliau, norint sukurti galinčią ir patikimą savarankiško vairavimo technologiją, nepakanka paprasto daugybės ekspertų demonstracijų mėgdžiojimo. Vietoj to, mes pamatėme, kad verta pradėti nuo gero suvokimo ir kontrolės, siekiant supaprastinti mokymosi užduotį, informuoti modelį su papildomais nuostoliais ir imituoti blogąjį, o ne tik mėgdžioti gėrį.

„ChauffeurNet“ kūrimas: pasikartojantis vairavimo neuronų tinklas

Norėdami vairuoti mėgdžiodami ekspertą, sukūrėme gilų pasikartojantį neuroninį tinklą (RNN), pavadintą „ChauffeurNet“, kuris yra išmokytas išstumti vairavimo trajektoriją stebint scenos kaip įvesties vidurio lygmenį. Vidutinio lygio vaizdavimas tiesiogiai nenaudoja neapdorotų jutiklių duomenų, todėl pašalina suvokimo užduotį ir leidžia mums sujungti tikrus ir imituotus duomenis, kad būtų lengviau perduoti mokymąsi. Kaip parodyta paveikslėlyje žemiau, šį įvestį sudaro vaizdas iš viršaus į apačią (iš paukščio skrydžio), kuriame yra tokia informacija kaip žemėlapis, aplinkiniai objektai, šviesoforo būklė, ankstesnis automobilio judėjimas ir tt apie. Tinklui taip pat suteikiamas „Google-Maps“ stiliaus maršrutas, kuris nukreipia jį link savo tikslo.

Kiekvienos iteracijos metu „ChauffeurNet“ išveda vieną tašką palei būsimą vairavimo trajektoriją, o numatomą tašką įrašo į atmintį, kuri bus naudojama kitos iteracijos metu. Šia prasme RNN nėra tradicinis, nes atminties modelis yra aiškiai sukurtas. Trajektorijos išvesta „ChauffeurNet“, kurią sudaro dešimt būsimų taškų, tada atiduodama žemo lygio valdikliui, kuris jį paverčia valdymo komandomis, tokiomis kaip vairavimas ir pagreitis, leidžiančios vairuoti automobilį.

Be to, mes įdarbinome atskirą „PerceptionRNN“ galvutę, kuri pakartotinai prognozuoja kitų aplinkoje judančių objektų ateitį. Šis tinklas turi tas pačias savybes su RNN, kuris prognozuoja mūsų pačių vairavimą. Viena iš ateities galimybių yra gilesnis kitų veiksnių prognozavimo proceso susipynimas, pasirenkant savo vairavimo trajektoriją.

Pateiktos vairavimo modelio įvestys ir išvestys. Viršutinė eilutė iš kairės į dešinę: planas, šviesoforai, greičio ribojimas ir maršrutas. Apatinė eilutė iš kairės į dešinę: Dabartinio agento dėžutė, Dinaminiai langeliai, Praeities agento pozos ir Išvesties agento pozos.„ChauffeurNet“ turi dvi vidines dalis, „FeatureNet“ ir „AgentRNN“. „AgentRNN“ sunaudoja vaizdą su buvusių agento pateiktų vaizdų atvaizdavimu, funkcijų rinkiniu, kurį iš pateiktų įvestų duomenų apskaičiuoja konvoliucinis tinklas „FeatureNet“, vaizdą su paskutinio agento dėžutės atvaizdavimu ir aiškią atmintį su numatomo pateikimo atvaizdavimu. būsimasis agentas, norėdamas nuspėti kito agento pozą ir kito agento laukelį iš viršaus į apačią. Šios prognozės yra naudojamos atnaujinti įvestis į „AgentRNN“, kad būtų galima numatyti kitą laiko žingsnį.

Mėgdžiojantį gėrį

Mes išmokėme modelio su pavyzdžiais iš ekvivalentiškų 60 dienų vairavimo duomenų ekvivalento, taip pat įtraukėme tokius mokymo metodus, kaip praeities judesių pametimas, kad užtikrintume, jog tinklas tiesiog neeksploatuoja ankstesnio judesio ir faktiškai teisingai reaguoja į aplinką . Kaip daugelis pastebėjo prieš mus, įskaitant devintajame dešimtmetyje vykusį projektą „ALVINN“, vien tik mėgdžiodamas ekspertą pateikia modelį, kuris veikia sklandžiai tol, kol situacija per daug nenukrypsta nuo to, kas buvo matyti mokymuose. Modelis išmoksta tinkamai reaguoti į eismo valdymą, pavyzdžiui, stop ženklus ir šviesoforus. Tačiau tokie nukrypimai, kaip trikdžių sukėlimas trajektorijoje ar įtraukimas į beveik susidūrimo situacijas, lemia netinkamą elgesį, nes net ir treniruodamasis su dideliu duomenų kiekiu, treniruotės metu jis niekada negalėjo pamatyti tokių tikslių situacijų.

Agentas, apmokytas mokytis tik imitacijos, užstringa už pastatytos transporto priemonės (kairėje) ir nesugeba atsigauti po trajektorijos nukrypimo važiuodamas išlenktu keliu (dešinėje). Žiburio kelias vaizduoja įvesties kelią, geltonas langelis yra dinaminis objektas scenoje, žalias langelis yra agentas, mėlyni taškai yra agento buvusios pozicijos, o žali taškai yra numatomos būsimos pozicijos.

Sintezuoja blogus

Ekspertų vairavimo demonstracijose, gautose vykdant vairavimą realiame pasaulyje, paprastai yra tik vairavimo geros situacijos pavyzdžiai, nes dėl akivaizdžių priežasčių nenorime, kad mūsų ekspertai vairuotojai patektų į beveik susidūrimus ar užliptų ant šaligatvio vien tam, kad parodytų neuroniniam tinklui, kaip atsigauti šiais atvejais. Treniruoti tinklą, kad jis išeitų iš sudėtingų vietų, tada prasminga modeliuoti ar susintetinti tinkamus treniruočių duomenis. Vienas paprastas būdas tai padaryti yra pridėti atvejus, kai mes atitraukiame vairavimo trajektoriją nuo to, ką padarė ekspertas. Pasipiktinimas yra toks, kad trajektorijos pradžios ir pabaigos taškai nesikeičia, o nukrypimas dažniausiai būna viduryje. Tai moko nervų tinklą, kaip atsigauti po pasipiktinimo. Ne tik tai, kad šie trikdžiai sukuria sintetinių susidūrimų su kitais objektais ar kelio kliūtimis pavyzdžius, ir mes mokome tinklą jų išvengti, pridedant aiškius nuostolius, kurie atgraso nuo tokių susidūrimų. Šie nuostoliai leidžia pasitelkti srities žinias, kad būtų galima mokytis geriau apibendrinti naujas situacijas.

Trajektorijos trikdžiai, traukdami esamą agento vietą (raudoną tašką) toliau nuo juostos centro ir tada pritaikydami naują sklandžią trajektoriją, kuri agentą grąžina į pradinę tikslinę vietą išilgai juostos centro.

Šis darbas parodo vieną sintetinių duomenų naudojimo būdą. Be mūsų požiūrio, gali būti atliktas platus labai interaktyvių ar retų situacijų modeliavimas, kartu derinant vairavimo politiką, naudojant pastiprinimo mokymąsi (RL). Tačiau norint atlikti RL reikia tiksliai modeliuoti realų kitų agentų, įskaitant kitas transporto priemones, pėsčiųjų ir dviratininkų, elgesį aplinkoje. Dėl šios priežasties šiame darbe mes sutelkiame dėmesį tik į prižiūrimą mokymosi požiūrį, turėdami omenyje, kad mūsų modelis gali būti naudojamas kuriant natūraliai elgiančius „protingus agentus“, norint pakelti RL.

Eksperimentiniai rezultatai

Pamatėme, kaip grynai išmoktas imitacijos modelis nesugebėjo apsiblaškyti aplink stovinčią transporto priemonę ir įstrigo per aukščiau esančią trajektorijos nuokrypį. Turėdami visą sintezuotų pavyzdžių rinkinį ir pagalbinius nuostolius, mūsų visas „ChauffeurNet“ modelis dabar gali sėkmingai judėti aplink stovinčią transporto priemonę (kairėje) ir atsigauti po trajektorijos nuokrypio, kad galėtų sklandžiai tęsti vingiuotą kelią (dešinėje).

Žemiau pateiktuose pavyzdžiuose mes demonstruojame „ChauffeurNet“ atsakymą į teisingus priežastinius veiksnius, registruotuose pavyzdžiuose, uždaro ciklo modelyje. Kairėje animacijoje matome, kad „ChauffeurNet“ agentas visiškai stoja prieš sustabdymo ženklą (raudoną žymeklį). Dešinėje animacijoje pašaliname stop ženklą nuo padaryto kelio ir matome, kad agentas nebeatvyksta iki galo, kai patikriname, ar tinklas reaguoja į teisingus priežastinius veiksnius.

Kairėje animacijoje žemiau matome „ChauffeurNet“ agento stotelę už kitų transporto priemonių (geltonos dėžės) ir toliau tęsiame, kol kitos transporto priemonės juda. Dešinėje animacijoje pašaliname kitas transporto priemones iš pateiktos įvesties ir matome, kad agentas natūraliai tęsia kelią, nes jo kelyje nėra jokių kitų objektų, tikrindami tinklo reakciją į kitas scenos transporto priemones.

Žemiau pateiktame pavyzdyje „ChauffeurNet“ atstovas sustoja prie šviesoforo, kuris pereina nuo geltonos iki raudonos (atkreipkite dėmesį į šviesoforo sklidimo intensyvumo pokytį, kuris rodomas kaip kreivės išilgai juostos centrų), o ne aklai seka už kitų transporto priemonių.

Išbandę modeliavimą, mes pradinį (-ius) planavimo modulį (-ius) pakeitėme „ChauffeurNet“ ir panaudojome jį „Chrysler Pacifica“ mikroautobuso vairavimui privačiame bandymų kelyje. Šie vaizdo įrašai parodo, kaip transporto priemonė sėkmingai važiuoja išlenktąja juosta ir tvarko stop ženklus bei posūkius.

Žemiau pateiktas pavyzdys rodo „PerceptionRNN“ prognozes prisijungusiame pavyzdyje. Prisiminkite, kad „PerceptionRNN“ prognozuoja kitų dinaminių objektų judėjimą ateityje. Raudoni takeliai nurodo praeities dinaminių objektų trajektorijas scenoje; žali takai nurodo kiekvieno objekto numatomas trajektorijas dviem sekundėmis į ateitį.

Ilga uodega, priežastingumas ir mokymasis visą gyvenimą

Visiškai autonomiškos vairavimo sistemos turi sugebėti įveikti ilgą realiojo pasaulio situacijų uodegą. Nors giluminis mokymasis sulaukė nemažų pasisekimų daugelyje programų, tvarkyti situacijas, kuriose trūksta mokymo duomenų, tebėra aktuali problema. Be to, gilus mokymasis nustato koreliacijas treniruočių duomenyse, tačiau, be abejonės, negalima sukurti priežastinio modelio vien stebint koreliacijas ir neturint galimybės aktyviai išbandyti prieštaringų modelių. Norint sukurti priežastinį vairavimo modelį, svarbu žinoti, kodėl vairuotojas-ekspertas elgėsi taip, kaip elgėsi jie ir į ką jie reagavo. Dėl šios priežasties neužtenka vien surengti daugybę ekspertų demonstracijų. Supratus, kodėl lengviau žinoti, kaip patobulinti tokią sistemą, kuri ypač svarbi saugos požiūriu svarbioms programoms. Be to, jei tokius patobulinimus galima atlikti laipsniškai ir tikslingai, sistema gali tęsti mokymąsi ir tobulėti neribotą laiką. Toks nuolatinis mokymasis visą gyvenimą yra aktyvus mašinų mokymosi bendruomenės tyrimų laukas.

Šiandien „Waymo“ transporto priemonėmis važiuojantis planuotojas naudojasi mašinų mokymosi ir aiškių motyvų deriniu, kad nuolat įvertintų daugybę galimybių ir priimtų geriausius vairavimo sprendimus pagal įvairius scenarijus, kurie buvo įveikti daugiau nei 10 milijonų mylių viešųjų kelių bandymų. ir milijardus mylių imituojant. Todėl visiškai mašinomis išmoktos sistemos, pakeičiančios „Waymo“ planuoklę, juosta yra neįtikėtinai aukšta, nors tokios sistemos komponentai gali būti naudojami „Waymo“ planuoklyje arba gali būti naudojami kuriant realistiškesnius „intelektualiuosius agentus“ imituojamų bandymų metu. planuotojas.

„Waymo“, taip pat ir platesnėje mašinų mokymosi bendruomenėje aktyvių tyrimų objektas yra ilgalaikių situacijų sprendimas, priežastingumo supratimas ir nuolatinis mokymasis visą gyvenimą. Mes visada ieškome talentingų tyrinėtojų, kurie prisijungtų prie mūsų, kai spręsime šias sudėtingas mašininio mokymosi problemas, todėl susisiekite adresu waymo.com/joinus.

Norėdami gauti daugiau informacijos apie šį darbą, skaitykite mūsų dokumente:

* „ChauffeurNet“: mokykitės vairuoti imituodami geriausius ir sintezuodami blogiausius
Mayank Bansal, Aleksas Krizhevsky, Abhijit Ogale
(Papildoma medžiaga)