WHITEPAPER

PANDA | METRIC

Das Open Source Framework für Industrial AI Anwendungen

22. August 2019 von Michael Welsch

PANDA | METRIC ist ein Framework zur Verarbeitung beliebiger Daten. Es erweitert die Fähigkeiten von Machine Learning Algorithmen auf beliebig strukturierte Datentypen und ermöglicht im Sinne einer Künstlichen Intelligenz Aussagen über die Zusammenhänge der Daten. Dazu werden die aufgezeichneten Daten zunächst über eine Metrik in einem Metrischen Raum modelliert. Diese Räume können nun miteinander in Beziehung gesetzt und ohne Informationsverlust vereinfacht werden. Dadurch werden wesentliche Informationen extrahiert und dem Nutzer zugänglich gemacht. In verschiedenen Modulen bietet das Framework eine Sammlung von Algorithmen, die für Metrische Räume optimiert und über eine einheitliche API ansprechbar sind. PANDA | METRIC ist im modernen und Template basierten C++ programmiert, womit eine komfortable Verwendung bei gleichzeitig optimaler Performance möglich ist. Im Vergleich zum Ansatz der Neuronalen Netze bietet das Konzept der Metrischen Räume für industrielle Anwendungen entscheidende Vorteile.

I. DER METRISCHE RAUM

Ein Metrischer Raum ist eine Menge, für die eine Funktion gilt, die ein Konzept der Ähnlichkeit zwischen zwei beliebigen Elementen jener Menge definiert. Eine Menge kann z.B. aus 1 Mio. aufgezeichneten Bildern einer Kamera bestehen. Die Distanzfunktion bzw. die Metrik liefert für zwei beliebige Elemente dieser Menge nun einen numerischen Wert. Je verschiedener die zwei herausgegriffenen Bilder sind, desto größer ist der numerische Wert, je ähnlicher sie sind, desto stärker tendiert er gegen Null. Formal ist ein Metrischer Raum bereits implizit erzeugt, indem einer Menge eine passende Metrik zugewiesen wird. Innerhalb der Algorithmen wird die Menge mithilfe der Metrik nun in der Regel explizit „ausmultipliziert“. Das kann z.B. über eine vollständige paarweise Berechnung und Speicherung der Distanzwerte in einer Distanzmatrix passieren. Dieses Vorgehen stößt allerdings aufgrund der quadratischen Komplexität schnell an computertechnische Grenzen. Alternativ lässt sich der Metrische Raum in einem dünn besetzten Graphen oder in einem Such-Baum repräsentieren, siehe Abbildung 1. Sowohl Baum als auch Matrix können wiederum als Sonderfälle eines allgemeinen Graphenkonzepts zur expliziten Repräsentation eines Metrischen Raums interpretiert werden. Die Kanten in diesem Graphen stellen die Distanzen zwischen den einzelnen Elementen dar. Jedes der drei Prinzipien zur Repräsentation des Metrischen Raums weist gewisse Vor- und Nachteile auf. Dementsprechend werden diese Prinzipien in den Algorithmen unterschiedlich eingesetzt. Zum Teil werden die Metriken auch dynamisch berechnet.

Abbildung 1. Repräsentation des Metrischen Raums [Eigene Darstellung]

A. Die Metriken

