Shot-based Learning: Eine Einführung 

von | 16. September 2024 | Grundlagen

Wenn Sie sich mit Künstlicher Intelligenz und Machine Learning befasst haben, wissen Sie wahrscheinlich, dass die Beschaffung guter Trainingsdaten eines der Hauptprobleme bei der Erstellung guter Modelle ist. Und in vielen Fällen benötigen wir viele Trainingsdaten, um Modelle zu erstellen, die gut verallgemeinern, d. h. Modelle, die sowohl während des Trainings als auch bei neuen Beispielen gut funktionieren, sobald das Modell eingesetzt wird.

Aber was wäre, wenn man ein Modell mit nur wenigen Beispielen trainieren könnte?  Oder sogar mit nur einem Beispiel?  Oder ganz ohne neue Trainingsbeispiele? Unter den richtigen Bedingungen können Sie das.

In diesem Artikel erkläre ich eine Reihe von Techniken, die als Shot-based Learning bezeichnet werden und die es uns ermöglichen, mit minimalen Trainingsdaten genaue Modelle zu erstellen.

Was ist Shot-based Learning? 

Vereinfacht ausgedrückt ist Shot-based Learning ein Ansatz für das Training von ML- und KI-Modellen, bei dem wir eine sehr kleine Anzahl von Beispielen – die wir „Shots“ nennen – verwenden, um das Modell zu trainieren (genauer gesagt sind „Shots“ die Anzahl der Trainingsbeispiele pro Klasse). 

Innerhalb dieses Ansatzes für die Modellschulung gibt es spezifische Arten des Shot-based Learning – wie Zero-Shot, One-Shot und Little-Shot. Diese spezifischen Techniken beziehen sich auf die genaue Anzahl von Beispielen, die wir zum Trainieren des Modells verwenden, obwohl wir beim Zero-Shot-Learning nicht wirklich neue Beispiele zum Trainieren des Modells verwenden. Stattdessen nutzen wir beim Zero-Shot-Learning  die vorhandenen Fähigkeiten des Modells, um es auf neue, bisher unbekannte Klassen zu verallgemeinern.  Ich werde etwas später in diesem Artikel mehr über Zero-Shot, One-Shot und Little-Shot schreiben.

Warum brauchen wir Shot-based Learning?

Beim traditionellen Machine-Learning-Anwendungen benötigen wir oft eine große Menge an Trainingsdaten. Selbst bei sehr einfachen Methoden wie der linearen Regression und der logistischen Regression benötigen wir oft eine große Menge an Trainingsdaten. Und je komplexer das Problem ist, desto mehr Trainingsdaten werden in der Regel benötigt.

Bei einer unzureichenden Datenmenge treten bei Modellen für maschinelles Lernen häufig Probleme auf, wie z. B. die Überanpassung, bei der ein Modell im Training sehr gut abschneidet, aber bei neuen Testbeispielen oder in der Produktion nicht gut abschneidet (d. h. ein Mangel an Daten führt in der Regel zu einer mangelnden „Generalisierung“).

Die Beschaffung einer ausreichenden Anzahl hochwertiger, gut gelabelter Daten ist daher oft eines der Hauptprobleme bei der Entwicklung von ML- und KI-Systemen.

Aber was wäre, wenn man ein Modell mit nur wenigen Beispielen trainieren könnte?

Oder mit einem Beispiel?

Oder sogar ohne neue Beispiele?! 

Keine neuen Trainingsbeispiele?!

Nun, unter den richtigen Bedingungen ist das möglich.

… wenn Sie Shot-based Learning verwenden.

Shot-based Learning ermöglicht es Ihnen, ein Modell mit begrenzten Daten zu trainieren. Im Kern ermöglicht das Shot-based Learning die Erstellung von Modellen, die sich gut verallgemeinern lassen, wenn sie mit minimalen Daten trainiert werden.

Shot-based Learning ist daher besonders nützlich in Situationen, in denen qualitativ hochwertige, beschriftete Daten teuer, knapp oder zeitaufwendig zu beschaffen sind. In der medizinischen Diagnostik zum Beispiel können wir mit Shot-based Learning Modelle zur Erkennung seltener Krankheiten trainieren, für die wir nur Datenbeispiele für eine Handvoll Fälle haben. Oder in der natürlichen Sprachverarbeitung (Natural Language Processing, kurz NLP) können wir uns eine Situation vorstellen, in der wir versuchen, eine Analyse einer seltenen Sprache oder eines seltenen Dialekts durchzuführen, für die es wiederum nur wenige Trainingsbeispiele gibt. In solchen Fällen können wir mit Hilfe von Shot-based Learning Modelle trainieren, die auch mit sehr begrenzten Daten präzise funktionieren.

Natural Language Processing

Die natürliche, gesprochene Sprache des Menschen ist der direkteste und einfachste Weg zur Kommunikation. Erfahren Sie, wie Maschinen und Algorithmen NLP innovativ nutzen:

Natural Language Processing (NLP): Natürliche Sprache für Maschinen

Typen von Shot-based Learning 

Wie bereits beschrieben, gibt es drei Haupttypen des von Shot-based Learning:

  1. Few-Shot-Learning
  2. One-Shot-Learning
  3. Zero-Shot-Learning
FrameworkMerkmale
Few-ShotErfordert in der Regel 2-10 Beispiele. Am besten geeignet in Situationen, in denen es nur wenige Datenbeispiele gibt, wir aber vielleicht eine Handvoll qualitativ hochwertiger gelabelter Beispiele erhalten können.
One-ShotErfordert 1 Trainingsbeispiel. Am besten geeignet für Aufgaben, bei denen es extrem schwierig ist, mehrere Beispiele zu erhalten, und bei denen wir nur ein einziges Beispiel haben, an dem wir das Modell trainieren können.
Zero-ShotErfordert 0 neue Trainingsbeispiele. Wird verwendet, wenn ein Modell für Aufgaben verwendet werden soll, für die es nicht explizit trainiert wurde.
Überblick über die 3 Haupttypen des Shot-Based Learning

Few-Shot-Learning

Beim Few-Shot-Learning wird ein Modell mit einer kleinen Anzahl von Beispielen für jede Klasse trainiert.

Beim Few-Shot-Learning werden also in der Regel zwischen 2 und 10 Beispiele pro Klasse verwendet. Um dies zu erreichen, müssen wir in der Regel Meta-Learning-Techniken oder Vorwissen innerhalb des Modells verwenden, damit das Modell effektiv verallgemeinern kann.

Few-Shot-Learning eignet sich am besten für Situationen, in denen es nur wenige Datenbeispiele gibt, aber vielleicht eine Handvoll qualitativ hochwertiger markierter Beispiele, z. B. in der medizinischen Diagnostik für eine seltene Krankheit.

One-Shot-Learning

Das One-Shot-Learning geht noch einen Schritt weiter und trainiert das Modell auf nur einem Beispiel pro Klasse

Trotz der begrenzten Datenmenge muss das Modell beim One-Shot-Learning immer noch in der Lage sein, neue Beispiele korrekt (d. h. genau) zu klassifizieren, und wir müssen oft spezielle Techniken anwenden, um dies zu erreichen (die ich weiter unten in diesem Artikel erläutern werde).

One-Shot-Learning ist wichtig für Aufgaben, bei denen es extrem schwierig ist, mehrere Beispiele zu erhalten, und bei denen wir nur ein einziges Beispiel haben, anhand dessen wir das Modell trainieren können. Die Gesichtserkennung ist ein Beispiel für eine Aufgabe, bei der wir One-Shot-Learning verwenden können.

Zero-Shot-Learning

Beim Zero-Shot-Learning schließlich wird das Konzept des Shot-based Learning auf die Spitze getrieben, indem keine Instanzen der Zielklasse zum Trainieren des Modells verwendet werden.

