PANDA | Metric

Ein Open-Source-Framework für industrielle KI-Anwendungen

22/8/2019
|
Michael Welsch
&

PANDA | METRIC ist ein Framework zur Verarbeitung beliebiger Daten. Es erweitert die Fähigkeiten maschineller Lernalgorithmen für variabel strukturierte Datentypen und ermöglicht Aussagen über die Zusammenhänge zwischen den Daten im Kontext der Künstlichen Intelligenz. Hierzu werden die erfassten Daten zunächst anhand einer Metrik in einem Metrikraum modelliert. Diese Räume können nun ohne Informationsverlust miteinander in Beziehung gesetzt und vereinfacht werden. Dadurch können wesentliche Informationen extrahiert und für den Benutzer zugänglich gemacht werden. Das Framework bietet in verschiedenen Modulen eine Sammlung von Algorithmen, die für metrische Räume optimiert und über eine standardisierte API zugänglich sind. PANDA | METRIC ist in modernem und templatebasiertem C++ programmiert, was eine komfortable Nutzung bei gleichzeitig optimaler Performance ermöglicht. Gegenüber dem Ansatz neuronaler Netze bietet das Konzept metrischer Räume erhebliche Vorteile für industrielle Anwendungen.

I. DER METRISCHE RAUM

Ein metrischer Raum ist eine Menge, auf die eine Funktion angewendet wird, die ein Ähnlichkeitskonzept zwischen zwei beliebigen Elementen dieser Menge definiert. Ein Satz kann beispielsweise aus 1 Million aufgenommenen Bildern einer Kamera bestehen. Die Distanzfunktion bzw. die Metrik liefert nun einen numerischen Wert für zwei beliebige Elemente dieser Menge. Je unterschiedlicher die beiden ausgewählten Bilder sind, desto größer ist der Zahlenwert, je ähnlicher sie sind, desto stärker tendiert er gegen Null. Formal entsteht ein metrischer Raum bereits implizit durch die Zuordnung einer geeigneten Metrik zu einer Menge. Innerhalb der Algorithmen wird die Menge nun meist explizit anhand der Metrik „herausmultipliziert“. Dies kann beispielsweise durch eine vollständige paarweise Berechnung und Speicherung der Distanzwerte in einer Distanzmatrix geschehen. Aufgrund seiner quadratischen Komplexität stößt dieser Ansatz jedoch schnell an die Grenzen der Computertechnologie. Alternativ kann der metrische Raum in einem dünn besetzten Graphen oder in einem Suchbaum dargestellt werden, siehe Abbildung 1. Sowohl Baum als auch Matrix können als Sonderfälle eines allgemeinen Graphenkonzepts zur expliziten Darstellung eines metrischen Raums interpretiert werden. Die Kanten in diesem Diagramm stellen die Abstände zwischen den einzelnen Elementen dar. Jedes der drei Prinzipien zur Darstellung eines metrischen Raums hat bestimmte Vor- und Nachteile. Dementsprechend werden diese Prinzipien in den Algorithmen unterschiedlich genutzt. Einige der Abstände werden auch dynamisch berechnet.

Abbildung 1. Darstellung des metrischen Raums
Abbildung 1. Darstellung des metrischen Raums

