Erste Schritte mit AutoML Vision

Einleitung

Stellen Sie sich vor, Sie arbeiten in einem Büro für Denkmalpflege und versuchen herauszufinden, welche Gegenden in Ihrer Stadt denselben Baustil haben. Dazu müssten Sie Hunderttausende Bilder von Gebäuden durchsehen und diese von Hand kategorisieren. Dies wäre zweifellos eine sehr mühselige Angelegenheit und außerdem sehr fehlerträchtig. Tatsächlich hat ein Praktikant bei Ihnen mal vor Monaten einige Hundert Bilder mit einem Label versehen, aber seitdem ist nicht mehr viel passiert. Wäre es nicht toll, wenn Sie nun einem Computer beibringen könnten, diese Aufgabe für Sie zu übernehmen?

Beispielbilder für vier Arten von Baustilen

Warum ist maschinelles Lernen (ML) das richtige Werkzeug für dieses Problem?

Bild mit Programmierdarstellung Beim klassischen Programmieren muss der Programmierer dem Computer alles Schritt für Schritt beibringen. Mit diesem Ansatz lassen sich die meisten Probleme lösen. Gebäude können Sie so aber nicht kategorisieren. Es gibt einfach zu viele unterschiedliche Formen, Farben und stilistische Details, die Sie einem Computer in allen Einzelheiten beibringen müssten, damit er am Ende entscheiden kann, ob ein Bild von einem Einfamilienhaus dem American-Craftsman-Stil oder eher der Moderne zuzuordnen ist. Kaum vorstellbar, wo man da überhaupt anfangen würde. Genau an diesem Punkt kommen maschinelle Lernsysteme ins Spiel.

Ist die Vision API oder AutoML das richtige Tool für mich?

Die Vision API ordnet Bilder anhand Tausender vordefinierter Kategorien zu und erfasst einzelne Objekte und Gesichter in den Bildern. Außerdem findet und liest sie gedruckte Wörter. Probieren Sie die Vision API aus, wenn Sie einzelne Objekte, Gesichter und Texte in Ihrem Dataset erkennen möchten oder eine allgemeine Bildklassifizierung benötigen. Wenn aber in Ihrem Anwendungsfall Bilder mit Ihren eigenen Labels klassifiziert werden müssen, lohnt es sich, mit einem benutzerdefinierten Klassifikator zu experimentieren, um zu prüfen, ob er Ihren Anforderungen entspricht.

Bilder allgemeiner Cloud Vision-API-Labels im Vergleich zu benutzerdefinierten AutoML-Labels

Vision API ausprobieren Erste Schritte mit AutoML

Was bedeutet maschinelles Lernen in AutoML?

Grafische Darstellung eines einfachen neuronalen Netzwerks Beim maschinellen Lernen werden mithilfe von Daten Algorithmen trainiert, um ein gewünschtes Ergebnis zu erzielen. Je nach Anwendungsfall können sich die Eigenschaften des Algorithmus und der Trainingsmethoden ändern. Beim maschinellen Lernen gibt es viele verschiedene Unterkategorien, die auf das zu lösende Problem abgestimmt sind und jeweils mit unterschiedlichen Beschränkungen funktionieren. Mit AutoML Vision können Sie im Rahmen einer überwachten Lernphase einen Computer so trainieren, dass er Muster in Daten erkennen kann, die mit einem Label versehen wurden. Mithilfe von überwachtem Lernen kann ein Modell darauf trainiert werden, relevante Muster und Inhalte in Bildern zu erkennen.

Datenvorbereitung

Zum Trainieren eines benutzerdefinierten Modells mit AutoML Vision müssen Sie sowohl mit Labels versehene Beispielbilder (Eingaben) angeben, die Sie klassifizieren möchten, als auch die Kategorien oder Labels (die Antwort) bereitstellen, für die die ML-Systeme eine Vorhersage treffen sollen.

Anwendungsfall bewerten

Start- und Endpunktgrafik

