Ga naar de hoofdinhoud
BVDNET
Arnhem · websites & automatiseringBVDNET
Kernconcepten

Self-supervised learning

Self-supervised learning traint AI op ruwe data zonder labels van mensen: het model verbergt een deel van de data, zoals het volgende woord, en leert dat te voorspellen.

Ook bekend als: SSL, self-supervised pre-training

Self-supervised learning is een manier om AI te trainen op ruwe data, zoals tekst, foto's of opnames, zonder dat mensen de voorbeelden eerst labelen. Het model verbergt een deel van de data voor zichzelf en leert door het ontbrekende deel te voorspellen, bijvoorbeeld het volgende woord van een zin. Zo leren de taalmodellen achter chatbots taal, en het bespaart het trage en dure werk van labelen met de hand.

Hoe werkt het?

Yann LeCun en Ishan Misra van Meta beschrijven de algemene techniek (maart 2021) als het voorspellen van een verborgen deel van de invoer uit het deel dat zichtbaar is. De taak waarop het model traint, heet een pretext task. Die wordt uit de data zelf gemaakt, dus het goede antwoord is altijd bekend (IBM). Veelgebruikte pretext tasks:

  • Het volgende token voorspellen uit de tokens ervoor. GPT-4 is zo voorgetraind, volgens het technische rapport.
  • Verborgen woorden invullen. BERT (Google, 2018) maskeert per reeks willekeurig 15% van de tokens en voorspelt ze uit de woorden aan beide kanten.
  • Een deel van een afbeelding herstellen. Masked autoencoders (He e.a., 2021) verbergen 75% van de vlakjes (patches) van een foto en reconstrueren de ontbrekende pixels.
  • Twee versies van hetzelfde voorbeeld aan elkaar koppelen. SimCLR (Chen e.a., 2020) leert dat twee bewerkte kopieën van één foto bij elkaar horen en kopieën van verschillende foto's niet.

Tekst was het makkelijke geval. Voor een ontbrekend woord kan het model elk woord uit zijn vocabulaire een kans geven, leggen LeCun en Misra uit, maar er zijn eindeloos veel mogelijke videobeelden of stukjes afbeelding. In maart 2021 schreven ze dat self-supervised learning computer vision nog niet zo ver had gebracht als taal. Later dat jaar meldde het paper over masked autoencoders betere resultaten bij overdracht naar andere taken dan met supervised pre-training.

Waarvoor dient het?

De pretext task zelf is zelden het doel. Zoals Lilian Weng uitlegt, gaat het om de representatie van de data die het model onderweg leert. Die representatie wordt daarna hergebruikt voor een echte taak met weinig labels, een vorm van transfer learning. wav2vec 2.0 (Facebook AI, 2020) trainde spraakherkenning vooraf op 53.000 uur ongelabelde audio; na fine-tuning op slechts tien minuten uitgeschreven spraak haalde het een word error rate van 4,8% op de schone testset van LibriSpeech.

Is het supervised of unsupervised?

Beide namen komen voor. De uitleg over machine learning van IBM noemt het in wezen supervised learning op ongelabelde data, en de uitleg van IBM over self-supervised learning zegt dat het unsupervised learning gebruikt voor taken die normaal supervised learning vragen. LeCun en Misra geven de voorkeur aan "self-supervised" boven "unsupervised", omdat het veel meer feedbacksignalen gebruikt dan gewone supervised learning. Wat het onderscheidt, is de bron van de labels: de data zelf.

Waar gaat het mis?

Tekst voorspellen is een ander doel dan een gebruiker helpen. Het InstructGPT-paper van OpenAI (Ouyang e.a., 2022) merkt op dat het volgende token op een webpagina voorspellen iets anders is dan instructies behulpzaam en veilig opvolgen, en dat zulke modellen feiten verzinnen, bevooroordeelde of toxische tekst maken of instructies negeren. Daarom krijgen chatmodellen na de pre-training nog extra training, zoals RLHF.

Voorbeeld

Neem de zin "De klant betaalde de factuur op tijd". Als elk woord één token is, maakt voorspelling van het volgende token er zonder menselijk werk zes trainingsvoorbeelden van: "De" → "klant", "De klant" → "betaalde", en zo verder tot "De klant betaalde de factuur op" → "tijd". Een model met maskering krijgt dezelfde zin met bijvoorbeeld "factuur" verborgen en vult dat woord in vanuit beide kanten.