OEE: Steckt Ihr Unternehmen in der Manipulationsfalle?
Wenn Sie glauben, dass die OEE keine Geheimnisse hat und Ihr Werk die höchsten OEE-Ergebnisse erzielt… dann irren Sie sich.
Die Entwicklung der künstlichen Intelligenz und damit auch des maschinellen Lernens hat in den letzten Jahren an Dynamik gewonnen. Das ständige Bestreben, die Rechenleistung von Computern zu erhöhen, hat die Möglichkeit eröffnet, Algorithmen und mathematische Apparate, die in der zweiten Hälfte des 20. Jahrhunderts geschaffen wurden, in einem noch nie dagewesenen Umfang zu nutzen. Mit der bevorstehenden Ankunft eines kommerziellen Quantencomputers kann man langsam anfangen, die Szenen aus den Filmen mit Arnold Schwarzenegger in der Titelrolle des Terminators zu fürchten. Ohne jedoch zu weit in die Zukunft zu gehen und mich auf die Gegenwart zu konzentrieren, beschloss ich, die Möglichkeiten zu prüfen, die die heute verfügbare Technologie bietet, und zu untersuchen, ob sie zur Vorhersage der Ausbreitung der COVID-19-Krankheit eingesetzt werden kann.
Es gibt viele Definitionen des maschinellen Lernens im Web: ideologische, streng mathematische und sogar philosophische. Als ich versuchte, dieses Konzept selbst zu definieren, fand ich es am besten, mich auf den Vergleich zwischen maschinellem Lernen und klassischer Programmierung zu konzentrieren.
1) Vergleich des maschinellen Lernens mit traditioneller Programmierung
Abgesehen von allen Arten von Softwareentwicklungsmethoden (objektorientiert, strukturell, funktional usw.) wissen und verstehen die meisten von uns, worum es bei der traditionellen Programmierung geht: Wenn wir Eingabedaten haben und einen Algorithmus verwenden, der für die Lösung eines bestimmten Problems geeignet ist, erhalten wir Ergebnisse – Ausgabedaten.
Ein Beispiel: Die im Bankwesen verwendeten Algorithmen sind vordefiniert, und dank ihrer präzisen Umsetzung machen wir uns keine Sorgen, ob die von uns gesendete Internet-Überweisung den Empfänger sicher erreicht und der Saldo unserer Konten übereinstimmt.
2) Beispiel-Algorithmus in der traditionellen Programmierung
Es scheint also, dass wir durch die Erstellung des richtigen Algorithmus in der Lage sind, jede Aufgabe zu lösen, und das ist absolut richtig. Das Problem entsteht jedoch, wenn die Erstellung eines solchen Algorithmus nicht trivial und manchmal sogar unmöglich ist.
Ein gutes Beispiel für ein solches Problem (Verbleiben in der Finanzzone) wäre ein Algorithmus, der die genauen Kurse der Aktien von Unternehmen an der Börse vorausschauend vorhersagt – hier gibt es keinen starren Rahmen und keine Regeln, die das Verhalten des Aktienkurses beschreiben würden. Der Endpreis wird von Hunderten oder gar Tausenden verschiedener Variablen beeinflusst, manchmal von einzelnen unvorhersehbaren Entscheidungen von Präsidenten oder sogar von Naturkatastrophen. Es ist physisch unmöglich, einen solchen Algorithmus zu entwerfen und zu implementieren, der dieses Problem auf präzise Weise lösen würde. Mehr noch – selbst wenn wir den Versuch unternehmen möchten, einen Algorithmus zu erstellen, der das Verhalten des zukünftigen Kurses eines bestimmten Vermögenswertes zumindest grob bestimmen würde (z.B. die Information zurückgeben würde, ob der Kurs morgen steigen oder fallen wird) – es wäre eine sehr zwergenhafte Aufgabe, die viel Domänenwissen aus dem Brokerage-Bereich und sehr komplizierte Abhängigkeiten erfordern würde, die sich aus der Vielzahl der Variablen ergeben, die das Ergebnis beeinflussen würden.
Hier bietet sich das maschinelle Lernen an, das in gewisser Weise eine Umkehrung des Problembereichs darstellt – anstatt bestimmte Ausgabewerte mit Hilfe eines bestimmten Algorithmus zu berechnen (wie bei der traditionellen Programmierung), sollten wir versuchen, einen Algorithmus zu finden, der die uns bekannten Ausgabedaten so genau wie möglich reproduziert. Der in seiner Einfachheit geniale Ansatz, unterstützt durch solide mathematische Gleichungen, eröffnet unbegrenzte Möglichkeiten zur Lösung von Problemen, die auf herkömmliche Weise schwierig und in den meisten Fällen unmöglich wären.
3) Das Schema des maschinellen Lernens
Kurz gesagt, maschinelles Lernen ist nichts anderes als das Finden eines Algorithmus, der ein gegebenes Problem durch die bestmögliche Darstellung von Modelleingangs- und -ausgangsdaten (den sogenannten Lerndaten) löst, ohne dass dieser Algorithmus entworfen oder implementiert werden muss.
Maschinelles Lernen wird zur Lösung eines breiten Spektrums von Problemen eingesetzt, die je nach Art der Aufgabe in drei Haupttypen unterteilt werden:
4) Möglichkeiten des maschinellen Lernens
Im Rahmen dieses Artikels konzentrieren wir uns auf das bisher populärste überwachte Lernen, das am häufigsten bei Problemen der Datenklassifikation (z.B. was sich auf einem bestimmten Bild befindet, OCR (Handschrifterkennung), Erkennung von Fälschungen oder Spam usw.) und – was uns am meisten interessieren wird – Regression (allgemein verstandene Vorhersage, wie z.B. Wettervorhersage oder der oben erwähnte Aktienkurs) eingesetzt wird.
Es ist erwähnenswert, dass von Jahr zu Jahr eine sehr wichtige Entwicklung des Lernens durch Stärkung zu beobachten ist, insbesondere im Zusammenhang mit der Lösung von Problemen der Entscheidungsfindung in Echtzeit (z.B. autonome Autos oder Spiele von unvorstellbarer Komplexität wie Schach oder GO).
Interessanterweise nutzen die meisten Büroangestellten, die bei ihrer täglichen Arbeit mit Tabellenkalkulationen (z.B. Microsoft Excel) in Berührung kommen, oft unwissentlich die Vorteile des maschinellen Lernens, um Regressionsprobleme zu lösen – z.B. durch die Erstellung einer Trendlinie auf dem im Diagramm dargestellten Datensatz. Innerhalb weniger Sekunden (Mausklicks) kann eine gerade Linie (lineare Regression) oder eine Polynomkurve beliebigen Grades (polynomiale Regression wie in der Abbildung unten) analytisch bestimmt werden.
5) Polynom-Regression in Microsoft Excel
Die lineare oder polynomiale Regression ist ein Beispiel für ein Werkzeug, das beim überwachten maschinellen Lernen eingesetzt wird. Mit dem vorgeschriebenen Geraden-/Kurvenmuster können wir leicht eine Prognose zukünftiger Werte erstellen. Dies ist jedoch nicht immer eine optimale Lösung (wie aus Abbildung 5 ersichtlich ist), und es gibt viele andere Techniken, die zur Lösung eines bestimmten Problems eingesetzt werden können. Einige von ihnen wurden in der folgenden Grafik zusammengestellt:
6) Methoden und Techniken des maschinellen Lernens
Es ist nicht zu übersehen, dass alle Probleme des maschinellen Lernens (nicht nur diejenigen, die mit Regression und Klassifikation zu tun haben, sondern auch andere wie z.B. Clustering) mit Hilfe von künstlichen neuronalen Netzen erfolgreich gelöst werden können.
7) Vergleich von biologischem und künstlichem Neuron
Neuronale Netze sind eine mathematische Darstellung des biologischen Systems der Nervenzellen in unserem Gehirn. Ein einziges Neuron, wie das echte, verarbeitet Signale – in einer mathematischeren Sprache erfüllt es die Funktion von die den Eingangssignalvektor transformiert bis zum Ausgangssignal :
Eine detaillierte Beschreibung der Aktivität und des Lernprozesses des Neurons (Auswahl geeigneter Gewichtungswerte ) ist definitiv ein Material für einen separaten, eher technischen Artikel, und ich werde hier nicht weiter ins Detail gehen. Das Wichtigste an diesem Punkt ist, dass einzelne Neuronen in einem Netzwerk mit unterschiedlichen Topologien miteinander verbunden werden können, je nachdem, welche Art von Problem wir lösen wollen, und zu den beliebtesten Netzwerkarchitekturen gehören:
Die Wirksamkeit von Modellen, die mit Techniken des maschinellen Lernens erstellt werden, beruht hauptsächlich auf der Qualität und Quantität der Daten, die im Lernprozess verwendet werden. Die Beschaffung der relevanten Daten ist jedoch nur der Anfang des Weges, meist müssen die Rohdaten erst mühsam analysiert und aufbereitet werden, bevor sie im Lernprozess verwendet werden können. Alle Aktivitäten im Zusammenhang mit der Datenaufbereitung werden als Data Science bezeichnet.
8) Datenwissenschaft
In den typischen Aktivitäten, die dem Modellierungsprozess vorausgehen:
Mit den so aufbereiteten Daten können Sie mit der Auswahl des maschinellen Lernverfahrens (die Art des Modells, das Sie erstellen möchten, wie z.B. lineare Regression oder MLP neuronales Netz) und der Auswahl geeigneter Lernparameter fortfahren. Abhängig von der Komplexität der Aufgabe, der Datenmenge, der Modellarchitektur, der Rechenleistung der Geräte und vielen anderen Faktoren kann der Lernprozess selbst von wenigen Sekunden bis zu vielen Stunden / Tagen dauern. Mit etwas Glück können Sie jedoch nach Abschluss des Lernens das Modell genießen, das die von uns gesuchte Funktionalität realisiert (fertiger Algorithmus, auch wenn wir keine einzige Codezeile schreiben werden, die der Maschine sagt, wie sie dieses Problem lösen soll).
Das Problem der Vorhersage der Zahl der Coronavirus-Infektionen in Polen und in der ganzen Welt ist nicht trivial und lässt sich mit einer Analyse des Börsenkurses vergleichen. Wir wissen nicht, ob es morgen nicht einen weiteren Ausbruch geben wird, mit dem niemand gerechnet hat. Die Zahl der potenziellen Variablen ist sehr groß, und was die Lösung des Problems noch schwieriger macht, ist die Tatsache, dass die Infektionswelle nicht in allen Ländern gleichzeitig verläuft – in China beobachten wir bereits ein Aussterben der Epidemie, und in Brasilien steht der Höhepunkt der Krankheit wahrscheinlich kurz vor uns. Hinzu kommt – einige Länder weisen ungewöhnliche Muster auf (z.B. Taiwan), und ihre Präsenz erhöht die Komplexität der Aufgabe. Wenn man all dies berücksichtigt, klingt es wie ein ideales Problem, das mit maschinellem Lernen zu lösen versucht wird. Aus technischer Sicht – wir haben es hier mit einer Zeitreihen-Regressionsaufgabe zu tun.
Der Zugang zu den relevanten Daten (glückliche Wahrsager) war keine große Herausforderung – es gibt Hunderte von Datensätzen aller Art, die regelmäßig im Internet gesammelt werden. Die größte Aufmerksamkeit musste dem Datenstripper selbst, d.h. einem Teil der Datenwissenschaft (80% der Gesamtzeit) und der Vorbereitung des entsprechenden Satzes von Lernenden gewidmet werden.
Der nächste Schritt war die Modellierung, und damit die schwierige Entscheidung, den richtigen Modelltyp zu wählen. Unter Berücksichtigung der Vielseitigkeit der neuronalen Netze habe ich zunächst das Netz vom Typ MLP verwendet und dann versucht, die revolutionären Netze einzusetzen (die entgegen dem Anschein und der landläufigen Meinung nicht nur in der Bildanalyse, sondern auch als Alternative zu MLP oder rekursiven Netzen in der Zeitreihenmodellierung erfolgreich eingesetzt werden können). Zu meiner Überraschung ist es beiden Architekturen (MLP und CNN) gelungen, die Krankheitskurven für die meisten Länder rund um den Globus in zufriedenstellendem Maße abzubilden, und mehr noch, sie haben es ermöglicht, künftige Werte im Zusammenhang mit der Ausbreitung der Infektion vorherzusagen, so dass man feststellen kann, ob ein bestimmtes Land bereits „das Schlimmste hinter sich hat“ oder vielleicht alles kurz davor steht.
9) Vorhersage der Zahl der bestätigten COVID-19-Infektionen in Polen 7 Tage im Voraus, Stand 25. Mai 2020
Die Genauigkeit beider Modelle schwankte zwischen 70-75%, mit der Vorstellung, dass der Prozess des Lehrens von koevolutionären Netzwerken merklich schneller war (dies ist direkt auf Unterschiede in den Topologien und der Funktionsweise von MLP- und CNN-Netzwerken zurückzuführen). Dieses Ergebnis ließe sich erheblich verbessern, wenn mehr Zeit auf die Auswahl geeigneter Lernparameter verwendet würde oder andere Arten von Modellen (z.B. LSTM-Netzwerke) zum Einsatz kämen.
Bei der Erstellung von Modellen unter Verwendung von Techniken des maschinellen Lernens ist die Integration mit vorhandener Software oder sogar die einfache Visualisierung ein sehr häufiges Problem. ThingWorx Software kann erfolgreich zur Integration mit jeder Datenquelle verwendet werden und dann leistungsfähige Webanwendungen erstellen, die die gewünschte Funktionalität bieten.
Im Fall der Vorhersage von Coronavirus-Infektionen implementierte ThingWorx eine Anwendung, die sich in das in Python-Technologie geschriebene Modell (mit Keras/TensorFlow/Flask-Bibliotheken) integriert. Dank dieser Anwendung können wir jedes beliebige Land auswählen, historische Daten über die Krankheit analysieren sowie zukünftige Werte vorhersagen (bis zu 90 Tage im Voraus). Zusätzlich verarbeitet ThingWorx „on the fly“ die vom Modell empfangenen Rohdaten und glättet mit numerischen Methoden die Kurven (sog. Glättung), um die Trendkurve genauer zu analysieren.
10) Visualisierung der Modelloperation in ThingWorx (mit zusätzlicher Abflachung der Kurven)
Wenn man bedenkt, dass maschinelles Lernen überall dort angewendet werden kann, wo die Definition eines Algorithmus nicht trivial ist, könnte man versucht sein zu sagen, dass die traditionelle Programmierung nicht in Frage kommt – denn warum sich die Mühe machen und darüber nachdenken, einen Algorithmus zu entwerfen und ein Programm zu implementieren, wenn die Maschine für uns „lernen“ kann, wie ein solcher Algorithmus aussehen und die ganze „Drecksarbeit“ für uns erledigen soll – und zwar ziemlich effektiv, wie Sie aus diesem Artikel und den Ergebnissen sehen können, die bei der Vorhersage bestätigter SARS-CoV-2-Infektionen erzielt wurden. Und daran ist wahrscheinlich etwas Wahres dran, denn in den nächsten Jahren werden Technologien im Zusammenhang mit KI und maschinellem Lernen wahrscheinlich ein Standard im Dienstleistungsportfolio der meisten der heutigen „traditionellen“ Programmierer sein.
Wenn Sie nach Lösungen für das Internet der Dinge und Data Science suchen, kontaktiere uns!
Sie möchten mehr Informationen?
Kontaktieren Sie uns