AI Integration Languages
A Case Study on Constrained Machine Learning
The tangible objective of this micro-project is develop a modular implementation in AIDDL of the Moving Targets algorithm, for injecting constraints in ML mode.
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.
This micro-project was joinly performed by Uwe Köckemann, Fabrizio Detassis and Michele Lombardi. The project is part of the Humane-AI-Net network of excellent research centers in AI. It contributes to this network in the following respects:
- Linking Symbolic and Subsymbolic Learning (Task 1.1): Moving targets provides a convenient approach to enforce constraint satisfaction in subsymbolic ML methods, within the limits of model bias. Our AIDDL integration pulls this idea all the way to the modeling level where, e.g., a fairness constraint can be added with a single line.
- Compositionality and Auto ML (Task 1.4): The moving targets method, combined with an easy way of modeling constraints via AIDDL may increase trust in fully automated machine learning pipelines.
- Dealing with Lack of Training Data (Task 2.6):Training data may be biased in a variety of ways depending on how it was collected. We provide a convenient way to experiment with constraining such data sets and possibly overcome unwanted bias due to lack of data.
Tangible outcomes:
- Example Jupyter Notebooks (3 data sets)
- Experiments Jupyter Notebooks (3 data sets)
- Moving targets tutorial
- Python library
- Short video presentation (2:20 minutes)
Assets related to AI Integration Languages
The Moving Target algorithm from scratch
A tutorial on the Moving Targets algorithm for constrained Machine Learning
Moving Targets via AIDDL
A Python library that integrates machine learning with constraint optimization using the AI Domain Definition Language.