When learning an input-output mapping from very few examples, is it better to first infer a latent function that explains the examples, or is it better to directly predict new test outputs, e.g. using a neural network? We study this question on ARC, a highly diverse dataset of abstract reasoning tasks. We train neural models for induction (inferring latent functions) and transduction (directly predicting the test output for a given test input). Our models are trained on synthetic data generated by prompting LLMs to produce Python code specifying a function to be inferred, plus a stochastic subroutine for generating inputs to that function. We find inductive and transductive models solve very different problems, despite training on the same problems, and despite sharing the same neural architecture.
翻译:当从极少数示例中学习输入-输出映射时,是应该先推断出解释这些示例的潜在函数,还是应该直接预测新的测试输出(例如使用神经网络)?我们在高度多样化的抽象推理任务数据集ARC上研究了这一问题。我们训练了用于归纳(推断潜在函数)和转导(直接针对给定测试输入预测测试输出)的神经网络模型。这些模型通过合成数据进行训练,该数据通过提示大语言模型生成指定待推断函数的Python代码,并附加用于生成该函数输入的随机子程序而得到。我们发现,尽管使用相同的问题进行训练,且共享相同的神经网络架构,归纳模型与转导模型所解决的问题具有显著差异。