Tutorial
Engineering and Reverse-Engineering Intelligence Using Probabilistic Programs, Program Induction, and Deep Learning
Josh Tenenbaum · Vikash Mansinghka

Mon Dec 4th 02:30 -- 04:45 PM @ Hall C

Recent successes in computer vision, natural language processing and other areas of artificial intelligence have been largely driven by methods for sophisticated pattern recognition — most prominently deep neural networks. But human intelligence is more than just pattern recognition. In particular, it depends on a suite of cognitive capacities for modeling the world: for making judgment calls in ambiguous situations, explaining and understanding what we see, imagining things we could see but haven’t yet, solving problems and planning actions to make these things real, and building new models as we learn more about the world. We will talk about prospects for reverse-engineering these capacities at the heart of human intelligence, and using what we learn to make machines smarter in more human-like ways. We introduce basic concepts and techniques of probabilistic programs, inference programming and program induction, which together with tools from deep learning and modern video game engines provide an approach to capturing many aspects of everyday intelligence.

Specific units in our tutorial will show how:

(1) Defining probabilistic programs over algorithms and representations drawn from modern video game engines — graphics engines, physics engines, and planning engines — allows us to capture how people can perceive rich three-dimensional structure in visual scenes and objects, perceive and predict objects' motion based on their physical characteristics, and infer the mental states of other people from observing their actions.

(2) By formulating model learning as higher-order inference in these systems, we can construct ``program-learning programs’’. These programs can learn new concepts from just one or a few examples.

(3) It is possible to build probabilistic programming systems in which scalable, general-purpose, efficient inference and model discovery algorithms can be easily and flexibly programmed by end users. These languages provide powerful tools for robotics, interactive data analysis, and scientific discovery.

Author Information

Josh Tenenbaum (MIT)

Josh Tenenbaum is an Associate Professor of Computational Cognitive Science at MIT in the Department of Brain and Cognitive Sciences and the Computer Science and Artificial Intelligence Laboratory (CSAIL). He received his PhD from MIT in 1999, and was an Assistant Professor at Stanford University from 1999 to 2002. He studies learning and inference in humans and machines, with the twin goals of understanding human intelligence in computational terms and bringing computers closer to human capacities. He focuses on problems of inductive generalization from limited data -- learning concepts and word meanings, inferring causal relations or goals -- and learning abstract knowledge that supports these inductive leaps in the form of probabilistic generative models or 'intuitive theories'. He has also developed several novel machine learning methods inspired by human learning and perception, most notably Isomap, an approach to unsupervised learning of nonlinear manifolds in high-dimensional data. He has been Associate Editor for the journal Cognitive Science, has been active on program committees for the CogSci and NIPS conferences, and has co-organized a number of workshops, tutorials and summer schools in human and machine learning. Several of his papers have received outstanding paper awards or best student paper awards at the IEEE Computer Vision and Pattern Recognition (CVPR), NIPS, and Cognitive Science conferences. He is the recipient of the New Investigator Award from the Society for Mathematical Psychology (2005), the Early Investigator Award from the Society of Experimental Psychologists (2007), and the Distinguished Scientific Award for Early Career Contribution to Psychology (in the area of cognition and human learning) from the American Psychological Association (2008).

Vikash Mansinghka (Massachusetts Institute of Technology)

Vikash Mansinghka is a research scientist at MIT, where he leads the Probabilistic Computing Project. Vikash holds S.B. degrees in Mathematics and in Computer Science from MIT, as well as an M.Eng. in Computer Science and a PhD in Computation. He also held graduate fellowships from the National Science Foundation and MIT’s Lincoln Laboratory. His PhD dissertation on natively probabilistic computation won the MIT George M. Sprowls dissertation award in computer science, and his research on the Picture probabilistic programming language won an award at CVPR. He served on DARPA’s Information Science and Technology advisory board from 2010-2012, and currently serves on the editorial boards for the Journal of Machine Learning Research and the journal Statistics and Computation. He was an advisor to Google DeepMind and has co-founded two AI-related startups, one acquired and one currently operational.

More from the Same Authors