cog-imperial / OMLT

Represent trained machine learning models as Pyomo optimization formulations
Other
257 stars 56 forks source link

Partition-based formulation for CNN #54

Closed rmisener closed 2 years ago

rmisener commented 2 years ago

The partition-based formulation currently only works for dense neural networks. We would like to extend the partition-based formulation to additionally apply to CNNs.

A research paper describing the partition-based formulation is here: https://proceedings.neurips.cc/paper/2021/hash/17f98ddf040204eda0af36a108cbdea4-Abstract.html

The challenge is to write code equivalent to partition_based.py but with the same careful indexing that had to happen here: https://github.com/cog-imperial/OMLT/blob/683caa7c56efadedc2f096ba0ac2a829b486785e/src/omlt/neuralnet/layer.py#L171

Even better: generalize the partition-based formulation for both fully-dense NNs and CNNs and thereby avoid having the same tricky indexing in two places.