Direkt zum Inhalt
KI & Machine Learning

Leitfaden zum unkomplizierten Machine Learning für Anfänger

14. Januar 2021
https://storage.googleapis.com/gweb-cloudblog-publish/images/Screenshot_2021-01-04_at_6.22.29_PM_1.max-1500x1500.jpg
Dale Markowitz

Applied AI Engineer

GCP testen

Profitieren Sie von einem 300 $-Guthaben, um Google Cloud und mehr als 20 zu jeder Zeit kostenlose Produkte kennenzulernen.

JETZT TESTEN

Das Erstellen von KI-gestützten Anwendungen kann mühsam sein. Ich habe da auch schon so einiges mitgemacht. Aber am Ende war es die Mühe oft wert. Wie sagt man so schön: Aller Anfang ist schwer. 

Doch zum Glück ist die Entwicklung mit Machine Learning dank nutzerfreundlicher Tools in den vergangenen fünf Jahren erheblich einfacher geworden. Heute verbringe ich kaum noch Zeit mit dem Erstellen und Optimieren von ML-Modellen. Vielmehr konzentriere ich mich auf die herkömmliche Anwendungsentwicklung.

In diesem Post stelle ich Ihnen einige meiner unkomplizierten Lieblings-KI-Tools von Google Cloud vor und gebe Ihnen Tipps für ein schnelles Erstellen von KI-gestützten Anwendungen.

Vortrainierte Modelle verwenden

Der längste und lästigste Teil von ML-Projekten ist das Erfassen von Trainingsdaten mit Labels. Das sind die Beispiele, durch die ein ML-Algorithmus „lernt“.

Bei vielen gängigen Anwendungsfällen ist das allerdings nicht nötig. Sie müssen Ihr eigenes Modell nicht komplett neu entwickeln. Stattdessen können Sie vortrainierte Modelle nutzen, die bereits von anderen erstellt, optimiert und verwaltet wurden. Die AI APIs von Google Cloud sind ein Beispiel dafür.

Mit den Cloud AI APIs können Sie Machine Learning für verschiedene Zwecke nutzen, wie zum Beispiel:

Die ML-Modelle, die diese APIs unterstützen, ähneln denen, die in vielen Google-Apps (wie Fotos) verwendet werden. Sie werden mit großen Datensätzen trainiert und sind oft unglaublich genau. Als ich z. B. mit der Video Intelligence API meine Familienvideos analysierte, konnte sie spezifische Labels wie „Junggesellinnenabschied“, „Hochzeit“, „Fußballspiel“ und sogar „lächelndes Baby“ erkennen.

Die Cloud AI APIs werden natürlich in der Cloud ausgeführt. Wenn Sie aber eine kostenlose Offline-Lösung brauchen, bieten TensorFlow.js und ML Kit eine Vielzahl an vortrainierten Modellen. Diese können Sie direkt im Browser oder auf einem Mobilgerät ausführen. In TensorFlow Hub gibt es sogar noch mehr vortrainierte TensorFlow-Modelle.

Einfache benutzerdefinierte Modelle mit AutoML

Zwar gibt es für viele Anwendungsfälle ein vortrainiertes Modell, manchmal ist jedoch ein wirklich benutzerdefiniertes Modell nötig. Vielleicht möchten Sie ein Modell erstellen, das medizinische Scans wie Röntgenaufnahmen analysiert, um eine Krankheit zu erkennen. Oder Sie möchten bestimmte Sachen auf einem Fließband sortieren. Oder Sie möchten vorhersagen, welche Ihrer Kundinnen und Kunden am wahrscheinlichsten etwas kaufen, wenn Sie ihnen einen Katalog zuschicken.

Dafür müssen Sie ein benutzerdefiniertes Modell erstellen. AutoML ist ein KI-Tool von Google Cloud, mit dem dieser Prozess so unkompliziert wie möglich wird. Sie können damit ein benutzerdefiniertes Modell mit Ihren eigenen Daten trainieren, ohne Code schreiben zu müssen (es sei denn, Sie möchten das). 

Auf dem unteren GIF-Bild sehen Sie, wie ich mit AutoML Vision ein Modell trainiert habe, das fehlerhafte Komponenten auf einer Leiterplatte erkennt. Durch Klicken und Ziehen werden Daten mit Labeln versehen. Zum Trainieren eines Modells genügt es dabei, auf die Schaltfläche „Train new model“ (Neues Modell trainieren) zu klicken. Nachdem das Modell das Training abgeschlossen hat, können Sie die Qualität im entsprechenden Tab bewerten und sich eventuelle Fehler ansehen.

Das funktioniert bei Bildern (AutoML Vision), Videos (AutoML Video), Sprache (AutoML Natural Language und AutoML Translation), Dokumenten und tabellarischen Daten (AutoML Tables) wie denen aus einer Datenbank oder Tabelle.

https://storage.googleapis.com/gweb-cloudblog-publish/original_images/image4_JYmZLVY.gif

Auch wenn AutoML eine einfache Oberfläche hat, sind die erstellten Modelle oft von beeindruckender Qualität. AutoML trainiert verschiedene Modelle (wie neuronale Netze), vergleicht dabei verschiedene Architekturen und Parameter und wählt dann die genauesten Kombinationen aus.

