Drei Dinge, die Sie beachten sollten, wenn Sie ein Trainingsset für Ihr maschinell lernendes System zusammenstellen

turicode AG
Nov 5 · 5 min read

Wollen Sie ein maschinell lernendes System trainieren, das zuverlässiger arbeitet als ein x-beliebiger Zufallsgenerator, dann ist ein gutes Trainingsset unerlässlich. Im Folgenden haben wir drei Punkte aufgelistet, die Sie beachten sollten, um ein Trainingsset zusammenstellen zu können, das Ihr lernendes System zu Höchstleistungen antreiben wird.

1. Das Trainingsset muss das Produktionsset wiederspiegeln

Es scheint selbstverständlich, aber in der Praxis ist dies einer der Hauptgründe, warum maschinell lernende Systeme scheitern. Wenn das Trainingsset nicht zum Produktionsset passt, wird der Lernprozess des Systems verzerrt. Dies führt dazu, dass die Genauigkeit der Datenanalyse, die das System durchführt, leidet.

Bei turicode extrahieren wir Informationen aus Dokumenten mittels maschinellen Lernens. Wenn wir mit unserer Anwendung MINT.extract Daten aus Bestellungen von unterschiedlichen Kunden lesen wollen, müssen wir sicherstellen, dass wir das System mit Bestellungen aller Kunden trainieren, die wir in den Service integrieren wollen, und dass das Mengenverhältnis zwischen den Dokumenten der einzelnen Kunden im Trainingsset dasselbe ist wie im Produktionsset. Sonst kann es passieren, dass das System zwar auf den Dokumenten eines Kunden gut funktioniert, aber mit den Dokumenten anderer Kunden nur schlecht zurechtkommt.

Aus all dem folgt, dass Sie von vorneweg wissen müssen, wofür Sie Ihr maschinell lernendes System einsetzen werden. Wahrscheinlich wollen Sie am liebsten gleich mit dem Training Ihres Systems beginnen und alle Daten einlesen, die Sie haben. Aber es lohnt sich, sich ein wenig Zeit nehmen, um sich über die spezifischen Daten klarzuwerden, die Sie mit Ihrem System auswerten wollen, bevor Sie das System mit Trainingsdaten zu füttern beginnen. Um die richtigen Daten für Ihr Trainingsset zu identifizieren, stellen Sie sich die folgenden Fragen:

  • Welche Daten will ich mit meinem maschinell lernenden System auswerten?
  • Aus welchen Datenquellen kommen meine Daten?
  • Muss ich meine Daten vorverarbeiten, bevor ich sie in mein System einlese?
  • Gibt es andere Daten/Datenquellen/Datenverarbeitungsformen, die ich beachten muss?

In diesem Zusammenhang ergibt es Sinn, nicht nur über die Zusammensetzung Ihres Trainingssets, sondern auch über die Zusammensetzung Ihres Produktionssets nachzudenken. Gibt es Massnahmen, die Sie ergreifen können, um die Qualität des Produktionssets zu steigern? Können Sie die Vorverarbeitung Ihrer Daten verbessern, indem Sie beispielsweise einen genaueren Scanner für Ihre Dokumente kaufen oder eine zuverlässigere Texterkennungssoftware über Ihre Scans laufen lassen? Wenn Sie die Qualität Ihrer Daten-Samples in der Produktion erhöhen können, können Sie auch jene der Samples im Trainingsset erhöhen und somit Ihre Maschine mit besserem Trainingsmaterial versorgen.

Logischerweise werden Sie niemals das Ziel erreichen, nur noch repräsentative, unverzerrte Trainingsdaten von höchster Qualität zu haben. Aber wenn Ihr System auf 99 Prozent aller möglichen Datenrepräsentationen gut trainiert ist, wird es auch mit den übrigen Repräsentationen klarkommen.

2. Grösse ist entscheidend — aber man kann sie kompensieren

Es gibt einen guten Grund, weshalb grosse Tech-Unternehmen ihre maschinellen Lernalgorithmen veröffentlichen, aber nicht Ihre Trainingsdaten: Der wahre Wert liegt in den Daten. Der beste Algorithmus ist wertlos ohne die richtigen Trainingsdaten. Je nachdem, wie komplex die Daten sind, die Sie extrahieren wollen, kann die Zahl der Daten-Samples, die Sie für Ihr Trainingsset benötigen, sehr stark ansteigen. Wenn Sie beispielsweise Daten aus zufällig ausgewählten Bildern auslesen wollen, brauchen Sie hunderttausende von Beispielen für Ihr Trainingsset.

