Hlavní obsah

Sama řídí, sama jede. Jak se Tesla učí vnímat své okolí včetně vás

Autonomní auto Tesla musí simulovat nejen sebe, ale i ostatní řidiče. Podívejte se, jak samořídící autopilot vnímá své okolí.Video: Tesla, sestřih: Pavel Kasík

Orientace v prostoru je náročný problém. Automobilka Tesla při vývoji svého autopilota používá hned několik typů strojového učení. Podívejte se, jak počítač z obrazových dat vytváří 3D mapu svého okolí a simuluje ostatní řidiče.

Článek

Ukáže Elon Musk za rok a půl dvounohého robota? Z více než dvouhodinové prezentace vývojářů automobilky Tesla si nejvíce pozornosti v médiích jednoznačně získal ambiciózní koncept humanoidního pomocníka Tesla Bot.

„Auta jsou vlastně polosamostatní roboti na kolech, a tak jsme si říkali, že bychom asi měli postavit robota,“ vysvětlil slavný šéf Tesly svůj plán.

Domníváme se, že do roku 2022 to určitě nestihne. A přehnaně optimistické načasování není jediný problém s Muskovou vizí. Už jsme popsali, proč Tesla chce robota – Musk mu žertovně přezdívá Optimus Subprime – vyrobit. Ale během přednášky toho zaznělo mnohem více a byla by škoda, kdyby to kvůli futuristickému robotovi úplně zapadlo.

Vývojáři z týmu automatického řízení totiž divákům velmi detailně ukázali, co už jejich autopilot zvládá, jakým způsobem se učí a jak vlastně samořídící auto vidí svět. Je to zajímavé nahlédnutí „pod kapotu“, které ukazuje nejen budoucí schopnosti Tesly, ale dává nahlédnout na budoucnost strojového učení vůbec.

+22

Reakce některých odborníků byla nadšená. „Myslel jsem, že rozsah úsilí v oblasti algoritmizace, simulace a tréninku výpočtů, které jsou k vyřešení problému autonomního řízení, nedokáže v nejbližší době nikdo zvládnout,“ uvedl den po prezentaci Tesly vývojář Lex Fridman.

„Ale včera jsem vůbec poprvé na jednom místě viděl právě ten rozsah úsilí, které má potenciál vyřešit problém autonomního řízení v reálném světě. A s ním i obecný problém robotického vnímání a plánování.“

Než se ale podíváme, co tak inovativního Tesla předvedla, v rychlosti musíme zabrousit do nedávné historie.

Zkuste to bez radaru

Automobilka Tesla naznačila první vizi svého samořídícího systému – tzv. autopilot – v roce 2013. A už v roce 2015 výrobce na dálku částečně automatické řízení pomocí softwarové aktualizace aktivoval.

Od té doby Tesla patří mezi nejznámější vývojáře samořídících aut. Mezi další patří Waymo (divize Google/Alphabet), Uber a o vývoj se také snaží prakticky všechny velké automobilky.

Tesla se od většiny svých konkurentů odlišuje dvěma zásadními detaily. Především je jejich autopilot komerčně dostupný. Veřejnosti zpřístupnila jen některé funkce, ale schopnost samořídícího systému postupně přibývají. Už v roce 2016 se mohl autopilot pochlubit půlmiliardou kilometrů najetých po silnicích z celého světa a v roce 2020 už to bylo skoro pět miliard najetých kilometrů.

To je o dva až tři řády více, než má na svém „autonomním tachometru“ konkurence, Waymo nacestovalo do roku 2020 „jen“ třicet milionů kilometrů.

Druhým unikátem Tesly je absence přesného prostorového radaru (tzv. LIDAR). Ostatní výrobci na tento mapovací senzor hodně spoléhají, například samořídící Google/Waymo autíčka jej mají prominentně umístěný na střeše.

LIDAR je naprosto stupidní, drahý a úplně zbytečný.
Elon Musk, 2019

Naproti tomu Elon Musk opakovaně zdůraznil, že hloubkový radar jeho auta potřebovat nebudou.

„Pro auta je LIDAR úplně stupidní nápad. Je to drahý a nadbytečný senzor,“ nechal se slyšet vizionář. „Jakmile vyřešíte rozpoznávání obrazu, stane se úplně bezcenným.“ Později dokonce, k nelibosti řady expertů, doplnil, že „kdokoli je závislý na LIDARu, je odsouzen k nezdaru“.

S tím souhlasil i Andrej Karpathy, programátor z Košic, který se v roce 2017 ujal vedení týmu vyvíjejícího umělou inteligenci pro auta Tesla. „Všichni jste dnes cestou sem použili neuronovou síť,“ připomněl Karpathy návštěvníkům konference v roce 2019 v narážce na lidský mozek. „A nikdo z vás nemusel z očí střílet laserové paprsky.“