Anders ausgedrückt: Beim Zero-Shot-Learning werden zunächst die Klassen und die Beziehungen zwischen den Klassen aus einem anfänglichen Datensatz mit Hilfe von Techniken wie Pre-Training (zum Erlernen allgemeiner Merkmale, Attribute und Beziehungen im Datenraum) oder durch Wissenstransfer aus verwandten Aufgaben erlernt. Diese Techniken des Pre-Trainings und des Wissenstransfers helfen dem Modell anschließend bei der Verallgemeinerung auf neue Klassen, die in den Trainingsdaten nicht enthalten waren.

Wir könnten zum Beispiel ein Computer-Vision-Modell für Hunde, Katzen und Wölfe trainieren und dann versuchen, die von diesem Modell gelernten gemeinsamen Merkmale (wie Beine, Ohren, Fell usw.) zu verwenden, um sie auf Füchse zu verallgemeinern. Das kann funktionieren, weil die in den Trainingsdaten erlernten Merkmale (Beine, Ohren, Fell) sowohl in den Trainingsklassen (Hunde, Katzen, Wölfe) als auch in der neuen, bisher nicht gesehenen Klasse (Füchse) vorhanden sind. In Bezug auf Anwendungen sehen wir Zero-Shot oft in Aufgaben wie NLP, wo wir Zero-Shot-Learning verwenden können, um ein Modell in die Lage zu versetzen, Wörter oder Konzepte ohne explizite Trainingsbeispiele für diese Wörter oder Konzepte zu verstehen.

Anwendungen des Shot-based Learning

Nachdem wir nun erörtert haben, was Shot-based Learning ist und welche Techniken wir zur Implementierung von Shot-based Learning verwenden können, wollen wir uns nun einige Anwendungen auf höchster Ebene ansehen.

Es gibt eine Vielzahl von Möglichkeiten, Shot-based Learning zu nutzen, aber wir werden uns ein paar spezifische Anwendungen in der Wirtschaft und Industrie ansehen, und zwar in:

  • Gesundheitswesen
  • Marketing
  • Kundenbetreuung
  • Industrie und Fertigung
  • Natürliche Sprachverarbeitung
  • Finanzwesen

Gesundheitswesen: Identifizierung seltener Krankheiten

Eine der wichtigsten Anwendungen des Shot-based Learning liegt im Bereich der medizinischen Bildgebung und Diagnostik.

Insbesondere können wir Shot-based Learning nutzen, um seltene Krankheiten zu identifizieren, für die es nur wenige Daten und Beispiele gibt, auf denen ein Modell trainiert werden kann. In diesem Bereich können wir mithilfe von Few-Shot-Techniken Klassifizierungsmodelle trainieren, um bestimmte medizinische Zustände genau zu identifizieren. Dieser Einsatz von Few-Shot Learning verbessert die Diagnostik und unsere Fähigkeit, seltene Krankheiten zu erkennen, wenn nur wenige Daten zur Verfügung stehen.

Marketing: Marketing für Nischengruppen und neue Trends

Im Marketing können wir Shot-based Learning nutzen, um Nischenkundengruppen anzusprechen oder um neue Marketingkampagnen für neue Trends zu initiieren.

Nehmen wir den Fall an, dass wir die Marktsegmentierung nutzen, um kleinere Kundenuntergruppen anzusprechen.  Wenn ein bestimmtes Segment sehr klein ist, kann es aufgrund mangelnder Daten schwierig sein, Vorhersagemodelle zu erstellen, die uns bei der Vermarktung in diesem kleinen Segment helfen.  In einer solchen Situation können wir mit Hilfe von Shot-based Learning Vorhersagemodelle erstellen oder andere Techniken der Künstlichen Intelligenz (KI) anwenden, selbst bei begrenzten Daten.

Im Falle eines neuen Markttrends kann es sein, dass aufgrund der Neuheit des Trends nur sehr wenige Daten vorliegen.  Auch in diesem Fall können wir mit Hilfe von Shot-based Learning Vorhersagen darüber treffen, wie wir diesen neuen Trend bei den Kunden vermarkten können, selbst bei begrenzten Daten.

