Overview
Save Big on Coursera Plus. 7,000+ courses at $160 off. Limited Time Only!
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