Gehen Sie beim Erstellen des Datasets immer vom konkreten Anwendungsfall aus. Folgende Fragestellungen können Ihnen am Anfang helfen:

  • Welches Ergebnis möchte ich erzielen?
  • Welche Kategorien müssen erkannt werden, damit dieses Ergebnis erzielt werden kann?
  • Könnte ein Mensch diese Kategorien erkennen? AutoML Vision kann zwar viel mehr Kategorien zuweisen, als sich ein Mensch überhaupt merken kann, aber wenn ein Mensch eine bestimmte Kategorie nicht erkennen kann, wird auch AutoML Vision Schwierigkeiten damit haben.
  • Welche Beispiele geben am besten die Art und Bandbreite der Daten wieder, die das System klassifizieren soll?

Das Kernprinzip der ML-Produkte von Google ist ein auf den Menschen ausgerichtetes maschinelles Lernen. Bei diesem Ansatz stehen verantwortungsbewusste Vorgehensweisen in Bezug auf künstliche Intelligenz und Fairness im Vordergrund. Bei Fairness innerhalb von ML geht es darum, eine ungerechte oder von Vorurteilen beeinflusste Behandlung von Menschen aufgrund ihrer Herkunft, ihres Einkommens, ihrer sexuellen Orientierung, ihrer Religion, ihres Geschlechts und anderer Merkmale, die historisch mit Diskriminierung und Ausgrenzung verbunden waren, dort zu erkennen und zu verhindern, wo sie in algorithmischen Systemen oder bei der algorithmisch unterstützten Entscheidungsfindung sichtbar werden. Weitere Informationen finden Sie in unserem Leitfaden und den "Fair-aware"-Hinweisen in den Richtlinien weiter unten. Wir empfehlen Ihnen, das Thema Fairness beim maschinellen Lernen während des Studiums der Richtlinien für die Erstellung Ihres Datasets durchzulesen, sofern dies für Ihren Anwendungsfall relevant ist.

Daten erheben

Datenpunktgrafik Wenn Sie wissen, welche Daten Sie benötigen, müssen Sie eine Möglichkeit finden, sie zu beschaffen. Sie könnten beispielsweise damit beginnen, alle Daten zu berücksichtigen, die Ihr Unternehmen überhaupt erfasst. Oder vielleicht werden auch die spezifischen Daten, die Sie zum Trainieren eines Modells benötigen, bereits erhoben. Falls Sie die erforderlichen Daten nicht haben, können Sie sie manuell zusammentragen oder von einem Drittanbieter beziehen.

In jede Kategorie genügend Beispiele mit Labels aufnehmen

Modelltrainingsgrafik AutoML Vision benötigt mindestens 100 Bildbeispiele pro Kategorie/Label, um ein Training starten zu können. Je mehr hochwertige Bilder bereitgestellt werden, desto wahrscheinlicher ist es, dass ein Label erfolgreich erkannt wird. Im Allgemeinen gilt: Je mehr mit Labels versehene Daten Sie in den Trainingsprozess einbringen, desto besser wird Ihr Modell. Wir empfehlen mindestens 1.000 Beispiele pro Label.

Beispiele gleichmäßig auf Kategorien verteilen

Es ist wichtig, für jede Kategorie ungefähr gleich viele Trainingsbeispiele zu erfassen. Auch wenn es für ein Label eine Fülle von Daten gibt, ist es am besten, wenn sie gleichmäßig auf die Labels verteilt sind. Sie fragen sich, warum? Stellen Sie sich vor, dass 80 % der Bilder, die Sie für Ihr Modell verwenden, Bilder von Einfamilienhäusern sind, deren Baustil der Moderne zuzuordnen ist. Wenn die Labels derart ungleichmäßig verteilt sind, wird Ihr Modell höchstwahrscheinlich lernen, dass es am sichersten ist, ein Bild jedes Mal einem modernen Einfamilienhaus zuzuordnen, statt die Vorhersage eines selteneren Labels zu riskieren. Es ist wie bei einem Multiple-Choice-Test, bei dem fast alle richtigen Antworten "C" lauten. Ein versierter Testteilnehmer wird nach kurzer Zeit feststellen, dass man jedes Mal "C" ankreuzen kann, ohne sich die Frage vorher durchzulesen.

Trainingsbilder für vier Arten von Baustilen

