Machine Learning as Program Synthesis

November 20th, 12:00 pm- 1:00 pm in DCH 3092
Speaker: Swarat Chaudhuri

Please indicate interest, especially if you want lunch, here.
Abstract:

Program synthesis, the problem of automatically discovering programs that implement a given specification, is a long-standing goal in computer science. The last decade has seen a flurry of activity in this area, mostly in the Programming Languages community. However, this problem is also of interest to Machine Learning researchers. This is because machine learning models, especially for complex, procedural tasks, are naturally represented as programs that use symbolic primitives for higher-level reasoning and neural networks for lower-level pattern recognition. Such “neurosymbolic”, programmatic models have a number of advantages: they can be easier to interpret and more amenable to automatic formal certification than purely neural models, permit the encoding of strong inductive biases, and facilitate the transfer of knowledge across learning settings. The learning of such models is a form of program synthesis.

In this talk, I will summarize some of our recent work on such program synthesis problems. In particular, I will describe PROPEL, a reinforcement learning framework in which policies are represented as programs in a domain-specific language, and learning amounts to synthesizing these programs. I will also describe HOUDINI, a learning framework that uses the modularity of a functional programming language to reuse neural modules across learning tasks. Collectively, these results point to a new way in which ideas from Programming Languages and Machine Learning can come together and help realize the dream of high-performance, reliable, and trustworthy intelligent systems.

This entry was posted in Uncategorized. Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *