A conceptual machine for cloning a human driver

If anything else, a Machine Learning practitioner has to get a global view and think on how far our conceptual machines can go. This is a little tale of my recent experience with Deep Learning. To start with, say that I am enrolled in the Udacity’s nanodegree inSelf Driving Car Engineer. Here we are learning the techniques needed for building a car controller capable of driving at the human level. The interesting part of the course (to be read as where one truly learns) is in the so called projects: these are nothing but assignments in which the student has to solve a challenging task, mainly by using Convolutional Neural Networks (convnets), the most well-known Deep Learning models. So far, the most mind-blowing task and the focus of this entry is project 3, were we have to record our driving behavior in a car simulator and let a convnet to clone it and successfully generalize the act of driving. It is remarkable that a convnet learns to control the car from raw color images jointly with the steering angle, and more amazingly, it does it in an end-to-end fashion. That means that the neural net does not require multiple pre-processing stages (mainly handcrafting features that best tell the convnet what is important and what not in order to successfully drive the car); it automatically learns the set of features in order to control the car. From my personal point of view, I can tell that this little assignment already shows how far we can go. Recall that this is just an assignment, but replicating the human driving behavior is a very complex task for any kind of Machine Learning technique, and even harder with the end-to-end approach.

Find a video of the controller driving in the training track.

The interesting part happens in the test track: the car controller has never seen a single image of this track; the result is a generalization on the act of driving from the training track to this test track. The video is in what follows.

To me it is clear that we are in front of a major Machine Learning breakthrough that is yet to show its truly potential; imitating a human driver seems not much of a challenge for Deep Learning.