Kennisdestillatie in Deep Learning

Wat is kennisdestillatie?

Kennisdistillatie (KD) is een compressieproces binnen Machine Learning (ML) dat kennis overdraagt van een omvangrijk Deep Learning (DL)-model naar een compacter, efficiënter model. In deze context verwijst kennis naar de patronen en gedragingen die het oorspronkelijke model tijdens de training heeft verworven.

Techopedia legt uit

Het doel van kennisdestillatie is om het geheugengebruik, de rekenvereisten en de energiekosten van een groot model te verminderen, waardoor in een omgeving met beperkte bronnen kan worden toegepast zonder aanzienlijk verlies van de prestaties.

Kennisdestillatie blijkt een doeltreffende methode om de nauwkeurigheid van een relatief compact ML-model te verbeteren. Het proces staat ook bekend als docent/leerling-leren, waarbij het grote model fungeert als de docent en het kleine model als de leerling.

Hoe kennisdestillatie werkt

Tijdens het distillatieproces genereert het docentmodel, een groot basismodel dat vooraf is getraind, soft labels op de trainingsgegevens. Deze soft labels, feitelijk kansberekeningen van de uitvoerverdeling, worden vervolgens ingezet bij de training van het leerlingmodel.

  • Hard labels geven expliciet aan wat iets is. Bijvoorbeeld, wanneer het docentmodel een afbeelding van een tafel verwerkt, zou de uitvoer “tafel” moeten zijn.
  • Soft labels daarentegen representeren kansverdelingen van de uitvoer, die de betrouwbaarheidsscores van het model over verschillende labels aangeven. Voor dezelfde afbeelding zou de uitvoer van het leerlingmodel bijvoorbeeld 90% “tafel”, 8% “bureau” en 2% “stoel” kunnen zijn.

Hier volgt een eenvoudig voorbeeld van hoe kennisdestillatie wordt toegepast om een leerlingmodel te trainen:

  1. Train het docentmodel op een dataset.
  2. Genereer soft labels van het docentmodel voor dezelfde dataset.
  3. Train het leerlingmodel op dezelfde dataset met de soft labels.
  4. Fine-tune het leerlingmodel op de dataset met hard labels. (Opmerking: Stappen drie en vier kunnen eventueel worden gecombineerd).
  5. Evalueer de prestaties van het leerlingmodel aan de hand van een verliesfunctie die meet hoe goed de voorspellingen van het model overeenkomen met de gewenste uitkomsten.

Indien het prestatieniveau van het leerlingmodel bevredigend is, kan het model in gebruik worden genomen. Als het prestatieniveau echter onacceptabel is, kan het leerlingmodel opnieuw worden getraind met aanvullende gegevens of worden geoptimaliseerd door aanpassingen aan hyperparameters, leersnelheden en/of de destillatietemperatuur.

Een hogere temperatuur maakt de kansverdelingen zachter (minder scherp), terwijl een lagere temperatuur ze scherper maakt (meer uitgesproken en dichter bij de hard labels).

Optimalisatietechnieken voor Kennisdestillatie

  • Aandachtsoverdracht

Bij aandachtsoverdracht wordt het leerlingmodel getraind om de aandachtskaarten te repliceren die door het docentmodel worden gegenereerd. Deze kaarten markeren cruciale gebieden in een afbeelding of een reeks woorden.

  • FitNets

FitNets is een techniek waarbij het leerlingmodel wordt getraind om de tussenliggende representaties van het docentmodel na te bootsen. Tussenliggende representaties zijn de verborgen lagen van het model die de onderliggende kenmerken van de invoergegevens vastleggen.

  • Similarity-based destillatie

Bij similarity-based destillatie wordt het leerlingmodel getraind om overeen te komen met de similariteitsmatrix van het docentmodel. Deze matrix meet de onderlinge overeenkomsten tussen verschillende invoersamples.

  • Hint-based destillatie

Hint-based destillatie is een techniek waarbij het leerlingmodel wordt getraind om het verschil te voorspellen tussen de uitvoer van het docentmodel en het leerlingmodel. Dit verschil staat bekend als de hint.

  • Cross-Entropie Distillatie

Hierbij wordt het leerlingmodel getraind met een verliesfunctie die het standaard classificatieverlies combineert met een distillatieverlies dat het verschil meet tussen de uitvoerwaarschijnlijkheden van het leraar- en leerlingmodel.

Use cases

