Verbesserte Übertragbarkeit von selbstüberwachten Lernmodellen durch Batch-Normalisierung-Finetuning
Die Fülle an unbeschrifteten Daten und die Fortschritte im Bereich des selbstüberwachten Lernens (Self-Supervised Learning, SSL) haben SSL zu der bevorzugten Wahl in vielen Transfer-Learning-Szenarien gemacht. Aufgrund der rasanten und kontinuierlichen Entwicklung von SSL-Methoden stehen Praktiker heute vor einer überwältigenden Anzahl an Modellen, die für spezifische Aufgaben oder Domänen trainiert wurden, was die Notwendigkeit einer Methode zur Schätzung der Transferleistung auf neuen Aufgaben oder Domänen erzeugt. Typischerweise übernimmt dabei die lineare Untersuchung (linear probing) die Rolle eines Schätzers, bei der ein linearer Klassifikator auf einem fixierten Merkmalsextraktor trainiert wird. In dieser Arbeit adressieren wir einen Nachteil der linearen Untersuchung: Sie ist nicht stark korreliert mit der Leistung von Modellen, die end-to-end feinabgestimmt wurden – letztere oft das endgültige Ziel im Transfer-Learning – und kann in einigen Fällen die Leistungsfähigkeit eines Modells katastrophal falsch schätzen. Wir schlagen einen Ansatz vor, um eine deutlich bessere Ersatzaufgabe zu erzielen, indem wir die Batch-Normalisierungsschichten entsperren und gemeinsam mit dem Klassifikationskopf feinabstimmen. Bei einem zusätzlichen Trainingsaufwand von lediglich 0,16 % der Modellparameter (bei ResNet-50) erreichen wir eine Ersatzaufgabe, die (i) eine stärkere Korrelation mit der Leistung bei end-to-end-Feinabstimmung aufweist, (ii) die Leistung der linearen Untersuchung sowohl im Many- als auch im Few-Shot-Lernregime verbessert und (iii) in einigen Fällen sowohl die lineare Untersuchung als auch die end-to-end-Feinabstimmung übertrifft, wodurch die state-of-the-art-Leistung auf einem Pathologie-Datensatz erreicht wird. Schließlich analysieren und diskutieren wir die Veränderungen, die die Feinabstimmung der Batch-Normalisierung in den Merkmalsverteilungen bewirkt, die möglicherweise für die verbesserte Leistung verantwortlich sind. Der Quellcode ist unter https://github.com/vpulab/bn_finetuning verfügbar.