Natürlich ist es nicht immer möglich, für jedes Label etwa gleich viele Beispiele zu finden. Bei manchen Kategorien kann es schwieriger sein, hochwertige, eindeutige Beispiele zu finden. Wenn dies der Fall ist, gilt folgende Faustregel: Dem Label mit den wenigsten Beispielen sollten mindestens ein Zehntel so viele Beispiele wie dem Label mit der größten Anzahl Beispiele zugeordnet werden. Wenn also das größte Label 10.000 Beispiele hat, sollte das kleinste Label mindestens 1.000 Beispiele haben.

Variation im Problembereich abdecken

Prüfen Sie analog dazu, ob Ihre Daten die Bandbreite und innere Vielfalt Ihres Problembereichs abdecken. Je mehr Auswahl für den Modelltrainingsprozess vorhanden ist, desto schneller können neue Beispiele nach allgemeinen Regeln eingeordnet werden. Nehmen wir den Fall, dass Sie Bilder im Bereich Unterhaltungselektronik in Kategorien einteilen wollen: Je mehr Daten zur Verfügung stehen, auf die das Modell während des Trainings zugreifen kann, desto eher wird es unterscheiden können, ob es sich um die neue Produktvariante eines Tablets, Smartphones oder Laptops handelt, auch wenn es das konkrete Gerät noch nie gesehen hat.

Grafik verschiedener Arten von Unterhaltungselektronik

Daten an die beabsichtigte Ausgabe des Modells anpassen

Trainingsbild übereinstimmend mit erwartetem Ausgabebild

Suchen Sie nach Bildern, die denen, für die Sie Vorhersagen treffen möchten, ähnlich sind. Wenn Sie versuchen, Bilder von Häusern zu klassifizieren, die alle bei verschneitem Winterwetter aufgenommen wurden, können Sie von einem Modell, das nur mit Bildern von Häusern bei sonnigem Wetter trainiert wurde, keine guten Ergebnisse erwarten. Auch dann nicht, wenn Sie sie mit den Klassen markiert haben, die für Sie von Interesse sind. Schon kleine Unterschiede in Beleuchtung und Umgebung können nämlich das Ergebnis beeinflussen. Im Idealfall handelt es sich bei Ihren Trainingsbeispielen um reale Daten, die aus dem Dataset stammen, für das Sie auch das Modell zur Klassifizierung verwenden möchten.

Wie AutoML Vision anhand Ihres Datasets ein benutzerdefiniertes Modell erstellt

Zu Ihrem Dataset gehören Trainings-, Validierungs- und Test-Datasets. Wenn Sie das Aufteilungsverhältnis nicht selbst angeben (siehe Trainingsdaten vorbereiten), verwendet AutoML Vision automatisch 80 % Ihrer Bilder für das Training, 10 % für die Validierung und 10 % für Tests.

grafische Darstellung der Trainings-, Test- und Validierungsaufteilung

Trainings-Dataset

Fernglasgrafik Die meisten Daten sollten im Trainings-Dataset enthalten sein. Das sind die Daten, die das Modell während des Trainings "sieht". Damit werden die Parameter des Modells erlernt, vor allem die Gewichtung der Verbindungen zwischen den Knoten des neuronalen Netzes.

Validierungs-Dataset

Blaupausengrafik Während des Trainingsvorgangs wird auch das Validierungs-Dataset, oft als "dev"-Dataset bezeichnet, verwendet. Das Framework für das Modelllernen bindet bei jeder Iteration des Trainingsvorgangs Trainingsdaten ein. Anschließend optimiert es mit dem Validierungs-Dataset anhand der tatsächlichen Leistung des Modells dessen sogenannte Hyperparameter. Hyperparameter sind Variablen, die die Struktur des Modells festlegen. Sollten Sie versucht haben, die Hyperparameter mit dem Trainings-Dataset zu optimieren, ist es sehr wahrscheinlich, dass sich das Modell zu sehr auf die Trainingsdaten fokussiert und dass die verallgemeinernde Einordnung von Beispielen, die nicht genau mit diesen Daten übereinstimmen, schwieriger wird. Durch die Verwendung eines neuen Datasets zur Feinabstimmung der Modellstruktur sind bessere Verallgemeinerungen für Ihr Modell möglich.

Test-Dataset

Glaskolbenbild Das Test-Dataset wird völlig unabhängig vom Trainingsvorgang eingesetzt. Nachdem das Training des Modells abgeschlossen ist, nutzen Sie das Test-Dataset als vollständig neue Aufgabe für das Modell. Anhand der Leistung des Modells in Bezug auf das Test-Dataset können Sie ziemlich gut abschätzen, wie es bei realen Daten abschneiden würde.

