LösenAnheftenSchließen

Unternehmenszentrale Schweiz
Beckhoff Automation AG

Rheinweg 7
8200 Schaffhausen, Schweiz

+41 52 633 40 40
info@beckhoff.ch
www.beckhoff.com/de-ch/

Technischer Support Schaffhausen (Deutsch)

+41 52 633 40 40
support@beckhoff.ch
Kontaktformular

Technischer Support Arbon (Deutsch)

+41 71 447 10 80
support@beckhoff.ch

Technischer Support Lyssach (Deutsch)

+41 34 447 44 88
support@beckhoff.ch

Technischer Support Yverdon (Französisch)

+41 24 447 27 00
support@beckhoff.ch

Technischer Support Losone (Italienisch)

+41 91 792 24 40
support@beckhoff.ch

04.05.2021

„KI ist ein evolutionärer Prozess“

Interview mit Dr. Fabian Bause, Beckhoff

Veröffentlichung aus Computer&AUTOMATION 03/2021, www.computer-automation.de, WEKA Fachmedien

Das Interview führte Andrea Gillhuber, Computer&AUTOMATION.

Beckhoff hat in seine TwinCAT-3-Steuerungen Machine Learning integriert und Erfahrungen gesammelt. Im Interview erläutert Dr. Fabian Bause, Produktmanager TwinCAT, wie Machine Learning gewinnbringend eingesetzt werden kann.

Bevor Unternehmen Machine Learning einsetzen, was sollte dabei grundsätzlich der erste Schritt sein?

Dr. Fabian Bause: Es sollte zunächst immer genau analysiert werden, an welchen Stellen Machine Learning – kurz ML – erfolgreich, das heißt auch nutzbringend, eingesetzt werden kann. Man neigt bei neuen Technologien gern zu extremen Positionen: Entweder es gibt Bedenken, weil die Erfahrung damit fehlt, oder die Begeisterung ist so groß, dass möglichst alle zuvor nur unzureichend angegangenen Herausforderungen mit dieser Technologie gelöst werden sollen. Beide Wege sollte man nicht beschreiten, sondern sachlich analysieren, an welchen Stellen ML wirklich mit Erfolg weiterhelfen kann.

Ist eine potenziell geeignete Applikation für Machine Learning gefunden, sollte diese in einem agilen Umfeld zügig prototypisch umgesetzt werden. Die Agilität des Projektteams ist ein entscheidender Faktor. ML-Projekte haben von Grund auf einen evolutionären Charakter und lassen sich daher nicht in ein enges vorgegebenes Korsett drängen.

Auf der Hannover Messe 2019 hatte Beckhoff angekündigt, Machine Learning in die TwinCAT-3-Steuerung zu integrieren. Welche Anwendungsbereiche haben sich seitdem besonders hervorgetan?

Im letzten Jahr hatten wir eine erfolgreiche Beta-Phase und auch einen sehr erfolgreichen Marktstart für unser erstes Produkt – eine nahtlos in TwinCAT 3 integrierte Inferenzmaschine für Modelle des maschinellen Lernens. Die besondere Eigenschaft dieser Lösung ist die Ausführung von Modellen wie beispielsweise neuronale Netze direkt in der TwinCAT-Echtzeit-Umgebung. Hinsichtlich der Anwendungsfelder in einer Maschine sind damit keine Grenzen gesetzt.

Anwenderseitig hat sich in erster Linie ein Cluster bei ML-basierten Lösungen zur Qualitätskontrolle und Prozessüberwachung/Prozessoptimierung gebildet. Eine vollautomatisierte und steuerungsintegrierte Qualitätskontrolle, welche zudem auf bereits vorhandenen Maschinendaten, zum Beispiel Motorströme, Drehzahlen und Schleppfehler, beruht, ermöglicht eine 100-prozentige Überprüfung der produzierten Güter – und das 24 Stunden am Tag, sieben Tage die Woche, ohne zu ermüden und in einer Taktzeit, die dem Menschen bei Weitem überlegen ist. Die Bereiche Prozessüberwachung und Prozessoptimierung sind konsekutive, also unmittelbar aufeinanderfolgende Schritte: Lässt sich ein Prozess mit einem trainierten Modell überwachen, kann die Maschine eine Meldung an den Maschinenbediener senden, der wiederum den Prozess zeitnah adaptiert, um die gewünschte Produktqualität zu erhalten. Der nächste Schritt liegt darin, von dem erfahrenen Maschinenbediener zu lernen und das Modell so zu trainieren, dass es nach seinem Vorbild die nötigen Parameteranpassungen autark vornimmt oder in einem Zwischenschritt als ‚Smart Assistant‘ Parametriervorschläge unterbreitet.

