'Probabilistic' Programming Lets Computers Think More Like Humans And Do It Quickly

"Probabilistic" programming can instruct a computer using just 50 lines of code to complete a task that used to take thousands of lines, researchers say.

New programming languages are being developed to help computers in machine learning, where they scan extensive sets of data to seek out patterns.

To more easily create applications using such capabilities, computer scientists are turning to languages within probabilistic programming designed to let programmers vary techniques of machine-learning from other contexts that have been seen to work well.

A four-year program of research into probabilistic-programming has been funded by the U.S. Defense Advanced Research Projects Agency.

Examples of the research will be presented at a Computer Vision and Pattern Recognition conference at the Massachusetts Institute of Technology in June.

For some common visual computer tasks, concise programs that are shorter than 50 lines in length programmed in the new languages can compete with conventional methods requiring code lines running into the thousands, MIT researchers have reported.

"This is the first time that we're introducing probabilistic programming in the vision area," says Tejas Kulkarni, a graduate student in cognitive and brain sciences.

"The whole hope is to write very flexible models, both generative and discriminative models, as short probabilistic code, and then not do anything else," he says.

That allows general-purpose inference schemes to solve even difficult problems, he says.

As an example, the MIT researchers programmed a computer to construct 3D models of human faces from a dataset of 2D images.

The short probabilistic program simply describes principal identifying features of a human face as two symmetrically arranged objects — the eyes — and two more objects — nose and mouth — centrally positioned beneath.

Once provided with enough 2D photos and their matching 3D versions, the program — and the computer — can figure out how to perform the task on its own, the researchers say.

"When you think about probabilistic programs, you think very intuitively when you're modeling," Kulkarni says. "You don't think mathematically. It's a very different style of modeling."

Probabilistic programming applied to machine learning can lead to inference algorithms that can modify themselves while they operate to automatically select strategies that appear to provide the best results, he explains.

"Using learning to improve inference will be task-specific, but probabilistic programming may alleviate re-writing code across different problems," he says. "The code can be generic if the learning machinery is powerful enough to learn different strategies for different tasks."

ⓒ 2024 TECHTIMES.com All rights reserved. Do not reproduce without permission.
Join the Discussion
Real Time Analytics