Manuelle Aufteilung

Reagenzgläsergrafik Sie können Ihr Dataset auch selbst aufteilen. Die manuelle Aufteilung Ihrer Daten ist dann sinnvoll, wenn Sie den Vorgang genauer steuern möchten oder bestimmte Beispiele unbedingt in einem bestimmten Bereich des Modelltrainings verwenden möchten.

 

Daten für den Import vorbereiten

Sobald Sie entschieden haben, ob eine manuelle oder automatische Aufteilung Ihrer Daten für Sie infrage kommt, haben Sie drei Möglichkeiten, Daten in AutoML Vision hinzuzufügen:

  • Sie können Daten mit Ihren Bildern importieren, die in Ordnern sortiert und abgelegt sind, die wiederum Ihren Labels entsprechen.
  • Sie können Daten aus Google Cloud Storage im CSV-Format direkt mit den Labels importieren. Weitere Informationen finden Sie in unserer Dokumentation.
  • Wenn Ihre Daten noch keine Labels haben, können Sie auch Bilder ohne Labels hochladen und diese mithilfe der AutoML Vision-UI jeweils mit Labels versehen.

Bewerten

Nachdem Ihr Modell trainiert ist, erhalten Sie eine zusammenfassende Bewertung der Modellleistung. Klicken Sie auf "Bewerten" oder "Vollständige Bewertung einblenden", um eine detaillierte Analyse anzeigen zu lassen.

Was sollte ich beachten, bevor ich mein Modell bewerte?

Lupengrafik Bei der Fehlerbehebung eines Modells geht es eher darum, Fehler in den Daten statt im Modell zu beheben. Wenn sich das Modell unerwartet verhält, während Sie die Leistung vor und nach der Fertigstellung bewerten, sollten Sie die bisherigen Schritte daraufhin prüfen, wo Ihre Daten verbessert werden könnten.

Welche Analysen kann ich in AutoML Vision ausführen?

In AutoML Vision können Sie im Validierungsbereich die Leistung Ihres benutzerdefinierten Modells bewerten. Dies geschieht mithilfe der Ausgabe des Modells anhand von Testbeispielen und allgemeinen Messwerten zum maschinellen Lernen. In diesem Abschnitt wird erläutert, was folgende Konzepte jeweils bedeuten.

  1. Modellausgabe
  2. Score-Schwellenwert
  3. Richtig positive, richtig negative, falsch positive und falsch negative Ergebnisse
  4. Genauigkeit und Trefferquote
  5. Genauigkeits-/Trefferquotenkurve
  6. Durchschnittliche Precision

Wie interpretiere ich die Modellausgabe?

AutoML Vision extrahiert Beispiele aus Ihren Testdaten, um Ihr Modell vor völlig neue Herausforderungen zu stellen. Für jedes Beispiel gibt das Modell eine Reihe von Zahlen aus, die angeben, wie eng das jeweilige Beispiel mit den einzelnen Labels verknüpft ist. Wenn die Zahl hoch ist, ist das Modell sehr sicher, dass das Label auf dieses Dokument angewendet werden sollte.

Bild mit Beispiel für Vorhersagewerte

Was ist der Scorel-Schwellenwert?

Wird ein Score-Schwellenwert festgelegt, lassen sich diese Wahrscheinlichkeiten in binäre Ja/Nein-Werte umwandeln. Der Score-Schwellenwert bezieht sich auf den Vertrauensgrad, den das Modell haben muss, um einem Testobjekt eine Kategorie zuzuweisen. Der Schieberegler für den Score-Schwellenwert in der Benutzeroberfläche ist ein visuelles Werkzeug, mit dem Sie die Auswirkungen verschiedener Schwellenwerte für alle Kategorien und einzelne Kategorien in Ihrem Dataset testen können. Bei einem niedrigen Score-Schwellenwert kann das Modell mehr Bilder klassifizieren, unterliegt jedoch dem Risiko, einige Bilder während des Vorgangs falsch zu klassifizieren. Wenn der Score-Schwellenwert hoch ist, kann das Modell zwar weniger Bilder klassifizieren, aber dafür besteht ein geringeres Risiko, dass sie falsch klassifiziert werden. Sie können die Schwellenwerte für die einzelnen Kategorien in der Benutzeroberfläche anpassen, wenn Sie experimentieren möchten. Wenn Sie aber Ihr Modell in einer Produktionsumgebung verwenden, müssen Sie die selbst ermittelten, optimalen Schwellenwerte festlegen.

