Der neue Machine Learning Dienst von Microsoft Azure geht über Computer Vision und Spracherkennung hinaus und integriert eine neue Ebene der künstlichen Intelligenz. [...]
Ein zentraler Aspekt von Microsofts Big Bet auf maschinelles Lernen ist, dass diese Technologien demokratisiert und in relativ einfach verständliche Bausteine verwandelt werden müssen, damit Microsofts Entwickler-Publikum diese für ihre eigenen Anwendungen möglichst schnell lernen und weiterverwenden kann.
Hier kommen Azures Cognitive Services ins Spiel. Anstatt die unterschiedlich Schichten des Trainings zu verstehen, die auf das ResNet50 Deep Learning Neural Network eingehen oder darauf, wie man Lernplattformen mit TensorFlow oder dem Microsoft Cognitive Toolkit (CNTK) erstellt, handelt es sich bei diesen Services einfach nur um APIs, die jederzeit einsatzbereit sind. Microsoft hat die neuronalen Netze für diese Dienste bereits trainiert und arbeitet nun daran, diese weiter anzupassen und reale Operationen als Grundlage für zukünftige Verbesserungen zu nutzen. Und im Vergleich zu den Berechnungs- und Speicherkosten für die Erstellung und Ausführung eigener Algorithmen für maschinelles Lernen sind sie noch dazu recht kostengünstig.
Die in Azure enthaltenen Tools zum maschinellen Lernen sind schnell zu einer wichtigen Ressource für alle geworden, die einer Anwendung eine grundlegende künstliche Intelligenz hinzufügen möchten. Dabei ist wichtig zu wissen, dass diese Tools jedoch begrenzt sind und sich auf drei unterschiedliche Schlüsselbereiche konzentrieren: computer vision, Textanalyse und Spracherkennung. Das sind zwar alles wichtige Bereiche, aber sie umfassen doch nur eine Teilmenge dessen, was innerhalb des modernen maschinellen Lernens heutzutage möglich ist.
Azure Cognitive Services und ein neuer Bereich der künstlichen Intelligenz
Zum Glück hat erst vor kurzem der erste neue kognitive Dienst, der auch andere Aspekte des maschinellen Lernens erforscht, die Beta-Phase erreicht: Anomalie-Erkennung gehört ab sofort mit auf die Liste. Dabei handelt es sich um ein wichtiges KI-Tool, das Zeitreihendaten für Elemente analysiert, die außerhalb der normalen Betriebseigenschaften der jeweiligen Datenquelle liegen. Das macht es zu einem äußerst flexiblen Werkzeug, vor allem da moderne Unternehmen viele gestreamte Daten besitzen, von Finanztransaktionen über Softwareprotokolle bis zur Gerätetelemetrie. Die Möglichkeit, eine einzige API für alle diese verschiedenen Feeds zu verwenden, sollte nicht unterschätzt werden, da dies die Entwicklung geeigneter Software erheblich vereinfacht.
In der Regel dauert es etwas, bis eine Anomalie erkannt wird. Sie sollten Ihr Modell anhand einer großen Datenmenge trainieren, um den normalen Betrieb und den ungewöhnlichen Betrieb zu bestimmen. Auf diese Weise generieren Kreditkartenbetrugserkennungssysteme ein Modell Ihrer Ausgaben (und aller Gewohnheiten ihrer Kunden), um feststellen zu können, wann eine gefährdete bzw. gestohlene Karte verwendet wird, und im Zuge dessen zukünftige Transaktionen zu blockieren, damit die Verluste auf ein Minimum reduziert werden können.
Wenn Sie diese Art von Vorgang zu einem Mehrzweck-Service machen möchten, sollten Sie auf ein geeignetes Erkennungsmodell für denjenigen Datentyp wechseln können, der letztlich an diesen Dienst gesendet wird. Dies ist genau der Ansatz, den der Anomalie-Detektor von Azure Cognitive Services verwendet; mit einer adaptiven Inferenz-Engine, die ein passendes Erkennungsmodell auswählt, das den verwendeten Zeitreihendaten entspricht.
Mit der Wahl eines Algorithmus zur Laufzeit kommt Microsoft bezüglich der Schulungskosten für die Erkennung von Anomalien um das Schlimmste herum. Der verwendete Algorithmus ist dabei möglicherweise nicht perfekt, aber immer noch besser, als eine One-Size-Fits-All-Engine, die für die Anomalie-Erkennung verantwortlich ist. Ein weiterer Vorteil: Sie müssen nicht viel Zeit für die Kennzeichnung von Gigabytes an Trainingsdaten aufwenden.
Eine Anomaly Detector-App erstellen
Wie alle kognitiven Services von Azure erfordert Anomaly Detector einen Subscription Key, der im Azure-Portal zusammen mit der Endpunkt-URL für Ihr Abonnement generiert werden kann. Praktischerweise bietet Microsoft einen Demo-Dienst an, der in einem Jupyter Notebook ausgeführt wird und mit dem Sie den Dienst schnell ausprobieren können, bevor Sie ihn mit Ihrem eigenen Code und Ihren eigenen Daten verwenden.
In der Praxis senden Sie JSON-formatierte Daten über eine asynchrone Funktion an den Service. Wenn Sie mit gestreamten Daten arbeiten, können Sie bei jeder Aktualisierung ein beliebiges Fenster an Zeitreihendaten senden und Anomalien innerhalb der letzten Daten einer Serie erkennen. Wenn Sie den Dienst zur Analyse von Chargendaten verwenden, erhalten Sie eine Liste der Positionen identifizierter Anomalien im Datensatz als Array von Booleschen Werten für jeden Datenpunkt. Wenn diese zutreffen, handelt es sich um eine Anomalie und Sie können den Index beliebiger wahrer Werte verwenden, um den Index der Anomalie im Quelldatenarray anzugeben.
Zeitreihendaten verwenden
Anomaly Detector funktioniert wie die meisten Azure-Plattformdienste und bietet eine REST-API, die JSON-formatierte Daten akzeptiert. Ein C# SDK erleichtert das Erstellen von Code für die Arbeit mit dem Dienst. Sie können auch andere Sprachen verwenden, dazu müssten Sie die REST-Aufrufe allerdings manuell erstellen.
Microsoft hat jedoch einige Einschränkungen beim Datenformat: Das Zeitintervall zwischen den Daten muss fixiert werden; und obwohl das System Daten akzeptieren kann, bei denen bis zu 10 Prozent der erwarteten Punkte fehlen, ist es besser, sicherzustellen, dass Ihre Daten vollständig sind. Die Anzahl der Datenpunkte in einem Stapel kann variieren, sofern Sie Daten mit eindeutigen Mustern liefern. Das Minimum in einem Datensatz beträgt 12 Punkte, während das Maximum 8,640 beträgt – mit Zeitstempeln in UTC.
Sie sind nicht darauf beschränkt, Anomaly Detector für gestreamte Daten zu verwenden. Wenn Sie eine Zeitreihendatenbank zum Aufzeichnen von Daten verwenden, können Sie die Anomalie-Erkennung auch als Batch-Prozess für alle Ihre Daten ausführen. Dies kann jedoch das Senden einer großen Datenmenge zur Folge haben. Dieser Ansatz kann dabei helfen, frühere Probleme zu identifizieren, die möglicherweise übersehen wurden, z. B. das Erkennen unregelmäßiger Finanztransaktionen, die auf Betrug hindeuten, oder anhaltende Probleme mit Maschinen, die die Gesamtproduktivität beeinträchtigen können. Durch die Verwendung von Verlaufsdaten können Sie die Informationen erhalten, die Sie zur Feinabstimmung des verwendeten Algorithmus benötigen, damit die sofortige Erkennung von Problemen in Ihrem Unternehmen wahrscheinlicher wird.
Anomalie-Detektor Fine-Tuning
Eine Anmerkung zur Anomaly Detector API: Sie ist nicht mit den anderen kognitiven Diensten vergleichbar, weil Sie genau anpassen können, wie es mit ihren Daten arbeiten soll. Als Teil der JSON-Anforderung können Sie Details zum Zeitraum der Daten, deren Granularität sowie zwei Optionen angeben, mit denen die Empfindlichkeit des Algorithmus fein abgestimmt wird. Die erste Option, die MaxAnomalyRatio, hilft bei der Identifizierung von Datenpunkten, die anomal sein können oder nicht; die andere, die Empfindlichkeit, steuert den Grenzwert des Algorithmus. Je niedriger die Zahl, desto größer die Begrenzung, wodurch die Erkennung von Anomalien maximal bleibt.
Innerhalb Ihrer Anwendungen gibt es viele Zeitreihendaten, und es kann oft schwierig sein, daraus einen Nutzen zu ziehen. Wenn Sie allerdings ein wenig maschinelles Lernen hinzufügen, können Sie relativ leicht sehen, was nicht in das normale Muster passt – und diese Informationen anschließend dazu verwenden, die geeigneten Antworten darauf zu erstellen.
Aus diesem Grund empfiehlt es sich, Tools wie Jupyter Notebook zu verwenden, um die Ergebnisse genauer zu untersuchen und Ihre Detektoren zu optimieren, bevor Sie sie in Code integrieren. Sie sollten feststellen können, welche Anomalien auftreten, und in der Lage sein, sie mit denjenigen Ereignissen in Verbindung zu bringen, die sie verwalten müssen. Durch die Verwendung interaktiver Notebooks und historischer Daten können Sie geeignete Korrelationen finden, mit deren Hilfe sich Anwendungen entwerfen lassen, die eine nahezu zeitnahe Erkennung von Anomalien ermöglichen und dazu verwendet werden können, Ihnen verständliche Ergebnisse zu liefern. Das ist dann der Zeitpunkt, an dem sie die Anomalieerkennungs-APIs dazu verwenden, einen echten geschäftlichen Nutzen für Ihr Unternehmen zu erzielen.
*Simon Bisson ist Kolumnist bei InfoWorld.com
Be the first to comment