Meta-Programming for Statistical Machine Learning
NII Shonan Meeting:
@ Shonan Village Center, May 22-25, 2018
- Oleg Kiselyov, Tohoku University, Japan
- Tiark Rompf, Purdue University, USA
- Jennifer Neville, Purdue University, USA
- Yukiyoshi Kameyama, University of Tsukuba, Japan
- Description of the Meeting
Statistical machine learning (ML) is a broad branch of machine learning aimed at drawing conclusions and learn- ing from inherently uncertain data, using “ideas from probability theory and statistics to address uncertainty while incorporating tools from logic, databases, and programming languages to represent structure.” (Getoor, Taskar, 2007).
We propose a discussion-heavy workshop to promote the evident and growing interest of the developers of ML/probabilistic domain-specific languages in program generation and transformation, and programming language (PL) researchers in ML applications.
We anticipate the workshop participants to consist of three groups of people: Statistical Machine Learning, researchers and practitioners building, using, and adjusting probabilistic learning systems, and PL researchers with some connections to ML.
- Probabilistic programming is coming of age and could really help real ML people in some cases. Selling points: correctness by construction (ML codes are very hard to debug and test) and some consistency in performance (saves time in many optimizations and writing custom code).
- Many implementors of probabilistic languages and libraries come to realize the importance of meta- programming and PL research in general (determining the validity of optimizations/transformations, knowledge of transformation techniques and good ways/algorithms of applying them, knowing tools like Lightweight Modular Staging (LMS), partial evaluators, staged languages).
- Treating programs as subjects of probabilistic computation, in the sense of learning facts about programs from data, i.e. learning from “big code”.
Our goal is to bring three groups together and see what probabilistic programming can do more, and mainly how we can apply advances in PL and meta-programming more consciously and profitably (and if we cannot, what the PL community should be investigating then).
Just as the two Shonan meetings (No.2012-4 “Bridging the Theory of Staged Programming Languages and the Practice of High-Performance Computing” and No. 2014-7 “Staging and High-Performance Computing: Theory and Practice”) aimed to solicit and discuss real-world applications of assured code generation in HPC (High-Performance Computing) that would drive PL research in meta-programming, we propose a similar direction for ML and meta-programming.
To promote mutual understanding, we plan for the workshop to have lots of time for discussion. We will emphasize tutorial, brainstorming and working-group sessions rather than mere conference-like presentations.