Sie können AutoML-Modelle ganz einfach in Ihrer Anwendung verwenden. Google kann das Modell für Sie in der Cloud hosten, auf das Sie dann über eine Standard-REST API oder Clientbibliothek zugreifen können (Python, Go, Node, Java usw.). Sie können das Modell aber auch zu TensorFlow exportieren, um es offline zu verwenden.

Dadurch wird Modelltraining meist ziemlich einfach. Aber woher bekommen Sie ein großes Trainings-Dataset?

Eigene Daten nie mit Labels versehen

Und zwar ohne Ausnahme.

Wenn ich mit einem ML-Modell beginne, schaue ich zuerst, ob es dafür bereits ein vortrainiertes Modell gibt. 

Wenn das nicht der Fall ist, halte ich es mit Datasets genauso. Auf der Website von Mitbewerber Kaggle werden zahlreiche Datasets gehostet – hier finden Sie fast jede Art von Datasets, die Sie sich vorstellen können: Tweets zu COVID-19, eine Liste mit Chipotle-Restaurants oder eine Sammlung von Artikeln mit Fake News. Auf Kaggle finden Sie mindestens ein paar Datasets, mit denen Sie ein Proof-of-Concept-Modell für Ihr Problem trainieren können. Google Dataset Search ist ebenfalls ein hilfreiches Tool, mit dem Sie Datasets finden können. Damit werden sowohl Kaggle als auch andere Quellen abgefragt.

https://storage.googleapis.com/gweb-cloudblog-publish/original_images/image5_rUMccWa.gif

Bitte beachten Sie, dass es manchmal erforderlich ist, Ihre eigenen Daten mit Labels zu versehen. Aber bevor Sie Hunderte von Praktikanten einstellen, sollten Sie darüber nachdenken, ob Sie nicht Data Labeling Service von Google verwenden möchten. Für dieses Tool beschreiben Sie, wie Ihre Daten benannt werden sollen, und Google sendet diese Info dann an Teams, die sich um das Erstellen von Labeln kümmern. Das Dataset mit Labels kann dann zum Training direkt in AutoML oder andere AI Platform-Modelle eingebunden werden.

Vom Modell zur nutzbaren Anwendung

Oft ist das Erstellen oder Suchen eines funktionierenden ML-Modells nicht der schwierigste Teil des Projekts. Der besteht meist darin, Ihrem Team zu ermöglichen, das Modell für ihre eigenen Daten zu verwenden. Wir standen bei Google Cloud AI oft vor diesem Problem. Daher haben wir uns entschlossen, unseren API-Produktseiten interaktive Demos hinzuzufügen. So können Sie Ihre APIs herunterladen und schnell ausprobieren.

https://storage.googleapis.com/gweb-cloudblog-publish/original_images/image6_6rzpRXu.gif

Diese Demo haben wir direkt unserer Vision-Produktseite hinzugefügt, damit Nutzer:innen unser Modell mit eigenen Daten ausprobieren können.

Mit einem erfolgreichen ML-Projekt lassen sich oft auch Prototypen schnell erstellen. Dafür habe ich ein paar wichtige Tools und Architekturen:

  • ML in Google Tabellen. Google Workspace-Apps wie Tabellen, Docs und Formulare können mit JavaScript über das Framework von Apps Script erweitert werden. Sie können z. B. ein Textklassifizierungsmodell erstellen, das jedes Mal ausgeführt wird, wenn Sie eine Zeile in einer Google Tabelle hinzufügen. Oder Sie können ein Google Formular erstellen und damit Bilder hochladen, diese mit einem ML-Modell analysieren und dann die Ergebnisse in eine Google Tabelle schreiben lassen.

  • Das Duo Google Cloud Storage und Cloud Functions. Die meisten ML-Projekte umfassen Dateneingabe und -ausgabe. Sie laden Eingabedaten hoch (Bilder, Videos, Audioaufnahmen, Text-Snippets usw.) und ein Modell führt Vorhersagen dazu aus („Ausgabedaten“). Eine tolle Möglichkeit, um einen Prototyp für diese Art von Projekt zu erstellen, bieten Cloud Storage und Cloud Functions. Cloud Storage ist wie ein Ordner in der Cloud: ein Ort, um Daten in allen Formaten zu speichern. Cloud Functions ist ein Tool, mit dem Codeblöcke in der Cloud ausgeführt werden können, ohne dass dafür ein Server nötig ist. Sie können beide so konfigurieren, dass sie zusammenarbeiten. Dazu nutzen Sie eine in Cloud Storage hochgeladene Datei, durch die eine Cloud Functions-Funktion ausgeführt wird.

  • Ich habe dieses Setup kürzlich verwendet, als ich eine Document AI-Pipeline erstellte habe:

https://storage.googleapis.com/gweb-cloudblog-publish/images/image1_s8sYwSR.max-900x900.png

Wenn ein Dokument in einen Cloud Storage-Bucket hochgeladen wird, wird eine Cloud Functions-Funktion ausgelöst, die das Dokument nach Typ analysiert und es in einen neuen Bucket verschiebt. Dadurch wird eine neue Cloud Functions-Funktion ausgelöst, die die Natural Language API zum Analysieren von Dokumenttext verwendet. Hier finden Sie den vollständigen Code.

Nächste Schritte

Hoffentlich habe ich Sie davon überzeugen können, dass der Einstieg in das Machine Learning gar nicht so mühsam sein muss. Hier finden Sie einige hilfreiche Anleitungen und Demos für Ihren Einstieg in ML:

Gepostet in