The ability to think abstractly and reason by analogy is a prerequisite to rapidly adapt to new conditions, tackle newly encountered problems by decomposing them, and synthesize knowledge to solve problems comprehensively. We present TransCoder, a method for solving abstract problems based on neural program synthesis, and conduct a comprehensive analysis of decisions made by the generative module of the proposed architecture. At the core of TransCoder is a typed domain-specific language, designed to facilitate feature engineering and abstract reasoning. In training, we use the programs that failed to solve tasks to generate new tasks and gather them in a synthetic dataset. As each synthetic task created in this way has a known associated program (solution), the model is trained on them in supervised mode. Solutions are represented in a transparent programmatic form, which can be inspected and verified. We demonstrate TransCoder's performance using the Abstract Reasoning Corpus dataset, for which our framework generates tens of thousands of synthetic problems with corresponding solutions and facilitates systematic progress in learning.
翻译:抽象思维与类比推理能力是快速适应新环境、通过分解处理新问题以及综合运用知识全面解决问题的先决条件。本文提出TransCoder——一种基于神经程序合成的抽象问题求解方法,并对所提架构中生成模块的决策机制进行了全面分析。TransCoder的核心是类型化领域特定语言,其设计旨在促进特征工程与抽象推理。在训练过程中,我们利用未能解决任务的程序生成新任务,并将其收集于合成数据集中。由于通过此方式创建的每个合成任务都具有已知的关联程序(解决方案),模型可在监督模式下对其进行训练。解决方案以透明的程序化形式表示,可供检查与验证。我们使用抽象推理语料库数据集验证TransCoder的性能,该框架通过生成数万个具有对应解决方案的合成问题,系统性地推动了学习进程的进展。