Skip to yearly menu bar Skip to main content

Keynote Talk
Workshop: Workshop on Computer Assisted Programming (CAP)

Kevin Ellis Talk

Kevin Ellis


Title: Growing generalizable, interpretable knowledge with wake-sleep program learning

Abstract: Two challenges in engineering program synthesis systems are: (1) crafting specialized yet expressive domain specific languages, and (2) designing search algorithms that can tractably explore the space of expressions in this domain specific language. We take a step toward the joint learning of domain specific languages, and the search algorithms performs synthesis in that language. We propose an algorithm which starts with a relatively minimal domain specific language, and then enriches that language by compressing out common syntactic patterns into a library of reusable domain specific code. In tandem, the system trains a neural network to guide search over expressions in the growing language. From a machine learning perspective, this system implements a wake-sleep algorithms similar to the Helmholtz machine. We apply this algorithm to AI and program synthesis problems, with the goal of understanding how domain specific languages and neural program synthesizers can mutually bootstrap one another.

Bio: Kevin Ellis works across program synthesis and artificial intelligence. His focuses on using machine learning to develop better program synthesis algorithms, and on applications of program synthesis to graphics and natural language. He recently finished his PhD at MIT coadvised by Josh Tenenbaum and Armando Solar-Lezama, and is working as a research scientist at Common Sense Machines before starting as an assistant professor at Cornell in summer 2021.