Allerdings bedeutet dies nicht, dass Sie einen ganzen Berg von Daten zusammentragen sollten, bloss, um mehr Daten zu haben. Wenn Sie die Samples für Ihr Trainingsset systematisch zusammenstellen, können Sie Ihren Aufwand bei der Datensuche wesentlich reduzieren. Wie bereits erwähnt, sollten Sie Daten von hoher Qualität für möglichst viele Datenrepräsentationen sammeln. Wenn Ihre Daten eine gute Qualität aufweisen, können Sie Ihr System mit lediglich ein paar Beispielen pro Datenpunkt, den Sie auswerten wollen, trainieren.

Um ein konkretes Beispiel zu geben: Wenn wir bei turicode Produktnummern aus Bestellungen von drei spezifischen Kunden extrahieren wollen, nehmen wir eine Handvoll Bestellungen pro Kunde und lassen unser System darauf trainieren. Dies führt zu viel besseren Resultaten, als wenn wir das System auf tausenden von Bestellungen trainieren lassen, die wir auf dem Internet oder in einer Datenbank gefunden haben, von denen aber keine von einem unserer Kunden erstellt wurde.

In unseren Projekten wird ein Trainingsset normalerweise mit einer Handvoll bis zu ein paar Dutzend Dokumenten pro Layout, das wir untersuchen wollen, zusammengestellt. Unser Credo ist es, so viel Daten ins Trainingsset zu integrieren wie nötig, aber so wenig wie möglich. Kleinere Trainingssets bieten uns auch mehr Flexibilität in ihrer Anpassung.

3. Das lernende System ist nur so gut wie seine Lehrer

Um Ihrem System beizubringen, welche Daten es auswerten soll, müssen Sie die Daten in Ihrem Trainingsset annotieren. Dies ist oft zeitaufwändig und repetitiv. Trotzdem sollten Sie dieser Arbeit genügend Aufmerksamkeit schenken, denn wenn Sie beim Annotieren Fehler machen, wird das System anhand Ihrer Fehler trainieren und diese wiederholen.

Eine schlaue Lösung ist es, das Annotieren Ihrer Trainingsdaten an Experten zu delegieren. Branchenspezifische Experten wissen am besten, welche Daten annotiert werden müssen und wie sie zu kategorisieren sind. Das Problem bei dieser Lösung ist, dass die Experten nicht unbedingt Programmier-Genies sind. Deshalb ist es von Vorteil, wenn Sie ihnen zum Annotieren ein User Interface zur Verfügung stellen.

Bei turicode haben wir einen Annotationseditor entwickelt, der es den Leuten erlaubt, Datenpunkte in Dokumenten zu annotieren, indem man die entsprechenden Wörter einfach anklickt und die richtige Datenkategorie in einem Menü auswählt. So können wir die Bestellungen aus unserem Beispiel von Buchhaltern annotieren lassen, die wissen, welche Datenpunkte in diesem Dokumententyp relevant sind.

Es kann passieren, dass Sie Inkonsistenzen in Ihren Trainingsdaten feststellen, auch wenn Sie das Annotieren an Experten delegiert haben. Diese Inkonsistenzen entstehen, weil Daten manchmal nicht eindeutig sind. Manche dieser Inkonsistenzen können ausgemerzt werden, indem Sie die Experten schulen und ihnen klare Annotationsregeln aushändigen.

Dennoch können Inkonsistenzen bestehen bleiben, weil sie Ihren Daten schlicht zu eigen sind. In diesen Fällen können die Experten nicht wissen, wie sie die Daten annotieren sollen. Dies bedeutet, dass sie folglich auch von Ihrem lernenden System nicht erwarten können, es zu wissen. Das Positive daran ist, dass Sie keine 100-prozentige Genauigkeit mit Ihrem maschinell lernenden System erreichen müssen. Wenn es mindestens so gut arbeitet wie ein Mensch, ist das schon ganz ordentlich.

Bereit? Dann los!

Wie Sie sehen, ist ein gutes Trainingsset unerlässlich, wenn Sie Ihr maschinell lernendes System dazu bringen wollen, zuverlässig zu arbeiten. Das Zusammenstellen des Trainingssets ist definitiv nicht der interessanteste Teil beim Aufsetzen eines maschinell lernenden Systems. Aber es ist den Aufwand definitiv wert. Denn wenn Ihr Trainingsset einmal aufgesetzt ist, werden Sie das Training Ihres Systems mit viel weniger Fehlern und in kürzerer Zeit absolvieren können.

Um mehr über turicode zu erfahren, besuchen Sie www.turicode.com oder schreiben Sie uns eine Email and info@turicode.com

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade