Active Learning für datenzentrierte KI

in

am

Ein großes Thema im Bereich des maschinellen Lernens (ML), das häufig auftritt, wenn Leistungsverbesserungen vorgenommen werden sollen, sind die Rüstkosten der Datenbeschaffung. Die Generierung qualitativ hochwertiger Daten zur Erhöhung der Vorhersagegenauigkeit ist in der Regel schwierig, teuer oder einfach nicht möglich. Außerdem werden die Daten im Gegensatz zum KI-Modell selbst in der Regel als weniger wichtig angesehen. Das liegt daran, dass ML-Ingenieure eher dazu neigen, den Code eines Modells zu ändern, als den Datensatz zu bereinigen. Aber gerade bei KI-Anwendungen ist es wichtig, die Daten zu untersuchen, da das System sowohl auf Code als auch auf Daten aufbaut, im Gegensatz zu traditioneller Software, die nur auf Code basiert. Obwohl üblicherweise davon ausgegangen wird, dass 80 % der Aktivitäten beim maschinellen Lernen auf die Datenbereinigung entfallen, wird die Sicherstellung der Datenqualität (datenzentriert) nicht als so wichtig angesehen wie die Arbeit am Modell (modellzentriert). [1] 

Aber warum verwendet niemand einen datenzentrierten Ansatz?

Hier spielen mehrere Faktoren eine Rolle. Zum einen wird ein datenzentrierter Ansatz als zeitraubende und langweilige Aufgabe angesehen, zum anderen ist es auch schwierig zu definieren, was genau einen guten Datensatz ausmacht. Die Notwendigkeit, mit einem guten Datensatz zu arbeiten, wird jedoch in Zukunft noch wichtiger werden, da die Menge an ungelabelten Daten aufgrund günstigerer Möglichkeiten der Datensammlung und -speicherung generell zunimmt. Um gute Modelle zu erstellen, braucht man gute Daten, was seinen Preis hat. „(…) annotierte Daten sind schwer und teuer zu beschaffen, vor allem in spezialisierten Domänen, in denen nur Experten, deren Zeit knapp und kostbar ist, verlässliche Labels liefern können.“ [2] Als Reaktion auf diese Situation haben Forscher begonnen, das Bewusstsein dafür zu schärfen, die Lücke zwischen Datenerfassung und Modellbildung zu schließen. Genau an dieser Stelle setzt die Disziplin des Active Learning an. 

Wie trägt Active Learning dazu bei, bessere Daten zu erhalten?

Active Learning integriert menschliches Wissen in das maschinelle Lernen, so den Datenbedarf deutlich reduziert und die Vorhersagen der KI erhöht. „Es zielt darauf ab, die nützlichsten Beispiele aus dem unmarkierten Datensatz auszuwählen und sie dem Orakel (z. B. dem menschlichen Annotator) zur Markierung zu übergeben, um die Kosten für die Markierung so weit wie möglich zu reduzieren, ohne die Leistung zu beeinträchtigen.“ [3] Active Learning ist besonders dann sinnvoll, wenn die Datenmenge zu groß ist, um sie zu labeln, oder wenn Prioritäten für eine intelligente Art der Beschriftung gesetzt werden müssen. Natural Language Processing (NLP) ist einer der beliebtesten Bereiche, in denen Active Learning zum Einsatz kommt. Vor allem, weil NLP-Anwendungen eine große Menge an gelabelten Daten benötigen, sind die Kosten für deren Labeling sehr hoch. Die Verwendung von Active Learning in NLP reduziert die Menge an Daten, die von einem Experten im Trainingsprozess eines Modells genau beschriftet werden müssen. Stattdessen etikettiert das Modell die Daten bereits von sich aus und bittet um Feedback, wenn es sich nicht ganz sicher ist, ob es das richtige Label ist. 

