PROBABILISTIC PROGRAMMING

Probabilistic programming techniques have been in the study phase for a while. In 2015, for example, a team from MIT and NYU, led by Brendan Lake (NYU researcher), worked on a probabilistic programming technique for computers to learn to recognize written characters and objects after seeing a single example.


While this new approach to programming still faces challenges that are difficult to overcome, it has significant potential as it can automate aspects of machine learning model development. Probabilistic programming will make machine learning much easier for researchers and developers because “it’s possible to handle difficult [programming] tunes automatically,” explains Lake.

Machine learning currently involves acquiring a large set of raw data, and often manual identification. The learning is then done in large data centers, using many processors in parallel. “There are only a few really big companies that can really afford to do that,” says Ben Vigoda, co-founder and CEO of Gamalon.

Gamalon’s approach could make it much easier for someone to build and refine a machine learning model. The development of a deep learning algorithm requires a great deal of expertise in mathematics and machine learning. However with the Gamalon approach, it would be easier to form a model using significant examples.

Ben Vigoda showed the MIT Technology Review a demo with a drawing application that uses their new method. It is similar to the one released last year by Google, which uses deep learning to recognize the object that a person is trying to sketch. But while Google’s application needs to see a drawing that matches those already seen, Gamalon’s version uses a probabilistic program to recognize the key features of an object. For example, the application understands that a triangle sitting on a square is probably a house. This means that even if the drawing is very different from what it had seen previously, provided it has these key features, the application will make a correct prediction.

The first products proposed by Gamalon show that this technique could also have commercial use in the short term, using the Bayesian synthesis program to recognize the concepts in a text. The product, The Gamalon Structure , uses the Bayesian synthesis program to recognize concepts from plain text, and it does so more effectively. For example, after only receiving a description of the manufacturer of a TV, they can determine their brand, product name, screen resolution, size, and other characteristics. Also, another app, called “Gamalon Match”, classifies products and prices in a store’s inventory. In each case, even if different acronyms or abbreviations are used for a product or feature, the system can quickly be trained to recognize them.

The ability to learn from a machine with the Bayesian synthesis program will therefore have multiple benefits. A computer or smartphone could learn about the interests of a user without requiring a huge amount of data or hours of learning. In addition, personal data may not be shared with large companies. Robots or autonomous cars could also learn to adapt to their environment much faster using this method of learning.