Hintergrund
Für den zweiten Artikel des Lixo Journal Clubs diskutieren wir den Artikel Deep Bayesian Active Learning with Image Data paper von Gal and al., der 2017 für dieInternational Conference on Machine Learning vorgestellt wurde.
In Lixo und bei vielen Anwendungen, die maschinelles Lernen und neuronale Netze verwenden, besteht ein direkter Weg, die Leistung eines Modells zu verbessern, darin, mehr Daten zu annotieren und diese Daten dem Trainingsdataset hinzuzufügen. Die Annotation von Daten ist jedoch kostspielig, zeitaufwendig und erfordert Fachkenntnisse. Active Learning für bildbezogene Anwendungen besteht darin, aus einem großen Pool nicht annotierter Bilder die Bilder zu finden, die den größten Wert haben und die die Leistung des Modells am meisten verbessern, wenn sie annotiert werden.
Warum haben Sie dieses Papier gewählt?
Dieses Papier steht in direktem Zusammenhang mit vielen Anwendungsfällen in der Industrie: Wie kann man ein bestehendes Modell verbessern und dabei die Kosten und die Zeit für Annotationen begrenzen? Active Learning ist seit vielen Jahren ein Thema der Forschung, aber dieses Papier legt den Grundstein für Active Learning im Fall von neuronalen Netzen, die auf Bilddaten angewendet werden.
Warum ist es innovativ?
Die Autoren schlagen eine neue Methode vor, um die Unsicherheit eines neuronalen Netzes zu quantifizieren, indem sie Drop Out verwenden, eine Technik, die üblicherweise für die Regularisierung verwendet wird. Drop Out besteht darin, dass während des Trainings zufällig Neuronen geschlossen werden, um Overfitting zu vermeiden.
Die Idee von Gal et al. ist es, Drop Out zu verwenden, um mehrere Instanzen desselben Netzwerks zu haben. Während der Inferenz schließen wir zufällig einige Neuronen für jede Instanz unseres Netzwerks mit unterschiedlichen Seed. Wir werden also mehrere Netzwerke haben, die aus der gleichen Distribution stammen, ohne dass es sich um die gleichen Netzwerke handelt. Und sobald wir diese verschiedenen Netzwerke instanziiert haben, besteht die Idee darin, ihre Ausgaben zu vergleichen. Wenn die Netzwerke für ein bestimmtes Bild nicht übereinstimmen (z.B. bei einem Klassifizierungsproblem sagt ein Netzwerk eine Katze, ein anderes einen Hund und wieder ein anderes ein Auto voraus), dann können wir davon ausgehen, dass das Modell in Bezug auf das Bild unsicher ist und dass das Bild interessante Informationen für das Lernen unseres Modells enthält, also sollten wir es zu unserem Trainingsdatensatz hinzufügen. Diese Methode wird Bayesian Active Learning by Disagreement (BALD) genannt. Die Autoren schlagen auch mehrere andere Kriterien vor, wobei sie weiterhin Drop Out verwenden, um Instanzen der gleichen Netzverteilung abzurufen.
Das Papier fokussiert den Benchmark auf Bilddaten mit dem MNSIT- und ISIC 2016 Melanoma-Dataset. Es ist interessant, diesen Benchmark auf Bilddatasets zu haben, da Active-Learning-Methoden sensibel auf die Verteilung der Daten und die Architektur der Modelle reagieren können.
Das Benchmark-Verfahren besteht darin, ein Modell mit zufällig ausgewählten Bildern zu trainieren, dann BALD (oder eine andere Methode) zu verwenden, um die nächsten 10 Bilder zu bestimmen, die aus dem Bilderpool auszuwählen sind, ein Modell mit diesen Bildern neu zu trainieren und zu iterieren. Ihre Methode zeigt eine bessere Leistung mit weniger Bildern im Vergleich zu einer zufälligen Bildauswahl.
Wo liegen die Grenzen?
Einfache Aufgabe zur Klassifizierung
Ihr Benchmark konzentriert sich auf einfache Klassifikationsaufgaben mit einfachen Daten. Es wäre interessant gewesen, kompliziertere Daten und komplexere Aufgaben wie Objekterkennung, Bildsegmentierung oder Posing-Estimation zu haben. Außerdem verwenden die Autoren eine VGG16-Architektur mit einigen Dropout-Schichten am Ende des Netzwerks. Es wäre interessant gewesen zu sehen, ob die Ergebnisse mit anderen Architekturen wie ResNet gleich bleiben.
Nur eine Architektur
Die Autoren verwenden ein einfaches VGG16 mit Drop-Out-Schichten am Ende des Netzwerks. Es wäre interessant gewesen, zu sehen, ob die Ergebnisse mit anderen Architekturen gleich bleiben.
Latenz
Diese Methode erfordert mehrere Inferenzdurchläufe, um die Unsicherheit des Modells zu schätzen. Wenn wir fünf Instanzen unseres Netzwerks mit unterschiedlichen Drop-Out-Sequenzen verwenden, multiplizieren wir die Latenzzeit für ein Bild mit dem Faktor 5. In Lixo können wir diese Methode zum Beispiel nicht direkt auf unseren eingebetteten Maschinen anwenden, da diese in Echtzeit laufen.
Berücksichtigt keine Bilder per Batch
Ein weiteres potenzielles Problem mit diesem Framework ist, dass wir die Relevanz der Bilder eines nach dem anderen bewerten, ohne einen Begriff von Diversität zwischen den Bildern zu haben. Im Falle eines Bilderpools mit mehreren sehr ähnlichen Bildern kann diese Methode in einer Iteration nahezu identische Bilder zurückgeben. Neuere Ansätze berücksichtigen diese Einschränkung, um die Auswahl ähnlicher Bilder zu vermeiden, z. B. Kirsch et al.
Die Größe der Batches ist zu klein
Im Artikel werden pro Active-Learning-Batch 10 Bilder verwendet. In Lixo verwenden wir Active Learning, um die Bilder, die wir annotieren möchten, besser auswählen zu können. Eine kleine Batchgröße ist optimal für den Algorithmus, aber in der Praxis ist es sehr schwierig und teuer, Trainings mit eingeschobener Bildannotation durchzuführen. Die Kosten für Trainings mit einem kleinen Batch sind umso höher, wenn man komplexere Architekturen als VGG16 in Betracht zieht.
Schlussfolgerung
Bei Lixo verbessern wir unsere Modelle kontinuierlich, während wir gleichzeitig die Kosten und den Zeitaufwand für die Annotation begrenzen. Active Learning ist ein hervorragendes Framework, um dieses Problem zu lösen, und dieses Papier legt die Grundlagen für Active Learning im Rahmen von neuronalen Netzen, die auf Bilder angewendet werden. Das Papier konzentriert sich auf eine einfache Klassifizierungsaufgabe, aber bei Lixo haben wir bestätigt, dass wir die Ideen des Papiers für spezifischere und umfassendere Anwendungsfälle (Objekterkennung in der Abfallindustrie) nutzen und die Anzahl der Bilder, die zur Verbesserung des Modells annotiert werden müssen, begrenzen können.
Allgemeiner ausgedrückt: Der Schlüssel zur Verbesserung der Leistung eines Modells in einem industriellen Kontext liegt oft darin, "datenzentriert" zu sein (an den Daten zu arbeiten, anstatt am Modell selbst). Ein weiterer Ansatz, der das Active Learning ergänzt, um eine große Menge nicht annotierter Daten zu nutzen, ist das Semi Supervised Learning. Dies wird vielleicht in Zukunft Gegenstand eines Blogposts sein.
Weitere Informationen:
- Tiefes Bayes'sches aktives Lernen mit Bilddaten, Yarin Gal, Riashat Islam, Zoubin Ghahramani (2017)
- Dropout: Ein einfacher Weg, um zu verhindern, dass neuronale Netze überangepasst werden, Nitish Srivastava, Geoffrey Hinton, Alex Krizhevsky, Ilya Sutskever, Ruslan Salakhutdinov (2014)
- BatchBALD: Effiziente und vielfältige Chargenerfassung für tiefes Bayesianisches aktives Lernen, Andreas Kirsch, Joost van Amersfoort, Yarin Gal (2019).