Kundenbetreuung: Anpassung an neue Serviceanfragen

Seit dem Aufkommen von Large Language Models (LLMs) vor einigen Jahren gibt es einen Trend zur Automatisierung des Kundendienstes mit LLM-basierten Chatbots oder digitalen Assistenten. Bei Chatbots oder digitalen Assistenten kann es zu neuen oder einzigartigen Serviceanfragen von Kunden kommen, die nicht in den Trainingsdaten für das Modell enthalten waren.

In einem solchen Szenario können Zero-Shot- und Little-Shot-Techniken diesen Modellen dabei helfen, sich an neue Probleme und Kundenfragen anzupassen, ohne dass ein umfangreiches Neutraining erforderlich ist. Dadurch wird die Reaktionsfähigkeit und Flexibilität dieser automatisierten Kundensupport-Tools verbessert.

Industrie und Fertigung: Erkennung von Anomalien und Defekten

In der Industrie können wir Shot-based Learning zur Erkennung von Anomalien und Defekten sowie zur Unterstützung von Predictive Maintenance einsetzen.

Insbesondere können Sie mit Hilfe von Few-Shot-Techniken kritische Ereignisse wie Maschinenausfälle erkennen.  Ein solcher Anwendungsfall könnte die frühzeitige Erkennung von Problemen erleichtern, was wiederum die Ausfallzeiten in der Fabrik verringern, die Sicherheit erhöhen und die Effizienz des Betriebs verbessern könnte.

Verarbeitung natürlicher Sprache: Übersetzung und Stimmungsanalyse

Shot-based Learning hat sich bei der Verarbeitung natürlicher Sprache (NLP) wie der Analyse von Gefühlen, der Textklassifizierung und der Übersetzung als zunehmend nützlich erwiesen.

In diesem NLP-Umfeld können NLP-Systeme dank der Few-Shot-, One-Shot- und Zero-Shot-Techniken Aufgaben mit begrenzten Trainingsdaten, wie z. B. seltene Sprachen und Dialekte, präzise ausführen.

Finanzwesen: Erkennung von Betrug

Im Finanzwesen können wir Shot-basierte Techniken für Aufgaben wie Betrugserkennung und Risikoanalyse verwenden.

So können beispielsweise einige Arten von Finanz- oder Transaktionsbetrug extrem selten sein, so dass sie mit herkömmlichen Analysemethoden nur schwer zu erkennen sind.  Bei einer solchen Aufgabe mit begrenzten Trainingsdaten können wir Shot-basierte Verfahren einsetzen, um genauere Modelle zu erstellen, die aus einer sehr kleinen Menge von Trainingsbeispielen verallgemeinert werden können.

LLM Use Cases, eine grafische Darstellung eines Fließbands in einer Industrieanlage mit zahlreichen überblendeten geometrischen Formen

Large Language Models (LLMs) steigern Effizienz und Produktivität. Entdecken Sie in unserem Blogbeitrag, wie LLMs Abläufe optimieren und Ihrem Unternehmen echte Mehrwerte bieten können:

Large Language Models: Anwendungsbeispiele für Unternehmen

Herausforderungen beim Einsatz dieser Frameworks

Abschließend möchte ich kurz auf einige der Herausforderungen und Überlegungen eingehen, die bei der Verwendung von Shot-basierten Techniken zu beachten sind.

Die wichtigsten Bereiche, auf die ich hier eingehen werde, sind:

  • Datenknappheit und -qualität
  • Modellgeneralisierung
  • Evaluation und Testverfahren

Datenknappheit und -qualität

Eines der größten Probleme beim Shot-based Learning liegt in der Natur des Problems selbst begründet: die Datenknappheit und die Datenqualität.

Shot-basierte Verfahren arbeiten naturgemäß mit begrenzten Daten, und wie bereits erwähnt, ist dies darauf zurückzuführen, dass wir Shot-basierte Verfahren in Situationen einsetzen, in denen Datenbeispiele selten, teuer oder schwer zu beschaffen sind.

