Blogs (27) >>
ICFP 2017
Sun 3 - Sat 9 September 2017 Oxford, United Kingdom
Mon 4 Sep 2017 15:46 - 16:10 at L1 - Applications Chair(s): Alexandra Silva

Probabilistic programming systems make machine learning methods modular by automating \emph{inference}. Recent work by Shan and Ramsey (2017) makes inference itself modular by automating the common component of \emph{conditioning}. Their work introduces a symbolic program transformation that treats conditioning generally via the measure-theoretic notion of \emph{disintegration}. This technique, however, is limited to conditioning a single scalar variable. As a step towards tackling realistic machine learning applications, we have extended the disintegration algorithm to symbolically condition arrays in probabilistic programs. The extended algorithm implements \emph{lifted disintegration}, where repetition is treated symbolically and without unrolling loops. The technique uses a language of \emph{index variables} for tracking expressions at various array levels. We find that the method works well for arbitrarily-sized arrays of independent random choices, with the conditioning step taking time linear in the number of indices needed to select an element.