The race is on! After an impressive 2019 season and a wait that felt like forever it’s time to dust off our DeepRacers and return to the starting line. Let’s see what goodies AWS have prepared for us in the DeepRacer 2020 league.
In December we saw some exciting releases in the DeepRacing world, including new training options for object avoidance, head-to-head races and the ability to run your own community races. You can read about them here.
In preparation for the new season AWS have delivered some further modifications. Let’s have a look. You can also read the official AWS DeepRacer League 2020 announcement.
Evaluation in training
First thing we’ve noticed was that there are no episode progress or reward dots on the graph anymore, there is however a new feature: evaluation.
After the car collects all the episodes required for improving the model, it continues going around the track with “Evaluating” shown in the video. Progress is recorded for each of those trials and displayed on the graph as average progress of evaluation. The best evaluation is also marked on the graph.
SageMaker doesn’t record those runs, it trains a new model for the next iteration.
We’ll be talking more about this in the community in the upcoming weeks.
Object avoidance and head-to-head training
In the 2019 league the objective was a simple time trial and the fastest lap time would win. With only one car racing around an otherwise empty track, you could focus your training on encouraging the car to find the most efficient path around. This format remains in the 2020 league without any significant changes (as far as we can tell). However, it is joined by two new racing formats: object avoidance and head-to-head.
In the object avoidance racing format, a series of cuboids are placed randomly around the track. These create new hazards for your car and it needs to learn how to avoid crashing into them. The objects will also partially obscure the car’s view of the track ahead, adding another layer of complexity. Following a perfect racing line around the track will almost certainly result in collisions so you need to find alternative methods for encouraging the car to pass the objects but not waste too much distance/time in doing so.
When configuring a new training session for object avoidance you are given the choice of how many objects will be put onto the track and whether they should be distributed at ‘fixed’ or ‘random‘ locations. With ‘fixed’, the objects will be evenly distributed across both sides of the track and will always be in the same position throughout the whole training session. With ‘random’ they are repositioned after every episode and may not be distributed evenly. This will result in it taking longer for your model to converge but should mean it is more robust in evaluation and on real-world tracks.
The head-to-head racing format is similar to object avoidance except that the objects are moving and instead of being plain cuboids they are DeepRacer cars. The goal is still to get the fastest lap time but there will be a series of other cars on the track controlled by the AWS bot. The other cars aren’t really competitors in a racing sense and are better considered as additional hazards. This creates a much more complicated challenge for your model to adapt to as it has to learn to not just avoid the other car, but also to predict its future position.
When configuring a training session for head-to-head racing you are able to select the number of other bot cars on the track (from 1 to 4) and their speed (the usual 0.1 to 4m/s). You are also given the choice of whether the other cars should be able to change lanes (left vs right side of the centre line) and how often (in seconds, from 1-5s) they should do this.
In all formats you still have the choice of which car from your garage you want to train with. These can be configured to have one or two cameras and optionally a LIDAR sensor. It is not necessary to use a car that has these additional inputs, but it will give the car the ability to gauge distance and better determine the best position to pass it. However, remember that a model will match the car chosen at the very start of training a new model and cannot be altered later on.
AWS DeepRacer League 2020
The 2020 DeepRacer season is about more. More racing types, more countries and without doubt more participants. As I’m writing this, I am watching the 2019 season DeepRacer TV – not just because it’s fun to watch and I’m in it, but also because it shows so many great people around the world that I have met through DeepRacer. This year is an opportunity to meet even more through the Community but it also means it will be a greater challenge to qualify for the finals, especially since there will be no runner-up places anymore – it’s ‘winner takes all’ this year.
Between March and October we will clash in twenty four virtual races. Each month will give us the opportunity to compete in three races: time trial, obstacle avoidance and head-to-head racing. March has kicked off with a track named after the 2019 Championships winner: the SOLA Speedway is also the longest track yet at 38m and containing some very tight corners. This track is also available for training and unlike 2019, it appears the training track is exactly the same as the competition track. You can enter the March virtual race from now until 23:59 UTC on 31st March and at the time of writing, less than a day from start, there have already been over 100 entries!
Apart from that I recommend checking out the list of summits: 74 finalists will be selected through the physical races. While I’m not sure which these will be, I recommend checking the DeepRacer League Schedule and finding a Summit close to you for great fun and an interesting challenge. The Summits are also a great way for the Community to meet each other and we hope to have members present at every one (we’ll try to coordinate informal meetups via the Community on Slack).
In the virtual league there will be three parallel races (time trial, object avoidance, head-to-head racing) to which you can submit your model independently. If you run a specific type of evaluation on your model, you can select to make a submission for that type of race afterwards. Handy.
Head-to-head racing will include a bonus: at the end of the month, the top 32 racers will take part in a knock-out round against each other!
On the race page you can see all the rules of racing in a nicely readable format which is a nice addition as the rules are getting more complex this year.
Instead of a single lap we now get a three consecutive laps challenge. If there are obstacles or other cars on the track, when colliding you get a time penalty (5 seconds in the March race) and continue racing from the collision spot. If you get off track, the same happens (2 second penalty).
This means one thing: every submission ends in a complete run. It also means you don’t necessarily have to train a model with the additional sensors in order to enter the new formats – a regular time trial model will still succeed, but you’ll probably rack up a lot of time penalties.
Some attempts will probably be rather lengthy. I submitted a random model only to see a car hit the same box over and over again for five minutes. From an earlier attempt I know that a box being hit moves, but this one was hit at a specific angle that meant it hardly moved at all. Regardless of this, I had a lap, 10 minutes 20 seconds long, but still a lap.
This quite likely is the coolest modification this week. You can go into the race and view videos of attempts on the leaderboard. More than that: you can download your video by right-clicking and selecting “Save video as”. We can’t wait to see your cars’ videos online!
New features and new objectives bring exciting challenges to the Community. One of them is about how to analyse logs for a training session with objects if the logs don’t mention them. I’m sure we’ll find a solution. If you want to be a part of our collective learning, there’s no better time to join the community than now. Go to http://join.deepracing.io and say hi in #introducing-everyone!
Tomasz Ptak, AWS Machine Learning Hero and Senior Software Engineer at OpenMarket
Tomasz is a software engineer with a focus on tackling technical debt, transforming legacy products to maintainable projects, and delivering a developer experience that enables teams to achieve their objectives. He is a senior software engineer at OpenMarket, a messaging solutions provider, where he ensures customers reach their customers at scale. He also partners with another AWS Hero Lyndon Leggate who runs data science and machine learning consultancy at Deep.
Tomasz is also a participant in the AWS DeepRacer League, a winner in 2019 September virtual league race, and a 2019 season finalist. He has been an leader in the AWS DeepRacer Community since day, running the AWS DeepRacer Community Blog and knowledge base, as well as his AWS DeepRacer log analysis tool. He also works on promoting AWS DeepRacer as a learning opportunity in the United Kingdom and Poland. Finally, Tomasz enjoys blogging about his learning journey as a human, a professional in tech, and a hobbyist baker.
Lyndon Leggate, AWS Machine Learning Hero and Founder/CTO at deəp
Lyndon is a senior technology leader with extensive experience defining and delivering complex technical solutions on large, business critical projects for consumer facing brands. He is CTO at deep, a data science and machine learning consultancy that assists a variety of clients with technology strategy and data solutions. Lyndon is also founder of Nino City, an early stage EdTech start-up trying to help parents make children’s screen time more productive (implemented as a 100% serverless solution on AWS).
Alongside his day job, Lyndon is a keen participant in the AWS DeepRacer league. Racing as Etaggel, he has regularly positioned in the top 10, is featured in DeepRacer TV and in May 2019 established the AWS DeepRacer Community. This vibrant and rapidly growing community provides a space for new and experienced racers to seek advice and share tips. The Community has gone on to expand the DeepRacer toolsets, making the platform more accessible and pushing the bounds of the technology. He also organises the AWS DeepRacer London Meetup series.