DeepRacerem do Las Vegas

12 marca, 2020 Sylwester Zimon

AWS DeepRacer League to globalna rywalizacja, w której o miano najszybszego walczą programowalne DeepRacery – autonomiczne pojazdy stworzone przez Amazon Web Services (AWS). Wygrywa ten, który nauczy się najszybciej pokonywać przeszkody napotykane na trasie. Czy można takim pojazdem dojechać do Las Vegas? Okazuje się, że tak.

Spróbujmy i zobaczymy, co się wydarzy

Gdy zgłaszaliśmy się do AWS DeepRacer League zakładaliśmy, że będzie super, jeśli znajdziemy się w pierwszej pięćdziesiątce. W końcu w wyścigu biorą udział zawodnicy z całego świata – wspomina Marcin Zima, Java Team Leader z rzeszowskiego biura PGS Software.

Rozwijaniem DeepRacera w całości zajął się Tomek Panek, Java Developer z Rzeszowa. Szybko okazało się, że Tomek odnalazł się w tym temacie doskonale. Pomogły wcześniejsze doświadczenia z obszaru Machine Learning, a projekt z DeepRacerem miał być kolejnym krokiem w rozwoju kariery w tej dziedzinie.

Na początku było ciężko, bo była to pierwsza liga w historii i dla wszystkich to było nowe – mówi Tomek Panek. – Dołączyliśmy do rywalizacji w maju 2019 roku. Przez pierwsze 2-3 tygodnie wyścigu nie mieliśmy wielkich nadziei, ale się przełamaliśmy.

Zawody odbywały się w wirtualnym środowisku, które miało odwzorować rzeczywisty tor. Do uczenia maszyny można było wykorzystać gotowe serwisy AWS. Jednak, aby osiągnąć lepsze wyniki w rywalizacji, konieczne było sięgnięcie dalej i postawienie całej infrastruktury lokalnie.

To było wyzwanie – wspomina Tomek. – Musiałem się w to wszystko mocno zagłębić, aby dowiedzieć się więcej o DeepRacerze, Reinforcement Learning czy serwisach AWS. AWS zrobił serwis, w którym można było ustawiać prędkość i zakres skrętu kół, ale było to ograniczone. Trzeba było pogrzebać głębiej, aby dowolnie modyfikować te parametry i tę wiedzę musiałem zdobyć od zera.

Pierwsze trasy były mało skomplikowane, ale z każdą kolejną robiło się coraz trudniej. Pierwsze modele programowane przez Tomka, ze względu na małą liczbę zakrętów na trasie, operowały na stałej prędkości, kolejne wymagały opracowania modelu, który zwalnia odpowiednio wcześniej przed zakrętem i przewiduje, co się wydarzy na trasie.

Podium w wirtualnej lidze

Nadeszły pierwsze sukcesy. W sierpniu Tomek Panek znalazł się na pierwszym miejscu wirtualnej ligi.

Poczułem ulgę, że coś fajnego udało się osiągnąć i nadzieję na to, że może uda się zakwalifikować do finału – wspomina. – Doszło też trochę stresu, bo trzeba było to miejsce utrzymać, a różnice w pierwszej osiemnastce, która miała zagwarantowany wyjazd na finały do Las Vegas, były minimalne.

Faktycznie, różnice dotyczyły miejsc po przecinku, które mogły wynikać z wielu czynników – np. pojazd mógł w pewnym momencie skręcić odrobinę na prostej i już stracił ułamek sekundy. Im bardziej skomplikowane trasy tym różnica większa. Widać to w finałowej osiemnastce, gdzie pierwsze cztery miejsca były blisko, a końcowe miały kilkadziesiąt sekund straty.

Nagrodą w wirtualnej lidze był udział w rywalizacji z najlepszymi zawodnikami DeepRacera na żywo w Las Vegas na konferencji AWS Re:Invent w grudniu 2019 roku. W finałach mieli wziąć udział nie tylko zawodnicy z całego świata, wyłonieni z ligi wirtualnej, ale też zdobywcy najlepszych czasów podczas wyścigów, rozgrywanych na konferencjach AWS Summit. W skrócie: prawdziwi mistrzowie DeepRacera.

