The growing demand for artificial intelligence based applications has also raised the requirements for platforms that are used to build them. At the Programming Language Design and Implementation conference, a group of researchers at MIT presented a paper and demonstrated novel probabilistic-programming system language called ‘Gen’.
According to MIT News, the researchers tried to combine automation, flexibility, and speed into one. “If we do that, maybe we can help democratize this much broader collection of modeling and inference algorithms like TensorFlow did for deep learning,” said Vikash K. Mansinghka, member of the team that developed Gen.
Artificial Intelligence brings a variety of domains like statistics, computer vision, and deep learning together, and for a vast field like AI, the programming languages need to be flexible and agile as well.
But there are a few challenges you may come across while trying to build such platforms:
- Achieving good performance for heterogeneous probabilistic models that combine black box simulators, deep neural networks, and recursion
- Simplifying the implementation of inference algorithms with abstractions while being minimally restrictive
As more and more advanced models arising in the industry such as computer vision and robotics, the existing systems lack the efficiency and flexibility for practical use.
Where You Can Use Gen?
According to the authors, Gen can be used for AI applications based on computer vision, robotics, and statistics. Here, you won’t have to deal with the equations or manually write high-performance code.
A short code of Gen can make computer vision tasks like 3D body poses possible, which are ubiquitous with autonomous systems, human-machine interactions, and augmented reality.
Gen also contains components to perform graphics rendering, deep-learning, and probability simulations. Furthermore, you can simplify data analytics using another Gen program that automatically generates sophisticated statistical models for feature extraction from datasets.
How is GEN Different?
Unlike other platforms like TensorFlow, PyTorch, Theano, Gen programs factorize modeling and inference explicitly. Gen has automated the process of calculating the proposal densities and given a platform to combine Julia and TensorFlow code.
“Gen has already 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,” authors claimed.
How to Install Gen?
First of all, you’ll need Julia 1.0 or later. Download from 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
It will install Gen in your system. Gen’s source code is publicly available and is being presented at upcoming developer conferences such as Strange Loop and JuliaCon.