SMArtInt+

Die Modelica Library zur einfachen und anwenderfreundlichen Integration von neuronalen Netzen in Modelica Modellen

 

Es besteht ein zunehmender Bedarf an hybriden Modellen, die aus physischen und Surrogat- sowie datengesteuerten Modellen bestehen. XRG hat mit der SMArtInt+ Library eine Schnittstelle entwickelt, die die einfache Integration neuronaler Netzwerke unterschiedlicher Quellen und Arten ermöglicht. SMArtInt steht für Smarte Integration von Künstlicher Intelligenz in Modelica. Die reduzierte Open-Source-Fassung SMArtInt, die bereits im Dymola Library Portfolio verfügbar ist, wurde in vielen realen Anwendungen erfolgreich getestet und steht kostenfrei auf github zur Verfügung.

Es existieren zahlreiche KI-Frameworks zur Erstellung neuronaler Netze: z.B. TensorFlow, PyTorch, Flux.jl (Julia) und andere. Die SMArtInt+ Library ermöglicht Ihnen eine standardisierte benutzerfreundliche und effiziente Integration von Machine Learning Modellen unterschiedlicher Herkunft über eine externe Quelle, die unabhängig vom Modelica Code verändert werden kann. Derzeit unterstützt SMArtInt+ TensorFlow-, TensorFlow lite  und ONNX-Modelle, die nach Dymola und OpenModelica exportiert bzw. dort von Modelica-Blöcken importiert werden können.

Beispiel Modell für die Einbindung von Stateful Recurrent Neural Networks

Diese typischen Arten von neuronalen Netzen werden unterstützt:

  • Quasistatische Feed Forward Neural Networks (FFNN)
  • Dynamische Recurrent Neural Networks (RNN), stateful oder non-stateful
  • Neuronale Gewöhnliche Differentialgleichungen (NODE)
  • Generative Modelle, die nach dem Encoder/Decoder-Prinzip arbeiten
  • Komplexere Anwendungen (BNODE)

Featurevergleich von SMArtInt+ zu SMArtInt

In der kommerziellen Fassung sind gegenüber der kostenfreien Fassung folgende wertvolle Features enthalten:

  • Extrapolationswarnung (animiert und als Prompt-Warnung), falls der Input die konvexe Hülle der Trainingsdaten verlässt oder die Inputs in einem Bereich mit niedriger Trainingsdatendichte liegen
  • Zusätzliche I/O-Features: Skalierung und Glättung
  • Automatische Modelica-Block-Generierung
  • Python-Konverter für sRNN von TensorFlow nach TensorFlow lite
  • Entdimensionalisierung von Neuronalen Netzwerken um diese unabhängig von absoluten Inputs zu machen
  • und natürlich XRG-Support

Use Case

Im Forschungsvorhaben DIZPROVI wurde mit Messdaten ein Ersatzmodell eines Wasserdampfwärmeübertragers erstellt. Die Ergebnisse des hybriden Modells (blaue Linie und Punkte) sind in den nachfolgenden Grafiken im Vergleich zu dem rein physikalischen Modell (rote Linie und Punkte) dargestellt. Verglichen wurde ein Szenario aus Messdaten, die nicht Teil der Trainingsdaten waren.  

Kompatibilität

Die Bibliothek ist getestet und verfügbar für aktuelle Fassungen von:

  • Dymola
  • OpenModelica