Machine learning meets programs synthesis
More broadly, a major goal for the project is to develop a science of neurosymbolic learning. This will include developing new algorithms that specifically address the challenges in the neurosymbolic setting---e.g. how to design good domain specific languages (DSLs) to support the symbolic part of a model, the presence of uncertainty, the need to perform continuous optimization over the neural network parameters in conjunction with discrete optimization over the program structure, and the need to actively design experiments to disambiguate between candidate hypotheses/programs. It will also include developing an understanding of when to deploy different algorithms, as well as which combinations of neural and symbolic components work better for which settings. Our proposed framework will serve as a platform for exploring these algorithms and deploying them in each of our problem domains.