PANDA | METRIC

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

22
.
Aug 2019
von
Michael Welsch
&

PANDA | METRIC ist ein Framework zur Verarbeitung beliebiger Daten. Es erweitert die Möglichkeiten von Algorithmen des maschinellen Lernens für variabel strukturierte Datentypen und ermöglicht Aussagen über die Beziehungen zwischen den Daten im Kontext der künstlichen Intelligenz. Zu diesem Zweck werden die erfassten Daten zunächst mit Hilfe einer Metrik in einem metrischen Raum modelliert. Diese Räume können nun ohne Informationsverlust zueinander in Beziehung gesetzt und vereinfacht werden. So können wesentliche Informationen extrahiert und dem Nutzer zugänglich gemacht werden. Das Framework bietet in verschiedenen Modulen eine Sammlung von Algorithmen, die für metrische Räume optimiert sind 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. Im Vergleich zum 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, für die eine Funktion gilt, die ein Konzept der Ähnlichkeit zwischen zwei beliebigen Elementen dieser Menge definiert. Eine Menge kann zum Beispiel aus 1 Million aufgezeichneten Bildern einer Kamera bestehen. Die Abstandsfunktion oder 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 numerische Wert, je ähnlicher sie sind, desto stärker tendiert er gegen Null. Formal wird ein metrischer Raum bereits implizit erzeugt, indem einer Menge eine geeignete Metrik zugewiesen wird. Innerhalb der Algorithmen wird die Menge nun in der Regel explizit mit der Metrik "ausmultipliziert". Dies kann z.B. durch eine vollständige paarweise Berechnung und Speicherung der Abstandswerte in einer Abstandsmatrix geschehen. Dieser Ansatz stößt jedoch aufgrund seiner quadratischen Komplexität schnell an die Grenzen der Computertechnik. Alternativ kann der metrische Raum in einem spärlichen Graphen oder in einem Suchbaum dargestellt werden, siehe Abbildung 1. Sowohl Baum als auch Matrix können als Spezialfälle eines allgemeinen Graphenkonzepts für die explizite Darstellung eines metrischen Raums interpretiert werden. Die Kanten in diesem Graphen stellen die Abstände zwischen den einzelnen Elementen dar. Jedes der drei Prinzipien zur Darstellung eines metrischen Raums hat bestimmte Vor- und Nachteile. Entsprechend werden diese Prinzipien in den Algorithmen unterschiedlich verwendet. 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 große Anzahl verschiedener Metriken. Die euklidische Metrik ist am besten bekannt als der Abstand zwischen zwei Punkten eines geometrischen Raums entlang einer Verbindungsgeraden. Neben der euklidischen Metrik gibt es eine Reihe von verwandten Metriken, die auch im klassischen maschinellen Lernen bekannt sind, wie z. B. die City-Block-Metrik. Es gibt jedoch noch viele weitere Metriken, z. B. für x-y-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 zeigt, dass das metrische Konzept im Grunde (nur) eine Verallgemeinerung der euklidischen Metrik ist. Diese Version ist jedoch unzureichend. Verallgemeinert entspricht eine Metrik den minimalen Kosten einer informationstheoretischen Umkodierung eines Elements der Menge in ein anderes Element der gleichen Menge. Der Umwandlungsprozess kann und wird in der Regel durch Beschränkungen behindert, weshalb jede Metrik mit dem mathematischen Konzept der linearen Programmierung verallgemeinert werden kann. Während die euklidische und verwandte Abstandsfunktionen zwischen zwei Elementen explizit berechnet werden können, gibt es für komplexere Datentypen im Allgemeinen ein Optimierungsproblem für die Berechnung des Abstands. Das liegt daran, dass es viele mögliche Wege der Umkodierung gibt, aber nur der Weg mit den geringsten Kosten dem gesuchten Abstand entspricht. Im Falle eines Bildvergleichs 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 z.B. das Bild eines Hundes in das Bild einer Katze umwandeln und die minimalen Kosten für die Pixelumwandlung 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-Rahmen 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 Rahmen durch eine Accessor-Funktionsschnittstelle bereitgestellt, um direkt auf beliebig strukturierte Daten in Datenbanken zugreifen zu können. Im Falle von Bildern oder höherdimensionalen Konstrukten werden die Einträge serialisiert und z.B. die Constraints 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 prinzipiell vertauscht werden, ohne das Ergebnis der Berechnung zu beeinflussen, wobei die Vertauschung in allen Arrays gleichermaßen erfolgen muss. Bei einer k-zufälligen Metrik kann die Reihenfolge auch innerhalb jedes Arrays beliebig vertauscht werden. Bei k-strukturierten Metriken hingegen hat die Reihenfolge 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. Ist dies nicht möglich, kann der Nutzer die Randbedingungen der Metrik automatisch berechnen lassen oder prüfen, ob es eine k-zufällige, k-verwandte oder k-strukturierte Metrik im Allgemeinen gibt, um dann eine entsprechende Metrik auszuwählen.

