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

Pyconstruct: Constraint Programming Meets Structured Prediction / Dragone, Paolo; Teso, Stefano; Passerini, Andrea. - (2018), pp. 5823-5825. (Intervento presentato al convegno IJCAI 2018 tenutosi a Stockholm nel 13-19 July, 2018) [10.24963/ijcai.2018/850].

Pyconstruct: Constraint Programming Meets Structured Prediction

Dragone, Paolo;Passerini, Andrea
2018-01-01

Abstract

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
2018
Proceedings of the Twenty-Seventh International Joint Conference on Artificial Intelligence
Stockholm, Sweden
IJCAI
9780999241127
Dragone, Paolo; Teso, Stefano; Passerini, Andrea
Pyconstruct: Constraint Programming Meets Structured Prediction / Dragone, Paolo; Teso, Stefano; Passerini, Andrea. - (2018), pp. 5823-5825. (Intervento presentato al convegno IJCAI 2018 tenutosi a Stockholm nel 13-19 July, 2018) [10.24963/ijcai.2018/850].
File in questo prodotto:
File Dimensione Formato  
ijcaidemo18.pdf

accesso aperto

Tipologia: Versione editoriale (Publisher’s layout)
Licenza: Tutti i diritti riservati (All rights reserved)
Dimensione 95.01 kB
Formato Adobe PDF
95.01 kB Adobe PDF Visualizza/Apri

I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/11572/225464
Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus 3
  • ???jsp.display-item.citation.isi??? ND
social impact