We propose Nester, a method for injecting neural networks into constrained structured predictors. The job of the neural network(s) is to compute an initial, raw prediction that is compatible with the input data but does not necessarily satisfy the constraints. The structured predictor then builds a structure using a constraint solver that assembles and corrects the raw predictions in accordance with hard and soft constraints. In doing so, Nester takes advantage of the features of its two components: the neural network learns complex representations from low-level data while the constraint programming component reasons about the high-level properties of the prediction task. The entire architecture can be trained in an end-to-end fashion. An empirical evaluation on handwritten equation recognition shows that Nester achieves better performance than both the neural network and the constrained structured predictor on their own, especially when training examples are scarce, while scaling to more complex problems than other neuro-programming approaches. Nester proves especially useful to reduce errors at the semantic level of the problem, which is particularly challenging for neural network architectures.Sub
翻译:我们建议 Nester 将神经网络注入受限制的结构化预测器。 神经网络的任务是计算与输入数据相容但不一定满足限制条件的初步原始预测。 结构化预测器随后建立一个结构, 使用约束求解器, 根据硬和软的限制因素集合并纠正原始预测。 这样, Nester 利用了它的两个组成部分的特征: 神经网络从低层次的数据中学习复杂的表达方式, 而神经网络的制约编程部分则是预测任务高层次特性的制约性内容。 整个结构可以接受端对端方式的培训。 手写方程式识别的经验评估显示, Nester 的性能比神经网络和受限制的结构化预测器本身都好, 特别是当培训实例稀少时, 并且比其他神经方案化方法更复杂。 Nester 证明特别有助于减少问题在语义层面的错误, 这对于神经网络结构特别具有挑战性。