In der Fachliteratur ist eine Vielzahl unterschiedlicher Metriken zu finden. Am bekanntesten ist die euklidische Metrik als Distanz zwischen zwei Punkten eines geometrischen Raums entlang einer verbindenden Geraden. Neben der euklidischen Metrik gibt es noch eine Reihe von artverwandten Metriken, die auch im klassischen Machine Learning gut bekannt sind, wie z.B. die City-Block Metrik. Es gibt jedoch noch viele weitere Metriken, wie beispielsweise für x-y Kurven, Bilder, Texte oder stochastische Stichproben. Weiterhin gibt es Metriken, um eine Distanz zwischen zwei Metrischen Räumen selbst zu berechnen. Die Ausführung des Metrischen Konzepts in Wikipedia gibt an, dass es sich bei dem Metrischen Konzept prinzipiell (nur) um eine Verallgemeinerung der euklidischen Metrik handle. Diese Ausführung ist allerdings zu kurz gegriffen. Verallgemeinert entspricht eine Metrik den minimalen Kosten einer informationstheoretischen Umcodierung eines Elements der Menge in ein anderes Element derselben Menge. Der Umbauprozess kann und wird in der Regel durch Constraints (Randbedingungen) behindert, weshalb sich jede Metrik verallgemeinert mit dem mathematischen Konzept der Linearen Programmierung auffassen lässt. Während die euklidischen und artverwandten Distanzfunktionen explizit zwischen zwei Elementen berechnet werden können, liegt für komplexere Datentypen generell ein Optimierungsproblem für die Berechnung der Distanz vor. Hintergrund ist der, dass es viele mögliche Wege einer Umcodierung gibt, jedoch nur der Weg mit den geringsten Kosten der gesuchten Distanz entspricht. Im Falle eines Bildvergleichs kann z.B. eine Metrik gewählt werden, welche analog zu dem euklidischen Konzept einfach nur Pixel für Pixel vergleicht oder eine Metrik, mit eine Objekterkennung umsetzt. Der Optimierungsalgorithmus kann beispielsweise aus dem Bild eines Hundes das Bild einer Katze formen und die minimalen Kosten für den Pixelumbau bestimmen. Diese können dann beispielsweise größer sein, als die Kosten für die Umformung einer Katze in eine andere Katze. Die dafür verwendete Metrik im Framework basiert auf einer Graphenmodellierung, während das Optimierungsproblem einfacherer Datentypen wie x-y Kurven durch dynamische Programmierung gelöst wird. Im METRIC Framework werden die verschiedenen Metriken in k-random, r-related und k-structured eingeteilt. Praktisch wird jedes Element über einen Vektor aus einzelnen Einträgen definiert bzw. im Framework durch ein Accessorfunction-Interface bereitgestellt, um auf beliebig strukturierte Daten in Datenbanken direkt zuzugreifen. Bei Bildern oder höher dimensionalen Konstrukten werden die Einträge serialisiert und z.B. die Constraints von Höhe und Breite eines Bildes erst über die Metrik bzw. die Metric Factory Function wieder ergänzt. Bei einer k-related Metrik lässt sich die Reihenfolge der k Einträge in dem Array prinzipiell vertauschen, ohne das Ergebnis der Berechnung zu beeinflussen, wobei die Vertauschung in allen Arrays gleichermaßen geschehen muss. Bei einer k-random Metrik lässt sich die Reihenfolge auch beliebig innerhalb jedes Arrays tauschen. Bei k-structured Metriken hat die Reihenfolge hingegen (wie in Bildern, Kurven und Sätzen) eine strukturelle Bedeutung, weshalb die Position der Einträge in der Metrik explizit berücksichtigt wird. Der Nutzer bringt über die Wahl der Metrik somit ein gewisses a priori Wissen über die Daten ein. Kann er dies nicht, besteht die Möglichkeit, die Constraints der Metrik automatisch berechnen zu lassen bzw. zu testen, ob prinzipiell eine k-random, k-related oder k-structured Metrik vorliegt, um dann erst eine entsprechende Metrik zu wählen.

II. METRISCHE ALGORITHMEN

Die Algorithmen im METRIC Framework sind in mehrere Submodule organisiert. SPACE stellt Klassen zur Repräsentation der Metrischen Räume bereit inkl. Basisoperationen wie z.B. der Suche nach benachbarten Elementen. DISTANCE liefert eine umfangreiche Sammlung von Metriken, inkl. Factory Functions zum Konfigurieren von komplexen Metriken. Das Modul CORRELATION bietet Funktionen, um einen Korrelationskoeffizienten von zwei Metrischen Räumen zu berechnen und somit die Abhängigkeit von zwei beliebigen Datensätzen zu ermitteln. Neben der Beliebigkeit der Elemente besteht ein weiterer Vorteil gegenüber klassischen Verfahren darin, dass die metrische Korrelation nichtlinear ist. Damit weist sie nicht die typischen Fehlinterpretation einer Pearson Korrelation auf. Der Korrelationsalgorithmus arbeitet dabei mit einer Subspace-Sampling Approximation des Metrischen Raums für beliebig große Datensätze.
Im TRANSFORMATION Modul sind deterministische Algorithmen enthalten, die nicht aus der Struktur eines Metrischen Raums einen neuen Metrischen Raum abbilden, sondern Element für Element in einen anderen Metrischen Raum überführen, z.B. vom Zeit- in den Frequenzbereich. Hierbei kannnoch zwischen verlustbehafteten Abbildungen und komplettumkehrbaren Abbildungen unterschieden werden. Prinzipiell handelt es sich hier jedoch um bewährte, deterministische Verfahren wie z.B. Wavelets.

