Uber's self-driving car ambitions have been an open secret surrounding the company for some time now. If the ride share company's ambitions are met, someday when you hail a ride using its app it'll be an autonomous car that shows instead of a human looking to supplement his income. The company has been actively recruiting engineering talent toward its autonomous car program – even running into some legal trouble with Google along the way over accusations of poaching talent and technology.

By making Pyro open souce Uber is hoping to encourage the wider engineering community to explore AI research, including autonomous car development. (Image source: Uber).

Uber is so serious about artificial intelligence that it even established its own AI team (Uber AI Labs) and developed its own programming language, Pyro. And now it has made Pyro open source in an attempt to leverage the wider engineering community towards improving its ride sharing app as well as its development of algorithms to assist with self-driving cars.

“Achieving Uber’s goal of bringing reliable transportation to everyone requires effortless prediction and optimization at every turn. Opportunities range from matching riders to drivers, to suggesting optimal routes, finding sensible pool combinations, and even creating the next generation of intelligent vehicles,” Noah Goodman a researcher at Uber AI Labs wrote in a release statement. “...By open sourcing Pyro, we hope to encourage the scientific world to collaborate on making AI tools more flexible, open, and easy-to-use.”

Pyro is a probabilistic programming language that combines deep learning with Bayesian modeling, which expresses statistics based on degrees of belief. Few things can be as unpredictable as the flow of traffic in busy cities and probabilistic modeling offers a solution to help AI get a handle on all of the chaos.

With Pyro engineers can develop AI capable of making decisions based on models of probability as well as prior knowledge while also being able to adapt based on new knowledge and data. Essentially, Pyro is designed to create algorithms that can best predict solutions to the problems Uber is most concerned with, things like demand for rides, finding the best routes, and traffic conditions.

Uber says that Pyro is a universal language (it's backend is based in Python) that is also scalable, minimal, and flexible. And it hopes the engineering community will embrace it and apply it toward AI research.

Pyro is only in alpha currently and early applications will likely be toward applications like predicting ride supply and better assisting human drivers. But it's not difficult to see where the road leads. If one looks at Pyro as a means of creating AI that can act predictively, adding an additional layer such as reinforcement learning on top of this could point the way toward optimizing AI for self-driving cars. Using virtual training and simulation an AI could be taught the best routes around a city, how to predict traffic conditions and adjust accordingly, and even how to be where it will be needed most. Imagine following a major sporting event a fleet of Uber vehicles deployed to pick up passengers and each vehicle was able to navigate the best route to its passengers' homes and even adjust to traffic conditions and emergencies in real time.

Uber has already established a GitHub repository for Pyro as well as full documentation for anyone interesting in installing and experimenting with it.

Chris Wiltz is a Senior Editor at Design News, covering emerging technologies including AI, VR/AR, and robotics.