Künstliche Intelligenz (KI) as a service mit Azure

Sie möchten mehr zu diesem Thema erfahren?

Vereinbaren Sie einen kostenfreien Beratungstermin mit uns. 
Hinweis zum Datenschutz

Künstliche Intelligenz (KI) as a service mit Azure

Maschinelles Lernen sog. Azure Machine Learning ist derzeit branchenübergreifend in aller Munde. Das Auffinden von Fehlern in Produktions- und Fertigungsprozessen, sowie die preagierende Planung von Instandhaltungsmaßnahmen sind nur einige der Treiber, die die Anwendung von analytischen Methoden bzw. den Einsatz von Künstlicher Intelligenz "KI" vorantreiben. Die Anwendung von Data Science Methoden, wie z.B. dem Maschinellen Lernen, sagt viel über vergangenes Verhalten von Maschinen, Prozessen bzw. Menschen aus. Es ermöglicht darüber hinaus aber vor allem auch Vorhersagen über Predictive Analytics Methoden.

Doch wie funktioniert dieses kompliziert klingende Maschinelle Lernen überhaupt und wie kann man die Anwendbarkeit auf die eigene Fragestellung abprüfen?

Wir wollen uns daher über die Erstellung von Demo- bzw. Trainingsdaten Schritt für Schritt diesem komplexen Umfeld nähern und die zu erwartenden Mehrwerte aufzeigen. Wir nutzen für die Darstellung der Möglichkeiten spezielle Cloud-Services von Azure (Microsoft Azure ist eine Cloud-Computing-Plattform von Microsoft).

Vorbereitung von prüfbaren Trainingsdaten

Um Vertrauen zu analytischen Methoden aufzubauen, ist es sinnvoll sich im ersten Schritt prüfbare Test- und Trainingsdaten zu erstellen. Hierfür sind vielfältige Vorgehensweisen denkbar. In unserem Beispiel bereiten wir die Daten in Microsoft Excel auf. Hier erzeugen wir Messwerte, die uns einen Produktionsfehler beim Über- bzw. Unterschreiten von einem bestimmten Temperaturwert, sowie auch einem Bereich innerhalb spezifischer Grenzen aufzeigen. Konkret stellt sich beim Überschreiten einer Prozesstemperatur von 16 Grad, sowie Unterschreiten von -16 Grad und im Temperaturbereich von -5 Grad bis +5 Grad ein Fehler in der Fertigungsqualität ein. 

Temperaturabhängiges Fehlverhalten eines Motors

Abbildung 1: Temperaturabhängiges Fehlverhalten eines Motors

Um dies nachzustellen, erzeugen wir eine Exceldatei mit zwei Spalten. Eine Spalte für die Aufnahme der Temperaturwerte, später ermittelt durch einen entsprechenden Sensor. Für Demozwecke generieren wir uns hier zufällige Temperaturwerte von -100 Grad bis +100 Grad. Dies erfolgt mit Hilfe einer einfachen Excelformel (=ZUFALLSBEREICH(-100;99) + ZUFALLSBEREICH(0;999)/1000). In einer zweiten Spalte beschreiben wir den Zustand einer Motoreinheit. Hier erfassen wir, ob bei einer korrespondierenden Temperatur ein Fehlerfall vorliegt oder nicht. Das Fehlverhalten beschreiben wir auch mit einer einfachen Formel, die die beschriebenen Schwellwerte und Temperaturbereiche betrachtet.

vorbereitete Testdaten

Abbildung 2: Vorbereitete Test- und Trainingsdaten

Anschließend wandeln wir diese formelbasierte Auswertung in eine ASCII basierte Datei um (CSV-Format) und entfernen somit sämtliche Formeln und behalten lediglich die Werte und die Aussage, ob ein Motorfehler vorliegt. Mit diesem Arbeitsschritt ist die Vorbereitung der Trainings- und Testdaten abgeschlossen.

Verwendung vom Azure Machine Learning Studio

Azure Machine Learning Studio ist ein leistungsstarker Cloud-basierter Service für prädiktive Analysen, der es ermöglicht, prädiktive Modelle schnell zu erstellen und als Analyselösungen einzusetzen.

Für die Arbeit mit dem Learning Studio ist als erster Schritt ein sogenannter Azure Machine Learning Studio Workspace zu erstellen. Ein Arbeitsbereich ermöglicht es, maschinelle Lernexperimente und prädiktive Webdienste zu erstellen bzw. zu verwalten. Es können mehrere Arbeitsbereiche erstellt werden, die dann die Experimente, Datensätze, trainierten Vorhersagemodelle, Webservices etc. enthalten. Als Ersteller eines Arbeitsbereichs können wir andere Anwender einladen, den Arbeitsbereich gemeinsam zu nutzen und so die erstellten Lösungen für prädiktive Analysen bereitstellen.