II. METRISCHE ALGORITHMEN

Die Algorithmen im METRIC-Rahmen sind in mehrere Untermodule unterteilt. SPACE bietet Klassen für die Darstellung metrischer Räume, einschließlich grundlegender Operationen wie der Suche nach benachbarten Elementen. DISTANCE bietet eine umfangreiche Sammlung von Metriken, einschließlich Fabrikfunktionen für die 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. Neben der Beliebigkeit der Elemente ist ein weiterer Vorteil gegenüber klassischen Methoden, dass die metrische Korrelation nichtlinear ist. Sie weist also nicht die typische Fehlinterpretation einer Pearson-Korrelation auf. Der Korrelationsalgorithmus arbeitet mit einer Unterraum-Sampling-Approximation des metrischen Raums für Datensätze beliebiger Größe. Das Modul TRANSFORMATION enthält deterministische Algorithmen, die nicht aus der Struktur eines metrischen Raums einen neuen metrischen Raum abbilden, sondern Element für Element in einen anderen metrischen Raum übertragen, z. B. vom Zeit- in den Frequenzbereich. Man kann zwischen verlustbehafteter Kompression und vollständig umkehrbaren Verfahren unterscheiden. Im Allgemeinen handelt es sich jedoch um bewährte, deterministische Verfahren wie Wavelets. Das UTILS-Modul enthält Algorithmen, die ebenfalls nicht metrisch sind, sich aber gut kombinieren lassen. Zum einen gibt es einen leistungsfähigen In-Memory-Crossfilter. 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 nichtparametrischen Signifikanztest für unabhängige Merkmale (PMQ) eines metrischen Raumes, die durch Mapping gewonnen wurden.

Abbildung 2. Struktur des METRIC-Rahmens
Abbildung 2. Struktur des METRIC-Rahmens

MAPPING enthält verschiedene Algorithmen, die metrische Räume "berechnen" oder sie in äquivalente metrische Räume abbilden können. Wenn zum Beispiel eine Kamera eine Szene aufnimmt, 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. In der Realität gibt es aber nur zwei Freiheitsgrade: den Öffnungswinkel der Tür und die Helligkeit der Lichtquelle. Ein Mapping-Algorithmus kann nun z. B. diese Merkmale berechnen und die Millionen von Dimensionen des ursprünglichen metrischen Raums in einen metrischen Raum mit nur zwei Dimensionen pro Element übertragen.

Aus diesen beiden Merkmalen können mit dem Reverse Decoder auch Bilder bidirektional rekonstruiert werden. Da diese beiden berechneten Merkmale nun relativ unabhängig sind, wobei dies auch mit einem metrischen Algorithmus überprüft werden kann, lassen sich mit diesen Bildern und Rückbildern unter Berücksichtigung der Nebenbedingungen komplexe Daten interpolieren. Darüber hinaus können unerwünschte Merkmale, wie z.B. der Einfluss von Helligkeit, für die weitere Auswertung aus den Bildern entfernt werden. Auf diese Weise bringt der Benutzer sein a priori Wissen ein und versteht andererseits, was sein a priori Einfluss bewirkt, anstatt durch eine autonome Programmierung dieses Wissens einen Informationsverlust zu verursachen. Beispielsweise weiß der Nutzer bei einer FFT-Analyse a priori, dass Schwingungen relevant sind, trennt aber bei der Transformation die Obertöne ab, obwohl dies nicht der menschlichen Übergangswahrnehmung entspricht. Eine metrisch basierte Abbildung in einem Merkmalsraum führt dagegen dazu, dass die Schwingungsmuster im Zeitbereich einschließlich der Obertöne isoliert werden und eine wesentlich intuitivere Interpretation ermöglichen.

