Meet Gen, A New AI Programming Language That Thrives On Automation, Flexibility And Speed

The good thing about artificial intelligence is that it brings together a variety of domains like statistics, computer vision and deep learning, among others, under one roof and enables the developers to mutually benefit from them. The growing demand for AI-based applications has also raised the bar for the platforms that are used to build them. 

For a vast field like AI, the platforms or programming languages, to be specific, need to be flexible as well as agile. But there are a few challenges one may come across in trying to build such platforms:

THE BELAMY

Sign up for your weekly dose of what's up in emerging technology.
  1. Achieving good performance for heterogeneous probabilistic models that combine black box simulators, deep neural networks, and recursion 
  2. Providing users with abstractions that simplify the implementation of inference algorithms while being minimally restrictive

Existing systems lack the flexibility and efficiency needed for practical use with more challenging models arising in fields like computer vision and robotics. 

In a paper presented at the Programming Language Design and Implementation conference, a group of researchers at MIT have demonstrated a novel probabilistic-programming system named “Gen”. 

According to MIT News, the researchers sought to combine the best of all worlds — automation, flexibility, and speed — into one. “If we do that, maybe we can help democratise this much broader collection of modelling and inference algorithms like TensorFlow did for deep learning,” says Vikash K. Mansinghka who is part of the team that developed Gen.

Where Does Gen Fit In

The authors claim that Gen can be used for AI applications such as computer vision, robotics, and statistics — without having to deal with equations or manually write high-performance code.

A short code of Gen can enable the user to infer computer vision tasks like 3D body poses, which are ubiquitous with autonomous systems, human-machine interactions, and augmented reality. 

Not only that but Gen also contains components that perform graphics rendering, deep-learning, and probability simulations as well.

Gen can be used to simplify data analytics by using another Gen program that automatically generates sophisticated statistical models for feature extraction from datasets.

As far as the use cases go, Gen has found its niche in the following departments:

  • Intel and MIT have collaborated to develop depth-sense cameras used in augmented reality systems which use Gen.
  • Whereas, MIT Lincoln Laboratory is using Gen in aerial robotics for humanitarian relief and disaster response.
  • Gen is central to an MIT-IBM Watson AI Lab project, along with DARPA ongoing Machine Common Sense project, which aims to model human common sense at the level of an 18-month-old child. 

What makes GEN Different?

Unlike deep learning platforms such as TensorFlow, PyTorch, Theano, Gen programs explicitly factorise modelling and inference. 

By automating the process of calculating the proposal densities needed for a broad range of advanced Monte Carlo techniques, Gen has given a platform to combine Julia and TensorFlow code.

The authors claim that Gen has outperformed existing probabilistic programming languages in solving inference problems including 3D body pose estimation from a single depth image; robust regression; inferring the probable destination of a person or robot traversing its environment, and structure learning for real-world time series data. These performance gains are enabled by Gen’s more flexible inference programming capabilities.

Here’s how to install Gen:

Installation

First, obtain Julia 1.0 or later, available here.

The Gen package can be installed with the Julia package manager. From the Julia REPL, type ] to enter the Pkg REPL mode and then run:

pkg> add https://github.com/probcomp/Gen

Know more about Gen here

More Great AIM Stories

Ram Sagar
I have a master's degree in Robotics and I write about machine learning advancements.

Our Upcoming Events

Masterclass, Virtual
How to achieve real-time AI inference on your CPU
7th Jul

Masterclass, Virtual
How to power applications for the data-driven economy
20th Jul

Conference, in-person (Bangalore)
Cypher 2022
21-23rd Sep

Conference, Virtual
Deep Learning DevCon 2022
29th Oct

3 Ways to Join our Community

Discord Server

Stay Connected with a larger ecosystem of data science and ML Professionals

Telegram Channel

Discover special offers, top stories, upcoming events, and more.

Subscribe to our newsletter

Get the latest updates from AIM
MOST POPULAR

What can SEBI learn from casinos?

It is said that casino AI technology comes with superior risk management systems compared to traditional data analytics that regulators are currently using.

Will Tesla Make (it) in India?

Tesla has struggled with optimising their production because Musk has been intent on manufacturing all the car’s parts independent of other suppliers since 2017.