CS Talk - Daniel Ritchie
Title: Probabilistic Programming for Procedural Modeling and Design
Host: Holly Rushmeier
Coffee/tea - 10:15, BCT MC035
Computational design is now widespread: it is easier than ever to 3D print a product, publish graphic designs, or develop and sell a game online.
Procedural modeling—the use of randomized procedures to generate design artifacts—is a powerful tool for computational design. It can enable efficient content creation at scale, such as filling virtual cities with unique buildings. It can generate content with fine detail, such as intricate illustrated floral ornamentation. It can also produce surprising creations that a human designer would not have developed on her own.
While randomness creates variety, it is also difficult to control. In this talk, I introduce probabilistic programming as a method for controlling procedural models. A probabilistic programming language is a deterministic language augmented with random choice primitives and Bayesian inference operators for computing the distribution over program outputs given constraints. These languages allow users to describe their content using the full expressive power of high-level language features such as recursion and higher-order functions, while relying on the well-studied conditioning semantics of Bayesian inference to enforce constraints. I will then discuss my recent work on improving inference efficiency in such settings, including incrementalized execution of Metropolis-Hastings proposals, as well as adapting Hamiltonian Monte Carlo and Sequential Monte Carlo for use with procedural modeling programs. Finally, I will describe a few design applications I would like to build with probabilistic programs and discuss the open problems that must be addressed in order to do so.
Daniel Ritchie is a Ph.D candidate in the Computer Science Department at Stanford University, where he works with Pat Hanrahan and Noah Goodman. His research uses probabilistic computation to solve challenging design problems and to build tools that enhance human creativity. He received his M.S. from Stanford University in 2013 and his B.A. from the University of California, Berkeley in 2010, both in Computer Science.