Learning Stochastic Inverses
We describe a class of algorithms for amortized inference in Bayesian networks. In this setting, we invest computation upfront to support rapid online inference for a wide range of queries. Our approach is based on learning an inverse factorization of a model's joint distribution: a factorization that turns observations into root nodes. Our algorithms accumulate information to estimate the local conditional distributions that constitute such a factorization. These stochastic inverses can be used to invert each of the computation steps leading to an observation, sampling backwards in order to quickly find a likely explanation. We show that estimated inverses converge asymptotically in number of (prior or posterior) training samples. To make use of inverses before convergence, we describe the Inverse MCMC algorithm, which uses stochastic inverses to make block proposals for a Metropolis-Hastings sampler. We explore the efficiency of this sampler for a variety of parameter regimes and Bayes nets.
This paper is based on the observation that while 
      doing posterior sampling in a Bayesian network, information can be 
      collected about conditional relationships between variables that 
      follow structure that is different from the given Bayes net. The idea 
      is then to use this insight to learn conditional relationships for 
      alternative Bayes net factorizations. This is useful either to (a) sample 
      from these approximate alternative factorizations to get fast 
      approximate samples by conditioning on the observations then sampling 
      outwards following the directed structure of the alternative graph, or 
      (b) using the learned conditional relationships to create proposals for 
      Metropolis Hastings MCMC. The primary benefit of this setup is in 
      the setting of amortized inference, where it is assumed that we are 
      required to solve many posterior inference tasks over the same model 
      but where the pattern of observations may change. There are three 
      main steps: 1. Construct the inverse factorization networks. 2. 
      Learn the parameters for the inverse factorization networks from 
      posterior sampling runs. 3. Use the learned parameters to improve 
      inference. The paper gives a heuristic algorithm for (1). Given 
      the justification provided in the paper, (2) is relatively 
      straightforward, and the paper suggests either using empirical 
      frequency counts or learning an approximation via e.g. logistic 
      regression. One inverse network is learned per variable. For (3), the 
      paper uses the inverse networks to produce proposals for Metropolis 
      Hastings MCMC. Block proposals can be generated by proposing jointly 
      the assignments to the "last" k variables in the inverse network. 
      Overall, I found the paper to have interesting ideas and to be an 
      enjoyable read. The exposition is good and the ideas come through 
      clearly. One work that I'd like to see cited and discussed is data 
      driven MCMC: Tu, Zhuowen, and Song-Chun Zhu. "Image segmentation by 
      data-driven Markov chain Monte Carlo." Pattern Analysis and Machine 
      Intelligence, IEEE Transactions on 24.5 (2002): 657-673. Another 
      concern is in how large the parent sets will be in the learned inverse 
      networks. Specifically, on line 12 of Algorithm 1, we must choose a 
      parent set that d-separates a variable from the rest of the graph. It 
      would be nice to have some discussion about how large these sets are 
      in practice (relatedly, some more motivation about what is going on in 
      Algorithm 1, what tradeoffs were considered when developing the 
      heuristic, etc. would be welcome). A related question is if 
      keeping the parent sets as small as possible is important. It seems 
      like the extreme opposite choice for the inverse factorizations would 
      be something like the NADE model [1], which assumes no conditional 
      independence. Have you experimented with different inverse 
      factorization algorithms, and can you say what aspects of Algorithm 1 
      are most important? [1] The Neural Autoregressive 
      Distribution Estimator Hugo Larochelle and Iain Murray, Artificial 
      Intelligence and Statistics, 2011