A. Die MetrikenDie Fachliteratur enthält eine Vielzahl unterschiedlicher Metriken. Die euklidische Metrik ist am besten als Abstand zwischen zwei Punkten eines geometrischen Raums entlang einer verbindenden Geraden bekannt. Neben der euklidischen Metrik gibt es eine Reihe verwandter Metriken, die auch im klassischen maschinellen Lernen bekannt sind, beispielsweise die City-Block-Metrik. Es gibt jedoch noch viele weitere Metriken, etwa für xy-Kurven, Bilder, Texte oder stochastische Stichproben. Es gibt auch Metriken zur Berechnung des Abstands zwischen zwei metrischen Räumen. Die Ausführung des metrischen Konzepts in Wikipedia weist darauf hin, dass es sich beim metrischen Konzept grundsätzlich (nur) um eine Verallgemeinerung der euklidischen Metrik handelt. Diese Version ist jedoch unzureichend. Verallgemeinert entspricht eine Metrik dem minimalen Aufwand einer informationstheoretischen Umkodierung eines Elements der Menge in ein anderes Element derselben Menge. Der Konvertierungsprozess kann und wird in der Regel durch Einschränkungen behindert, weshalb jede Metrik mit dem mathematischen Konzept der linearen Programmierung verallgemeinert werden kann. Während die euklidischen und verwandten Abstandsfunktionen explizit zwischen zwei Elementen berechnet werden können, besteht bei komplexeren Datentypen im Allgemeinen ein Optimierungsproblem für die Berechnung des Abstands. Dies liegt daran, dass es viele Möglichkeiten zur Umkodierung gibt, aber nur die Möglichkeit mit den geringsten Kosten der gesuchten Entfernung entspricht. Bei einem Bildvergleich kann beispielsweise eine Metrik gewählt werden, die analog zum euklidischen Konzept einfach Pixel für Pixel vergleicht oder eine Metrik mit Objekterkennung implementiert. Der Optimierungsalgorithmus kann beispielsweise das Bild eines Hundes in das Bild einer Katze transformieren und die minimalen Kosten für die Pixelkonvertierung ermitteln. Diese können dann größer sein als die Kosten für die Umwandlung einer Katze in eine andere Katze. Die dafür verwendete Metrik im Framework basiert auf der 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-zufällig, k-bezogen und k-strukturiert unterteilt. Praktisch jedes Element wird durch einen Vektor aus einzelnen Einträgen definiert oder im Framework durch eine Accessor-Funktionsschnittstelle bereitgestellt, um direkt auf beliebig strukturierte Daten in Datenbanken zuzugreifen. Bei Bildern oder höherdimensionalen Konstrukten werden die Einträge serialisiert und beispielsweise die Einschränkungen von Höhe und Breite eines Bildes nur über die Metrik oder die Metric Factory Function ergänzt. Bei einer k-bezogenen Metrik kann die Reihenfolge der k Einträge im Array grundsätzlich vertauscht werden, ohne das Ergebnis der Berechnung zu beeinflussen, wobei die Vertauschung in allen Arrays gleichermaßen erfolgen muss. Mit einer k-zufälligen Metrik kann die Reihenfolge auch innerhalb jedes Arrays beliebig ausgetauscht werden. Bei k-strukturierten Metriken hat die Reihenfolge jedoch eine strukturelle Bedeutung (wie bei Bildern, Kurven und Sätzen), weshalb die Position der Einträge in der Metrik explizit berücksichtigt wird. Der Benutzer bringt also durch die Wahl der Metrik ein gewisses A-priori-Wissen über die Daten ein. Sollte dies nicht möglich sein, kann der Benutzer die Randbedingungen der Metrik automatisch berechnen lassen oder testen, ob es generell eine k-zufällige, k-bezogene oder k-strukturierte Metrik gibt, um dann eine entsprechende Metrik auszuwählen.

II. METRISCHE ALGORITHMEN