III. FÄHIGKEITEN IM BEREICH DER KÜNSTLICHEN INTELLIGENZ

Die Algorithmen des Moduls MAPPING zielen darauf ab, die Komplexität durch Clustering oder Klassifizierung zu reduzieren und fehlende Informationen in den Daten zu ergänzen. Dies ist eine Vorhersage, die ein wesentlicher Bestandteil des maschinellen Lernens für numerische Daten in Tabellenform ist und nun auch für jeden Datentyp und jede Datenkombination zur Verfügung steht. Andererseits können die Algorithmen des Moduls MAPPING auch zur Umstrukturierung von Daten oder zur Zusammenführung verschiedener metrischer Räume und damit verschiedener Datenquellen verwendet werden.

Dies kann z. B. für die automatische Synthese abstrakter Bilder aus beliebigen Datenquellen verwendet werden. All diese Methoden beruhen nicht auf der Beschriftung von Daten durch den Benutzer und können nicht als Lernen interpretiert werden. METRIC ist daher in seinem Kern kein Werkzeug für maschinelles Lernen, obwohl es mit dieser Teildisziplin der künstlichen Intelligenz (KI) viel vertrauter ist als andere Frameworks.

Neben der Fähigkeit, komplexe Informationen zu verknüpfen und Muster ohne umfangreiches und redundantes 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 metrischen Konzept möglich, indem eine Handlungsstrategie als Metrik interpretiert und ein metrischer Handlungsraum definiert wird. Wie bei jeder anderen Metrik gibt es ein Optimierungsproblem unter vielen Randbedingungen. Merkmale wären in diesem Fall z.B. Meta-Produktionsstrategien wie Qualität, Kosten und Zeit. Ein optimaler Zustand kann automatisch erreicht werden, indem einzelne Metaproduktionsparameter zurückgemappt werden und durch die Generierung neuer Datenpunkte im metrischen Raum navigiert wird. In der ersten Version von METRIC wird dieses Ziel jedoch (noch) nicht verfolgt, da autonomes Handeln auf Ablehnung, ungelöste Haftungsfragen und lange Zertifizierungen stoßen würde. Auch wenn der algorithmische oder mathematische Schritt sehr klein ist, fehlen in jeder aktuellen Produktionsanlage für eine solche KI-Funktionalität mehr als 99% der notwendigen Daten von intelligenten Komponenten sowie Steuergrößen.

Durch die Abbildung der Daten in metrischen Räumen ist Software im Allgemeinen in der Lage, das gesamte Wissen in den Daten vollständig und gleichzeitig zu erfassen, wozu der Mensch mit seinen Fähigkeiten nicht in der Lage ist. Als Beispiel sei hier eine Kamera an der letzten Station einer Fertigungsstraße genannt. Ihre Bilder sind vollständig und mit all ihren Details im metrischen Raum abgebildet, aber der Benutzer interessiert sich nur für einen bestimmten Einfluss auf die Bilder und nicht für alle, weil ihn die Fülle der ungefilterten Informationen überfordern würde.

In der ersten Version von METRIC in Kombination mit der Drift UI geht es darum, dieses komplette Wissen in den Daten auf eine Ebene zu reduzieren, die dem Menschen hilft, einen industriellen Prozess zu verstehen und ihn selbst zu optimieren. Die Millionen von Dimensionen werden auf eine 2D-Darstellung vereinfacht und damit auf das menschliche Maß der Verarbeitbarkeit reduziert, um eine fokussierte und selektive Sicht auf den Gesamtzusammenhang 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 Sensorinfor- mationsdichte und Aktuatormöglichkeiten erfolgt anschließend in der nächsten Ausbaustufe eine wirkliche Autonomie des Systems über eine reine Assistenzfunktion hinaus.

