This New Programming Language Helps You Write 1000 Lines of Code in Under 50 Lines
Rapid developments in Machine Learning are soon going to become a regular feature in your daily newspapers. And why not? Handling big data sets and searching for patterns hidden in them is quite a Herculean task.
But to makes things simpler and enable incorporation in everyday programming, the research powerhouse that is MIT has developed a probabilistic programming language called “Picture” – an extension of Julia, another programming language developed at MIT. In fact, Picture is such a powerful language that researchers at MIT have been able to accomplish computer vision tasks in less than 50 lines of code which are competitive with conventional system containing thousands of lines of code.
“This is the first time that we’re introducing probabilistic programming in the vision area,” says Tejas Kulkarni, an MIT graduate student in brain and cognitive sciences and first author on the new paper. “The whole hope is to write very flexible models, both generative and discriminative models, as short probabilistic code, and then not do anything else. General-purpose inference schemes solve the problems.”
Still confused about probabilistic programming language Picture? Well in simple terms it involves using programming languages based on a probabilistic model which can speed up the process of computer processing and help to scan data sets & patterns efficiently and much more quickly. Picture uses an inference algorithm that continuously readjusts probabilities on the basis of new pieces of data and keeps modifying itself as it goes.
Probabilistic programming language pictures uses statistical inference to cut away much of the basic computational work needed for computer vision and works much like the inverse to computer animation. One of the tasks that the researchers investigated, for instance, was constructing a 3-D model of a human face from 2-D images. Their program described the principal features of the face as being two symmetrically distributed objects (eyes) with two more centrally positioned objects beneath them (the nose and mouth). It required a little work to translate that description into the syntax of the probabilistic programming language, but at that point, the model was complete. Fed with enough examples of 2-D images and their corresponding 3-D models the program was able to figure out the rest for itself, reports MIT news.
Although Probabilistic programming language does not require machine learning to work, it can provide a way to streamline the use of machine learning. In pure machine learning, you drive performance increases by just collecting more and more data and just letting machine learning do the work. In probabilistic programming, “the underlying system is more knowledge-based, using the causal process of how images are formed,” says the professor of brain and cognitive sciences, Josh Tenenbaum
The researchers at MIT shall be presenting the probabilistic programming language system at the Computer Vision and Pattern Recognition conference in June.