Infer.NET - Practical Implementation Issues and a Comparison of Approximation Techniques
Infer.NET is an efficient, general-purpose inference engine developed at Microsoft Cambridge by Tom Minka, John Winn and others. It aims to be highly efficient, general purpose and extensible --- three normally contradictory goals. We have largely managed to achieve these goals using a compiler-like architecture, so that code is generated to perform the desired inference task. Infer.NET can apply one of a range of inference algorithms to a given probabilistic model, and so provides a useful framework for comparing the performance of different algorithms. In this talk, I will describe the capabilities and infrastructure of Infer.NET and give examples of applying both expectation propagation and variational message passing on the same model. I will also describe some failure cases that we have encountered for each algorithm.
Author: John Winn, Microsoft Research, Cambridge