Die Algorithmen im METRIC-Framework sind in mehreren Untermodulen organisiert. SPACE stellt Klassen zur Darstellung metrischer Räume einschließlich grundlegender Operationen wie der Suche nach benachbarten Elementen bereit. DISTANCE bietet eine umfangreiche Sammlung von Metriken, einschließlich Factory-Funktionen zur Konfiguration komplexer Metriken. Das Modul CORRELATION bietet Funktionen zur Berechnung eines Korrelationskoeffizienten zweier metrischer Räume und damit zur Bestimmung der Abhängigkeit zweier beliebiger Datensätze. Ein weiterer Vorteil gegenüber klassischen Methoden besteht neben der Beliebigkeit der Elemente darin, dass der metrische Zusammenhang nichtlinear ist. Somit zeigt es nicht die typische Fehlinterpretation einer Pearson-Korrelation. Der Korrelationsalgorithmus arbeitet mit einer Subraum-Sampling-Approximation des metrischen Raums für Datensätze beliebiger Größe. Das TRANSFORMATION-Modul enthält deterministische Algorithmen, die keinen neuen metrischen Raum aus der Struktur eines metrischen Raums abbilden, sondern Element für Element in einen anderen metrischen Raum übertragen, z. B. vom Zeit- in den Frequenzbereich. Es kann zwischen verlustbehafteter Komprimierung und vollständig reversiblen Verfahren unterschieden werden. Im Allgemeinen handelt es sich dabei jedoch um bewährte, deterministische Methoden wie Wavelets. Das UTILS-Modul enthält Algorithmen, die ebenfalls nicht metrisch sind, sich aber leicht kombinieren lassen. Zum einen gibt es einen leistungsstarken In-Memory-Crossfilter. Dies ermöglicht eine stückweise, UI-gestützte und interaktive Filterung der Muster aus den Ergebnissen der Operationen in Echtzeit. Andererseits enthält das UTILS-Modul auch einen nichtlinearen und nichtparametrischen Signifikanztest für unabhängige Merkmale (PMQ) eines metrischen Raums, die durch Kartierung gewonnen wurden.

Abbildung 2. Struktur des METRIC-Frameworks
Abbildung 2. Struktur des METRIC-Frameworks

MAPPING enthält verschiedene Algorithmen, die metrische Räume „berechnen“ oder sie in äquivalente metrische Räume abbilden können. Wenn beispielsweise eine Kamera eine Szene fotografiert, in der sich eine Tür öffnet und schließt. Geschieht dies zusätzlich immer unter unterschiedlichen Lichtverhältnissen, erhält die Menge der Elemente zunächst Millionen von Erweiterungen analog zur Anzahl der Pixel. Alle Pixel unterscheiden sich von Bild zu Bild. Tatsächlich gibt es jedoch nur zwei Freiheitsgrade: den Öffnungswinkel der Tür und die Helligkeit der Lichtquelle. Ein Mapping-Algorithmus kann nun beispielsweise diese Merkmale berechnen und die Millionen Dimensionen des ursprünglichen metrischen Raums in einen metrischen Raum mit nur zwei Dimensionen pro Element übertragen.

Bilder können auch bidirektional aus diesen beiden Merkmalen rekonstruiert werden der Rückwärtsdecoder. Da diese beiden berechneten Merkmale nun relativ unabhängig sind, was auch mit einem metrischen Algorithmus überprüft werden kann, können komplexe Daten anhand dieser Bilder und Rückbilder unter Berücksichtigung der Randbedingungen interpoliert werden. Darüber hinaus können unerwünschte Merkmale, wie z. B. der Einfluss der Helligkeit, zur weiteren Auswertung aus den Bildern entfernt werden. Auf diese Weise bringt der Benutzer sein apriorisches Wissen ein und versteht andererseits, was sein apriorischer Einfluss bewirkt, anstatt durch eine autonome Programmierung dieses Wissens einen Informationsverlust zu verursachen. Beispielsweise weiß der Anwender bei einer FFT-Analyse a priori, dass Schwingungen relevant sind, trennt aber die Obertöne in der Transformation ab, obwohl dies nicht der menschlichen transienten Wahrnehmung entspricht. Eine metrisch basierte Abbildung in einem Merkmalsraum führt hingegen dazu, dass die Schwingungsmuster im Zeitbereich inklusive Obertönen isoliert werden und eine wesentlich intuitivere Interpretation ermöglichen.

III. KÜNSTLICHE INTELLIGENZ-FÄHIGKEITEN

Die Algorithmen im MAPPING-Modul zielen darauf ab, die Komplexität durch Clustering oder Klassifizierung zu reduzieren und fehlende Informationen in den Daten zu ergänzen. Hierbei handelt es sich um eine Vorhersage, die ein wesentlicher Bestandteil des maschinellen Lernens für numerische Daten in Tabellenform ist und mittlerweile auch für beliebige Datentypen und Datenkombinationen verfügbar ist. Andererseits können die Algorithmen im MAPPING-Modul auch zur Umstrukturierung von Daten oder zur Zusammenführung verschiedener metrischer Räume und damit verschiedener Datenquellen verwendet werden.

