Want to keep the TNW Conference vibe going?? Tickets for TNW2022 are available now >>

The heart of tech

This article was published on February 27, 2017

    This browser simulation lets you wreck cars to train self-driving AI

    This browser simulation lets you wreck cars to train self-driving AI
    Bryan Clark
    Story by

    Bryan Clark

    Former Managing Editor, TNW

    Bryan is a freelance journalist. Bryan is a freelance journalist.

    Driving, driving, driving… DEATH! If ceding control of your car to AI scares you, this demo isn’t going to ease your fears.

    Created by 17-year-old designer and engineer Jan Hünermann, the application acts as an on-going project journal. His goal is to “create a fully self-learning agent” capable of piloting a car in a 2D environment. It’s obviously a work in progress.

    Built in Javascript, the application allows website visitors to watch as two cars pilot their way around pre-built obstacles. Or, you can up the ante and build your own road blocks.

    The cars are capable navigators. They struggle, however, when users draw new items onto the map.

    The cars do a mostly alright job of avoiding new obstacles, it’s only when you draw barriers large enough to block their path we run into problems. The cars often attempt to forge ahead, leaving them stuck in rather weird places. If this were real-life, it’d be the equivalent of a Chevy Tahoe trying to squeeze into an alley wide enough for a bicycle.

    But each 2D crash brings progress.

    For every obstacle the tiny cars run into, the deep learning algorithm figures out what’s good and what’s bad. Over time, the algorithm weeds out the bad behavior and we’re left with well-behaved cars, at least in 2D.

    With enough data, the cars learn that driving through a Starbucks to pick up a mocha frappe isn’t appropriate behavior — no matter how much you hate capitalism or overpriced coffee. Or, you know, whatever the 2D equivalent of the above example is.

    The code for the demo is available, along with the JavaScript library, at GitHub.

    via Digg