This has been the year of the AI machine, and it’s been a rapid change. Artificial intelligence has suddenly begun to match and even outperform humans in tasks where we’ve have always held the upper hand—face recognition, object recognition, language understanding and so on.
And yet there are plenty of complex tasks in which AI machines still trail humans. These range from simple housework such as ironing to more advanced tasks such as driving. The reason for the slow progress in these areas is not that intelligent machines can’t do these tasks. Far from it. It’s because nobody has worked out how to train them.
The huge progress in face recognition, for example, has come about in large part because of massive databases of images in which human annotators have clearly marked faces in advance. AI algorithms have used these databases to learn.
But nobody has been able to create similar databases for more complex tasks such as driving. The absence of such databases is one of the main reasons for the lack of progress in this area.
Today, that looks set to change thanks to the work of Pranav Rajpurkar and pals at Stanford University in California. These guys have developed a way of creating large annotated databases for exactly these kinds of difficult tasks. And they’ve used the database to teach an AI machine some of the important driving skills that humans take for granted.
Their approach is simple in essence. The basic idea is to make it easy for human annotators to add information to the database and then to evaluate it. Rajpurkar and co do this by turning the process of data entry into a driving game that runs on a Web browser.
The Stanford team start by creating a database of road conditions by driving their own research vehicle along California’s highways. This gathers GPS data, visual data, laser scanning data, and so on.
They then process this data to generate a virtual 3-D environment. The goal is for an AI algorithm—a convolutional neural network called Driverseat—to evaluate this environment and determine things like the positions of other vehicles, the lane it is driving in, off-ramps, on-ramps, and so on. And to do this in a wide variety of driving conditions.
To keep things relatively simple, in this study Rajpurkar and co focus purely on the problem of lane identification. This is a task that is trivial for human drivers but surprisingly difficult for machines because of the 3-D nature of the problem and the effect that different lighting and weather conditions can have on the task.
In the browser-based game, the human annotator is presented with the 3-D environment that the AI algorithm would “see.” This includes the algorithm’s first attempt at identifying the lanes. The human’s task is to correct any errors as the virtual car moves along the road. These corrections are then fed back to the neural network so that it learns how to better analyze the road.
By gathering data from a wide range of annotators, Driverseat effectively learns from the crowd.
The results make for interesting reading. The team tested the neural net on a portion of the database it hadn’t yet seen. They found that the machine is good at identifying lanes as the road curves and even when lanes are partially occluded by other vehicles.
However, the algorithm has difficulty spotting off-ramps and on-ramps. Also, its general performance drops when shadows fall across the road—from bridges, for example—or when the road color changes, as it might on a different road surface.
Interestingly, the team’s evaluation system found that the algorithm worked less well when the sun was close to the horizon, interfering with vision. That’s because of a bias in the database—California’s main highways run from north to south, rather than east to west, so there is less data about driving into the sunset or sunrise.
That’s something the team is looking to fix in future, but they wouldn’t have known about it at all without the new evaluation system. Discovering these kinds of weaknesses has always been hard, so this is a valuable step forward. It is certainly better to know about these kinds of weaknesses before an algorithm is let loose on the real world, rather than afterwards.
Of course, Driverseat is not perfect by any means. But the crowdteaching approach to training is a significant advance. For the first time, an AI machine has learned a complex driving skill from the behavior of real people. “We have shown how we can integrate people’s knowledge and experience on the roads to ‘teach’ machines to drive,” say Rajpurkar and co.
That should be useful for improving the next generation of cars. The latest cars are already fitted with intelligent cruise-control devices that maintain a distance from the car in front and brake when the vehicles get too close. Some vehicles can change lanes automatically, and so on.
But the ability to do this on a wide variety of roads in all kinds of driving conditions is going to need more built-in intelligence. Using humans to train AI machines in this way makes sense.
This work has broader implications, too. There are many seemingly simple tasks that humans take for granted but that machines will find hard—washing up, feeding a baby, ironing. Without databases to train AI machines, they’ll never learn. If the method that Rajpurkar and co have developed could be applied to other tasks, humans could quickly become the ultimate trainers for AI machines.
Ref: arxiv.org/abs/1512.01872 : Driverseat: Crowdstrapping Learning Tasks for Autonomous Driving