Bei Beckhoff beschäftigen wir uns neben den infrastrukturellen Komponenten für ML in der Steuerung zunehmend auch mit Anwendungen in den Bereichen Bildverarbeitung und Motion Control. Ziel ist es, Anwendern optimierte und ohne ML-Vorwissen einsetzbare Komponenten in Hard- und Software zur Verfügung zu stellen.

Dr. Fabian Bause, Produktmanager TwinCAT bei Beckhoff Automation: „Der aktuelle Trend zu mehr und mehr Prozessorkernen pro CPU unterstützt die beschleunigte Ausführung von Neuronalen Netzen, da sich diese sehr effizient parallelisieren lassen.“
Dr. Fabian Bause, Produktmanager TwinCAT bei Beckhoff Automation: „Der aktuelle Trend zu mehr und mehr Prozessorkernen pro CPU unterstützt die beschleunigte Ausführung von Neuronalen Netzen, da sich diese sehr effizient parallelisieren lassen.“

Machine Learning in Echtzeit ist vor allem in der Produktion, wo sehr schnelle Prozesse ablaufen, eine Herausforderung und erfordert eine gewisse Rechenleistung. Wie lässt sich ML in Echtzeit-gesteuerten Anwendungen wie Motion-Applikationen dennoch nutzen?

Zunächst einmal ist wichtig zu erkennen, dass das Training von ML-Modellen erheblich mehr Zeit in Anspruch nimmt als die Ausführung, sprich Inferenz, gelernter Modelle. Die Inferenz in TwinCAT läuft hardwareseitig auf unseren IPCs ab. Ein wesentlicher Aspekt für die effiziente Ausführung auf der CPU ist die konsequente Nutzung von SIMD-Befehlssatzerweiterungen in Kombination mit hochoptimiertem Speichermanagement im Cache. Außerdem unterstützt der aktuelle Trend zu mehr und mehr Prozessorkernen pro CPU die beschleunigte Ausführung von Neuronalen Netzen, da sich diese sehr effizient parallelisieren lassen. Darüber hinaus ist immer ein genauer Blick auf das trainierte Modell notwendig. Es ist genauso wie bei ‚von Hand geschriebenem‘ Quellcode. Viel und gegebenenfalls nicht effizienter Quellcode hat längere Ausführungszeiten als schlanker und optimierter Quellcode. Die trainierten ML-Modelle sollten immer der Aufgabe angepasst und optimiert sein. So ist es heute kein Problem, auch im Mikrosekundenbereich Neuronale Netze auszuführen. Ein gutes Beispiel ist das entsprechende Messe-Exponat, bei dem ein neuronales Netz vom Typ Multi-Layer-Perzeptron mit 250 Neuronen genutzt wird. Die Ausführungszeit auf einer Intel-Core-i3-CPU beträgt hier nur wenige Mikrosekunden unter Verwendung unserer hochoptimierten Inferenzmaschine. Somit erwarten wir keine großen Hindernisse hinsichtlich der Rechenleistung bei der Nutzung von ML in der Bildverarbeitung und im Motion-Bereich.

Wann sollte Machine Learning in die Applikation optimalerweise integriert werden – bereits in der Applikationsentwicklung oder erst im Betrieb?

Wie eingangs erwähnt, ist ein ML-Projekt ein evolutionärer Prozess und sollte möglichst früh in der Wertschöpfungskette beim Maschinenbauer beginnen. Nicht bei jeder Applikation wird direkt bei der Inbetriebnahme einer Maschine beim Endkunden eine optimale Lösung existieren. Während der Maschinenlaufzeit können neue relevante Daten erhoben und ausgewertet werden. So lässt sich ein ML-Modell ständig verbessern. Um diesen Prozess technisch zu unterstützen, hat Beckhoff seine Inferenzmaschine so aufgebaut, dass sie ohne TwinCAT-Stopp und ohne Compilieren von Quellcode – also zur Laufzeit der Maschine – neu erstellte Modelle laden kann.

