Maschinelles Lernen Maschinelles Lernen — Gegenwart und Zukunft

Redakteur: Andreas Leu

Um Zielkunden besser bedienen zu können als die Konkurrenten, suchen Embedded Design Teams schon heute nach neuen Technologien wie Machine Learning und Deep Learning.

Firmen zum Thema

Deep Rein­forcement Learning für Roboter-­Steuerungsanwendungen
Deep Rein­forcement Learning für Roboter-­Steuerungsanwendungen
(Bild: National Instruments)

Mit Machine Learning (ML) und Deep Learning (DL) lassen sich von diesen Teams komplexe Modelle von einem oder mehreren Systemen mithilfe eines datengesteuerten Ansatzes erstellen. Statt physikalisch basierte Modelle zur Beschreibung des Systemverhaltens zu verwenden, leiten ML- und DL-Algorithmen das Modell eines Systems aus Daten ab. Herkömmliche ML-­Algorithmen sind nützlich, wenn die zu verarbeitende Datenmenge relativ klein und die Komplexität des Problems gering ist. Aber was ist bei grösseren Problemen mit viel mehr Daten wie dem autonomen Fahrzeug? Diese Herausforderung erfordert DL-Techniken. Dieser Artikel zeigt auf, wie diese neue Technologie in die nächste Ära eines Steuerungs-Designs und das Industrial Internet of Things (IIoT) drängen wird.

Zustandserfassung unterstützt Fehleranalyse

Als Erstes wird eine Anwendung der ML-­Technologie für die zustandsorientierte Überwachung von Industrie-Anlagen beleuchtet. ML hat dabei geholfen, zustandsbasierte Überwachungsanwendungen von der Ära der reaktiven und präventiven Wartung zu einer Ära der vorbeugenden Instandhaltung zu überführen. Diese Techniken werden verwendet, um anomales Verhalten zu erkennen, Probleme zu diagnostizieren und bis zu einem gewissen Grad die Restnutzungsdauer von Industrieanlagen wie Motoren, Pumpen und Turbinen zu prognostizieren. Der Ablauf für die Entwicklung und Bereitstellung von Modellen auf Basis von ML ist im Bild 1 dargestellt.

Bildergalerie
Bildergalerie mit 5 Bildern

Wie wird dieser Workflow genutzt, um den Zustand eines Motors zu überwachen? Die Daten werden von unterschiedlichen Sensoren wie Beschleunigungssensoren, Thermo-Elementen und Stromwandlern gesammelt, die direkt am Motor angebracht sind. Das Feature-Engineering besteht in der Regel aus zwei Teilen: Feature-Extraktion und Feature-Reduktion. Die Merkmals-­Extraktion wird verwendet, um aus den Rohdaten Informationen abzuleiten, die notwendig sind, um den Zustand der Anlage zu erfassen. Beispielsweise enthält das Frequenzspektrum des Stromsignals vom Motor Informationen, die zur Erkennung von Fehlern verwendet werden können, wie in Abbildung 2 dargestellt. Die durchschnittliche Amplitude über verschiedene Frequenzbereiche dient als Kenngrösse, die aus dem Stromsignal extrahiert wird. Messungen, die aus mehreren Sensoren extrahiert wurden, enthalten redundante Informationen. Eine Methode zur Reduzierung von Eigenschaften, wie z. B. die Hauptkomponentenanalyse (Principal Component Analysis, PCA), kann dazu genutzt werden, die Anzahl der Merkmale zu reduzieren, die letztlich für die Erstellung eines Modells verwendet werden. Die Reduzierung der Anzahl der Features reduziert die Komplexität des zu verwendenden ML-Modells. Die reduzierte Menge an Merkmalen wird als Vektor (oder Array) dargestellt und in den ML-Algorithmus eingegeben, der im Schritt der Modellerstellung verwendet wird. Die Modellerstellung und -validierung ist ein iterativer Prozess, bei dem der Anwender mit mehreren ML-Algorithmen experimentieren und denjenigen auswählen kann, der am besten für seine Anwendung geeignet ist.

Intelligente Algorithmen erkennen Anomalitäten

