KI und Machine Learning
„Wie viele Bilder brauchen wir?“ ist in fast jedem KI-Projekt die erste Frage. Die ehrliche Antwort lautet: Es kommt darauf an. Das klingt nach Ausrede, ist aber der Anfang eines Plans. Denn welche Bilder Sie sammeln, entscheidet mehr als die Zahl.
Warum es keine feste Zahl gibt
Ein Fahrschüler, der dreißig Stunden auf einem leeren Parkplatz übt, ist danach nicht fit für die Innenstadt. Einem KI-Modell geht es genauso: Es lernt nur, was es gesehen hat. Wie viele Bilder es braucht, hängt vor allem von fünf Dingen ab:
- Die Aufgabe: Klassifikation bewertet das ganze Bild, Detektion findet Objekte mit Rahmen, Segmentierung ordnet jedes Pixel zu. Je feiner die Aufgabe, desto mehr Arbeit steckt im Markieren jedes Bildes.
- Der Abstand der Klassen: Ein fehlendes Bauteil ist leichter zu lernen als ein feiner Kratzer auf strukturierter Oberfläche.
- Die Streuung: Varianten, Lieferanten, Schichten, Verschmutzung und Lage der Teile – alles, was sich im Betrieb ändert, muss in den Daten vorkommen.
- Der Startpunkt: Ein Modell, das auf großen öffentlichen Datensätzen vortrainiert wurde, braucht deutlich weniger eigene Bilder als eines, das bei null beginnt.
- Die Anforderung: Jede weitere Verbesserung kostet mehr Daten als die vorige. Eine Studie von Google Research fand, dass die Leistung bei Bildaufgaben nur logarithmisch mit der Menge der Trainingsdaten wächst. Jede Verdopplung bringt also weniger als die letzte.
In Zellen planen statt in Summen
„5.000 Bilder“ klingt nach viel. Wenn 4.800 davon dieselbe Variante aus der Frühschicht zeigen, nützen sie wenig. Planen Sie deshalb in einer Tabelle: Varianten und Bedingungen in den Zeilen, Klassen in den Spalten, eine Mindestzahl je Zelle. Ob die gesammelten Daten den Plan erfüllen, prüft ein kurzes Skript:
import pandas as pd
# Eine Zeile je markiertem Bild: datei, variante, schicht, klasse
daten = pd.read_csv("bilder.csv")
tabelle = pd.crosstab([daten["variante"], daten["schicht"]], daten["klasse"])
# Kombinationen, die ganz fehlen, sichtbar machen
zeilen = pd.MultiIndex.from_product(
[daten["variante"].unique(), daten["schicht"].unique()],
names=["variante", "schicht"])
tabelle = tabelle.reindex(zeilen, fill_value=0)
MINDESTENS = 50 # Ihre Vorgabe je Zelle, aus Aufgabe und Lernkurve
zellen = tabelle.stack()
for (variante, schicht, klasse), anzahl in zellen[zellen < MINDESTENS].items():
print(f"Zu wenig: {variante} / {schicht} / {klasse}: {anzahl} Bilder")
Der Wert 50 ist nur ein Platzhalter. Ihre Mindestzahl ergibt sich aus der Aufgabe und aus der Lernkurve. Die Zeilen mit „Zu wenig“ sind Ihre Einkaufsliste für die nächste Aufnahmerunde. Am gefährlichsten sind Kombinationen, die ganz fehlen. Deshalb füllt das Skript sie mit null auf, statt sie stillschweigend wegzulassen.
Die Lernkurve zeigt, ob mehr Daten helfen
Ob sich weiteres Sammeln lohnt, müssen Sie nicht raten. Trainieren Sie mit einem Viertel, der Hälfte und allen vorhandenen Bildern und messen Sie jedes Mal am selben, unveränderten Testsatz. Steigt die Kurve noch deutlich, helfen mehr Bilder. Ist sie flach, bringen mehr Bilder derselben Art kaum etwas. Dann fehlen andere Bilder, bessere Markierungen oder ein anderes Verfahren.
Gute Markierungen schlagen viele Bilder
Ein Modell kann nicht besser werden als seine Markierungen. Wie verbreitet Fehler dort sind, zeigt eine Untersuchung aus dem Jahr 2021: In den Testsätzen von zehn häufig genutzten Datensätzen waren im Schnitt mindestens 3,3 Prozent der Markierungen falsch, im Validierungssatz von ImageNet mindestens 6 Prozent. Und das bei sorgfältig gepflegten öffentlichen Daten. Drei Maßnahmen helfen:
- Ein Markierungsleitfaden mit Bildbeispielen, vor allem für Grenzfälle: Ab wann ist ein Kratzer ein Fehler?
- Eine Stichprobe wird doppelt markiert, von zwei Personen unabhängig. Wo sie sich nicht einig sind, entscheiden die Fachleute aus der Qualitätssicherung.
- Korrekturen landen in einer neuen, versionierten Fassung des Datensatzes.
Datenvermehrung ersetzt keine echten Bilder
Drehen, spiegeln, heller und dunkler machen: Solche künstlichen Abwandlungen helfen, wenn diese Schwankungen auch an der Linie vorkommen. Eine neue Fehlerart oder die Oberfläche eines neuen Lieferanten erzeugen sie nicht. Auch synthetische Fehlerbilder taugen nur, wenn das Modell am Ende an echten Bildern geprüft wird.
Typische Fehler
- Eine Gesamtzahl als Ziel setzen statt einer Mindestzahl je Zelle.
- Bilder sammeln, wo es bequem ist: an einer Linie, in einer Schicht, von einem Lieferanten.
- Serienaufnahmen desselben Teils als viele Bilder zählen. Sie bringen kaum neue Information.
- Den Testsatz bei jedem Durchlauf neu zusammenstellen. Dann sind die Ergebnisse nicht mehr vergleichbar.
- Ohne Leitfaden markieren, jede Person nach eigenem Maßstab.
- Abwandlungen erzeugen, die in der Realität nie vorkommen, etwa Teile auf dem Kopf.
- Den Datenstand nicht versionieren. Später weiß niemand, mit welchen Bildern das Modell im Betrieb gelernt hat.
So helfen wir
- Machbarkeitsstudie Bildverarbeitung: Wir prüfen an Ihren Beispielbildern, ob ein lernendes Verfahren trägt, und sagen Ihnen, welche Bilder noch fehlen – als Einstiegspaket zum Festpreis.
- Datenplan und Training: Aufnahmeplan, Markierungsleitfaden, Training, Validierung und Integration in Ihre Software in C#, C++ oder Python. Mehr zu unserer Arbeit mit künstlicher Intelligenz.
- Ihr Projekt: Projekt anfragen oder Erstgespräch vereinbaren
Quellen: Northcutt, Athalye, Mueller, „Pervasive Label Errors in Test Sets Destabilize Machine Learning Benchmarks“ (NeurIPS 2021); Sun, Shrivastava, Singh, Gupta, „Revisiting Unreasonable Effectiveness of Data in Deep Learning Era“ (ICCV 2017).
