Pyconstruct: Constraint Programming Meets Structured Prediction

Pyconstruct: Constraint Programming Meets Structured Prediction
复制标题

Pyconstruct:约束编程与结构化预测的结合

DOI:
10.24963/ijcai.2018/850
复制
发表时间:
2018
期刊:
International Joint Conference on Artificial Intelligence
影响因子:
--
通讯作者:
Andrea Passerini
Andrea Passerini
中科院分区:
--
文献类型:
--
作者:
Paolo Dragone;Stefano Teso;Andrea Passerini

文献摘要

被引文献

相似文献

建设性学习是学习从数据中合成结构化对象的任务。例子包括从经典序列标记到布局合成和药物设计。在这些场景中,学习包括反复合成受可行性约束的候选对象,并根据观察到的损失调整模型。许多令人感兴趣的综合问题是非标准的:它们涉及离散变量和连续变量以及它们之间的任意约束。在这些情况下,不能应用广泛的形式化(如线性规划),开发人员只能编写自己的特别求解器。这可能非常耗时且容易出错。我们将介绍Pyconstruct,这是一个专门用于以最小的努力解决现实世界中的建设性问题的Python库。该库利用最大边际方法将学习从综合和约束规划中分离出来,作为综合的通用框架。Pyconstruct使工作解决方案的原型化变得容易,允许开发人员在几行代码中以声明式的方式编写复杂的合成问题。该图书馆可在:http://bit.ly/2st8nt3
Constructive learning is the task of learning to synthesize structured objects from data. Examples range from classical sequence labeling to layout synthesis and drug design. Learning in these scenarios involves repeatedly synthesizing candidates subject to feasibility constraints and adapting the model based on the observed loss. Many synthesis problems of interest are non-standard: they involve discrete and continuous variables as well as arbitrary constraints among them. In these cases, widespread formalisms (like linear programming) can not be applied, and the developer is left with writing her own ad-hoc solver. This can be very time consuming and error prone. We introduce Pyconstruct, a Python library tailored for solving real-world constructive problems with minimal effort. The library leverages max-margin approaches to decouple learning from synthesis and constraint programming as a generic framework for synthesis. Pyconstruct enables easy prototyping of working solutions, allowing developers to write complex synthesis problems in a declarative fashion in few lines of code. The library is available at: http://bit.ly/2st8nt3