Ein unbewachter ML-Algorithmus wie das Gausssche Mischungsmodell (GMM) lässt sich verwenden, um das normale Verhalten des Motors zu modellieren und zu ermitteln, wenn der Motor anfängt, von seinem Ausgangswert abzuweichen. Nicht überwachte Methoden sind bestens geeignet, um versteckte Muster in den Daten aufzudecken, ohne dass die Daten markiert werden müssen. Während unbeaufsichtigte Techniken zur Erkennung von Anomalien des Motors eingesetzt werden können, sind überwachte Algorithmen erforderlich, um die Ursache der Anomalie zu ermitteln. In überwachten Methoden wird der Algorithmus mit Paaren der Eingangsdaten und der gewünschten Ausgabe dargestellt. Diese Daten werden als markierte Daten bezeichnet. Der Algorithmus lernt die Funktionsweise, welche die Eingänge auf die Ausgänge abbildet. Die Daten, die für das Lernen des ML-Algorithmus verwendet werden, umfassen Merkmale, die unter normalen und fehlerhaften Bedingungen extrahiert wurden. Die Merkmale sind durch ein Etikett, das den Zustand des Motors kennzeichnet, eindeutig gekennzeichnet. Support-Vektor-­Maschinen (SVM), logistische Regression und künstliche neuronale Netze sind häufig verwendete überwachte ML-Algorithmen. Eine Herausforderung bei traditionellen ML-Techniken ist die Feature-Extraktion. Es handelt sich um einen sensiblen Prozess, der das Wissen eines Domain-Experten voraussetzt und in der Regel der Schwachpunkt im ML-Workflow ist. DL-Algorithmen haben in letzter Zeit an Popularität gewonnen, weil sie die Notwendigkeit des Feature-­Engineering-Schrittes eliminieren. Die von den Sensoren erfassten Rohdaten können direkt in die DL-Algorithmen eingegeben werden (siehe Bild 4). DL-Algorithmen basieren auf künstlichen neuronalen Netzen. Die Lernalgorithmen für künstliche neuronale Netze orientieren sich an den Struktur- und Funktionsaspekten biologischer neuronaler Netze. Diese Algorithmen sind in Form einer Gruppierung von Rechenknoten (künstliche Neuronen) strukturiert, die in Schichten organisiert sind. Die erste Schicht wird als Eingangsschicht bezeichnet, die mit dem Eingangssignal oder den Daten verbunden ist. Die letzte Schicht ist die Ausgabeschicht, und die Neuronen in dieser Schicht liefern die endgültige Vorhersage oder Entscheidung. Zwischen der Eingangs- und der Ausgangsschicht befinden sich eine oder mehrere ausgeblendete Schichten (Abbildung 5). Die Ausgänge einer Schicht sind durch gewichtete Beziehungen mit den Knoten der nächsten Schicht verbunden. Ein Netzwerk erlernt ein Mapping zwischen Ein- und Ausgang, indem es diese Gewichtungen modifiziert. Durch die Verwendung mehrerer nicht sichtbarer Schichten lernen DL-Algorithmen die Eigenschaften, die aus den Eingabedaten extrahiert werden, ohne dass die Eigenschaften explizit in den Lern-Algorithmus eingegeben werden müssen. Dies wird als Feature-Learning bezeichnet. DL verzeichnet in jüngster Zeit Erfolge bei IIoT-Anwendungen, vor allem wegen der zunehmenden Entwicklung technologischer Komponenten, wie z. B. höhere Rechenleistung in der Hardware, grosse Datenbestände mit beschrifteten Trainingsdaten, Durchbrüche bei Lernalgorithmen und Netzwerkinitialisierung sowie die Verfügbarkeit von Open-Source-Software-­Frameworks. Nachfolgend einige grundsätzliche Überlegungen zur Auslegung von Anlagen mit dieser Technologie. Topologien-DL ist ein sich ständig weiterentwickelndes Feld, und zahlreiche Netzwerktopologien sind derzeit im Einsatz. Einige dieser Netzwerke, die aussichtsreich für die Steuerung und Überwachung von IIoT-Anwendungen sind, werden im Folgenden diskutiert:

  • Deep fully connected neuronale Netze sind vollständig verbundene künstliche neuronale Netze mit vielen verborgenen Schichten (also tief). Diese Netzwerke sind ausgezeichnete Approximatoren und eignen sich z. B. für den Einsatz in der Leistungselektronik. Um einen Controller mit tiefen Netzwerken zu bauen, wird das Simulationsmodell des zu steuernden Systems zur Generierung der Trainingsdaten verwendet. Damit lassen sich Zustände (Randbedingungen) erforschen, die mit herkömmlichen Methoden nur schwer zu beherrschen sind.
  • Konvolutionäre neuronale Netze sind so konzipiert, dass sie die Vorteile der zweidimensionalen Struktur von Eingangssignalen wie Eingangsbildern oder Sprachsignalen nutzen. Ein Konvolutionsnetz besteht aus einer oder mehreren Konvolutionsschichten (Filterschichten), gefolgt von einem vollständig verbundenen, mehrschichtigen neuronalen Netzwerk. Diese Netzwerke sind erfolgreich bei Problemen wie der Fehlererkennung in Bildern und der Objekterkennung. Sie dienen dem Motiv-Verständnis in modernen Fahrerassistenz-Systemen.
  • Wiederkehrende neuronale Netze (WNN) basieren auf Algorithmen, die sequenzielle (oder historische) Informationen nutzen, um Prognosen zu erstellen. Diese Netzwerke eignen sich gut für die zeitliche Zeitreihenanalyse. Ein traditionelles neuronales Netzwerk geht davon aus, dass alle Eingänge (und Ausgänge) unabhängig voneinander in der Zeit oder Reihenfolge des Eintreffens sind. WNNs zeichnen Zustandsinformationen auf. Diese speichern Informationen über die Vergangenheit und verwenden die bisher berechneten Ergebnisse für die nächste Vorhersage. In IIoT-Anwendungen sind WNNs gut geeignet, um historisches Verhalten zu erlernen und damit zukünftige Ereignisse wie die Restnutzungsdauer (RUL) eines Assets vorherzusagen. Für diese Art von Anwendungen eignet sich das Long-Short-Term-Memory-Netzwerk (LSTM-Netzwerk).
  • Deep Reinforcement Learning (DRL) eignet sich gut für die Entwicklung adaptiver Regelsysteme, die in komplexen dynamischen Umgebungen arbeiten. Denken wir an die Steuerung von Robotern, die im Lagerbetrieb eingesetzt werden, wo sich die Roboter dynamisch an neue Anforderungen anpassen sollen. Die lernbasierten Controller lernen eine Aufgabe durch die Informationen, die sie für die Durchführung einer Aktion erhalten und die sie dem Ziel näherbringt. Beispielsweise erhält die Steuerung von einer Kamera ein Bild, das die aktuelle Position eines Roboterarms anzeigt und anhand der Informationen im Bild lernt, wie man den Arm näher an das Ziel heranführt. Die DL-basierte Steuerung kann mithilfe eines Robotersimulators oder durch Beobachtung des realen Roboters in Aktion trainiert werden.