In vielen Anwendungsfällen ist bereits eine Maschine mit einer Steuerung vorhanden, welche keine ML-Funktionalität beinhaltet. Die Maschinenbetreiber möchten ihre Produktion optimieren und erwägen aus dieser Überlegung heraus nun vermehrt auch den Einsatz von ML. In diesen Fällen spielt ein offenes Steuerungskonzept eine entscheidende Rolle: Durch ihre zahlreichen Schnittstellen ist auch die nachträgliche Integration einer TwinCAT-Steuerung in das vorhandene Steuerungskonzept kein Hindernis. Das war beispielsweise bei unserem ersten Kunden für TwinCAT Machine Learning der Fall: Hier war – und ist weiterhin – eine Fremdsteuerung im Einsatz. Hinzugekommen ist ein Embedded-PC von Beckhoff mit TwinCAT 3, der auf die wesentlichen Daten aus der Fremdsteuerung lesend zugreifen kann und in der TwinCAT-Umgebung die Inferenz zur Realisierung einer Qualitätskotrolle beherbergt. Das A und O verlässlicher ML-Anwendungen ist die Datenbasis.

Wie erfolgt die Auswahl der Trainingsdaten in TwinCAT Machine Learning? Wird ein Data Scientist benötigt?

Ein ML-Projekt ist Teamarbeit, wobei sich das Projektteam aus unterschiedlichen Experten zusammensetzt. Zentrale Person ist der Domänenexperte, also zum Beispiel der Maschinenbauer beziehungsweise der Experte für lineare Antriebe oder den Umformprozess. Er stellt sich einer Herausforderung, die er mittels Machine Learning lösen möchte, hat also ein Ziel vor Augen und kennt die Zusammenhänge in seiner Maschine. Zusammen mit einem Data Scientist, der sich hauptsächlich um die Datenanalyse kümmert, sind wesentliche Maschinengrößen festzulegen, welche für das definierte Ziel von Bedeutung sein können. Der Data Scientist arbeitet immer eng mit dem Domänenexperten zusammen, um die Bedeutung bestimmter Datenmuster und Verhalten zu beleuchten. Ein Data Scientist allein, ohne Feedback zum Domänenexperten, kann nur unzureichend agieren.

Bei Beckhoff agieren wir an dieser Stelle mit unseren Kunden flexibel und maßgeschneidert auf deren individuelle Situation. Einige Maschinenbauer verfügen bereits über Data-Science-Abteilungen, gegebenenfalls auch nur als One-Man-Show, und übernehmen diese Aufgabe. Andere benötigen deutliche Hilfestellung, die wir leisten können. Natürlich kontaktieren uns auch Kunden und fragen nach einer Dienstleistung – also einem ‚Rund-um-Sorglospaket‘ für die Aufgaben des Data Scientist. In solchen Fällen greifen wir gern auf unser etabliertes Netzwerk an spezialisierten Partnerunternehmen zurück und stellen die passende Verbindung her.

Werden für jedes ML-Modell Trainingsdaten benötigt?

Ja, das ist immer eine Voraussetzung. Maschinelles Lernen basiert darauf, dass Beispieldaten existieren, mit denen man das Modell anlernt. Die Modelle unterscheiden sich in der Trainingsphase im Wesentlichen darin, ob die Trainingsdaten beschriftet – labeled data – oder unbeschriftet – unlabeled data – sind. Im Fall gelabelter Daten kann man im Training Beispiele für einen Output aufzeigen, der bei gegebenem Input erwartet wird. Man trainiert also anhand von konkreten Beispielen. Bei ungelabelten Daten fehlt die Output-Information und der Algorithmus beschränkt sich darauf, innere abstrakte Zusammenhänge zu finden. Dies kann beispielsweise eine bestimmte Anzahl von Clustern sein, die sich innerhalb der Trainingsdatenmenge befinden.

Wie trainiert man ein Modell zur Anomaliendetektion, wenn gar keine Anomalien bekannt sind?

Viele Wege führen zum Ziel. Eine einfache, leicht zu beschreibende Variante ist das Trainieren eines Klassifizierungsmodells, welches mit nur einer bekannten Klasse trainiert wird – der ‚keine Anomalie‘-Klasse. Man präsentiert dem Modell im Training ausschließlich Daten, die keine Anomalien beinhalten, und definiert diese Datenmenge als ‚Klasse A‘. Wird der Algorithmus im Prozess verwendet, erkennt er die ‚Klasse A‘ wieder. Er erkennt aber auch, wenn die Daten eine andere unbekannte Struktur aufweisen, und meldet dann eine nicht näher spezifizierte Anomalie.

Erneut: KI ist ein evolutionärer Prozess. Werden Daten an der Maschine kontinuierlich erhoben und auch das Klassifizierungsergebnis gespeichert, kann der Data Scientist mit dem Domänenexperten im Nachgang genau diejenigen Prozessabläufe, bei denen eine Anomalie erkannt wurde, nochmals näher analysieren. Gegebenenfalls lässt sich dann ein Modell-Update einsetzen, das nicht nur eine Anomalie erkennt, sondern auch den erkannten Fall näher eingrenzt.