Dies kann beispielsweise zur Synthese abstrakter Bilder aus verwendet werden jede Datenquelle automatisch. Alle diese Methoden basieren nicht auf der Kennzeichnung von Daten durch den Benutzer und können nicht als Lernen interpretiert werden. METRIC ist daher im Kern kein maschinelles Lernwerkzeug, obwohl es mit dieser Teildisziplin der Künstlichen Intelligenz (KI) viel besser vertraut ist als andere Frameworks.

Neben der Fähigkeit, komplexe Informationen zu verknüpfen und Um Muster ohne umfangreiches und überflüssiges Vortraining zu erkennen, verstehen die meisten Menschen unter KI die Fähigkeit, selbstständig Entscheidungen zu treffen und automatisch zu handeln. Dies ist im Allgemeinen mit dem Metrikkonzept möglich, indem eine Aktionsstrategie als Metrik interpretiert und ein metrischer Aktionsraum definiert wird. Wie bei jeder anderen Metrik gibt es unter vielen Einschränkungen ein Optimierungsproblem. Merkmale wären in diesem Fall zB Meta-Produktionsstrategien wie Qualität, Kosten und Zeit. Durch die Rückabbildung einzelner Metaproduktionsparameter und die Navigation im metrischen Raum durch Generierung neuer Datenpunkte kann automatisch ein optimaler Zustand erreicht werden. In der ersten Version von METRIC wird dieses Ziel jedoch (noch) nicht verfolgt, da autonomes Handeln auf Ablehnung, ungeklärte Haftungsfragen und eine lange Zertifizierung stoßen würde. Auch wenn der algorithmische oder mathematische Schritt sehr klein ist, fehlen in jeder aktuellen Produktionsanlage mehr als 99 % der notwendigen Daten smarter Komponenten sowie Steuergrößen für eine solche KI-Funktionalität.

In der Regel durch Durch die Abbildung der Daten in metrischen Räumen ist Software in der Lage, das gesamte Wissen in den Daten vollständig und gleichzeitig zu erfassen, was Menschen mit ihren Fähigkeiten nicht leisten können. Als Beispiel kann hier eine Kamera an der letzten Station einer Produktionslinie aufgeführt werden. Dessen Bilder werden vollständig und mit allen Details im metrischen Raum dargestellt, der Nutzer ist jedoch nur an einer bestimmten Beeinflussung der Bilder interessiert und nicht an allen, da ihn die Fülle an ungefilterten Informationen überfordern würde.

Bei 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 Menschen hilft, einen industriellen Prozess zu verstehen und ihn selbst zu optimieren. Die Millionen von Dimensionen werden zu einer 2D-Darstellung vereinfacht und damit auf das menschliche Maß der Verarbeitbarkeit reduziert, um eine fokussierte und selektive Sicht auf den Gesamtkontext 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 Einflussnah- me 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.

Dies erfolgt über ein UI-Konzept innerhalb des Drift-Frontends und einen interaktiven Workflow, so dass die Der Benutzer verknüpft sein A-priori-Wissen über die Daten bewusst Stück für Stück.

Abbildung 3.: Intelligente Mustererkennung
Abbildung 3.: Intelligente Mustererkennung