Abbildung 2. Aufbau des METRIC Frameworks [Eigene Darstellung]

Im UTILS Modul sind Algorithmen enthalten, bei denen es sich ebenfalls nicht um metrische Verfahren handelt, welche jedoch sehr gut kombinierbar sind. Zum einen ist ein performanter in-memory Crossfilter vorhanden. Dieser ermöglicht eine stückweise, UI gestützte und interaktive Filterung der Muster aus den Ergebnissen der Operationen in Echtzeit. Zum anderen enthält das UTILS Modul auch einen nichtlinearen und nichtparametrichen Signifkanztest für unabhängige Features (PMQ) eines Metrischen Raums, die durch Mapping gewonnen wurden. MAPPING enthält verschiedene Algorithmen, die Metrische Räume „verrechnen“ bzw. in äquivalente Metrische Räume abbilden können. Wenn z.B. eine Kamera Bilder von einer Szene aufnimmt, bei welcher nur eine Tür auf und zu geht und dies stets bei verschiedenen Lichtverhältnissen geschieht, erhält die Menge der Elemente zunächst Millionen von Dimensionen analog zur Pixelanzahl. Alle Pixel unterscheiden sich hierbei von Bild zu Bild. In Wirklichkeit liegen allerdings nur zwei Freiheitsgerade vor, der Öffnungswinkel der Tür und die Helligkeit der Lichtquelle. Ein Mapping Algorithmus kann z.B. nun diese Features berechnen und damit die Millionen von Dimensionen des originalen Metrischen Raums auf einen Metrischen Raum mit nur zwei Dimensionen pro Element überführen.

Bidirektional können per Decoder umgekehrt auch aus den zwei Features wieder Bilder konstruiert werden. Da diese zwei berechneten Features nun relativ unabhängig sind, wobei dies ebenfalls mit einem Metrischen Algorithmus überprüft werden kann, können über diese Abbildungen und Rückabbildungen komplexe Daten unter Berücksichtigung der Constraints interpoliert werden. Zudem können auch ungewünschte Features, wie z.B. der Einfluss der Helligkeit für eine weitere Auswertung aus den Bildern entfernt werden. Auf diese Weise bringt der Nutzer a priori Wissen gezielt ein und versteht anderseits über eine Rückabbildung, was seine a priori Einflussnahme bewirkt, anstatt durch eine eigenständige Einprogrammierung dieses Wissens einen Informationsverlust hervorzurufen . Beispielsweise weiß der Nutzer a priori bei einer FFT Analyse, dass Schwingungen relevant sind, aber trennt in der Transformation die Oberschwingungen, obwohl dies nicht der menschlichen Transientenwahrnehmung entspricht. Ein metrisch basiertes Mapping hingegen führt in einem Feature Raum dazu, dass die Schwingungsmuster im Zeitbereich inkl. Oberschwingungen isoliert werden können und eine wesentlich intuitivere Interpretation erlauben.

III. KÜNSTLICHE-INTELLIGENZ-FÄHIGKEITEN

Die Algorithmen im MAPPING Modul verfolgen zum einen das Ziel, die Komplexität mit Clustering oder Klassifizierung zu reduzieren sowie fehlende Informationen in den Daten zu füllen. Es handelt sich hierbei um eine Vorhersage, die für numerische Daten in Tabellenform den wesentlichen Teil von Machine Learning ausmacht und nun auch für beliebige Datentypen und Datenkombinationen zur Verfügung steht. Zum Anderen lassen sich die Algorithmen im MAPPING Modul auch dazu nutzen, Daten neu zu strukturieren oder verschiedene Metrische Räume und damit verschiedenartige Datenquellen zu fusionieren.