Es gibt drei verschiedene Arten des Active Learning, die in verschiedenen Forschungsarbeiten erwähnt werden. Die am häufigsten verwendete Methode Pool-Based Learning nimmt die informativsten Instanzen, die mit einem Score bewertet werden, aus dem gesamten Datenpool und fragt den Menschen nach Labels. Das Stream-Based Selective Sampling bewertet die Informativität jedes ungelabelten Datenpunktes einzeln und entscheidet selbst, ob es den Menschen abfragt oder selbst ein Label vergibt. Die Membership Query Synthesis ist eine Methode, bei der das Modell seine eigene Instanz aus einer zugrunde liegenden natürlichen Verteilung generiert. Aber jede Art der Priorisierung von Datenpunkten benötigt einige allgemeine Schritte, um Active Learning auf einem unbeschrifteten Datensatz durchzuführen. Zunächst muss eine sehr kleine Teilmenge von Daten manuell gelabelt werden, auf der das Modell dann trainiert wird. Anschließend sagt das Modell die Klasse der ungelabelten Datenpunkte voraus, wählt einen Score basierend auf der Vorhersage des Modells und ordnet die zu beschriftenden Datenpunkte dem Menschen zu. Der Ansatz des Trainingsprozesses wird als Semi-Supervised Learning bezeichnet, d. h. es gibt nur eine kleine Menge an gelabelten Daten, aber eine große Menge an ungelabelten Daten. Nach dem Erhalt des menschlichen Feedbacks kann das Modell auf dem erweiterten, gelabelten Datensatz trainiert werden, wodurch die Leistung des Modells mit jedem Durchlaufen des Zyklus besser wird. 

Kreislauf des Active Learning
Active Learning Kreislauf

Wie wir Active Learning integriert haben, um eine bessere Vorhersageleistung zu erreichen

Im folgenden Teil erklären wir, wie wir den Ansatz des Active Learning in der KI-Plattform Konfuzio implementiert haben. Wir verwenden den Stream-Based Selective Sampling Ansatz, erweitern ihn aber für unsere Anwendung, bei der wir vielmehr einen datenzentrierten Ansatz benötigen, der für ein kontinuierliches Anlernverhalten geeignet ist. Dies wird nötig, da unser Ziel nicht darin besteht, einen großen Datensatz einmalig zu trainieren und dann im Folgenden zu verwenden, sondern das Modell mit einem kleinen Datensatz zu trainieren und die Vorhersageleistung durch erneutes Training kontinuierlich zu steigern. Eine Methode, auf die man sich beziehen kann, ist das sogenannte Incremental Learning, das darauf abzielt, das Wissen des Modells im Laufe der Zeit zu erweitern, sobald neue Trainingsdaten zur Verfügung stehen [4]. Der Ansatz des Active Learning erstreckt sich also über einen größeren Zeitraum und findet regelmäßig statt. Was sind nun die Schritte, um unsere Ergebnisse in einem neuen Projekt mit Active Learning zu verbessern? Im Folgenden finden Sie eine visuelle Darstellung des Prozesses und eine Beschreibung der einzelnen Schritte.

Active Learning Circle
Prozess Active Learning bei Konfuzio

Active Learning findet im Schritt „Feedback“ statt, bei dem die Interaktion mit dem Benutzer notwendig ist, um die Vorhersagen des Modells zu verbessern. Hier können wir von der „Human-in-the-Loop“-Implementierung sprechen, die unser maschinelles Lernmodell mit menschlicher Interaktion kombiniert. Dadurch ist es möglich, unser Modell häufig und schnell neu zu trainieren, da wir von einem kontinuierlichen Feedback profitieren, indem die KI sich an den Menschen wendet. Durch diesen Ansatz wird die Vorhersageleistung unter Berücksichtigung einer datenzentrierten Sichtweise regelmäßig und kontinuierlich gesteigert.

Wie funktioniert Active Learning in der Praxis?

Extract data from invoice