Možná hrálo svou roli i to, že Tesla Y by s LIDARem na střeše rozhodně nebyla tak aerodynamická, jako je nyní.

Odmítnutí LIDARu a sázka na strojové učení ve spojení s analýzou obrazu z běžných kamer šly zcela proti proudu. Musk si za to vysloužil nejen hlasitou odbornou kritiku, ale stálo jej to i snížené hodnocení bezpečnosti v přehledech odborných organizací.

Poté co autopilot Tesla přestal v dubnu 2021 využívat údaje dokonce i ze svého palubního radaru, odebrala americká agentura pro bezpečnost automobilového provozu (NHTSA) hodnocení schvalující bezpečností prvky.

V květnu se na chvíli zdálo, že Tesla se k LIDARu přeci jen vrátí, šlo ale zřejmě o fámu. „Tesla nepoužívá LIDAR, pracujeme s osmi kamerami, které snímají okolí auta,“ zopakoval Karpathy v červenci. A v srpnu pak na konferenci pro vývojáře ukázal, že sázka na kamery nese povzbudivé ovoce.

Automobily Tesla jsou nyní vybaveny autopilotem tzv. druhé úrovně. V dohledné době by chtěl Musk ukázat autopilota, který dosáhne čtvrté, nebo dokonce páté úrovně řízení.

Z osmi kamer vykouzlí počítač 4D mapu

Klíčem k úspěchu samořídící Tesly je podle Karpathyho chytré využívání neuronových sítí. „Je to fascinující. Když se nad tím zamyslíte, tak my tu vlastně stavíme umělé zvíře, úplně od základů.“

„Auto se stejně jako zvíře pohybuje po světě, vnímá své okolí a rozhoduje se nezávisle a inteligentně,“ využil Karpathy známou metaforu. Strojové učení se často přirovnává k fungování mozku díky schopnosti učit se z dostupných dat a naučené dovednosti použít v úplně nových situacích.

Jak funguje učení neuronových sítí

Umělá inteligence, jak se často strojové učení označuje, funguje na principu analýzy velkého množství dat. Počítačové programy jsou sadou instrukcí a podle těchto instrukcí zpracovávají dodaná data. Strojové učení je nový přístup k řešení problémů. Než aby programátor počítači napsal veškeré instrukce jednotlivě, tak naprogramuje způsob, kterým se počítač sám učí na dodaných „trénovacích“ datech. Napodobuje tak funkci lidského mozku, odkud ostatně pojem „neuronová síť“ pochází.

V případě predikce rozpoznávání objektů v obraze se neuronové sítě učí na velkém množství fotografií, na kterých někdo ručně označil polohu silnice, značek, aut, budov a dalších objektů. Na základě takto vytrénované neuronové sítě pak může počítač rozpoznávat tyto typy objektů i na úplně nových záběrech.

V čem jsou ale ty slibované novinky? „Dosud jsme analyzovali snímky videa každý zvlášť,“ vysvětlil Karpathy princip dosud používaného systému. U každého snímku neuronová síť samostatně rozpoznávala značky, auta, obrubníky, popisovala jejich pozici a zkoušela predikovat jejich směr.

„Nebylo to špatné, ale když je naším cílem plně automatické řízení, tak je jasné, že toto stačit nebude,“ poznamenal Karpathy. Každá z kamer totiž zabírá jinou část scény, vidí jiné věci a odhady se často výrazně lišily. Třeba předjížděný náklaďák byl vidět hned pěti kamerami naráz a neuronová síť v každém obrazu rozpoznala trochu jinou polohu. Všechny údaje se navíc snímek od snímku měnily a kolísaly, což pro přesné rozhodování rozhodně není ideální.

A tak vývojáři přišli se zlepšovákem. Místo aby rozpoznávali objekty nezávisle, spojili data ze všech kamer dohromady. Nejen prostorově, ale i časově. Výsledkem je vektorový prostor, který umí zaznamenat objekty v okolí. „Dalo práci to vyladit. Výsledek ale mluví za vše,“ směje se Karpathy. „Multikamerová neuronová síť dává v reálném čase predikce toho, jak vypadá okolí auta. Na tomto už se dá řídit.“

Velkou výhodou vektorového prostoru je také zvýšená robustnost rozpoznaných objektů. Umělá inteligence už nemusí tolik hádat na základě jednotlivých snímků, protože může využít znalosti nabyté z okolních snímků videa. Vše je tedy plynulejší a stabilnější.

Foto: Tesla

Schéma současné konfigurace na sebe navazujících neuronových sítí Tesla Autopilot.

