Was ist Wissensdestillation?
Wissensdestillation (Knowledge Distillation, KD) ist ein Komprimierungsprozess für maschinelles Lernen (ML), bei dem Wissen aus einem großen Deep-Learning-Modell (DL) in ein kleineres, effizienteres Modell übertragen wird.
In diesem Zusammenhang bezieht sich Wissen auf die Muster und Verhaltensweisen, die das ursprüngliche Modell beim Training gelernt hat.
Wissensdestillation einfach erklärt
Das Ziel der Wissensdestillation ist es, den Speicherbedarf, die Rechenanforderungen und die Energiekosten eines großen Modells zu reduzieren, damit es in einer ressourcenbeschränkten Umgebung verwendet werden kann, ohne die Leistung wesentlich zu beeinträchtigen.
Wissensdestillation ist eine effektive Methode zur Verbesserung der Genauigkeit eines relativ kleinen ML-Modells.
Der Prozess selbst wird manchmal auch als Lehrer-Schüler-Lernen bezeichnet. Das große Modell ist der Lehrer, und das kleine Modell ist der Schüler.
Wie Wissensdestillation funktioniert
Während des Destillationsprozesses generiert das Lehrermodell (ein großes, vortrainiertes Basismodell) Soft Labels für die Trainingsdaten.
Die Soft Labels, bei denen es sich im Wesentlichen um Ausgabewahrscheinlichkeitsverteilungen handelt, werden dann zum Trainieren des Studentenmodells verwendet.
- Hard Labels geben an, um was es sich handelt. Bei einem Bild eines Tisches zum Beispiel sollte die Ausgabe des Lehrermodells „Tisch“ lauten.
- Bei Soft Labels erfolgt die Ausgabe von Wahrscheinlichkeitsverteilungen, die die Konfidenzwerte des Modells für alle Labels anzeigen. Für dasselbe Bild könnte die Ausgabe des Lehrermodells zu 90 % „Tisch“, zu 8 % „Schreibtisch“ und zu 2 % „Stuhl“ sein.
Hier ist ein sehr einfaches Beispiel dafür, wie die Wissensdestillation zum Trainieren eines Schülermodells verwendet werden könnte:
- Training des Lehrermodells anhand eines Datensatzes.
- Generierung von Soft Labels aus dem Lehrermodell für denselben Datensatz.
- Training des Schülermodells auf demselben Datensatz mit den Soft-Labels.
- Feinabstimmung des Schülermodells auf dem Datensatz mit Hard Labels. (Hinweis: Die Schritte drei und vier können in gewisser Weise kombiniert werden.)
- Bewertung der Leistung des Schülermodells in Bezug auf eine Verlustfunktion, die quantifiziert, wie gut die Vorhersagen des Modells mit den gewünschten Ergebnissen übereinstimmen.
Ist das Leistungsniveau des Schülermodells akzeptabel, kann es eingesetzt werden.
Wird das Leistungsniveau des Schülermodells als nicht akzeptabel eingestuft, kann es mit zusätzlichen Daten neu trainiert oder durch Anpassung von Hyperparametern, Lernraten und/oder der Destillationstemperatur optimiert werden.
Eine höhere Temperatur macht die Wahrscheinlichkeitsverteilungen weicher (weniger spitz). Bei einer niedrigeren Temperatur werden sie schärfer (spitzer und näher an Hard Labels).
Optimierung der Wissensdestillation: Methoden
- Aufmerksamkeitsübertragung
Bei Aufmerksamkeitstransfer wird das Schülermodell darauf trainiert, die vom Lehrermodell erzeugten Aufmerksamkeitskarten nachzuahmen. Aufmerksamkeitskarten heben die wichtigen Bereiche auf einem Bild oder in einer Wortfolge hervor.
- FitNets
Bei FitNets wird das Schülermodell so trainiert, dass es den Zwischenrepräsentationen des Lehrermodells entspricht. Zwischenrepräsentationen sind die verborgenen Schichten des Modells, die die zugrunde liegenden Merkmale der Eingabedaten erfassen.
- Ähnlichkeitsbasierte Destillation
Bei dieser Technik wird das Schülermodell darauf trainiert, der Ähnlichkeitsmatrix des Lehrermodells zu entsprechen. Die Ähnlichkeitsmatrix misst die paarweisen Ähnlichkeiten zwischen mehreren Eingabemustern.
- Hinweisbasierte Destillation
Bei hinweisbasierter Destillation wird das Schülermodell darauf trainiert, den Unterschied zwischen den Ausgaben des Lehrermodells und des Schülermodells vorherzusagen. Dieser Unterschied wird als Hinweis bezeichnet.
- Kreuzentropie-Destillation
Das Schülermodell wird mithilfe einer Verlustfunktion trainiert, die den Standardklassifikationsverlust mit einem Destillationsverlust kombiniert, der die Differenz zwischen den Ausgabewahrscheinlichkeiten des Lehrer- und des Schülermodells misst.
Anwendungsfälle
Wissensdestillation spielt eine wichtige Rolle bei der Erstellung von leichtgewichtigen Modellen für maschinelles Lernen.
Diese destillierten Modelle sind besonders vorteilhaft für Empfehlungssysteme und IoT-Edge-Geräte mit begrenzter Rechenleistung.
Mithilfe von Wissensdestillation können Geräte wie Sicherheitskameras, Smart-Home-Systeme und virtuelle digitale Assistenten eine Vielzahl komplexer Aufgaben lokal ausführen, darunter:
- Klassifizierung: Zuweisung von Eingabedaten zu einer von mehreren vordefinierten Kategorien.
- Verarbeitung natürlicher Sprache (NLP): Verarbeitung und Analyse großer Mengen von Daten in natürlicher Sprache für Aufgaben wie Stimmungsanalyse und Erkennung benannter Entitäten.
- Objekterkennung: Identifizierung und Klassifizierung von Objekten in Bildern oder Videos.
- Spracherkennung: Umwandlung von gesprochener Sprache in Text.
- Maschinelle Übersetzung: Übersetzen von Text oder Sprache von einer Sprache in eine andere.
Vorteile und Nachteile
Einer der Hauptvorteile von Wissensdestillation besteht darin, dass sie die Erstellung kleinerer und schnellerer, auf Edge-Geräten des Internets der Dinge (IoT) gut funktionierender Modelle ermöglicht.
Es sollte jedoch beachtet werden, dass Wissensdestillation oft einen Kompromiss zwischen Größe und einem akzeptablen Genauigkeitsgrad erfordert.
Die Bedeutung der Komprimierung
Eine der größten Herausforderungen bei der Entwicklung von Business-to-Consumer-Anwendungen (B2C) auf Basis künstlicher Intelligenz (KI) sind die begrenzten Speicher- und Verarbeitungskapazitäten von Edge-Computing-Geräten wie Mobiltelefonen und Tablets.
Damit bleibt den Ingenieuren für maschinelles Lernen nur eine Möglichkeit, wenn sie ein großes Modell auf einem Edge-Gerät ausführen möchten: die Größe des Modells mit Verfahren zur Datenkompression wie dem Beschneiden neuronaler Netze, der Quantisierung, der Low-Rank-Faktorisierung und der Wissensdestillation zu reduzieren.
- Beschneiden: Dabei werden bestimmte künstliche Neuronen oder Gewichte aus dem Netzwerk entfernt, die am wenigsten zur Leistung des Modells beitragen. Nach dem Beschneiden wird die Größe des Modells reduziert, ohne die Genauigkeit wesentlich zu beeinträchtigen.
- Quantisierung: Dabei wird die Genauigkeit der Gewichte (und manchmal auch der Aktivierungen) eines Modells reduziert, indem beispielsweise 16 oder 8 Bit zur Darstellung eines Gewichts anstelle von 32 Bit verwendet werden. Dadurch wird die Größe des Modells reduziert und die Inferenz kann beschleunigt werden, insbesondere auf Hardware, die für Berechnungen mit geringer Genauigkeit optimiert ist.
- Low-Rank-Faktorisierung: Hierbei werden die Gewichtungsmatrizen in einem neuronalen Netz durch Matrizen mit niedrigerem Rang approximiert. Dahinter steht die Idee, dass die in den Gewichtungsmatrizen enthaltenen Informationen oft mit weniger Parametern erfasst werden können.
- Wissensdestillation: Dabei wird ein kleineres, leichtes Machine-Learning-Modell zur Nachbildung des Verhaltens eines größeren, ressourcenintensiveren Modells trainiert.
Wissensdestillation vs. Transferlernen
Die Wissensdestillation wird manchmal als eine Art von Transferlernen bezeichnet, aber die beiden Konzepte haben unterschiedliche Ziele.
Das Ziel der Wissensdestillation besteht darin, ein kleineres maschinelles Lernmodell zu erstellen, das die gleiche Aufgabe wie ein größeres Modell lösen kann.
Im Gegensatz dessen soll beim Transferlernen die Zeit, die zum Trainieren eines großen Modells zur Lösung einer neuen Aufgabe benötigt wird, durch die Nutzung von Wissen aus einer zuvor gelernten Aufgabe verkürzt werden.
Wissensdestillation vs. Datendestillation
Datendestillation und Wissensdestillation sind beides Komprimierungsverfahren, die jedoch auf unterschiedliche Komponenten abzielen.
Der Schwerpunkt der Datendestillation liegt auf den Trainingsdaten selbst.
Ihr Ziel ist es, eine kleinere Teilmenge der Daten zu erhalten, die immer noch den ursprünglichen großen Datensatz repräsentiert.
Im Gegensatz dazu konzentriert sich die Wissensdestillation darauf, die Größe eines Modells zu reduzieren, ohne dabei an Effizienz und Genauigkeit zu verlieren.