Bereitstellung der Auswertelogik als Web Service

Wir haben im Schritt vorher das Azure Machine Learning Studio verwendet, um ein prädiktives Analysemodell zu entwickeln. Anschließend stellen wir die Logik dann als Azure Machine Learning Studio Web Service zur Verfügung. Der prädiktive Webservice kann daraufhin problemlos von benutzerdefinierten Anwendungen oder BI-Tools wie PowerBI, Excel, Flow o.ä. genutzt werden.

Schritt für Schritt Vorgehensweise zur Erstellung des prädiktiven Webservice

Aber alles der Reihe nach. Anbei kurz eine „Schritt für Schritt“ Anleitung, um zum erhofften Ergebnis zu kommen und eine Vorhersage des Versagens eines Motors abhängig von der Temperatur zu treffen.

Als erstes benötigen wir einen Azure Account. Dieser lässt sich als Demozugang auf dem Portal - https://azure.microsoft.com/de-de/ - kostenlos einrichten. Anschließend können wir unseren Zugang unter - https://portal.azure.com - aufrufen. Es öffnet sich ein Dashboard, aus dem sämtliche Azure Services einsehbar sind.

Auf der linken Seite können wir dann eine [Ressource erstellen]. Hier wählen wir dann [Machine Learning Studio Workspace] aus.

Arbeitsbereich in Azure Machine Learning anlegen

Abbildung 3: Arbeitsbereich anlegen

Für die Erstellung des Arbeitsbereichs sind einige Angaben wie z.B. ein Speicherkonto zu machen. In dieser Konfigurationsmaske können direkt sämtliche Angaben angegeben bzw. fehlende Bereiche angelegt werden. Hier bietet es sich für einen Schnellstart an, die vorgeschlagenen Einstellungen zu übernehmen. Nachdem alles konfiguriert ist, wird der Arbeitsbereich erstellt. Unter [Benachrichtigungen] kann der Fortschritt eingesehen werden und bei erfolgter Fertigstellung lässt sich die neu erstellte Ressource direkt öffnen.

Azure Machine Learning Workspace

Abbildung 4: Machine Learning Workspace erstellen und öffnen

Nach dem Öffnen der Ressource lässt sich anschließend das [Machine Learning Studio starten] (Bilderstrecke).

Abbildung 5-8: Bilderstrecke zum Starten des Machine Learning Studios

Nachdem die Datensätze in Azure vorliegen, erstellen wir ein neues [Experiment]. Hierzu, wie beim DataSet erstellen, auf [New] klicken und ein leeres Experiment [Blank Experiment] anlegen. Anschließend sollte der Arbeitsbereich ungefähr wie in der folgenden Abbildung erscheinen.

Experiment in Azure angelegt

Abbildung 9: Experiment angelegt

Nun können wir unserem Experiment, mittels Drag and Drop, Funktionsbausteine hinzufügen. Die verfügbaren Bausteine sind auf der linken Seite aus einem Treeview auswählbar und werden einfach in den Arbeitsbereich „gezogen“. 

Experiment ausfüllen

Abbildung 10: Experiment mit Leben füllen

Als erstes fügen wir unsere Testdaten dem Experiment hinzu. Im nächsten Schritt teilen wir die Daten in zwei Bereiche mittels [Split Data] auf. Die eine Hälfte der Daten wird verwendet, um das Modell zu trainieren. Die anderen Datensätze werden zur Prüfung des trainierten Modells eingesetzt. Die prozentuale Aufteilung in Test- bzw. Trainingsdaten lässt sich als Faustformel mit 70 Prozent Trainingsdaten und 30 Prozent Testdaten einstellen. Als nächsten Schritt gilt es einen geeigneten Algorithmus zu wählen. In unserem Fall wählen wir den [Two-Class Boosted Decision Tree] aus.

Was ist ein Decision Tree?
Das Erlernen von Entscheidungsbäumen verwendet einen Entscheidungsbaum (als prädiktives Modell), um von Beobachtungen über ein Element (dargestellt in den Zweigen) zu Schlussfolgerungen über den Zielwert des Elements (dargestellt in den Blättern) zu gelangen. Es ist einer der prädiktiven Modellierungsansätze für Statistik, Data Mining und Machine Learning.