Der Nutzer ist sich der Konsequenzen seines Einflusses immer bewusst, bis er eine für ihn verständliche Nachricht erhält. Ziel dieses Assistenzsystems ist es letztendlich, Antworten auf Fragen zu bestimmten Daten zu erhalten, für die in der Regel zusätzliche a priori-Informationen des Benutzers erforderlich sind. Mit steigender Sensorinformationsdichte und Aktuatormöglichkeiten wird in der nächsten Ausbaustufe eine echte Autonomie des Systems über die reine Assistenzfunktion hinaus erreicht. Industrielle KI ist für PANDA kein Werbeslogan, sondern ein ernstes technologisches Versprechen. Die Grundlage dafür liegt in der verwendeten metrischen Mathematik. Mithilfe der ersten Version von METRIC und der Benutzeroberfläche von Drift sollen zwei einfache Fragen durch die KI beantwortet werden: Was geht schief und warum? Die KI fordert den Benutzer immer auf, anhand eines Beispiels zu zeigen, was für ihn normal ist. Beispielsweise definiert der Benutzer eine Frühschicht als Referenzzeitwert für gute Daten und filtert 5 % der anormalsten Werte heraus. Um dem Nutzer diese erste Ebene der KI zur Verfügung zu stellen, liegt die praktische Herausforderung darin, die Algorithmen im METRIC-Framework entsprechend zu kombinieren. Beispielsweise können die durch die Kartierung gewonnenen Merkmale als Label für eine Klassifizierung verwendet werden, um zu überprüfen, welche Merkmale Anomalien im Gesamtkonstrukt verursachen oder mit anderen Datenquellen korrelieren. Anschließend werden die wichtigsten Merkmalsabhängigkeiten modelliert und visuell aufbereitet, siehe Abbildung 3. Für eine bestimmte Prozesskurve könnte beispielsweise das Anlaufüberschwingen beim Positionieren des Werkzeugs etwas sein, das mit dem anschließenden Plateau und nur einer Änderung korreliert Verhältnis könnte ein tatsächliches Merkmal sein. Es stellt sich die Frage, ob dieses Phänomen als Drift oder Anomalie vorliegt und bearbeitbar ist. Auf diese Weise wird dem Anwender spielerisch ein neues Verständnis seines Prozesses vermittelt. Durch eine interaktive Rücktransformation der Daten kann der Nutzer genau dieses Wissen erlangen, seinen Prozess besser verstehen und so der Technologie vertrauen.

IV. DATENKOMPRIMIERUNG

Als Nebeneffekt bietet das metrische Konzept eine Datenkomprimierung, die weit über modernste Kompressoren hinausgeht. Die komplexen Daten werden zunächst durch eine Wavelet-Transformation zerlegt. Durch die Kodierung der „oszillierenden“ Redundanzen sind die nach der Rauschentfernung verbleibenden Arrays spärlich gefüllt, was die Metrikberechnung erheblich beschleunigt. Anschließend werden nur noch die Muster in metrischen Räumen gespeichert und durch Features abgebildet. Die Folgen der Muster werden ebenfalls durch eine Metrik in metrischen Räumen dargestellt. Die KI versucht abzuschätzen, welches Muster als nächstes kommt. Wenn die Vorhersage richtig ist, wird kein weiterer Speicherplatz benötigt, um die Informationen zu erhalten. Aus dem Muster und den Sequenzen, die wiederum Muster sind, werden die Daten dann vollständig rekonstruiert. Da die Verarbeitung zwangsläufig über metrische Räume erfolgt, werden die ursprünglichen Rohdaten nicht gespeichert, sondern können bei Bedarf einfach synthetisiert werden. Das METRIC-Framework umfasst viele einzelne wissenschaftliche Erkenntnisse, die durch das Framework allgemein verständlich sind. Eine Liste ausgewählter Publikationen finden Sie im Anhang des zum Download verfügbaren Beitrags [1-10]. Es gibt andere mathematische Prinzipien, die mit dem metrischen Konzept kompatibel sind, wie zum Beispiel Kernel- und Graph-Laplace-basierte Methoden. Durch die Abbildung des metrischen Raums als Graph finden auch ausgewählte graphbasierte Analysemethoden Eingang in das Framework. Dies kann beispielsweise genutzt werden, um metrische Räume und damit beliebig komplexe Daten zu entrauschen. Darüber hinaus können redundante Informationen im metrischen Raum eliminiert werden, so dass beispielhaft 10 Bilder aus 1 Million Bildern als Darstellungen bereitgestellt werden können. Darüber hinaus kann dem Benutzer eine Assistenzfunktion angeboten werden, die bei der vollständigen Markierung eines Datensatzes ein völlig selbstlernendes Clustering einiger wichtiger Labels ermöglicht, wenn der Benutzer dies z. B. für eine nachgelagerte Analyse benötigt. Das metrische Konzept ermöglicht es dem Benutzer, sich einen vollständigen Überblick über beliebig viele Daten zu verschaffen, ohne jeden einzelnen Datensatz explizit betrachten und visualisieren zu müssen.

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