Kennisdestillatie is een cruciale techniek voor het ontwikkelen van lichte machine-learning modellen. Deze gedistilleerde modellen zijn met name handig voor aanbevelingssystemen en IoT-randapparaten met beperkte rekenkracht.

Door gebruik te maken van kennisdestillatie kunnen apparaten zoals beveiligingscamera’s, slimme thuissystemen en virtuele digitale assistenten lokaal een breed scala aan complexe taken uitvoeren, waaronder:

  • Classificatie: Het toewijzen van invoergegevens aan een van de vooraf gedefinieerde categorieën.
  • Natural Language Processing (NLP): Het verwerken en analyseren van grote hoeveelheden gegevens in natuurlijke taal voor taken zoals sentimentanalyse en named entity recognition.
  • Objectdetectie: Het identificeren en classificeren van objecten in afbeeldingen of video’s.
  • Spraakherkenning: Het omzetten van gesproken taal naar tekst.
  • Machinevertaling: Het vertalen van tekst of spraak van de ene taal naar de andere.

Voordelen en nadelen

Een van de belangrijkste voordelen van kennisdestillatie is dat het mogelijk is om kleinere en snellere modellen te creëren die goed presteren op randapparaten van het Internet of Things (IoT). Er moet echter worden opgemerkt dat kennisdestillatie vaak gepaard gaat met een afweging tussen grootte en een aanvaardbaar niveau van nauwkeurigheid.

Het belang van compressie

Een van de grootste uitdagingen bij het ontwikkelen van business-to-consumer (B2C) toepassingen die gebruikmaken van kunstmatige intelligentie (AI) is dat randapparaten voor edge computing, zoals mobiele telefoons en tablets, beperkte opslag- en verwerkingsmogelijkheden hebben.

Hierdoor hebben machine learning-engineers maar één optie als ze een groot model willen uitvoeren op een randapparaat: de omvang van het model verkleinen met compressietechnieken zoals NNP (Neural Network Pruning), kwantisatie, low-rank factorisatie en kennisdestillatie.

  • Pruning: Bij pruning worden bepaalde kunstmatige neuronen of gewichten uit het netwerk verwijderd die het minst bijdragen aan de prestaties van het model. Na het ‘prunen’ wordt de omvang van het model kleiner zonder dat de nauwkeurigheid significant afneemt.
  • Quantisatie: Bij kwantisatie wordt de precisie van de gewichten (en soms activaties) van een model verminderd door bijvoorbeeld 16 of 8 bits te gebruiken om een gewicht weer te geven, in plaats van 32 bits. Dit verkleint de omvang van het model en kan ook de inferentie versnellen, vooral op hardware die geoptimaliseerd is voor berekeningen met lage precisie.
  • Factorisatie met lage rangorde: Hierbij worden de gewichtsmatrices in een neuraal netwerk benaderd met matrices van een lagere rangorde. Het idee is dat de informatie in de gewichtsmatrices vaak kan worden vastgelegd met minder parameters.
  • Kennisdistillatie: Bij kennisdestillatie wordt een kleiner, lichtgewicht machine-learningmodel getraind om het gedrag van een groter, resource-intensiever model te repliceren.

Kennisdistillatie vs. transferleren

Kennisdestillatie wordt soms beschouwd als een vorm van transferleren, maar de twee concepten hebben verschillende doelen.

Het doel van kennisdestillatie is het creëren van een kleiner machine-learning model dat dezelfde taak kan volbrengen als een groter model.

Aan de andere kant heeft transferleren als doel de benodigde tijd voor het trainen van een groot model voor een nieuwe taak te verminderen door gebruik te maken van de kennis die is opgedaan bij een eerder geleerde taak.

Gerelateerde begrippen

Margaret Rouse

Margaret Rouse is een bekroond technisch schrijver en docent die bekend staat om haar vermogen om complexe technische onderwerpen uit te leggen aan een niet-technisch, zakelijk publiek. In de afgelopen twintig jaar is haar uitleg verschenen op vele websites en is ze als autoriteit aangehaald in artikelen van de New York Times, Time Magazine, USA Today, ZDNet, PC Magazine en Discovery Magazine. Margaret geniet ervan om IT- en business professionals te helpen om elkaars zeer gespecialiseerde talen te begrijpen. Als je een suggestie hebt voor een nieuwe definitie of hoe je een technische uitleg kunt verbeteren, stuur Margaret dan een…