Deep Learning auf unterschiedlichen Stufen

Training: Deep Neuronale Netze erfordern grosse Mengen an Trainingsdaten, die vorzugsweise Daten aus allen verschiedenen Zuständen oder Bedingungen enthalten, die das Netzwerk lernen muss. Für die meisten Anwendungen stammen die verfügbaren Daten überwiegend aus dem normalen Betriebszustand eines Systems mit einer kurzen Stichprobe von Daten aus anderen Zuständen. Die Datenerweiterung ist eine Technik zur Verbesserung dieses Datenungleichgewichts, bei der man mit dem vorhandenen kleinen Sample-Set beginnen und durch Umwandlung der Daten zusätzliche künstliche Versionen erstellen kann. Zusätzlich besteht die Möglichkeit, mithilfe von Simulationsmodellen des Systems Trainingsdaten zu erzeugen. Eine weitere Herausforderung besteht darin, dass es problematisch ist, die grossen Datenmengen zu sammeln, die für die Qualifizierung dieser Netze erforderlich sind. Das Transfer-Lernen ist ein Ansatz, mit dem man dieses Problem mildern kann. Beim Transfer-Learning wird mit einem vorbereiteten neuronalen Netzwerk (die meisten DL-Software-Frameworks bieten ausgereifte Modelle, die man herunterladen kann) begonnen und mit Daten aus der Anwendung im weiteren Verlauf optimiert. Hardware-Schulung in tiefen Netz­werken stellt enorme Anforderungen an die Datenverarbeitung. GPUs haben sich als primäre Alternative für das Training tiefer Netzwerke herausgestellt.

Grafikprozessoren sind attraktiv und aufgrund der hohen Rechenleistung, des grossen Speichers, der hohen Speicherbandbreite und der Auswahl an Programmierwerkzeugen nahezu eine Notwendigkeit für das Training. FPGAs sind zudem gute Voraussetzungen für den Einsatz von qualifizierten Netzwerken. FPGAs sorgen für niedrigere Latenzzeiten, bessere Energieeffizienz und Determinismus, speziell für den Einsatz dieser Netzwerke auf Embedded Devices für Steuerungssysteme, die in einem engen Regelkreis mit I/O arbeiten. Software: Ein Grund für die rasche Akzeptanz und den Erfolg von DL ist die Verfügbarkeit ausgereifter Software-­Frameworks. Einige der Gebräuchlichsten sind TensorFlow, Caffe, Keras, Keras und CNTK. Diese Frameworks unterstützen verschiedene Betriebssysteme wie Windows und Linux sowie Programmiersprachen wie Python und C++. Die meisten dieser Frameworks verfügen über Unterstützung oder Beispiele für die Implementierung der neuesten DL-Netzwerke. Sie ermöglichen auch das Lernen auf GPUs.

DL ist eine spannende neue Richtung der künstlichen Intelligenz und eine vielversprechende Technologie zur Lösung von Problemstellungen der nächsten Generation in der industriellen Steuerungsentwicklung. Eine einfache Möglichkeit, mit DL zu beginnen, besteht darin, eines der oben genannten Open-Source-Frameworks zu downloaden und mit den Tutorial-Beispielen zu experimentieren. Am besten startet man mit einem Beispiel, das ähnlich der Anwendung ist und nutzt Transfer-Learning, um schnell einsatzbereit zu sein.

ni.com

(ID:47712150)