Neuronale Netze beinhalten normalerweise das Training von f() in y=f(x) mit Hilfe von x und y, um eine Vorhersage zu berechnen y aus unbekanntem x. Hierbei handelt es sich um hochdimensionale und nichtlineare Anpassungsfunktionen, die fehlende Daten füllen sollen. Es wird jedoch nicht beantwortet, wie die 1 % der seltsamsten Elemente aussehen und ob es strukturell nicht erklärbare Anomalien oder einfach nur Extreme der 99 % verbleibenden Elemente gibt oder ob ein Zusammenhang mit anderen Daten besteht. Darüber hinaus reagiert ein solches Netzwerk auf unbekannte Eingaben x mit teilweise unscharfem y und lässt das Verfahren somit in vielen Augen ungenau oder unbrauchbar erscheinen, insbesondere wenn es um den Umgang mit unbekannten und neuen Daten geht. In der Fertigung geht es jedoch genau um diese unerwarteten Phänomene. Darüber hinaus ist das Training neuronaler Netze, insbesondere mit vielen Schichten einschließlich Faltungsschichten, sehr rechenintensiv. Es ist außerdem anfällig für numerische Phänomene, die auf das Konzept der Backpropagation zurückzuführen sind und zu nutzlosen Lösungen führen können. Diese Effekte unter Kontrolle zu bringen erfordert ein sehr großes technisches Know-how und kann derzeit nicht sinnvoll oder nur mit exorbitantem Rechenaufwand durch eine Metaparameteroptimierung verbessert werden. Dies führt dazu, dass zunehmend nur vorab trainierte Modelle verwendet werden, obwohl dies nicht den spezifischen Anforderungen jeder Datenquelle in der Branche gerecht wird. Im Allgemeinen basiert das metrische Konzept auf globalen Optima, während neuronale Netze immer mit den bestmöglichen lokalen Optima implementiert werden, was nur mit einem unverhältnismäßig hohen Rechenaufwand zu erreichen ist. Im Gegensatz zum metrischen Konzept sind die Einsatzmöglichkeiten neuronaler Netze begrenzt.

VI. OPEN-SOURCE-SOFTWARE

METRIC ist in C++ 17 nur als Header programmiert und unter MPL 2.0 Open Source1 veröffentlicht. METRIC läuft unter Linux, macOS sowie Windows. Alle Funktionen und Klassen in METRIC verfügen über eine einheitliche API. Die bereitgestellten Template-Parameter sind immer der Datensatztyp und der Metriktyp, die sicherstellen, dass der Compiler immer den optimalen Maschinencode erzeugt. Parameter werden über Factory-Funktionen integriert und eine Accessor-Schnittstelle schließt die Lücke zwischen Datenbankmodellierung und dem Array-Format für die Algorithmen. Die Anbindung der Algorithmen an die Middleware und das Frontend erfolgt über eine Zwischensprache in Form einer Json-basierten Kommunikation. Da der Einsatz eines JIT-Compilers zu Schwierigkeiten beim Debuggen und zu einer Virtualisierung führte, die stark zu Lasten der Performance geht, hat sich das Template-Resolving-System bewährt. Dies bringt zwar Nachteile in der Kompilierungszeit und der daraus resultierenden Programmgröße mit sich verursacht keine Probleme beim Debuggen und bei der Leistung.

Folgt uns auf
We do not only optimize production processes, but also our website! For this, we use tools such as cookies for analysis and marketing purposes. You can change your cookie settings at any time. Information and Settings