DreamCoder- Growing Generalizable, Interpretable Knowledge With Wake-Sleep Bayesian Program Learning
Offered By: Yannic Kilcher via YouTube
Course Description
Overview
Explore a comprehensive video lecture on DreamCoder, an innovative system that learns to solve problems by writing programs. Delve into the wake-sleep learning algorithm that alternates between extending the language with new symbolic abstractions and training neural networks on imagined and replayed problems. Discover how DreamCoder tackles classic inductive programming tasks and creative challenges like drawing pictures and building scenes. Learn about its ability to rediscover fundamental concepts in functional programming, vector algebra, and classical physics. Examine the system's architecture, neural-guided search process, abstraction phase, and dreaming phase. Analyze experimental results on LOGO drawings, ablation studies, and the system's capacity to uncover physical laws and recursive programming algorithms. Gain insights into the potential of combining symbolic reasoning with deep learning for more explainable and generalizable artificial intelligence.
Syllabus
- Intro & Overview
- DreamCoder System Architecture
- Wake Phase: Neural Guided Search
- Abstraction Phase: Extending the Internal Library
- Dreaming Phase: Training Neural Search on Fictional Programs and Replays
- Abstraction by Compressing Program Refactorings
- Experimental Results on LOGO Drawings
- Ablation Studies
- Re-Discovering Physical Laws
- Discovering Recursive Programming Algorithms
- Conclusions & Discussion
Taught by
Yannic Kilcher
Related Courses
Introduction to Artificial IntelligenceStanford University via Udacity Natural Language Processing
Columbia University via Coursera Probabilistic Graphical Models 1: Representation
Stanford University via Coursera Computer Vision: The Fundamentals
University of California, Berkeley via Coursera Learning from Data (Introductory Machine Learning course)
California Institute of Technology via Independent