Active Learning in der Praxis am Beispiel von Dokumenten

  1. Select problem

    Der Nutzer wählt einen Anwendungsfall für die Verarbeitung von Dokumenten durch KI aus. Eine klare Definition der zu extrahierenden Labels ist der Ausgangspunkt für den aktiven Lernprozess der KI.Sections and labels for data extraktion

  2. Collect data

    Der Nutzer lädt Dateien auf die Konfuzio-Plattform hoch, die aus Dokumenten für Training & Validierung sowie Dokumenten zum Testen bestehen (z.B. in einem Verhältnis von 70/30). Die Trainingsdaten müssen nun entweder vom Nutzer manuell gelabelt werden oder es kann ein Open-Source-KI-Modell zum Vor-Labeln der Daten verwendet werden.Categorize and extract documents

  3. Check data

    Die Konsistenz der gelabelten Trainingsdaten wird geprüft und falls nötig korrigiert oder erweitert. In einem separaten technischen Artikel zeigen wir, wie wir die Qualität unserer Trainingsdaten kontrollieren, indem wir diese automatisiert zusammenfassen. Zum Artikel.KI erkennt Rechnungsposten

  4. Train AI

    Anschließend wird ein automatisiertes Training auf gelabelten Trainingsdaten initiiert. Es wird die beste Modellarchitektur für den jeweiligen Anwendungsfall ausgewählt.KI Modell Retraining starten

  5. Test AI

    Nach dem Training wird ein automatisiertes Testen der trainierten KI auf dem hochgeladenen Testdatensatz durchgeführt.Check data to be extracted from an invoice

  6. Report

    Der Report zeigt, ob das „neue“ KI-Modell unter Einbeziehung des Testdatensatzes besser ist als das vorherige Modell. Wenn nicht, wird das vorherige Modell für den nächsten Schritt verwendet.Evaluation_of Document AI

  7. Deployed AI

    Wenn das „neue“ Modell besser ist als das vorherige Modell, aktualisiert Konfuzio die API mit der neuesten trainierten KI.Categorize AI and Extraction AI in one project

  8. Real World

    Jetzt kommen neue „real world“ Daten/Dokumente ins Spiel, die mit der eingesetzten KI verarbeitet werden. Die Vorhersagen der neuen Labels werden berechnet. Dokumente können direkt per API oder Python SDK auf die Deployed AI zugreifen.JSON

  9. Feedback

    Alle erkannten Daten in einem Dokument werden dem Nutzer durch Markierung der Labels in der Smartview angezeigt. Diese Benutzeroberfläche ermöglicht es dem Nutzer, durch die visuelle Anzeige auf dem jeweiligen Dokument ein Feedback zu den Vorhersagen zu geben. Entweder kann durch Anklicken eines grünen Häkchens die Richtigkeit bestätigt werden, oder ein falsches Label wird durch Anklicken eines roten X verworfen. Zusätzlich kann der Nutzer Labels hinzufügen, die irrtümlich gefehlt haben. Das menschliche Feedback sollte präferiert auf die Dokumente gegeben werden, die mit den automatisch generierten Regeln, siehe Schritt 3, nicht erkannt hättet werden können.
    Check data to be extracted from an invoice

  10. Collect data

    Das Feedback des Nutzers wird dann im wiederholten Schritt „collect data“ in den Datensatz zurückgeführt. Ein akzeptiertes Label bestätigt lediglich die Korrektheit, die Rückmeldung der Ablehnung oder das Hinzufügen eines Labels erhöht die Vorhersagegenauigkeit durch erneutes Training des Modells. Die „real world“ Daten von vorher werden an dieser Stelle nun zum Training in die Schleife eingebracht.Lernkurve

Fazit

Active Learning hilft die Vorhersagen neuer KI und maschinellen Lernmodelle kontinuierlich zu verbessern. Die Vorteile der Integration eines aktiven Lernansatzes sind reduzierte Kosten, geringe Datenmengen für den ersten Release der KI, eine erhöhte Zuverlässigkeit und eine stetig steigende Robustheit durch kontinuierliche Tests der KI Genauigkeit. Der Wechsel zu einer datenzentrierten Entwicklung macht KI für mehr Anwender-Teams und viel mehr Anwendungsfälle zugänglich. Insbesondere bei Modellen mit kleineren Datensätzen verbessert die Datenqualität die KI Leistung deutlich.


Für Data Scientists bieten wir neben dem Webinterface zudem ein Python SDK.

Simple Example OCR in Python

Human-in-the-Loop als Colab Notebook


 

Quellen: 

[1] Sagar, R. (2021). Big Data To Good Data: Andrew Ng Urges ML Community To Be More Data-Centric And Less Model-Centric, abgerufen von Analytics India Magazine PVT LTD.

[2] Konyushkova, K., Sznitman, R., & Fua, P. (2017). Learning active learning from data. arXiv preprint arXiv:1703.03365.

[3] Ren, P., Xiao, Y., Chang, X., Huang, P. Y., Li, Z., Chen, X., & Wang, X. (2020). A Survey of Deep Active Learning. arXiv preprint arXiv:2009.00236.

[4] Castro, F. M., Marín-Jiménez, M. J., Guil, N., Schmid, C., & Alahari, K. (2018). End-to-end incremental learning. In Proceedings of the European conference on computer vision (ECCV) (S. 233-248).

Foto von Andrea Piacquadio von Pexels

Läuferin
lets work together
de_DEDE