Daher müssen wir zumindest im Falle von One-Shot- oder Little-Shot-Modellen sicherstellen, dass wir in der Lage sind, Datenbeispiele von ausreichender Qualität zu beschaffen, die es uns ermöglichen, diese Modelle zu erstellen.

Modellgeneralisierung

Bei Shot-basierten Techniken haben wir aufgrund der geringen Anzahl von Trainingsbeispielen oft auch erhebliche Probleme mit der Modellgeneralisierung.

Bei nur wenigen Beispielen pro Klasse zum Trainieren (oder sogar null Beispielen) kann das Modell Schwierigkeiten bei der Generalisierung haben.  Anders ausgedrückt: Selbst wenn Sie das Modell mit einigen wenigen Beispielen trainieren können, kann es, sobald Sie das Modell einsetzen, schlecht abschneiden. Dieses Problem wird in der Regel als „Overfitting“ bzw. Überanpassung bezeichnet, d. h., das Modell schneidet bei den Trainingsdaten gut ab, schneidet aber viel schlechter ab (d. h., es kann nicht verallgemeinert werden), wenn neue Daten vorliegen.

Um ein Modell besser zu verallgemeinern, können wir Techniken wie Meta Learning, Data Augmentation und Transfer Learning einsetzen. Mit diesen Techniken können Modelle besser lernen und sich anpassen, selbst bei Aufgaben mit begrenzten Daten. 

Evaluation und Testverfahren

Die Modellvalidierung und das Testen stellen aufgrund der begrenzten Datenmenge eine besondere Herausforderung beim Shot-based Learning dar.

Bei herkömmlichen Methoden des maschinellen Lernens stehen uns oft große Datensätze für die Modellvalidierung und -prüfung zur Verfügung.  Aber aufgrund der begrenzten Datenbeispiele sind die traditionellen Werkzeuge und Techniken, die wir für die Validierung und das Testen verwenden könnten, im Wesentlichen nicht verfügbar.

Beim Shot-based Learning ist es daher in der Regel sehr viel schwieriger, die Leistung des Modells zu bewerten und eine Überanpassung zu erkennen. Um dieses Problem bei der Bewertung und beim Testen abzumildern, müssen wir oft Techniken wie die Kreuzvalidierung oder das Benchmarking mit wenigen Schüssen verwenden.

Project Management [at] Scale, Tech Deep Dive, Alexander Thamm GmbH

Effektives Projektmanagement verknüpft Strategie und Operations, fördert die Zusammenarbeit und sichert die Wettbewerbsfähigkeit.

SAFe® 6.0-Framework – Project Management [at] scale

Mit wenigen Daten zur maximalen Modellleistung

In diesem Artikel habe ich versucht, Ihnen einen umfassenden Überblick über Shot-based Learning zu geben: was Shot-based Learning ist; verschiedene Arten von Shot-based Learning (wie z. B. Few-Shot, One-Shot und Zero-Shot); verschiedene Anwendungen in Bereichen wie Marketing, Gesundheitswesen und Finanzen; und einige der Herausforderungen von Shot-based Learning.

Letztendlich ist Shot-based Learning ein leistungsfähiges Werkzeug in unserem KI-Entwicklungs-Toolkit, das es uns ermöglicht, selbst bei knappen Daten genaue Modelle zu erstellen, und das uns wiederum hilft, schwierige Probleme zu lösen, wenn Trainingsbeispiele selten oder teuer zu beschaffen sind.

Autor:innen

Patrick

Pat ist seit Ende 2021 für den Bereich Web Analyse & Web Publishing bei der Alexander Thamm GmbH zuständig und überwacht einen Großteil unserer Onlinepräsenzen. Dabei schlägt er sich durch jedes Google oder Wordpress Update und gibt dem Team gerne Tipps, wie Ihre Beiträge oder eigenen Websites noch verständlicher für den Leser sowie die Suchmaschinen werden.

0 Kommentare