用合成程序训练模型,发现推理和直接预测各有所长,合起来能接近人类水平。
Combining Induction and Transduction for Abstract Reasoning
- 用合成代码学习两种策略:推断隐藏函数或直接预测输出
- 推理型擅长精确计算和概念组合,预测型擅长模糊感知任务
- 两者融合后在ARC数据集上达到接近人类的表现
在仅用极少示例学习输入输出映射时,是先推断解释示例的隐含函数更好,还是直接用神经网络预测新输出更优?我们在ARC任务上分别训练了基于归纳(推断隐函数)和演绎(直接预测输出)的神经模型。训练数据来自生成的Python程序变体,这些程序可解决ARC训练任务。结果显示,尽管使用相同训练数据和神经架构,归纳模型在精确计算与多概念组合上表现更佳,而演绎模型在模糊感知类问题上占优。将两者集成后,模型在ARC上的性能逼近人类水平。
原文摘要 · Abstract (English)
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 by training neural models for induction (inferring latent functions) and transduction (directly predicting the test output for a given test input). We train on synthetically generated variations of Python programs that solve ARC training tasks. We find inductive and transductive models solve different kinds of test problems, despite having the same training problems and sharing the same neural architecture: Inductive program synthesis excels at precise computations, and at composing multiple concepts, while transduction succeeds on fuzzier perceptual concepts. Ensembling them approaches human-level performance on ARC.
Thank you to arXiv for use of its open access interoperability. PaperDance 不是 arXiv 官方产品;中文卡片由大模型生成,请以原文为准。