1043 GMT October 28, 2021
The work, which appears in the latest issue of the journal Science, marks a significant advance in the field — one that dramatically shortens the time it takes computers to learn new concepts and broadens their application to more creative tasks, Christian Science Monitor wrote.
"Our results show that by reverse engineering how people think about a problem, we can develop better algorithms," explained Brenden Lake, a Moore-Sloan Data Science Fellow at New York University and the paper's lead author. "Moreover, this work points to promising methods to narrow the gap for other machine learning tasks."
When humans are exposed to a new concept — such as new piece of kitchen equipment or a new letter in an unfamiliar alphabet — they often need only a few examples to understand its make-up and recognize new instances. While machines can now replicate some pattern-recognition tasks previously done only by humans — ATMs reading the numbers written on a check, for instance — machines typically need to be given hundreds or thousands of examples to perform with similar accuracy.
"It has been very difficult to build machines that require as little data as humans when learning a new concept," Lake said. "Replicating these abilities is an exciting area of research connecting machine learning, statistics, computer vision, and cognitive science."
In the work, the researchers sought to shorten the learning process and make it more akin to the way humans acquire and apply new knowledge — i.e., learning from a small number of examples and performing a range of tasks, such as generating new examples of a concept or generating whole new concepts.
To do so, they developed a 'Bayesian Program Learning' (BPL) framework, where concepts are represented as simple computer programs. For instance, the letter 'A' is represented by computer code — resembling the work of a computer programmer — that generates examples of that letter when the code is run. Yet no programmer is required during the learning process: The algorithm programs itself by constructing code to produce the letter it sees. Also, unlike standard computer programs that produce the same output every time they run, these probabilistic programs produce different outputs at each execution. This allows them to capture the way instances of a concept vary, such as the differences between how two people draw the letter 'A.'