[论文解读] Synthetic Datasets for Neural Program Synthesis
本文提出了一种在神经程序合成中生成合成数据集的系统性方法,通过显式建模并统一关键随机变量(如程序长度、控制流深度和输入复杂度)来减少偏差,提升跨分布泛化能力。通过在这些受控分布上微调模型,作者在 Karel 和 Calculator 领域的分布外测试集上均取得了显著的准确率提升(最高 +5.92 个百分点),表明当前合成数据偏差严重限制了神经程序合成中的泛化能力。
The goal of program synthesis is to automatically generate programs in a particular language from corresponding specifications, e.g. input-output behavior. Many current approaches achieve impressive results after training on randomly generated I/O examples in limited domain-specific languages (DSLs), as with string transformations in RobustFill. However, we empirically discover that applying test input generation techniques for languages with control flow and rich input space causes deep networks to generalize poorly to certain data distributions; to correct this, we propose a new methodology for controlling and evaluating the bias of synthetic data distributions over both programs and specifications. We demonstrate, using the Karel DSL and a small Calculator DSL, that training deep networks on these distributions leads to improved cross-distribution generalization performance.
研究动机与目标
- 识别并解决用于训练神经程序合成器的合成数据集中存在的非预期偏差。
- 通过控制关键程序和输入特征的分布,提升模型在分布外的泛化能力。
- 开发一种系统化的方法,利用手工设计的显著随机变量来定义和操作合成数据分布。
- 评估分布控制对复杂(Karel)和简单(Calculator)领域中模型性能的影响。
- 证明尽管在分布内性能表现良好,当前的合成数据生成实践仍导致模型在分布外泛化能力差。
提出的方法
- 定义一组显著随机变量,以捕捉程序和输入的关键结构特征,如程序长度、操作数量和括号嵌套深度。
- 通过控制每个显著随机变量的边缘分布来构建合成数据分布,并使用统一化方法减少偏差。
- 对单个变量(如长度、最大深度)应用统一化,使用较小的 epsilon(ε=0.025)以确保值域内的一致性。
- 在新的、统一化的数据分布上微调神经程序合成模型,并在分布内和分布外测试集上评估性能。
- 使用未统一化的分布混合体(T2T、DCFG、RCFG、BAL)作为跨分布泛化性能的标准评估基准。
- 比较不同统一化策略下的模型性能,以分离出每个受控变量对泛化能力的影响。
实验结果
研究问题
- RQ1常见的合成数据生成策略如何引入分布偏差,从而损害程序合成中的模型泛化能力?
- RQ2在合成数据集中对特定显著随机变量进行统一化,在神经程序合成中能在多大程度上提升跨分布泛化能力?
- RQ3为何最先进模型在简单、分布外的测试用例上表现失败,尽管其在分布内准确率很高?
- RQ4领域复杂度(如 Karel 与 Calculator 的对比)如何影响分布控制对模型性能的影响?
- RQ5基于特征的系统性合成数据生成方法能否带来更鲁棒、更具泛化能力的神经程序合成器?
主要发现
- 对 DCFG 分布进行统一化后,Calculator 领域的测试准确率提升了 5.92 个百分点(pp),为观察到的最大提升。
- 对 T2T 分布进行统一化后,准确率提升了 4.35 个百分点,表明即使在常用采样策略下也能获得显著收益。
- 在 Karel 领域,基于标准合成数据分布训练的模型在某些测试分布上的泛化准确率低于 5%,凸显了严重的分布失败。
- 与 Calculator 领域相比,Karel 领域在分布控制方面的影响更为显著,可能由于其结构更复杂且控制流更丰富。
- 在统一化分布上训练的模型表现出更好的泛化能力,尽管在分布内准确率略有下降,表明存在有利于鲁棒性的权衡。
- 本研究证明,当前的合成数据生成方法中隐含了偏差,即使在标准基准上表现良好,也会阻碍模型学习完整 DSL 语义。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。