Abstract: Symbolic languages are fundamental to computing: they help us understand and orchestrate unfamiliar concepts and computation in complex domains. Symbolic learning aims to synthesize logical formulas and programs expressed in these languages given a few examples, with several applications including automation for programming and verification of computer systems. The problem is highly complex and effective algorithms and tools resort to domain-and language-specific heuristics, which makes it hard to use symbolic learning in new domains.
In this talk, I will discuss my work on foundations of symbolic learning, a meta-theorem which connects learning algorithms to language semantics by way of a special class of interpreters. With this connection, I will explain how a fundamental technique based on version space algebra, as realized in program synthesizers from industry, e.g., Microsoft Excel's FlashFill, is in fact an instance of a deeper concept related to tree automata. By simply writing specialized language interpreters, we are able to effectively describe learning algorithms and simultaneously prove new theorems about the decidability of learning problems for several well-studied symbolic languages in computer science. I will discuss how this connection between interpreters and algorithms uncovers a path to efficient specification and design of symbolic learning algorithms for new domains. I will also discuss my work on learning logical formulas, and its application to robust visual discrimination and automatic discovery of axiomatizations.
Finally, I will discuss my work on learning domain-specific languages (DSLs) for few-shot learning, which explores the problem of constructing DSLs that adequately balance expressive power, succinctness, and tractability for effective learning in specific domains. I will conclude with some ideas for practically realizing a compiler from interpreters to learning algorithms and some interesting applications of symbolic learning to music, math, and machine learning more broadly.
Bio: Paul Krogmeier is a PhD candidate at the University of Illinois Urbana-Champaign advised by Prof. Madhusudan Parthasarathy. Paul's research focuses on algorithms for symbolic learning and the problem of learning symbolic languages that capture specific domains. He has also published in the areas of program synthesis, program verification, and differential privacy. He has bachelor's and master's degrees in Computer Engineering from Purdue University.