„Zde máme nezpracované snímky. Ty procházejí rektifikační vrstvou, která koriguje kalibraci kamery a pak vše vložíme do společné virtuální kamery,“ popisuje současnou strukturu Karpathy. „Následně je protáhneme několika reziduálními sítěmi a informace sloučíme do vektorového prostoru.“ Prezentace byla poměrně technická, ale díky vizuálním příkladům si i laik může představit, v čem současný pokrok spočívá.

Foto: Tesla

Ukázka popsaného 4D prostoru.

Z pouhých kamerových záznamů nyní Tesla dokáže sestavit něco, co se podobá – a v něčem i předčí – výstupu z hloubkového radaru typu LIDAR. Odlišnosti od skutečných měření laserem jsou podle odpovědi na dotaz diváka přibližně tři centimetry, jde tedy o vysokou přesnost, která je pro řízení auta již zcela dostatečná. Absencí LIDARU si tedy Tesla svůj úkol napřed ztížila. Zároveň ale nutnost generování 3D prostoru posunula tým k vývoji funkčního řešení. To se navíc – alespoň podle zveřejněných ukázek – osvědčilo i v jiných oblastech.

Simulace všeho a všech

Sloučením dat z více kamerových záznamů a rozpoznáváním objektů v prostoru a v čase – nikoli na samostatných obrázcích – se ale změnila i práce popisovačů dat. Těch nyní pro Teslu pracuje přes tisíc.

Potřebujeme ohromné množství dat, na kterých neuronové sítě natrénujeme. Jinak to nefunguje.
Andrej Karpathy, vedoucí vývoje Tesla Autopilot

„Máme velké množství neuronových sítí, které mají stovky milionů parametrů,“ vysvětlil Karpathy. „Tyto parametry musejí být nastaveny správně, jinak to nebude fungovat. Proto potřebujeme ohromné množství dat, na kterých tyto sítě vytrénujeme. Potřebujeme tedy miliony a miliony příkladů vektorového prostoru.“

Ještě v roce 2017 využívala Tesla při popisování a opravování dat externího dodavatele. „Ale v rámci plné vertikální integrace jsme přešli na popisování dat v rámci naší firmy,“ popsal Karpathy. „Postupně se tým profesionálních popisovačů rozrostl na tisíc lidí, kteří pracují zde v USA.“

Kromě popisování dat, která vycházejí z reálných videí, má ale Tesla (a samozřejmě celá řada dalších firem, které se vývojem neuronových sítí zabývají) v rukávu velmi elegantní trik – simulace. Když dokážete realisticky nasimulovat nějakou situaci, můžete pak neuronovou síť učit na této situaci. Navíc si můžete být jisti, že je tato situace správně rozpoznaná, a tak ji můžete využít i k trénování automatizovaného rozpoznávání.

Foto: Tesla

Toto není reálné video, ale snímek vytvořený počítačem. Fotorealistická simulace pomáhá trénovat rozpoznávání obrazu.

Neuronové sítě se totiž mohou učit jedna od druhé. Je to křehký proces, který je potřeba neustále korigovat.

  • Jedna neuronová síť (či spíše jejich řada) umí rozpoznávat objekty na videu, které pořídily kamery aut Tesla.
  • Další neuronová síť z těchto objektů umí vytvářet simulace.
  • Další systém umí tyto simulace převést do realisticky vyhlížejícího videa.
  • Další síť tato videa upraví a zkreslí tak, aby vypadala, jako kdyby je zaznamenala kamera auta.
  • A na těchto videích se mohou opět učit další neuronové sítě.

Jde o zajímavě provázaný kolotoč, který je těžké roztočit, ale jakmile už se točí, generuje ohromné množství dat. Vývojáři navíc mohou cíleně trénovat určité rizikové situace. To se hodí, protože Tesla například čelí vyšetřování, proč její auta opakovaně narazila do vozidel záchranného systému.

Lze také simulovat situace, které v realitě nikdy nenastaly. „Autu by mělo být jedno, co před ním je za objekt. Jeho hlavním úkolem je nenabourat,“ vysvětlil v závěrečné diskuzi Elon Musk. „Takže i kdyby na dálnici přistáli mimozemšťani, Tesla auto se tím nemůže nechat rozhodit a musí zastavit. Nemusíte vědět, co to je, na to, abyste do toho nenarazili.“

Foto: Tesla

Simulace umožní generovat (a přesně strojově popsat) i neobvyklé nebo extrémní situace, jako je běh dvou lidí se psem na dálnici nebo přecházení stovek lidí přes ulici.

Samořídící auto se musí rozhodnout v reálném čase, a proto nemůže projít všechny fyzikálně možné varianty a vybrat z nich tu nejlepší. Opět tedy přichází na řadu neuronové sítě, které jsou vycvičeny na základě reálného chování řidičů (pokud jste někdy řídili Teslu, tak i svým chováním a rozhodování jste možná drobnou měrou přispěli k „digitálním instinktům“ budoucího samořídícího auta.

Ale kromě toho potřebuje palubní počítač simulovat i ostatní účastníky silničního provozu. To, co dělají všichni lidští řidiči tak nějak podvědomě. Víme, že za volantem ostatních aut jsou lidé, že ti lidé mají nějaké cíle a že své chování uzpůsobují tomu, co kolem sebe vidí. Této „empatii“, schopnosti vcítit se do rozhodovacích procesů ostatních účastníků provozu, se učí i autopilot.

Už v roce 2019 uměl náš autopilot docela dobře jezdit na dálnici. Ale řízení ve městě je mnohem složitější.
Ashok Elluswamy, řízení a plánování autopilota Tesla

„Už v roce 2019 byl náš autopilot docela dobrým řidičem na dálnicích. Uměl dodržovat odstup, držet se ve svém pruhu a sjet z dálnice,“ popisuje Ashok Elluswamy, který vede tým pro řízení a plánování autopilota Tesla.

„Ale jakmile přijedete do města, je řízení mnohem těžší. Ve městě se častěji jezdí mimo vyhrazené jízdní pruhy a je potřeba neustále dávat přednost projíždějícím autům nebo chodcům, kteří dělají divné věci.“

Auto plánuje svou trasu s ohledem na ostatní účastníky provozu. Průběžně tento plán upravuje dle situace. Automat se snaží rozvrhnout trasu pokud možno tak, aby ji nemusel náhle upravovat. Při počítání musí autopilot brát v potaz nejen aktuální pohyb ostatních aut, ale také předvídat jejich záměry. Ideálně v několika alternativách a být na ně připraven.

„Tady třeba máme situaci, kdy proti nám jede auto. Není dostatek místa na to, abychom oba projeli. Autopilot si spočítá, že protijedoucí auto má vysokou rychlost. Doslova uděláme to, že pro to druhé auto pustíme náš plánovač a vymyslíme, co bychom dělali na jeho místě,“ objasňuje Elluswamy. Autopilot spočítal dvě hlavní alternativy: auto projede (červeně), nebo auto zastaví a nechá projet nás (zeleně). „My samozřejmě nevíme, co se tomu druhému řidiči honí hlavou.“

Protože je rychlost a zrychlení toho druhého auta vysoké, neuronová síť usoudí, že je pravděpodobnější, že auto nás projet nenechá, a proto se rozhodne mu uhnout a nechat mu prostor.

Foto: Tesla

Ukázka „empatického“ plánování různých možností průjezdu na základě toho, jak se zachová protistrana.

Tím ale plánování nekončí, naopak probíhá neustále a zpřesňuje se na základě nových pozorování. Díky tomu může autopilot reagovat na to, když mu protijedoucí auto dá přednost.

„Auto se rozhodlo zpomalit a uhnout. Autopilot okamžitě přehodnotil situaci a projíždí,“ ukazuje Elluswamy. „Proto musíme plánovat za všechny ostatní, jinak bychom netušili, co může druhé auto chtít.“ Pak by se autopilot bál cokoli udělat, neustále by uhýbal, a to by snižovalo plynulost provozu. Bude zajímavé sledovat, jak se bude neuronová síť učit odhadovat chování typických řidičů v různých státech.

Tento autopilot není – na rozdíl od Tesla Bota – fikcí. V současné době jezdí po USA několik tisíc aut, které mají aktivní betaverzi nového autopilota slibujícího „plně automatické řízení“. Tesla navíc tvrdí, že ačkoli první spuštění autopilota plánuje v USA, učí se na datech z celého světa, a tak by případné rozšíření do dalších zemí neměl být technický problém.

Sliby od Tesly bereme pochopitelně s rezervou, Musk ve svých předpovědích rád a často přehání. Nicméně předvedená soustava navzájem se učících neuronových sítí rozhodně vypadá slibně.

„Inovace spočívá v tvorbě různých variant,“ připomněl divákům Musk. „Když se vám podaří zkrátit interval mezi variantami, tak se můžete zlepšovat mnohem rychleji.“

Anketa

Jakou úroveň automatizace byste chtěli u svého auta, kdyby to nemělo vliv na jeho cenu?
Úroveň 0 – žádnou automatizaci
1,5 %
Úroveň 1 – jen základní asistenci (tempomat, ABS...)
8,8 %
Úroveň 2 – rozšířenou asistenci řízení (adaptivní jízda v pruhu...)
2,9 %
Úroveň 3 – plnou asistenci (řidič musí dávat pozor, ale nemusí řídit)
7,4 %
Úroveň 4 – téměř úplná autonomie (auto zastaví v případě potřeby)
16,2 %
Úroveň 5 – plně autonomní řízení (robotické taxi)
63,2 %
Celkem hlasovalo 68 čtenářů.

Doporučované