Dies kann z.B. für eine automatische und selbstlernende Rezepterkennung genutzt werden oder aber zur Synthetisierung von abstrakten Bildern aus beliebigen Datenquellen. All diese Verfahren basieren nicht auf dem Markieren von Daten durch den Nutzer und lassen sich sinnstiftend auch nicht als Lernen interpretieren. Deshalb ist METRIC im Kern kein Machine Learning Tool, obwohl es diese Teil-Disziplin der Künstlichen Intelligenz (kurz KI) wesentlich allgemeiner beherrscht als andere Frameworks.

Neben der Fähigkeit, komplexe Informationen zu verknüpfen und Muster auch ohne aufwändiges und redundantes Vorab- Training zu erkennen, verstehen die meisten Menschen unter KI in der Regel insbesondere die Fähigkeit, selbstständig Entscheidungen zu treffen und automatisch zu agieren. Prinzipiell ist dies mit dem Metrischen Konzept machbar, indem eine Handlungsstrategie ebenfalls als Metrik interpretiert wird und ein metrischer Handlungsraum definiert wird. Auch hier liegt, genau wie bei jeder anderen Metrik, ein Optimierungsproblem unter vielen Constraints vor. Features wären in diesem Fall z.B. Meta-Produktions-Strategien, wie Qualität, Kosten und Zeit. Ein optimaler Zustand kann automatisch über die Rückabbildung einzelner Meta-Produktionsparameter und der gezielten Navigation innerhalb des Metrischen Handlungsraums durch Erzeugen von neuen Datenpunkten erreicht werden. In der ersten Version von METRIC wird dieses Ziel allerdings (noch) nicht verfolgt, da ein autonomes Agieren auf Ablehnung, ungeklärte Haftungsfragen und lange Zertifizierung stoßen würde. Auch wenn der algorithmische bzw. mathematische Schritt dahin sehr klein ist, fehlen außerdem in jeder aktuellen Produktionsanlage für eine solche KI Funktionsweise über 99% der notwendigen Daten von smarten Komponenten sowie regelungstechnische Stellgrößen.

Prinzipiell ist durch die Abbildung der Daten in Metrischen Räumen eine Software in der Lage, das ganze Wissen in den Daten komplett und gleichzeitig zu erfassen, wozu Menschen mit ihren Fähigkeiten nicht im Stande sind. Als Beispiel kann hier eine Kamera an der letzten Station einer Fertigungsstraße aufgeführt werden. Deren Bilder werden zwar vollständig und mit allen Details im Metrischen Raum repräsentiert, der Nutzer ist jedoch nur an einem bestimmten Einfluss und nicht an allen vorhandenen Einflüssen auf die Bilder interessiert, da ihn diese Fülle an ungefilterten Informationen erschlagen würde.

Prinzipiell ist durch die Abbildung der Daten in Metrischen Räumen eine Software in der Lage, das ganze Wissen in den Daten komplett und gleichzeitig zu erfassen, wozu Menschen mit ihren Fähigkeiten nicht im Stande sind. Als Beispiel kann hier eine Kamera an der letzten Station einer Fertigungsstraße aufgeführt werden. Deren Bilder werden zwar vollständig und mit allen Details im Metrischen Raum repräsentiert, der Nutzer ist jedoch nur an einem bestimmten Einfluss und nicht an allen vorhandenen Einflüssen auf die Bilder interessiert, da ihn diese Fülle an ungefilterten Informationen erschlagen würde. In der ersten Version von METRIC in Kombination mit der Drift UI geht es darum, dieses vollständige Wissen in den Daten auf ein Niveau zu reduzieren, das dem Menschen hilft, einen industriellen Prozess zu verstehen und ihn selbst zu optimieren. Die Millionen von Dimensionen werden hierfür auf eine 2D Darstellung vereinfacht und somit auf das menschliche Maß der Verarbeitungsfähigkeit reduziert, um eine fokussierte und selektive Betrachtung der Gesamtzusammenhänge zu erreichen.

Dies geschieht über ein UI Konzept innerhalb des Drift Frontends und einem interaktiven Workflow, sodass der Nutzer bewusst sein a priori Wissen über die Daten Stück für Stück verknüpft. Ihm werden die Konsequenzen seiner Einflussnahme stets vor Augen geführt, bis der Nutzer eine für ihn verständliche Aussage erhält. Letztendlich geht es bei diesem Assistenzsystem darum, Antworten auf Fragen an die Daten zu erhalten, wofür in der Regel zusätzliche a priori Informationen des Nutzers benötigt werden. Mit zunehmender Sensorinformationsdichte und Aktuatormöglichkeiten erfolgt anschließend in der nächsten Ausbaustufe eine wirkliche Autonomie des Systems über eine reine Assistenzfunktion hinaus.