Na wyjazd do Las Vegas Tomek zakwalifikował się z drugiego miejsca w tabeli. Rywalizacja w wirtualnej lidze była niezwykle zacięta. Od pierwszego miejsca dzieliło go 0,41 punktu. Liga składała się z 6 etapów, a z każdego z nich można było zdobyć 1000 punktów minus czas okrążenia. Tomek zakończył rywalizację z wynikiem 5937,82 punktów, wyprzedzając setki zawodników z całego świata.

Viva Las Vegas

Strategia Tomka na wyścigi finałowe opierała się na dwóch trybach jazdy: pierwszy miał jeździć bardzo szybko na referencyjnej trasie AWS, a drugi miał jeździć generycznie – czyli dobrze, ale na wielu, różnych trasach.

AWS re:Invent to był duży szok. Sam do końca nie wiedziałem jak to będzie działać. Niektórzy zawodnicy przed przyjazdem zbudowali sobie tory, które odzwierciedlały finałową trasę. Ja jeździłem tylko wirtualnie. Moja pierwsza myśl była taka, że fajnie by było gdyby samochód zrobił chociaż jedno porządne kółko – śmieje się Tomek. – Różnice między wirtualną jazdą a rzeczywistym torem były ogromne. Miałem przygotowane pięć modeli: cztery nauczone do jazdy na jednej trasie i jeden awaryjny model nauczony generycznie, który był trochę wolniejszy na wirtualnym torze. Poszedłem rano w dzień zawodów je przetestować i okazało się, że wszystkie cztery modele jeżdżą słabo i wypadają na zakrętach. Został mi model generyczny, który w wirtualnym środowisku jeździł w miarę przyzwoicie, ale nie zakładałem, że będzie miał dobre rezultaty. Postawiłem go i ku mojemu zaskoczeniu okazało się, że jeździ bardzo dobrze i pokonuje każdy zakręt. Na zawodach były monitory, które pokazywały skuteczność pokonywania zakrętów i w całych zawodach mój samochód był w czołówce. Cały czas jechał i nie wypadał z trasy. Została tylko kwestia ustawienia odpowiedniej prędkości samochodziku, żeby zdobywał dobre czasy. Trzeba było poeksperymentować.

W pierwszym etapie zawodów udział wzięły 64 osoby, podzielone na 4 grupy po 16 osób. Pierwsze cztery osoby z każdej grupy przechodziły do kolejnego etapu, reszta odpadała. Każdy z zawodników miał do dyspozycji cztery tory i cztery minuty na każdym z nich – łącznie 16 minut jazdy, a jako wynik końcowy brało się najwyższy czas. Tomek zakwalifikował się do drugiej tury z czwartego miejsca.

Druga tura to były już osoby, które dobrze wiedziały, co robią. Większość była wcześniej na AWS Summitach albo miała zbudowane własne tory. Różnice w przejazdach wynosiły około 0,5 sekundy. Poziom był wyższy i trudno było zauważyć, co można by poprawić w kolejnym przejeździe, bo takie różnice są niezauważalne. Trzeba było mieć też trochę szczęścia i liczyć na to, że autko przejedzie idealnie, bo jeden słabszy moment na trasie oznacza koniec. Na tym etapie niestety odpadłem, ale cieszy mnie to, że byłem bliżej środka niż końca – wspomina Tomek. – To była świetna przygoda i jestem bardzo zadowolony ze swojego rezultatu, bo to, co się wydarzyło przerosło całkowicie moje oczekiwania. Dodatkowo udało mi się poznać masę osób z dużą wiedzą. Reinforcement Learning to niszowy temat na globalnym rynku IT. Wszyscy stawiamy w nim pierwsze kroki, a mając za sobą doświadczenia z DeepRacerem i masę kontaktów z całego świata, mamy już dobry start.

Tomku, jeszcze raz gratulujemy!

Najnowsze wpisy