Researchers combine deep learning and symbolic reasoning for a more flexible way of teaching computers to program, says Kim Martineau, MIT Quest for Intelligence.
Learning to code involves recognizing how to structure a program, and
how to fill in every last detail correctly. No wonder it can be so
frustrating.
A new program-writing AI, SketchAdapt,
offers a way out. Trained on tens of thousands of program examples,
SketchAdapt learns how to compose short, high-level programs, while
letting a second set of algorithms find the right sub-programs to fill
in the details. Unlike similar approaches for automated program-writing,
SketchAdapt knows when to switch from statistical pattern-matching to a
less efficient, but more versatile, symbolic reasoning mode to fill in
the gaps.
“Neural nets are pretty good at getting the structure right, but not the details,” says Armando Solar-Lezama, a professor at MIT’s Computer Science and Artificial Intelligence Laboratory
(CSAIL). “By dividing up the labor — letting the neural nets handle the
high-level structure, and using a search strategy to fill in the blanks
— we can write efficient programs that give the right answer.”
SketchAdapt is a collaboration between Solar-Lezama and Josh Tenenbaum, a professor at CSAIL and MIT’s Center for Brains, Minds and Machines. The work will be presented at the International Conference on Machine Learning June 10-15...
SketchAdapt is limited to writing very short programs. Anything more
requires too much computation. Nonetheless, it’s intended more to
complement programmers rather than replace them, the researchers say.
“Our focus is on giving programming tools to people who want them,” says
Nye. “They can tell the computer what they want to do, and the computer
can write the program.”
Read more...
Source: MIT News