Dies geschieht über ein UI-Konzept innerhalb des Drift-Frontends und einen interaktiven Workflow, so dass der Nutzer sein a priori Wissen über die Daten bewusst Stück für Stück verknüpft.

Abbildung 3: Intelligente Mustererkennung
Abbildung 3: Intelligente Mustererkennung

Der Nutzer ist sich der Folgen seines Einflusses immer bewusst, bis er eine für ihn verständliche Nachricht erhält. Ziel dieses Assistenzsystems ist es schließlich, Antworten auf Fragen zu bestimmten Daten zu erhalten, für die in der Regel zusätzliche A-priori-Informationen des Nutzers erforderlich sind. Mit zunehmender Informationsdichte der Sensoren und den Möglichkeiten der Aktorik wird in der nächsten Ausbaustufe eine echte Autonomie des Systems über eine reine Assistenzfunktion hinaus erreicht. Industrielle KI ist für PANDA kein Werbeslogan, sondern ein ernsthaftes technologisches Versprechen. Die Basis dafür liegt in der verwendeten metrischen Mathematik. Mittels der ersten Version von METRIC und dem UI von Drift sollen zwei einfache Fragen von der KI beantwortet werden: Was läuft schief und warum? Die KI wird den Benutzer immer bitten, ihr anhand eines Beispiels zu zeigen, was für ihn normal ist. Zum Beispiel definiert der Benutzer eine Frühschicht als Referenzzeitwert für gute Daten und filtert 5 % der anomalsten Werte heraus. Um dem Benutzer diese erste Stufe der KI zur Verfügung zu stellen, liegt die praktische Herausforderung in der entsprechenden Kombination der Algorithmen im METRIC-Rahmen. Zum Beispiel können die durch Mapping gewonnenen Merkmale als Label für eine Klassifizierung verwendet werden, um zu prü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 z. B. das Anfahrüberschwingen beim Positionieren des Werkzeugs etwas sein, das mit dem nachfolgenden Plateau korreliert, und nur eine Änderung des Verhältnisses könnte ein tatsächliches Merkmal sein. Es stellt sich die Frage, ob dieses Phänomen als Drift oder Anomalie existiert und bearbeitbar ist. Auf diese Weise wird dem Nutzer 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 somit der Technologie vertrauen.

IV. DATENKOMPRESSION

Als Nebeneffekt bietet das metrische Konzept eine Datenkomprimierung, die weit über die Möglichkeiten moderner Kompressoren hinausgeht. Die komplexen Daten werden zunächst durch eine Wavelet-Transformation zerlegt. Durch die Kodierung der "oszillierenden" Redundanzen werden die nach der Rauschentfernung verbleibenden Arrays spärlich gefüllt, was die metrische Berechnung erheblich beschleunigt. Anschließend werden nur die Muster in metrischen Räumen gespeichert und durch Merkmale abgebildet. Die Sequenzen der Muster werden ebenfalls durch eine Metrik in metrischen Räumen dargestellt. Die KI versucht zu schätzen, welches Muster als nächstes kommt. Wenn die Vorhersage richtig ist, wird kein weiterer Speicherplatz benötigt, um die Information zu erhalten. Die Daten werden dann vollständig aus dem Muster und den Sequenzen, die wiederum Muster sind, rekonstruiert. Da die Verarbeitung zwangsläufig über metrische Räume erfolgt, werden die ursprünglichen Rohdaten nicht gespeichert, da sie bei Bedarf einfach synthetisiert werden können. In das METRIC-Rahmenwerk sind viele wissenschaftliche Einzelerkenntnisse eingeflossen, die durch das Rahmenwerk einen gemeinsamen Sinn ergeben. Eine Liste ausgewählter Publikationen findet sich im Anhang des Papiers, das zum Download zur Verfügung steht [1-10]. Es gibt weitere mathematische Prinzipien, die mit dem metrischen Konzept kompatibel sind, wie z.B. kernel- und graph-laplacian-basierte Methoden. Ausgewählte graphbasierte Analysemethoden finden aufgrund der Abbildung des metrischen Raums als Graph ebenfalls Eingang in das Framework. Dies kann z.B. dazu genutzt werden, metrische Räume und damit beliebig komplexe Daten zu entrauschen. Des Weiteren können redundante Informationen in einem metrischen Raum eliminiert werden, so dass beispielhaft 10 Bilder aus 1 Million Bildern als Repräsentationen bereitgestellt werden können. Darüber hinaus kann dem Nutzer eine Assistenzfunktion angeboten werden, indem bei der vollständigen Markierung eines Datensatzes ein vollständig selbstlernendes Clustering nach einigen wichtigen Labels ermöglicht wird, wenn der Nutzer dies z.B. für eine nachgelagerte Analyse benötigt. Das Metrikkonzept ermöglicht es dem Nutzer, sich einen vollständigen Überblick über eine beliebige Anzahl von Daten zu verschaffen, ohne jeden einzelnen Datensatz explizit betrachten und visualisieren zu müssen.

