Weitere vertiefende Informationen findest du auch im Artikel AI-900 Testvorbereitung. Starten solltest du allerdings mit diesem Dokument – der Zusammenfassung über Azure AI-900.
Was ist AI – artifizielle Intelligenz (Künstliche Intelligenz (KI))
Künstliche Intelligenz / Artifizielle Intelligenz schmiedet sich immer mehr in unser Leben. Ob jetzt in Bereichen der Heim Automation oder Smarten Lautsprecher – überall ist bereits künstliche Intelligenz vorhanden. Bevor die einzelnen Services erklärt werden, ist allerdings das verantwortungsbewusste Umgehen der KI von Nöten. In Azure gibt es 6 Prinzipien um unbeabsichtigte negative Folgen zu verhindern.
- Gerechtigkeit / Fairness: Alle Menschen sollten fair behandelt werden (z.B. keine Verzerrung zwischen Geschlechtern).
- Zuverlässigkeit und Sicherheit / Reliability and safety: Zuverlässiges und sichere Arbeit von KI Systemen (etwa autonomes Fahren).
- Privatsphäre und Sicherheit / Privacy and security: Respektierung der Privatsphäre (persönliche Daten) – Datenschutz und Sicherheitsbedenken
- Inklusivität / Inclusiveness: Alle Menschen sollten einbezogen werden – unabhängig von ethnischer Zugehörigkeit oder Behinderung
- Transparenz / Transparency: Verständliche Systeme, welche über den Zweck, die Funktionsweise und die Einschränkungen informieren
- Rechenschaftspflicht / Accountability: Menschen sollten für KI System verantwortlich sein (Entwickler und Designer), Governance- und Organisationsprinzipien und Standards sicherzustellen, KI Systeme sollten nicht die endgültige Autorität haben
Jetzt kommen die 5 Services und Features von Microsoft Azure für künstliche Intelligenz.
- Maschinelles lernen – Grundlage für ein KI-System und die Art und Weise, wie ein Computermodell lernt, um Vorhersagen zu treffen und Schlussfolgerungen aus Daten zu ziehen
- Anomalieerkennung – Automatische Erkennung von Fehler oder ungewöhnliche Aktivitäten in einem System
- Computer Vision – Die Fähigkeit von Software Videos und Bilder visuell zu interpretieren
- Verarbeitung natürlicher Sprache – Fähigkeit geschriebene oder gesprochene Sprache zu interpretieren und zu antworten.
- Konversations-KI – Die Fähigkeit eines Software an einer Konversation teilzunehmen
Diese Services der künstlichen Intelligenz werden nachführend ausführlich thematisiert und in weitere Unterservices unterteilt.
Azure Machine Learning Service
Eine Cloud-basierte Plattform zum Erstellen, Verwalten und Veröffentlichen von Modellen für maschinelles Lernen mit folgenden Funktionen und Fähigkeiten:
- Automatisiertes maschinelles Lernen: Erstellung eines effektives Modell für maschinelles Lernen aus Daten
- Azure Machine Learning Designer: Grafische Oberfläche für die Entwicklung von Lösungen ohne Code
- Daten- und Computerverwaltung: Cloud-basierte Speicherung von Daten und Ressourcen, um Datenexperimentcode in großem Maßstab ausführen zu können
- Pipelines: Koordinierung von Trainings für Modelle, Bereitstellungs- und Verwaltungsaufgaben
Verwendet werden für maschinelles Lernen mathematische und statistische Grundlagen (meist aus Basis von historischen Daten) um ein Modell zu generieren. Mathematisch werden dabei oftmals Funktionen (f) definiert, welche aufgrund von Features (x) ein Label (y) vorhersagen: f(x) = y.
Vorteile von Azure:
- Bietet eine breite Palette von Funktionen udn Fähigkeiten um Daten aufzubereiten, Modelle zu trainieren und Vorhersagen zu treffen
- Steigert die Effizienz indem zeitaufwendige Aufgaben automatisiert werden
- Cloud basierte Rechenressourcen und effektive Skalierung
Möglichkeiten von Modellen
- Klassifizierung: Vorhersage von Kategorien und Klassen, nötig sind dafür historische Features (Charakteristiken) und bekannte Labels
- Regression: Vorhersage numerischer Werte, Vorhersagen eines numerischen Labels aufgrund von Features, nötig sind dafür historische Features (Charakteristiken) und bekannte Labels (nummerische Werte)
- Zeitreihenprognose: Regression mit einem Zeitreihenelement
- Clustiering: Ähnliche Elemente werden basierend auf den Funktionen in einem Cluster gruppiert, beim Clustering werden keine bekannten Labels benötigt (unbeaufsichtigtes maschinelles Lernen), für k Cluster werden k Zentroide benötigt
Für die Entwicklung sollte ein Webservice (Azure Container Instance) erstellt werden, für die Veröffentlichung ein Inference Cluster mit einem Azure Kubernetes Services für bessere Sicherheit und Skalierbarkeit. Mit dem Split Data Module kann ein Dataset zufällig in Training und Validierung Subsets gesplittet werden. Mittels dem Normalize Data Modul kann das Dataset auf eine Ebene (gemeinsame Skala ohne Informationen zu verlieren) gebracht werden. Der AUC Score besagt, wie gut das Modell ist. Um ein Modell zu veröffentlichen muss aus der Training Pipeline eine Inference Pipeline erstellt werden.
Matrix und Modellevaluierung
Die Matrix wird oftmals für Klassifizierungen verwendet und besagt, ob die vorhergesagten Werte auch eingetroffen sind. Dabei wird folgendermaßen unterschieden:
Aktuelle 1 | Aktuell 0 | |
Vorhergesagt 1 | true positives | false positives |
Vorhergesagt 0 | false negatives | true negatives |
Weitere Evaluierungen sind
- Genauigkeit: Verhältnis von korrekten Vorhersagen zur Gesamtzahl ((true positives + true negatives) / All)
- Präzision: Anteil der korrekt identifizierten positiven Fällen (true positives / (true positives + false positives))
- Recall: Anteil der positiven, welche tatsächlich positiv sind (true positives / (true positives + false negatives))
- F1: Gesamtmetrik, welche Präzision und Recall kombiniert
- AUC: Area under the Curve, je höher umso besser
Anomalieerkennung
Eine Technik, welche Daten analysiert und abnormale Veränderungen oder Abweichungen detektiert. Azure hat dafür eine eigene API. Neu ist auch die Erkennung von Zeitreihenanomalien. Dabei werden potenziell anomale Trends in den Zeitreihendaten identifiziert.
Computer Vision
Maschinelle Modelle, welche auf visuellen Input von Kameras, Fotos und Videos abzielen. Es gibt verschiedene Anwendungsmöglichkeiten für Computer Vision, welche nachfolgend vorgestellt werden (Modelle):
- Describe Image: Bildanalyse mit Objekterkennung um einem Bild einen Titel zu geben und damit das Bild zu beschreiben, es können mehrere Phrasen zurück geliefert werden (inklusive Wahrscheinlichkeitsbewertung)
- Tagging: Erkennbare Objekte können mit Tags versehen werden und den Metadaten des Bildes hinzugefügt werden, häufig wird dies zum indizieren von Bildern benützt
- Image Classification: Klassifizierung von Bildern anhand des Contents. So könnte die Klassifizierung grob (etwa Nahrung, Landschaft, Fahrzeuge) oder fein (Taxi, Bus, Auto) erfolgen. Für eine Klassifizierung werden Eingaben (Features) sowie bekannte Bezeichnungen (Labels) benötigt. Bei der Bildklassifizierung geht es um das primäre Subjekt.
- Object Detection: Klassifizierung von mehren Objekten auf einem Bild, wobei das identifizierte Objekt mit einem Rechteck oder Kreis markiert ist. Auf einem Bild mit einem Obstkorb kann etwa ein Apfel, eine Banane und eine Orange erkannt werden. Außerdem gibt es hier noch zwei Services: Prominente (bekannte Prominente aus Kultur, Sport, etc.) sowie Sehenswürdigkeiten (bekannte Punkte). Bei der Objekterkennung wird auch die Position auf dem Bild mitgeliefert. Die Objekterkennung ist eine Bildklassifizierung mit einzelnen Objekte am Bild.
- Semantic Segmentation: Nutzt Farben um klassifizierte Objekte zu markieren. So könnten etwa in einem Landschaftsbild Häuser rot, Bäume blau und Berge grün markiert werden.
- Gesichts Erkennung und Analyse (Facial Recognition): Eine Form der Objekterkennung, welches Gesichter in Objekten erkennt. Kombinierbar ist diese Technik mit Klassifikation sowie der Gesichtsgeometrie (Charakteristiken wie Nase, Augen, etc.), welche Details wie Alter, Geschlecht und emotionalen Status erkennt. Außerdem können anhand von Gesichtszügen bekannte Personen erkannt werden (Gesichtserkennung). Zurückgeliefert wird ein Begrenzungsrahmen mit mehreren Koordinaten. Extrem Aufnahmewinkel können die Erkennung beeinflussen.
- OCR (Optical Character Recognition): Auffinden, Lesen und Extrahieren von Texten in Bildern, Briefen, Rechnungen oder Formen. Überschneidung vom maschinellen Sehen und der Verarbeitung natürlicher Sprache (Sinnhaftigkeit). Es gibt die OCR API (kleine Textmengen in Bildern inklusive Begrenzungsrahmen, synchron) sowie die Lese-API (hohe Textmenge und visuelles Rauschen, etwa für gescannte Dokumente, asynchron).
- Formularerkennung: Teil von OCR, Textdaten sollen nicht nur extrahiert, sondern auch interpretiert werden (Vorhersagemodelle), maximal 50MB
- Weitere: Bildtypenerkennung (Clip Art, Zeichnung), Bildfarbenerkennung (Gesamtfarbe des Bildes), Erstellen von Miniaturansichten (Thumbnails) sowie Erwachseneninhalte (moderate Content: blutige, gewalttätige, sexuelle Szenen)
Neben den Modellen gibt es auch noch Services, mit jenen die Modelle trainiert werden können. Jene sind:
- Computer Vision: Möglichkeit Bilder und Videos zu analysieren und Tags, Objekte, Texte und Beschreibungen zu extrahieren
- Custom Vision: Training von Bildklassifizierungs- und Objekterkennungsmodelle anhand eigener Bilder, für Training und Vorhersage nutzbar
- Face: Gesichtsdienst für Gesichtserkennungsmöglichkeiten, mit Erkennung und Überprüfung von Gesichtern, suche nach ähnlichen Gesichtern, Gruppieren von Gesicherter und identifizieren von Personen
- Form Recognizer: Informationen aus gescannten Formularen oder Rechnungen zu extrahieren, dies inkludiert Text, Key/Value Werte als auch Tabellendaten. Dabei gibt es zwei Möglichkeiten: Pre-Built Rechnungsmodell (English / US) oder individuelles Modell.
Cognitive Services (sollte für Training und Vorhersage verwendet werden) inkludiert Computer Vision als auch andere Services wie Textanalyse, Übersetzung, etc. Zum Generieren einer Ressource wird ein Schlüssel (Key für Authentifizierung) sowie ein Endpunkt (HTTP Adresse) benötigt. Entwicklern muss zusätzlich noch die Projekt-Id und der Modellname bereitgestellt werden.
Modellgüte
Folgende Auswertungsmetriken kommen zum Einsatz:
- Genauigkeit: Wie viele Vorhersagen waren der korrekten Klasse zugeordnet
- Trefferquote: Wie viel Prozent der Klassenvorhersagen wurden vom Modell richtig identifiziert
- Average Precision (AP): Metrik aus Genauigkeit und Trefferquote
Verarbeitung natürlicher Sprache
Möglichkeit geschriebene und gesprochene Sprache zu verstehen. Das Service kann den Text (Dokumente, E-Mails) analysieren und interpretieren. Außerdem bietet es die Möglichkeit von automatische Übersetzungen sowie Sprachantworten. Durch Befehle können bestimmte Aktionen ausgeführt werden (etwa mittels Smart Speaker). Auch hierfür gibt es wieder Services:
- Text Analytics: Analyse von Textdokumenten um Schlüsselphrasen (KeyPhrases) oder Entitäten (Personen, Daten, Orte, Zeiten) zu extrahieren (Entitätserkennung). Außerdem Möglichkeit die Stimmung zu bewerten (positiv >0.5, negativ = z.B. Beschwerde, Stimmungsanalyse), Key Phrasen zu detektieren um den Hauptinhalt zu extrahieren (Key phrase Extraktion), Bestimmung der Sprache eines Dokumentes (Spracherkennung) – sofern nicht Eindeutig: NaN – Ausgegeben wird der Sprachname, der ISO6391 Sprachcode sowie die Wahrscheinlichkeit
- Translator Text: Übersetzungsmöglichkeit von Texten in viele Sprachen (derzeit mehr als 60 Sprachen), wörtliche Übersetzung oftmals nicht zielführend – Übergang zur semantischen (Ausdrücke, Grammatik) Übersetzung, Möglichkeit der Textübersetzung (etwa Dokumente) oder Sprachübersetzung (gesprochener Sprache zu Sprache oder Text)
- Speech: Erkennen und Synthesizern von Sprachen und jene bei Bedarf zu übersetzten, möglich ist die Echtzeittranskription sowie die Batchtranskription
- Language Understanding Intelligent Service: Training für Sprachmodelle, welches textbasierte oder gesprochene Befehle verstehen kann (Spracherkennung (mittels Akustikmodell (Phoneme – Laute) sowie Sprachmodelle (Phoneme werden Wörter zugeordnet)) und Sprachsynthese – Generierung von gesprochenen Ausgaben – Text als auch Stimme). Berücksichtigt werden hier Äußerungen (Interpretation durch die Anwendung), Entitäten (Element einer Äußerung) und Absichten / Intent (Zweck oder Ziel der Äußerung).
Es ist möglich durch den Aufruf eines Dienstes in mehrere Zielsprachen zu übersetzten. Die Absicht „Keine“ wird als Ausweichlösung in Betracht gezogen, um Benutzern eine allgemein Antwort zu geben.
Konversations-KI
Bots führen Kommunikationen (meist Dialoge – etwa auf Webseiten) mit Menschen. Möglichkeiten dafür sind Reservierungs- oder Buchungssysteme, Support, Gesundheitswesen, Selbstdiagnose, digitale Assistenz oder Automatisierung des Hauses. Die Services hier sind:
- QnA Maker (Knowledge Base): Aufbau einer Wissensbasis mit Fragen und Antworten, für eine Grundlage eines Dialoges, Eingabe manuell, existierenden FAQ Dokument oder Pre-definied Datenquelle, alternative Phrasen sollten inkludiert werden, möglich auch über die REST API, SDK oder das Portal, für eine Wissensdatenbank ist ein QnA Maker Ressource notwendig
- Azure Bot Service: Plattform zum Erstellen, Verwalten und Veröffentlichen von Bots inklusive Framework. Backend Dienste zu QnA sowie zum Language Understanding Intelligent Service sind dabei möglich. Ein Bot kann mit einer Wissensdatenbank mehrere Channels bedienen
Weitere Ressourcen zu Cloud Computing
Weitere Beiträge zu Cloud Computing findest du auf der Übersichtsseite. Alternativ kannst du dir auch weitere Ressourcen zu Microsoft Azure anschauen.