Industrial AI ist für PANDA kein Werbeslogan, sondern ein ernsthaftes technologisches Versprechen. Die Basis dafür bildet die verwendete metrische Mathematik. Mit Hilfe der ersten Version von METRIC und der UI von Drift sollen zwei einfache Fragen von der KI beantwortet werden: Was läuft falsch und warum?

Dazu wird die KI den Nutzer immer auffordern, ihr beispielhaft zu zeigen, was für ihn normal ist. Hier definiert der Nutzer z.B. eine Frühschicht als Referenzzeitwert für Gutdaten und filtert noch 5% der anomalsten Werte heraus.

Um dem Nutzer diese erste Stufe der KI zur Verfügung zu stellen, besteht die Herausforderung in der Praxis darin, die Algorithmen des METRIC Frameworks entsprechend zu kombinieren. So lassen sich z.B. die durch Mapping gewonnenen Features als Label für eine Klassifizierung verwenden, um zu überprüfen, welche Features Anomalien im Gesamtkonstrukt verursachen oder mit weiteren Datenquellen korrelieren. Anschließend werden die signifikantesten Feature- Abhängigkeiten modelliert und visuell aufbereitet, siehe Abbildung 3.

Abbildung 3. Intelligente Mustererkennung [Eigene Darstellung]

Bei einer spezifischen Prozesskurve könnte beispielsweise die Anlaufüberhöhung beim Aufsetzen des Werkzeugs etwas sein, das mit dem darauf folgenden Plateau korreliert und nur eine Veränderung des Verhältnisses ein eigentliches Feature darstellt. Es kommt die Frage auf, ob dieses Phänomen als Drift oder Anomalie besteht und prozessfähig ist. So wird dem Nutzer spielerisch ein neues Verständnis auf seinen Prozess ermöglicht. Durch eine interaktive Rücktransformation der Daten kann der Nutzer genau diese Erkenntnis erlangen, seinen Prozess besser verstehen und so der Technologie Vertrauen schenken.

IV. DATENKOMPRESSION

Als Nebeneffekt bietet das Metrische Konzept eine Datenkompression, die deutlich über State-Of-The-Art Kompressoren hinausgehen. Durch eine Waveletransformation werden die komplexen Daten zunächst zerlegt. Durch das Encodieren der „schwingenden“ Redundanzen werden die nach der Rauschentfernung verbleibenden Arrays dünn besetzt, was die Metrik Berechnung stark beschleunigt. Anschließend werden nur die Muster in Metrischen Räumen abgespeichert und durch Features abgebildet. Die Abfolgen der Muster werden ebenfalls über eine Metrik in Metrischen Räumen repräsentiert. Die KI versucht abzuschätzen, welches Muster als nächstes kommt. Stimmt die Vorhersage, wird kein weiterer Speicherplatz mehr benötigt, um die Information zu erhalten. Die Daten werden dann komplett aus dem Muster und den Abfolgen, die wiederum Muster sind, rekonstruiert. Da die Verarbeitung zwangsläufig über Metrische Räume vonstatten geht, werden die originalen Rohdaten nicht gespeichert, da sie bei Bedarf einfach synthetisiert werden können.

Das METRIC Framework fasst viele einzelne wissenschaftliche Erkenntnisse auf, die über das Framework einen gemeinsamen Sinn ergeben. Eine Liste mit ausgewählten Veröffentlichungen findet sich im Anhang der PDF-Datei [1];[2];[3];[4];[5];[6];[7];[8];[9];[10].

Es existieren weitere mathematische Prinzipien, die kompatibel mit dem Metrischen Konzept sind, wie beispielsweise Kernel- und Graph-Laplacian basierte Verfahren. Auch ausgewählte graphbasierte Analyseverfahren halten aufgrund der Abbildung des Metrischen Raums als Graph Einzug in das Framework. Hiermit lassen sich z.B. Metrische Räume und damit beliebig komplexe Daten entrauschen. Weiterhin können redundante Informationen in einem Metrischen Raum eliminiert werden, sodass eine exemplarische Anzahl in Form von 10 Bildern aus 1 Mio. Bildern als Repräsentationen bereitgestellt werden.