V. UNTERSCHIED ZWISCHEN METRISCHEN RÄUMEN UND DEEP-LEARNING-ANSÄTZEN

Neuronale Netze beinhalten in der Regel das Training von f() in y=f(x) mit Hilfe von x und y, um aus dem unbekannten x ein vorhergesagtes y zu berechnen. Dies sind hochdimensionale und nichtlineare Anpassungsfunktionen, die fehlende Daten füllen sollen. Allerdings ist nicht geklärt, wie die 1% auffälligsten Elemente aussehen und ob es sich um strukturell nicht erklärbare Anomalien oder einfach nur um Extreme der 99% verbleibenden Elemente handelt oder ob es einen Zusammenhang mit anderen Daten gibt. Hinzu kommt, dass ein solches Netz auf unbekannte Eingaben x mit teilweise unscharfen y reagiert und damit das Verfahren in vielen Augen als ungenau oder unbrauchbar erscheinen lässt, insbesondere wenn es um den Umgang mit unbekannten und neuen Daten geht. In der Fertigung sind aber genau diese unerwarteten Phänomene das, worum es geht. Außerdem ist das Training neuronaler Netze, insbesondere bei vielen Schichten einschließlich Faltungsschichten, sehr rechenintensiv. Es ist auch anfällig für numerische Phänomene, die auf das Konzept der Backpropagation zurückgehen und zu unbrauchbaren Lösungen führen können. Diese Effekte in den Griff zu bekommen, erfordert ein sehr großes ingenieurtechnisches Know-how und kann derzeit nicht sinnvoll oder nur mit exorbitantem Rechenaufwand durch eine Metaparameteroptimierung verbessert werden. Daher werden zunehmend nur noch vortrainierte Modelle verwendet, die jedoch nicht den spezifischen Anforderungen jeder Datenquelle in der Industrie genügen. Generell 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 Anwendungsmöglichkeiten von neuronalen Netzen 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 sowohl unter Linux, macOS als auch unter Windows. Alle Funktionen und Klassen in METRIC haben eine einheitliche API. Als Template-Parameter werden immer der Record-Typ und der Metrik-Typ übergeben, wodurch sichergestellt wird, dass der Compiler immer den optimalen Maschinencode erzeugt. Die Parameter werden über Fabrikfunktionen integriert und eine Accessor-Schnittstelle schließt die Lücke zwischen der 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 Debugging und zu einer Virtualisierung führte, die stark zu Lasten der Performance geht, hat sich das Template-Resolving-System bewährt. Dieses hat zwar Nachteile in der Kompilierzeit und der daraus resultierenden Programmgröße, verursacht aber keine Probleme bei der Fehlersuche und Performance.

pdf herunterladen

Folgen Sie mir auf
Wir optimieren nicht nur die Produktionsprozesse, sondern auch unsere Website! Hierfür verwenden wir Tools wie Cookies für Analyse- und Marketingzwecke. Sie können Ihre Cookie-Einstellungen jederzeit ändern. Informationen und Einstellungen