Bild mit hoher Schwelle und wenigen klassifizierten Bildern und niedriger Schwelle und vielen klassifizierten Bildern

Was sind richtig positive, richtig negative, falsch positive und falsch negative Ergebnisse?

Nach Anwenden des Score-Schwellenwerts fallen die Vorhersagen Ihres Modells in eine der folgenden vier Kategorien.

Bild mit Beschreibungen von vier Wahrscheinlichkeitskategorien

Sie können diese Kategorien verwenden, um die Precision und den Recall zu berechnen. Diese Messwerte helfen Ihnen, die Effektivität des Modells zu bestimmen.

Was sind Genauigkeit und Trefferquote?

Anhand der Precision und des Recalls können Sie analysieren, wie gut das Modell Informationen erhebt und welche es auslässt. Die Precision zeigt, wie viele Testbeispiele, die mit einem Label versehen wurden, auch mit diesem Label kategorisiert werden sollten. Der Recall zeigt, wie viele Testbeispiele, die mit diesem Label versehen werden sollten, tatsächlich mit diesem Label versehen wurden.

Bild mit hoher Precision und niedrigem Recall

Bild mit hohem Recall und niedriger Precision

Empfiehlt sich die Optimierung der Genauigkeit oder der Trefferquote?

Abhängig von Ihrem Anwendungsfall müssen Sie möglicherweise entweder die Precision oder den Recall optimieren. Folgende zwei Anwendungsfälle können Ihnen bei der Entscheidung helfen.

Anwendungsfall: Datenschutz bei Bildern

Beispiel: Sie möchten ein System erstellen, das vertrauliche Informationen automatisch erkennt und unkenntlich macht.

Grafik mit verschwommenem Datum

Falsch positive Ergebnisse wären in diesem Fall Dinge, die eigentlich nicht unkenntlich gemacht werden müssten, aber dennoch unkenntlich gemacht wurden. Dies kann zwar lästig sein, muss aber nicht von Nachteil sein.

Grafik mit Kreditkartennummer

Falsch negative Ergebnisse wären in diesem Fall Dinge, die unkenntlich gemacht werden müssen, aber nicht gemacht wurden, wie z. B. eine Kreditkarte. Einem Identitätsdiebstahl wären dadurch theoretisch Tür und Tor geöffnet.

In diesem Fall wäre es besser, die Trefferquote zu optimieren. Die Trefferquote misst bei allen getroffenen Vorhersagen, wie viel ausgelassen wurde. Bei Modellen mit hohem Recall ist die Wahrscheinlichkeit hoch, dass sie auch wenig relevante Beispiele mit einem Label versehen. Das kann nützlich sein, wenn Ihre Kategorie zu wenig Trainingsdaten hat.

Beispiel: Sie möchten ein System erstellen, das das beste Stockfoto für einen bestimmten Suchbegriff findet.

Gitarrenbild übereinstimmend mit Gitarrensuche

Ein falsch positives Ergebnis würde in diesem Fall ein irrelevantes Bild zurückgeben. Da Ihr Produkt dafür bekannt ist, nur Bilder mit der besten Übereinstimmung zurückzugeben, wäre dies ein großer Makel.

Irrelevantes Bild übereinstimmend mit Gitarrensuche

Ein falsch negatives Ergebnis würde in diesem Fall bei einer Stichwortsuche ein relevantes Bild nicht zurückgeben. Da viele Suchbegriffe Tausende von Fotos enthalten, die potenziell eine hohe Übereinstimmung darstellen, ist dies in Ordnung.

In diesem Fall wäre es besser, die Genauigkeit zu optimieren. Die Genauigkeit misst bei allen getroffenen Vorhersagen, wie genau sie sind. Bei Modellen mit hoher Precision ist die Wahrscheinlichkeit hoch, dass sie nur sehr relevante Beispiele mit einem Label versehen. Das kann nützlich sein, wenn Ihre Klasse in den Trainingsdaten häufig vorkommt.

