Last month, IEEE Spectrum went out to California to take a ride in one of Drive.ai's autonomous cars, and to find out how they're using deep learning to master autonomous driving.
It's only been about a year since Drive.ai went public, but already, the company has a fleet of four vehicles navigating around the San Francisco Bay Area (mostly) autonomously—even in situations that are notoriously difficult for self-driving cars, like at night, or when it's raining.
Drive.ai structured its approach to autonomous driving entirely around deep learning from the very beginning. "This is in contrast to a traditional robotics approach,” says Sameep Tandon, one of Drive.ai’s founders. “A lot of companies are just using deep learning for this component or that component, while we view it more holistically."
Often, deep learning is used in perception, since there's so much variability inherent in how robots see the world. Many companies use deep learning for recognizing pedestrians in a camera image (to take one example), because deep learning excels at identifying one particular kind of thing (like a person) from within an arbitrary scene. Essentially, a deep learning system is able to learn to recognize patterns, and then extend that capability to patterns that it hasn't actually seen before: you don't have to train it on every single pedestrian that could possibly exist for it to be able to identify them.
While a pedestrian in a camera image is a perceptual pattern, there are also patterns in decision making and motion planning that deep learning can be applied to, and Drive.ai is leveraging deep learning here as well. For example, the correct behavior at a four way stop, or when turning right on a red light, is the kind of variable, situation-dependent decision that deep learning algorithms excel at.
Deep learning systems thrive on data. The more data an algorithm sees, the better it'll be able to recognize, and generalize about, the patterns that it needs to understand to drive safely. Data are not all created equal, though, which is why an immense amount of effort goes into collecting high quality data and then annotating it so that it's useful for training deep learning algorithms.
What differentiates Drive.ai is that it’s able to use deep learning and automation for annotating data, helping to automate the data interpretation process from the start. Drive.ai has a small team of human annotators, most of whom are kept busy training brand new scenarios, or validating the annotation that the system does on its own.
"What we want to be able to do is to train deep learning systems to help us with the perception and the decision making but also incorporate some rules and some human knowledge to make sure that it’s safe,” says Tandon.
Read More: How Drive.ai Is Mastering Autonomous Driving with Deep Learning