离散结构在程序语言建模和软件工程等应用中起着重要作用。当前预测复杂结构的方法通常会以某些牺牲性不可思议的方式考虑自回归模型的障碍。基于能量的模型(EBM)为建模这种分布提供了一种更加灵活,更强大的方法,但需要分区函数估计。在本文中,我们提出了芦荟,这是一种用于学习条件和无条件eBM的新算法,用于离散结构化数据,其中使用学习的采样器来估算参数梯度,以模拟本地搜索。我们表明,能量函数和采样器可以通过新的变化形式的功率迭代形式进行有效训练,从而在灵活性和障碍性之间实现了更好的权衡。在实验上,我们表明学习本地搜索会导致具有挑战性的应用程序领域的显着改善。最重要的是,我们提出了一种用于软件测试的能量模型指导的绒毛,该模型与Libfuzzer(如Libfuzzer)具有可比性的性能。
主要关键词