Controlling procedural modeling programs with stochastically-ordered sequential Monte Carlo

We present a method for controlling the output of procedural modeling programs using Sequential Monte Carlo (SMC). Previous probabilistic methods for controlling procedural models use Markov Chain Monte Carlo (MCMC), which receives control feedback only for completely-generated models. In contrast, SMC receives feedback incrementally on incomplete models, allowing it to reallocate computational resources and converge quickly. To handle the many possible sequentializations of a structured, recursive procedural modeling program, we develop and prove the correctness of a new SMC variant, Stochastically-Ordered Sequential Monte Carlo (SOSMC). We implement SOSMC for general-purpose programs using a new programming primitive: the stochastic future. Finally, we show that SOSMC reliably generates high-quality outputs for a variety of programs and control scoring functions. For small computational budgets, SOSMC's outputs often score nearly twice as high as those of MCMC or normal SMC.

[1]  Radomír Mech,et al.  Metropolis procedural modeling , 2011, TOGS.

[2]  J. Hammersley,et al.  Poor Man's Monte Carlo , 1954 .

[3]  Ouyang Geng On Limit Theory , 2012 .

[4]  Luc Van Gool,et al.  Procedural modeling of buildings , 2006, SIGGRAPH 2006.

[5]  Claude Sammut Beam Search , 2017, Encyclopedia of Machine Learning and Data Mining.

[6]  Daniel G. Aliaga,et al.  Inverse design of urban procedural models , 2012, ACM Trans. Graph..

[7]  Noah D. Goodman,et al.  Lightweight Implementations of Probabilistic Programming Languages Via Transformational Compilation , 2011, AISTATS.

[8]  W. Gilks,et al.  Following a moving target—Monte Carlo inference for dynamic Bayesian models , 2001 .

[9]  M. Li,et al.  Particle Markov chain Monte Carlo methods , 2015 .

[10]  Jüri Lember,et al.  Bridging Viterbi and posterior decoding: a generalized risk approach to hidden path inference based on hidden Markov models , 2014, J. Mach. Learn. Res..

[11]  John Hart,et al.  ACM Transactions on Graphics , 2004, SIGGRAPH 2004.

[12]  Roberto Ierusalimschy,et al.  Revisiting coroutines , 2009, TOPL.

[13]  Frank D. Wood,et al.  A New Approach to Probabilistic Programming Inference , 2014, AISTATS.

[14]  Noah D. Goodman,et al.  Amortized Inference in Probabilistic Reasoning , 2014, CogSci.

[15]  Jan Vitek,et al.  Terra: a multi-stage language for high-performance computing , 2013, PLDI.

[16]  Frank D. Wood,et al.  A Compilation Target for Probabilistic Programming Languages , 2014, ICML.

[17]  Alan E. Gelfand,et al.  Bayesian statistics without tears: A sampling-resampling perspective , 1992 .

[18]  Radomír Mech,et al.  Inverse Procedural Modelling of Trees , 2014, Comput. Graph. Forum.

[19]  Timothy J. Robinson,et al.  Sequential Monte Carlo Methods in Practice , 2003 .

[20]  Radomír Mech,et al.  Guided Procedural Modeling , 2011, Comput. Graph. Forum.

[21]  Pat Hanrahan,et al.  Synthesizing open worlds with constraints using locally annealed reversible jump MCMC , 2012, ACM Trans. Graph..

[22]  David Salesin,et al.  Computer-generated floral ornament , 1998, SIGGRAPH.

[23]  Radomír Mech,et al.  Visual models of plants interacting with their environment , 1996, SIGGRAPH.

[24]  Yee Whye Teh,et al.  Asynchronous Anytime Sequential Monte Carlo , 2014, NIPS.

[25]  N. Gordon,et al.  Novel approach to nonlinear/non-Gaussian Bayesian state estimation , 1993 .

[26]  Charles R. Dyer,et al.  Sequential monte carlo methods for physically based rendering , 2006 .

[27]  Thomas L. Griffiths,et al.  Modeling the effects of memory on human online sentence processing with particle filters , 2008, NIPS.

[28]  HanrahanPat,et al.  Controlling procedural modeling programs with stochastically-ordered sequential Monte Carlo , 2015 .

[29]  A. W. Rosenbluth,et al.  MONTE CARLO CALCULATION OF THE AVERAGE EXTENSION OF MOLECULAR CHAINS , 1955 .

[30]  Eric Moulines,et al.  Comparison of resampling schemes for particle filtering , 2005, ISPA 2005. Proceedings of the 4th International Symposium on Image and Signal Processing and Analysis, 2005..

[31]  A. Doucet,et al.  Particle Markov chain Monte Carlo methods , 2010 .

[32]  Joshua B. Tenenbaum,et al.  Inverse Graphics with Probabilistic CAD Models , 2014, ArXiv.

[33]  Daniel Cohen-Or,et al.  Fit and diverse , 2012, ACM Trans. Graph..

[34]  Jaakko Lehtinen,et al.  Online motion synthesis using sequential Monte Carlo , 2014, ACM Trans. Graph..

[35]  Leland Stewart,et al.  Use of Bayesian belief networks to fuse continuous and discrete information for target recognition, tracking, and situation assessment , 1992, Defense, Security, and Sensing.

[36]  Mark James,et al.  Synthetic topiary , 1994, SIGGRAPH.

[37]  Leonidas J. Guibas,et al.  Optimally combining sampling techniques for Monte Carlo rendering , 1995, SIGGRAPH.

[38]  Joshua B. Tenenbaum,et al.  Church: a language for generative models , 2008, UAI.

[39]  Ingo Wald,et al.  Sequential Monte Carlo Adaptation in Low-Anisotropy Participating Media , 2008, Comput. Graph. Forum.

[40]  Robert H. Halstead,et al.  MULTILISP: a language for concurrent symbolic computation , 1985, TOPL.

[41]  Pat Hanrahan,et al.  Generating Design Suggestions under Tight Constraints with Gradient‐based Probabilistic Programming , 2015, Comput. Graph. Forum.

[42]  Fredrik Lindsten,et al.  Particle gibbs with ancestor sampling , 2014, J. Mach. Learn. Res..