Keywords: program synthesis, symbolic reasoning, hybrid system, generalization
TL;DR: We discuss the problem of generalization to a wide set of tasks and suggest that a modular approach is needed. A particular instance of this is using a neural guided program synthesis framework to the recent Abstraction and Reasoning Corpus dataset.
Abstract: Current machine learning algorithms are highly specialized to whatever it is they are meant to do –– e.g. playing chess, picking up objects, or object recognition. How can we extend this to a system that could solve a wide range of problems? We argue that this can be achieved by a modular system –– one that can adapt to solving different problems by changing only the modules chosen and the order in which those modules are applied to the problem. The recently introduced ARC (Abstraction and Reasoning Corpus) dataset serves as an excellent test of abstract reasoning. Suited to the modular approach, the tasks depend on a set of human Core Knowledge inbuilt priors. In this paper we implement these priors as the modules of our system. We combine these modules using a neural-guided program synthesis.