Discussion about DreamCoder
Expert problem-solving is driven by powerful languages for thinking about prob-lems and their solutions. Acquiring expertise means learning these languages —systems of concepts, alongside the skills to use them. We present DreamCoder, asystem that learns to solve problems by writing programs. It builds expertise by cre-ating programming languages for expressing domain concepts, together with neuralnetworks to guide the search for programs within these languages. A “wake-sleep”learning algorithm alternately extends the language with new symbolic abstractionsand trains the neural network on imagined and replayed problems. DreamCodersolves both classic inductive programming tasks and creative tasks such as drawingpictures and building scenes. It rediscovers the basics of modern functional pro-gramming, vector algebra and classical physics, including Newton’s and Coulomb’slaws. Concepts are built compositionally from those learned earlier, yielding multi-layered symbolic representations that are interpretable and transferrable to newtasks, while still growing scalably and flexibly with experience
Rim kindly present the work and led a discussion: Reasoning-group-2022-Nov-17.pptx