Contact person: Uwe Köckemann (uwe.kockemann@oru.se; michele.lombardi2@unibo.it

Internal Partners:

  1. Örebro University (ORU), Uwe Köckemann
  2. Università di Bologna (UNIBO), Michele Lombardi 

 

Methods for injecting constraints in Machine Learning (ML) can help bridging the gap between symbolic and sub-symbolic models, and address fairness and safety issues in data-driven AI systems. The recently proposed “Moving Targets” approach achieves this via a decomposition, where a classical ML model deals with the data and a separate constraint solver with the constraints. Different applications call for different constraints, solvers, and ML models; this flexibility is a strength of the approach, but it makes it also difficult to set up and analyze. Therefore, this project relies on the AI Domain Definition Language (AIDDL) framework to obtain a flexible implementation of the approach, making it simpler to use and allowing the exploration of more case studies, different constraint solvers, and algorithmic variants. We used this implementation to investigate various new constraint types integrated with the Moving Targets approach (e.g., SMT, MINLP, CP).

Results Summary

The moving targets method integrates machine learning and constraint optimization to enforce constraints on a machine learning model. The AI Domain Definition Language (AIDDL) provides a modeling language and framework for integrative AI.

We have implemented the moving targets algorithm in the AIDDL framework for integrative AI. This has benefits for modeling, experimentation, and usability. On the modeling side, this enables us to provide applications of “moving target” as regular machine learning problems extended with constraints and a loss function. On the experimentation side, we can now easily switch the learning and constraint solvers used by the “moving targets” algorithm, and we have added support for multiple constraint types. Finally, we made the “moving targets” method easier to use, since it can now be controlled through a small model written in the AIDDL language.

Tangible Outcomes

  1. Example Jupyter Notebooks (3 data sets) – Uwe Köckemann, Fabrizio Detassis, Michele Lombardi. https://gitsvn-nt.oru.se/uwe.kockemann/moving-targets 
  2. Experiments Jupyter Notebooks (3 data sets) – Uwe Köckemann, Fabrizio Detassis, Michele Lombardi. https://gitsvn-nt.oru.se/uwe.kockemann/moving-targets 
  3. Program/code: Python library: Moving targets via AIDDL – Uwe Köckemann, Fabrizio Detassis, Michele Lombardi. https://gitsvn-nt.oru.se/uwe.kockemann/moving-targets 
  4. Moving targets tutorial – Michele Lombardi. https://gitsvn-nt.oru.se/uwe.kockemann/moving-targets 
  5. presentation about the project. https://gitsvn-nt.oru.se/uwe.kockemann/moving-targets/-/blob/master/presentations/microproject_presentation_ORU-UBO.pptx 
  6. Video presentation summarizing the project