Weiterhin kann dem Nutzer eine Assistenzfunktion geboten werden, indem beim vollständigen Markieren eines Datensatzes ein komplett selbst lernendes Clustering durch einige wenige Labels ermöglicht wird, falls der Nutzer dies z.B. für eine nachgelagerte Analyse benötigt. Durch das Metrische Konzept ist es dem Nutzer möglich, einen vollständigen Überblick über beliebig viele Daten zu erhalten, ohne dass er explizit jeden einzelnen Datensatz gesichtet und visualisiert haben muss.

V. UNTERSCHIED VON METRISCHEN RÄUMEN ZU DEEP LEARNING ANSÄTZEN

Bei Neuronalen Netzen geht es in der Regel um das Antrainieren von f() in y=f(x) mit Hilfe von x und y, um dann aus unbekannten x ein prognostiziertes y zu berechnen. Es handelt sich hierbei um hochdimensionale und nichtlineare Fitting-Funktionen, die fehlende Daten zu füllen sollen. Dabei wird allerdings nicht beantwortet, wie die 1% sonderbarsten Elemente aussehen und ob darunter strukturell nicht erklärbare Anomalien oder einfach nur Extreme der 99% restlichen Elemente sind oder ob ein Zusammenhang mit anderen Daten besteht. Außerdem reagiert ein solches Netz auf unbekannten Input x mit teils unscharfen y und lässt damit das Verfahren in vielen Augen als ungenau bzw. unbrauchbar erscheinen, insbesondere wenn es darum geht, mit unbekannten und neuen Daten umzugehen. In der Fertigung sind diese unerwarteten Phänomene aber genau das, worum es hauptsächlich geht. Des Weiteren ist das Trainieren von Neuronalen Netzen insbesondere mit sehr vielen Layern inkl. Convolution Layer sehr rechenintensiv. Außerdem ist es für numerische Phänomene anfällig, die sich auf das Konzept der Backpropagation zurückzuführen lassen und zu unbrauchbaren Lösungen führen können. Diese Effekte im Griff zu haben erfordert ein sehr großes Engineering Know-How und lässt sich momentan nicht vernünftig oder nur mit exorbitanten Recheneinsatz durch eine Metaparameter-Optimierung verbessern. Das führt dazu, dass verstärkt nur vortrainierte Modelle eingesetzt werden, wobei dies den spezifischen Bedürfnissen einer jeden Datenquelle in der Industrie nicht genügt. Allgemein setzt das Metrische Konzept auf globale Optima, während bei Neuronalen Netzen stets nur mit einem möglichst guten lokalen Optima gearbeitet wird, das darüber hinaus auch nur mit einem eigentlich unverhältnismäßig großen Rechenaufwand zu bewerkstelligen ist. Im Gegensatz zum Metrischen Konzept sind die Anwendungsmöglichkeiten Neuronaler Netze begrenzt.

VI. OPEN SOURCE SOFTWARE

METRIC ist in C++17 als header only programmiert und unter MPL 2.0 open source veröffentlicht (https://github.com/panda-official/metric). METRIC läuft sowohl unter Linux, macOS als auch unter Windows.

Alle Funktionen und Klassen in METRIC haben eine einheitliche API. Als Template Parameter wird immer der Record Typ und der Metric Typ zur Verfügung gestellt, die gewährleisten, dass der Compiler immer den optimalen Maschinencode produziert. Parameter werden per Factory Functions integriert und ein Accessor-Interface überbrückt den Gap zwischen einer Datenbank Modellierung und dem Array Format für die Algorithmen.

An die Middleware und das Frontend sind die Algorithmen über eine Intermediate Language in Form einer Json-basierten Kommunikation angebunden. Da die Anwendung eines JIT Compilers zu Schwierigkeiten im Debugging und zu einer Virtualisierung führte, die stark auf Kosten der Performance geht, hat sich das Template-Resolving System bewährt. Dieses weist zwar Nachteile bei der Kompilierungszeit und der resultierenden Programmgröße auf, bereitet allerdings keine Probleme im Debugging und der Performance.

Download pdf