Wie verwende ich die Wahrheitsmatrix?

Mit der Wahrheitsmatrix lässt sich die Leistung eines Modells für jedes Label vergleichen. In einem idealen Modell sind die Werte auf der Diagonalen hoch und alle anderen Werte niedrig. Daran ist zu erkennen, dass die gewünschten Kategorien richtig identifiziert wurden. Sind die anderen Werte hoch, ist das ein Hinweis darauf, dass das Modell Testbilder falsch klassifiziert.

Bild, das Wahrheitsmatrizen erklärt

Wie interpretiere ich die Precision-Recall-Kurve?

Bild mehrerer Precision-Recall-Kurven

Mit dem Score-Schwellenwert-Tool können Sie herausfinden, wie sich der gewählte Score-Schwellenwert auf Genauigkeit und Trefferquote auswirkt. Bewegen Sie den Schieberegler für den Score-Grenzwert, um zu sehen, wo Sie sich auf der Precision-Recall-Kurve befinden und wie sich dieser Grenzwert jeweils auf Precision und Recall auswirkt. Bei Modellen mit mehreren Klassen wird für die Berechnung der Precision und des Recalls nur das am besten bewertete Label verwendet. Dies kann Ihnen helfen, ein Gleichgewicht zwischen falsch positiven und falsch negativen Ergebnissen zu schaffen.

Sobald Sie einen Grenzwert gewählt haben, der für Ihr Modell insgesamt akzeptabel erscheint, können Sie auf einzelne Labels klicken und sehen, in welchen Bereich dieser Grenzwert auf der Precision-Recall-Kurve fällt. Dabei kann es sein, dass Sie für einige Labels eine Menge falscher Vorhersagen erhalten. In diesem Fall ist es eine Überlegung wert, für jede Klasse einen eigenen Schwellenwert zu wählen, der genau auf diese Labels zugeschnitten ist. Nehmen wir beispielsweise an, Sie sehen sich Ihr Dataset von Häusern an und stellen fest, dass ein Grenzwert von 0,5 für jeden Bildtyp mit Ausnahme von "Tudor" eine angemessene Precision und einen angemessenen Recall aufweist. Das könnte daran liegen, dass es sich um eine sehr allgemeine Kategorie handelt. Für diese Kategorie erhalten Sie eine Menge falsch positiver Ergebnisse. In diesem Fall könnten Sie einen Schwellenwert von 0,8 nur für "Tudor" in Erwägung ziehen, wenn Sie den Klassifikator für Vorhersagen verwenden.

Was ist eine durchschnittliche Precision?

Ein nützlicher Messwert für die Modellgenauigkeit ist die Fläche unter der Genauigkeits-/Trefferquotenkurve. Er misst, wie gut Ihr Modell über alle Score-Schwellenwerte hinweg funktioniert. In AutoML Vision wird dieser Messwert als durchschnittliche Precision bezeichnet. Je näher dieser Wert bei 1,0 liegt, desto besser schneidet Ihr Modell im Test-Dataset ab. Ein Modell, das Labels nach dem Zufallsprinzip errät, hätte eine durchschnittliche Precision von etwa 0,5.

Modell testen

Glühbirnengrafik Zum Testen des Modells verwendet AutoML Vision automatisch 10 % Ihrer Daten (bzw. den Prozentsatz, den Sie beim manuellen Aufteilen Ihrer Daten gewählt haben). Auf der Seite "Bewerten" können Sie sehen, wie das Modell mit diesen Testdaten abgeschnitten hat. Für eine Zuverlässigkeitsprüfung Ihres Modells haben Sie verschiedene Möglichkeiten. Am einfachsten ist es, ein paar Bilder auf der Seite "Vorhersagen" hochzuladen und sich die Labels anzusehen, die das Modell für Ihre Beispiele auswählt. Hoffentlich werden Ihre Erwartungen dabei erfüllt. Probieren Sie einfach ein paar Beispiele für jeden erwarteten Bildtyp aus.

Wenn Sie Ihr Modell stattdessen in Ihren eigenen automatisierten Tests verwenden möchten, erfahren Sie auf der Seite "Vorhersagen", wie Sie das Modell programmgesteuert aufrufen können.