Danach verbinden wir die Datenpunkte an den Rändern der Funktionsbausteine miteinander: Wir verbinden den Ausgang des DataSets mit unserem Baustein zum Aufteilen in Trainings- und Testdaten. Als Nächstes fügen wir unserem Trainingsmodell die Trainingsdaten (Ausgang des Split-Data Bausteins), sowie unseren gewählten Algorithmus hinzu. Anschließend müssen wir dem Trainingsmodell noch mitteilen, welche Spalte er „trainieren“ soll.

Spalte für Test-Auswertung wählen

Abbildung 11: Spalte für Trainingsauswertung angeben

Nach erfolgter Auswahl wird nun das trainierte Modell, sowie die aus dem Dataset abgeleiteten Testdaten im Funktionsbaustein [Score Model] auf Verlässlichkeit der Vorhersage bewertet. Um dies durchführen zu können, muss zuerst das Modell berechnet werden. Dies erfolgt durch einen Rechtsklick auf den Score Modell Baustein und Ausführen der Funktion [Run selected]. 

Modell berechnen

Abbildung 12: Modell berechnen

Nach kurzer Zeit steht dann das Berechnungsergebnis zur Verfügung und kann mittels [Scored dataset / Visualize] eingesehen werden.

Vergleich Trainingsdaten - Vorhersagedaten

Abbildung 13: Vergleich der Trainingsdaten zu den Vorhersagedaten [Scored Labels]

Bereitstellung des Ergebnisses

Anschließend kann das Ergebnis auch mittels WebService bereitgestellt werden.

Ergebnis im Webservice bereitstellen

Abbildung 14: WebService bereitstellen

Hierzu betätigt man die Schaltfläche [Set Up WebService]. Daraufhin wird eine Möglichkeit zur Eingabe von Temperaturwerten mittels Webinterface geschaffen. Der Arbeitsbereich erweitert sich dabei automatisch um eine Karteikarte [Predicitve experiment]. Hier ist nun als Eingangsgröße für den Funktionsbaustein [Score Model] der automatisch zugefügte Baustein [WebService input] zu sehen.

Webservice Output

Abbildung 15: Webservice Output

Weiterhin wird, basierend auf den Modelldaten, der Ausfall des Motors vorhergesagt. Die Daten lassen sich dann mittels des [WebService output] abfragen. Um dieses Vorgehen verfügbar zu machen, ist ein Berechnungslauf, mittels [Run], notwendig und danach ist das [Deploy WebService] aufzurufen.

Webservice deployen

Abbildung 16: WebService deployen

Ist dies erfolgreich durchlaufen, lässt sich mittels Eingabe von Temperaturwerten abfragen, ob auf Basis dieses trainierten Modells ein Ausfall des Motors eintreffen wird.

Webservice aufrufen

Abbildung 17: Aufruf des WebService Input mittels Testseite [automatisch generiert]

Über die automatisch erzeugte Testseite können, mittels [Test], die Eingangsdaten eingegeben werden - in diesem Fall die Temperatur. Anschließend kann im unteren Bereich der Response des Web Service Outputs eingesehen werden.

Demoabfrage: Unkritischer Temperaturwert

Abbildung 18: Unkritischer Temperaturwert

Als Demoabfrage wurde hier 10 Grad eingegeben. Daraufhin kann man in der dritten Spalte den Wert „FALSCH“ ablesen. Dies bedeutet, dass bei dieser Temperatur kein Ausfall prognostiziert wird.

Im nächsten Beispiel wird ein Temperaturwert von 4 Grad gewählt. Man kann nun im Ergebnis ein „WAHR“ ablesen, was auf ein Versagen hindeutet.

Demoabfrage: Kritischer TemperaturwertAbbildung 19: Kritischer Temperaturwert

Fazit

Es ist sehr einfach mit dem Azure Machine Learning Studio erste Schritte im Umfeld des Maschinellen Lernens zu beschreiten. Es wurde aufgezeigt, wie man, mittels einfacher Konfiguration von verfügbaren Funktionsblöcken, Elemente der Künstlichen Intelligenz anlernen und verfügbar stellen kann, ohne über tiefgreifende Programmierkenntnisse zu verfügen. Auch die komfortable Bereitstellung von WebServices erleichtert die Einbindung der Prognoseergebnisse in eigene Applikationen. In weiteren Beiträgen werden wir speziell die unterschiedlichen Algorithmen nochmal beleuchten, da dieser Artikel nur einen ersten Eindruck mit sich bringt. Auch die Bereiche des überwachten und unüberwachten Lernens werden Inhalte weiterer Beiträge darstellen. 

Wir nehmen gerne Anregungen für Themen und Artikel auf und befassen uns damit.


Titelbildnachweis: https://pixabay.com/de/netz-netzwerk-programmierung-3706562/

Noch keine Kommentare vorhanden

Was denkst du?