Seitdem haben tiefe neuronale Netze (DNN) sowohl in der Industrie als auch in der Wissenschaft große Erfolge erzielt, insbesondere bei Computer-Vision-Aufgaben. Der Erfolg von Deep Learning ist größtenteils auf seine skalierbare Architektur zur Kodierung von Daten mit Milliarden von Parametern zurückzuführen. Sein Trainingsziel besteht darin, die Beziehung zwischen Eingaben und Ausgaben anhand eines vorhandenen Trainingsdatensatzes zu modellieren die Menge und Qualität der gekennzeichneten Trainingsdaten.
Im Vergleich zu herkömmlichen Algorithmen im Bereich Computer Vision verfügen die meisten DNN-basierten Modelle aufgrund der „Überparametrisierung“ über starke Verallgemeinerungsfähigkeiten. Diese Verallgemeinerungsfähigkeit spiegelt sich in allen Dateneingaben zu einem bestimmten Problem wider. Das Modell kann bessere Vorhersageergebnisse liefern, unabhängig davon, ob es sich um Trainingsdaten, Testdaten oder unbekannte Daten handelt, die zum Problem gehören. Um den Vorhersageeffekt von Geschäftsalgorithmen zu verbessern, haben Algorithmeningenieure im aktuellen Kontext des Deep Learning häufig zwei Lösungen:
Verwenden Sie komplexere Netzwerke, die parametrisiert sind. Diese Art von Netzwerk verfügt über sehr starke Lernfähigkeiten, erfordert jedoch Eine große Menge erfordert mehr Rechenressourcen für das Training und die Inferenzgeschwindigkeit ist langsamer.
Ensemble-Modell integriert viele Modelle mit schwächeren Effekten, normalerweise einschließlich der Integration von Parametern und der Integration von Ergebnissen.
Diese beiden Lösungen können die Leistung bestehender Algorithmen erheblich verbessern, aber beide vergrößern den Maßstab des Modells, erzeugen einen größeren Rechenaufwand und erfordern große Rechen- und Speicherressourcen.
Bei der Arbeit besteht das ultimative Ziel verschiedener Algorithmusmodelle darin,
eine bestimmte Anwendung zu bedienen. Genau wie beim Kauf und Verkauf müssen wir unsere Einnahmen und Ausgaben kontrollieren. Bei industriellen Anwendungen müssen Modelle nicht nur über gute Vorhersagen verfügen, sondern auch der Einsatz von Rechenressourcen muss streng kontrolliert werden. Man kann nicht nur Ergebnisse berücksichtigen, ohne die Effizienz zu berücksichtigen. Im Bereich Computer Vision, wo die Menge der Eingabedatenkodierung hoch ist, sind die Rechenressourcen noch begrenzter und die Ressourcenbelegung des Steuerungsalgorithmus ist noch wichtiger. Im Allgemeinen liefern größere Modelle bessere Vorhersageergebnisse, aber die Probleme einer langen Trainingszeit und einer langsamen Inferenzgeschwindigkeit erschweren die Bereitstellung des Modells in Echtzeit. Insbesondere bei Geräten mit begrenzten Rechenressourcen, wie z. B. Videoüberwachung, selbstfahrenden Autos und Cloud-Umgebungen mit hohem Durchsatz, reicht die Reaktionsgeschwindigkeit offensichtlich nicht aus. Obwohl kleinere Modelle eine schnellere Inferenzgeschwindigkeit aufweisen, sind der Inferenzeffekt und die Generalisierungsleistung aufgrund unzureichender Parameter möglicherweise nicht so gut. Die Abwägung großer und kleiner Modelle war schon immer ein heißes Thema. Die meisten aktuellen Lösungen bestehen darin, ein DNN-Modell geeigneter Größe basierend auf der Leistung des Endgeräts in der Bereitstellungsumgebung auszuwählen.
Wenn wir ein kleineres Modell haben möchten, das den gleichen oder einen ähnlichen Effekt wie das große Modell erzielen und gleichzeitig eine schnelle Inferenzgeschwindigkeit beibehalten kann, wie können wir das tun?Beim maschinellen Lernen gehen wir oft davon aus, dass es eine potenzielle Zuordnungsfunktionsbeziehung zwischen Eingabe und Ausgabe gibt. Das Erlernen eines neuen Modells von Grund auf ist eine annähernd unbekannte Zuordnungsfunktion zwischen den Eingabedaten und der entsprechenden Bezeichnung. Unter der Voraussetzung, dass die Eingabedaten unverändert bleiben, ist es aus empirischer Sicht schwierig, ein kleines Modell von Grund auf zu trainieren, um die Wirkung eines großen Modells zu erreichen. Um die Leistung kleiner Modellalgorithmen zu verbessern, besteht im Allgemeinen der effektivste Weg darin, mehr Eingabedaten zu kennzeichnen, dh mehr Überwachungsinformationen bereitzustellen, wodurch die erlernte Zuordnungsfunktion robuster und leistungsfähiger werden kann. Um zwei Beispiele zu nennen: Im Bereich Computer Vision kann die Instanzsegmentierungsaufgabe die Wirkung der Zielbegrenzungsrahmenerkennung verbessern, indem sie zusätzliche Maskeninformationen bereitstellt. Die Übertragungslernaufgabe kann neue Aufgaben erheblich verbessern, indem sie ein vorab trainiertes Modell auf einem größeren Modell bereitstellt Datensatz. Vorhersageeffekt. Daher kann die Bereitstellung weiterer Überwachungsinformationen der Schlüssel zur Verringerung der Kluft zwischen Modellen im kleinen Maßstab und Modellen im großen Maßstab sein.
Nach dem, was zuvor gesagt wurde, bedeutet der Erhalt von mehr Aufsichtsinformationen die Kennzeichnung von mehr Trainingsdaten, was oft mit enormen Kosten verbunden ist. Gibt es also eine kostengünstige und effiziente Methode, um Aufsichtsinformationen zu erhalten? Der Artikel aus dem Jahr 2006 [1] wies darauf hin, dass das neue Modell so gestaltet werden kann, dass es sich dem ursprünglichen Modell annähert (das Modell ist eine Funktion). Da die Funktion des Originalmodells bekannt ist, werden beim Training des neuen Modells natürlich mehr Überwachungsinformationen hinzugefügt, was offensichtlich praktikabler ist. Wenn man weiter darüber nachdenkt, können die vom Originalmodell bereitgestellten Überwachungsinformationen unterschiedliche Wissensdimensionen enthalten. Diese einzigartigen Informationen werden möglicherweise nicht vom neuen Modell selbst erfasst. Dies ist in gewissem Maße auch ein Problem für das neue Modell. „Domänenübergreifendes“ Lernen.Im Jahr 2015 folgte Hinton der Idee der Annäherung in der Arbeit „Destillieren des Wissens in einem neuronalen Netzwerk“ [2] und übernahm die Führung beim Vorschlag des Konzepts „Wissensdestillation (KD)“: Sie können zuerst trainieren ein großes und starkes Modell und überträgt dann das darin enthaltene Wissen auf das kleinere Modell, wodurch der Zweck erreicht wird, „die schnellere Inferenzgeschwindigkeit des kleinen Modells beizubehalten und gleichzeitig einen Effekt zu erzielen, der dem des großen Modells entspricht oder diesem nahe kommt“. Das zuerst trainierte große Modell kann als Lehrermodell bezeichnet werden, und das später trainierte kleine Modell wird als Schülermodell bezeichnet. Der gesamte Trainingsprozess kann anschaulich mit dem „Lehrer-Schüler-Lernen“ verglichen werden. In den folgenden Jahren kam es zu einer umfangreichen Wissensdestillation und einer Lehrer-Schüler-Lernarbeit, die der Branche weitere neue Lösungen lieferte. Derzeit wird KD in zwei verschiedenen Bereichen häufig eingesetzt: Modellkomprimierung und Wissenstransfer [3].
Wissensdestillation ist eine Modellkomprimierungsmethode, die auf der Idee des „Lehrer-Schüler-Netzwerks“ basiert und aufgrund ihrer Einfachheit und Wirksamkeit in der Branche weit verbreitet ist . Sein Zweck besteht darin, das im trainierten großen Modell – Distill (Distill) – enthaltene Wissen in ein anderes kleines Modell zu extrahieren. Wie kann man also das Wissen oder die Generalisierungsfähigkeit des großen Modells auf das kleine Modell übertragen? Das KD-Papier stellt den Wahrscheinlichkeitsvektor der Stichprobenausgabe des großen Modells dem kleinen Modell als weiches Ziel zur Verfügung, sodass die Ausgabe des kleinen Modells versucht, sich auf dieses weiche Ziel zu verlassen (ursprünglich beruhte es auf One-Hot-Codierung). Nähern Sie sich dem Lernen großer Modellverhalten an.
Im traditionellen Hard-Label-Trainingsprozess werden alle negativen Labels einheitlich behandelt, aber diese Methode trennt die Beziehung zwischen Kategorien. Wenn Sie beispielsweise handgeschriebene Ziffern erkennen möchten, sehen einige Bilder mit der gleichen Beschriftung wie „3“ möglicherweise eher wie „8“ aus, und andere sehen möglicherweise eher wie „2“ aus. Harte Beschriftungen können diese Informationen jedoch nicht unterscheiden. trainiertes großes Modell kann ausgeben. Die Ausgabe der Softmax-Schicht des großen Modells enthält neben positiven Beispielen auch viele Informationen. Beispielsweise ist die Wahrscheinlichkeit, die einigen negativen Etiketten entspricht, viel größer als bei anderen negativen Etiketten. Das Verhalten des ungefähren Lernens ermöglicht es, dass jede Stichprobe mehr Informationen in das Studentennetzwerk einbringt als herkömmliche Trainingsmethoden.
Daher hat der Autor die Verlustfunktion beim Training des Studentennetzwerks geändert, sodass das kleine Modell nicht nur an die Grundwahrheitsbezeichnung der Trainingsdaten, sondern auch an die Wahrscheinlichkeitsverteilung der Ausgabe des großen Modells angepasst werden kann. Diese Methode wird Wissensdestillationstraining (KD-Training) genannt. Die im Wissensdestillationsprozess verwendeten Trainingsbeispiele können dieselben sein wie die, die zum Training des großen Modells verwendet wurden, oder es kann ein unabhängiger Transfersatz gefunden werden.
Detaillierte Erläuterung der Methode
Während des Trainings wird das vom Lehrermodell erlernte Wissen zunächst auf das kleine Modell destilliert. Insbesondere wird für Probe X zunächst die vorletzte Schicht des großen Modells durch eine Temperatur T dividiert und dann ein weiches Ziel durch Softmax vorhergesagt. Das kleine Modell teilt ebenfalls die vorletzte Schicht durch die gleiche Temperatur T, sagt dann ein Ergebnis über Softmax voraus und verwendet dann die Kreuzentropie dieses Ergebnisses und des weichen Ziels als Teil des Gesamttrainingsverlusts. Dann wird die Kreuzentropie der normalen Ausgabe des kleinen Modells und der wahren Wertbezeichnung (hartes Ziel) als weiterer Teil des Gesamtverlusts des Trainings verwendet. Der Gesamtverlust gewichtet die beiden Verluste zusammen als endgültigen Verlust für das Training des kleinen Modells.
Wenn das kleine Modell trainiert ist und vorhergesagt werden muss, ist die Temperatur T nicht mehr erforderlich und kann direkt gemäß dem herkömmlichen Softmax ausgegeben werden.
Das FitNet-Papier führt während der Destillation Hinweise für Fortgeschrittene ein, um das Training von Schülermodellen zu leiten. Verwenden Sie ein breites und flaches Lehrermodell, um ein schmales und tiefes Schülermodell zu trainieren. Bei der Durchführung von Hinweisen wird vorgeschlagen, eine Ebene zu verwenden, um die Ausgabeformen der Hinweisebene und der geführten Ebene abzugleichen. Dies wird in der Arbeit zukünftiger Generationen häufig als Anpassungsebene bezeichnet.
Im Allgemeinen entspricht dies der Verwendung nicht nur der Logit-Ausgabe des Lehrermodells, sondern auch der Feature-Map der mittleren Ebene des Lehrermodells als Aufsichtsinformationen bei der Wissensdestillation. Man kann sich vorstellen, dass es für kleine Modelle zu schwierig ist, große Modelle am Ausgabeende direkt zu imitieren (je tiefer das Modell, desto schwieriger ist es zu trainieren und es ist ziemlich ermüdend, die letzte Schicht von Überwachungssignalen zu übertragen). Es ist besser, in der Mitte einige Überwachungssignale hinzuzufügen, damit das Modell während des Trainings Schicht für Schicht lernen kann, anstatt die schwierigste Zuordnungsfunktion direkt zu lernen. Außerdem beschleunigt die Hinweisführung die Konvergenz Das Finden besserer lokaler Minima bei einem nichtkonvexen Problem ermöglicht eine tiefere und schnellere Ausbildung des Studentennetzwerks. Unser Ziel scheint es zu sein, den Schülern die Möglichkeit zu geben, Fragen zur College-Aufnahmeprüfung zu beantworten. Deshalb bringen wir ihnen zunächst die Fragen für die Mittelstufe bei (lassen Sie das kleine Modell zunächst die erste Hälfte des Modells verwenden, um zu lernen, die zugrunde liegenden Merkmale des Bildes zu extrahieren). und kehren Sie dann zum ursprünglichen Zweck zurück, um Fragen zur Hochschulaufnahmeprüfung zu lernen (verwenden Sie KD, um alle Parameter des kleinen Modells anzupassen).
Dieser Artikel ist der Vorfahre der vorgeschlagenen Destillations-Zwischenmerkmalskarte. Der vorgeschlagene Algorithmus ist sehr einfach, aber die Idee ist bahnbrechend.
Die spezifische Methode von FitNets ist:
Im tatsächlichen Training wird es häufig in Verbindung mit dem KD-Training im vorherigen Abschnitt verwendet, wobei eine zweistufige Trainingsmethode verwendet wird: Verwenden Sie zunächst das Hinweistraining, um die Parameter der ersten Hälfte des kleinen Modells vorab zu trainieren, und verwenden Sie sie dann KD-Training zum Trainieren aller Parameter. Da im Destillationsprozess mehr Überwachungsinformationen verwendet werden, ist die auf der Zwischenmerkmalskarte basierende Destillationsmethode leistungsfähiger als die auf den Ergebnisprotokollen basierende Destillationsmethode, die Trainingszeit ist jedoch länger.
Wissensdestillation ist sehr effektiv, um Wissen von Ensembles oder von stark regulierten großen Modellen auf kleinere Modelle zu übertragen. Die Destillation funktioniert auch dann sehr gut, wenn Daten für eine oder mehrere Klassen im Migrationsdatensatz fehlen, der zum Trainieren des Destillationsmodells verwendet wird. Nachdem die Klassiker KD und FitNet vorgeschlagen wurden, entstanden verschiedene Destillationsmethoden. Wir hoffen, in Zukunft auch weitere Untersuchungen in den Bereichen Modellkomprimierung und Wissenstransfer durchführen zu können.
Ma Jialiang ist leitender Computer-Vision-Algorithmus-Ingenieur bei NetEase Yidun. Er ist hauptsächlich für die Forschung, Entwicklung, Optimierung und Innovation von Computer-Vision-Algorithmen im Bereich der Inhaltssicherheit verantwortlich.
Das obige ist der detaillierte Inhalt vonGroße Modelle geben eine genaue Rückmeldung an kleine Modelle, und die Wissensdestillation trägt dazu bei, die Leistung des KI-Algorithmus zu verbessern.. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!