Sari la conținutul principal

Învățare auto-supervizată: cum învață modelele fără date etichetate

Învățarea auto-supervizată antrenează modelele să-și extragă singure supervizarea din text, imagini, audio și video neetichetate, folosind tehnici precum învățarea contrastivă, modelarea mascate și predicția autoregresivă pentru a construi reprezentările din spatele modelelor de limbaj, viziune și multimodale de astăzi.
Actualizat 9 sept. 2026  · 14 min. citire

Explorează cu AI

ChatGPTClaudePerplexity

Orice proiect de machine learning ajunge, mai devreme sau mai târziu, în punctul în care ai nevoie de date etichetate, iar etichetarea lor costă mai mult timp și bani decât își permit majoritatea echipelor.

Angajarea unei echipe care să eticheteze un milion de imagini sau să transcrie un milion de clipuri audio poate ajunge la sume cu șase cifre. În același timp, internetul e plin de text, imagini, audio și video neetichetate. Echipele de ML au mai multe date brute decât vor folosi vreodată, dar aproape niciuna nu vine cu etichetele necesare pentru a antrena modelul.

Învățarea auto-supervizată nu necesită pasul de etichetare. Ea transformă chiar structura datelor în informație de antrenare. În loc să plătești oameni să spună ce e într-o imagine sau ce înseamnă o propoziție, configurezi o sarcină la care datele pot răspunde singure - cum ar fi să ascunzi un cuvânt și să ceri modelului să-l ghicească din cuvintele din jur.

În acest articol, îți explic cum funcționează învățarea auto-supervizată, trec prin principalele tehnici și arăt cum se compară cu învățarea supravegheată, nesupravegheată și semi-supravegheată.

Ce este învățarea auto-supervizată?

Învățarea auto-supervizată este o modalitate de a antrena modele fără ca cineva să eticheteze manual datele în prealabil.

În loc ca o persoană să eticheteze fiecare exemplu, datele au propriul „barem”. Modelul privește o parte din input, ascunde altă parte și învață încercând să umple golul. Nu e nevoie de intervenție umană.

De exemplu, poți lua o propoziție, ascunde un cuvânt și cere modelului să-l ghicească din context. „Inginerul a împins ___ în branch-ul principal” oferă suficient context pentru ca modelul să ghicească „codul” sau „modificările” fără ca cineva să-i spună răspunsul corect. Propoziția însăși este eticheta.

Învățarea auto-supervizată e într-o zonă intermediară între două categorii. Obiectivul de antrenare arată ca la învățarea supravegheată - există un input clar, o țintă clară și o funcție de pierdere care măsoară cât de greșită a fost predicția. Dar, cum niciun om nu a creat acele ținte, este de obicei grupată cu învățarea nesupravegheată, care lucrează tot pe date brute, neetichetate. Învățarea auto-supervizată împrumută mecanica de la prima și sursa de date de la a doua.

Cum funcționează învățarea auto-supervizată?

Procesul urmează un tipar repetabil, indiferent de tipul de date. Iată pașii:

  1. Pornește de la date neetichetate: Text, imagini, audio, video - nu contează, atâta timp cât ai mult.
  2. Creează o sarcină de învățare din datele propriu-zise: Aceasta se numește sarcină de pretext. Nu este sarcina care te interesează cu adevărat; e o problemă inventată, menită să forțeze modelul să învețe ceva util. Ascunderea unui cuvânt și prezicerea lui este un exemplu.
  3. Antrenează modelul să rezolve acea sarcină: Modelul face o predicție, o verifică față de valoarea reală și se ajustează.
  4. Învață reprezentări utile: În timp ce rezolvă sarcina de pretext, modelul își construiește o înțelegere internă a structurii datelor, precum gramatică, context, forme și tipare.
  5. Adaptează acele reprezentări la sarcini downstream: După ce modelul a învățat reprezentări solide, îl îndrepți către sarcina pe care voiai, de fapt, să o rezolvi. Aceasta este sarcina downstream.

Sarcina de pretext este doar un exercițiu de antrenament. Nimeni nu lansează în producție un model care prezice cuvinte ascunse de dragul exercițiului - valoarea vine din reprezentările pe care le dobândește pe parcurs și care se transferă către probleme reale.

Învățarea auto-supervizată vs alte metode de învățare

Cel mai ușor mod de a înțelege învățarea auto-supervizată este să vezi unde se suprapune și unde diferă de celelalte paradigme de antrenare.

Auto-supervizată vs. supravegheată

Învățarea supravegheată are nevoie de un exemplu etichetat pentru fiecare input, precum o imagine etichetată „câine” sau o recenzie etichetată „negativă”. Cineva trebuie să creeze manual aceste etichete, ceea ce înseamnă cost, timp și un plafon pentru cât de multă dată poți folosi în mod realist.

Cu învățarea auto-supervizată, modelul tot primește o țintă de prezis, dar ținta vine din datele însele - un cuvânt ascuns sau următorul token dintr-o secvență. Nu e nevoie de adnotare umană pentru a genera semnalul de antrenare.

Auto-supervizată vs. nesupravegheată

Ambele metode lucrează cu date neetichetate, de aceea sunt des confundate. Diferența e în obiectiv.

Învățarea nesupravegheată caută structură fără o țintă specifică de predicție, cum ar fi gruparea clienților similari sau reducerea dimensionalității unui set de date. Învățarea auto-supervizată construiește o sarcină explicită de predicție din date, apoi antrenează modelul să o rezolve. Acest obiectiv de predicție îi dă învățării auto-supervizate bucla de antrenare în stil supravegheat, chiar dacă etichetele sunt auto-generate.

Auto-supervizată vs. semi-supravegheată

Învățarea semi-supravegheată amestecă deliberat un set mic de date etichetate cu unul mai mare, neetichetat, folosindu-le simultan pentru a îmbunătăți modelul.

Preantrenarea auto-supervizată nu are nevoie de nicio etichetă pentru a începe. Poate preantrena exclusiv pe date neetichetate, apoi opțional trece ulterior la un set etichetat pentru fine-tuning. Etichetele, dacă apar, vin după preantrenare.

  Etichete necesare Sursa semnalului de învățare Utilizare tipică
Supravegheată Da, pentru fiecare exemplu Etichete create de oameni Antrenarea unui model direct pe sarcina-țintă
Nesupravegheată Nu Structura din date (clustere, tipare) Grupare, reducerea dimensionalității
Semi-supravegheată Câteva, amestecate cu date neetichetate Exemple etichetate plus tipare din date neetichetate Creșterea acurateții când există puține date etichetate
Auto-supervizată Nu, pentru preantrenare O sarcină de pretext construită din datele însele Preantrenare înainte de fine-tuning pe o sarcină downstream

Învățarea auto-supervizată comparată cu alte metode

Tipuri de învățare auto-supervizată

Metodele auto-supervizate se împart în câteva familii largi, fiecare construită în jurul unui alt tip de sarcină de pretext.

Învățare contrastivă

Învățarea contrastivă antrenează un model să deosebească exemplele înrudite de cele neînrudite. Apropie reprezentările exemplelor similare și le îndepărtează pe cele disimile, fără a folosi vreo etichetă manuală care să definească „similar”.

Două versiuni augmentate ale aceleiași imagini sunt considerate înrudite. O imagine și descrierea ei potrivită sunt, de asemenea, înrudite. SimCLR aplică această idee într-o singură modalitate, comparând decupaje sau transformări diferite ale aceleiași imagini. CLIP o aplică între modalități, aliniind imaginile cu textul care le descrie.

Modelare mascate

Modelarea mascate ascunde o parte din input și antrenează modelul să o reconstruiască. Este aceeași idee ca exemplul cu spațiul liber dinainte, doar aplicată mai larg.

În limbaj, apare ca masked language modeling, care presupune ascunderea câtorva cuvinte într-o propoziție și prezicerea lor pe baza restului. În viziune, apare ca masked image modeling, adică ascunderea de patch-uri dintr-o imagine și cererea modelului de a reconstrui pixelii lipsă sau reprezentarea lor subiacentă.

Învățare autoregresivă

Învățarea autoregresivă prezice următorul element dintr-o secvență folosind tot ce a venit înainte. Dat începutul unei propoziții, modelul prezice următorul cuvânt. După acel cuvânt, îl prezice pe următorul și tot așa.

Acesta este obiectivul din spatele preantrenării majorității modelelor de limbaj moderne. Se potrivește natural textului, deoarece limbajul este deja o secvență de la stânga la dreapta, și scalează ușor la corpuri uriașe de text fără setări suplimentare.

Auto-distilare

Auto-distilarea antrenează un model folosind propriile sale predicții ca țintă, în locul unui răspuns fix ascuns în date.

O configurație comună rulează două versiuni ale aceleiași rețele - un „student” și un „profesor” - pe vizualizări diferite ale aceluiași input. Studentul învață să potrivească ieșirea profesorului, iar profesorul este actualizat ca o medie cu mișcare lentă a studentului. DINO și BYOL sunt abordări reprezentative aici. Nu e nevoie de exemple negative sau inputuri mascate, deoarece modelul își bootstrap-ează propria supervizare din consistența dintre vizualizări.

Învățarea auto-supervizată în modelele lingvistice mari

Auto-supervizarea reprezintă întregul stadiu de preantrenare pentru modelele lingvistice mari. Fiecare LLM important pe care l-ai folosit a învățat structura limbii, fapte și tipare de raționament fără nicio etichetă scrisă de om, pur și simplu rezolvând sarcini auto-supervizate pe text brut.

Predicția următorului token

Majoritatea LLM-urilor moderne sunt preantrenate pe predicția următorului token: dată o secvență de tokeni, prezice-l pe cel care urmează. Modelul citește tot ce e înaintea unei poziții și ghicește ce urmează, se verifică față de tokenul real următor și se ajustează.

Rulând acest lucru pe trilioane de tokeni colectați de pe site-uri și din depozite de cod, modelul își construiește, pe parcurs, un model funcțional de gramatică, fapte și chiar tipare de raționament. Este același obiectiv autoregresiv menționat mai devreme, doar aplicat la scară.

Modelare de limbaj mascată

Înainte ca preantrenarea autoregresivă să devină dominantă, modele precum BERT foloseau o altă sarcină de pretext. În loc să prezică ce urmează, BERT ascunde tokeni aleatorii într-o propoziție și îi prezice folosind context din ambele părți.

Acel context bidirecțional face ca modelele de limbaj mascate să fie bune la sarcini de înțelegere precum clasificare și întrebări-răspuns, chiar dacă nu generează text așa cum o fac modelele cu predicția următorului token.

Învățarea din corpuri mari de text

Nimic din toate acestea nu funcționează fără volum. Preantrenarea își trage datele din pagini web, cărți, depozite de cod și forumuri, filtrate și deduplicate în corpuri cu miliarde sau trilioane de tokeni. Cu cât corpusul e mai mare și mai variat, cu atât reprezentările rezultate sunt mai generale.

Preantrenarea este locul în care auto-supervizarea își face treaba, dar nu e ultima etapă. Fine-tuning pe exemple de instrucțiuni scrise de oameni îl învață să urmeze indicații, iar metodele de optimizare a preferințelor precum RLHF sau DPO folosesc preferințe umane ordonate pentru a modela răspunsurile. Ambele etape ulterioare au nevoie de date etichetate. Doar preantrenarea auto-supervizată nu are.

Învățarea auto-supervizată în viziunea computerizată

Viziunea computerizată este domeniul perfect în care nu există suficiente date etichetate. Box-urile de delimitare și măștile de segmentare durează mult mai mult de produs decât o simplă etichetă pe un text, ceea ce a făcut ca metodele auto-supervizate să fie deosebit de valoroase aici.

Învățarea contrastivă pe imagini aplică aceeași idee de „apropie-depărtează” menționată mai devreme, care presupune luarea a două versiuni augmentate ale aceleiași fotografii (un decupaj sau o oglindire) și antrenarea modelului să le recunoască drept înrudite, tratând alte imagini din batch ca neînrudite. SimCLR este un exemplu bine cunoscut al acestei abordări aplicate pe imagini.

Modelarea de imagini mascate preia ideea „completează spațiul gol” din limbaj și o aplică la pixeli. Ideea este să ascunzi patch-uri dintr-o imagine și să antrenezi modelul să reconstruiască conținutul lipsă, fie ca pixeli brute, fie ca o reprezentare de caracteristici învățată. Acesta este obiectivul din spatele MAE (Masked Autoencoders).

Alinierea imagine-text antrenează un model să potrivească imagini cu descrierile care le caracterizează, apropiind perechile corecte într-un spațiu comun de embedding și separându-le pe cele nepotrivite. CLIP este cel mai cunoscut exemplu și este parte din motivul pentru care modelele antrenate astfel suportă clasificare zero-shot - pot recunoaște categorii pe care nu au fost antrenate explicit, doar comparând o imagine cu o descriere text.

Învățarea auto-supervizată dincolo de text și imagini

Sarcina de pretext urmează mereu forma datelor, așa că oriunde ai multe date neetichetate, de regulă poți proiecta o sarcină auto-supervizată în jurul lor.

În vorbire și audio, modelele prezic segmente audio mascate sau contrastează clipuri diferite în același mod în care modelele de viziune contrastează decupaje de imagini, învățând reprezentări utile pentru sarcini precum recunoașterea vorbirii fără a avea nevoie de date transcrise de la început.

În video, sarcina de pretext poate implica prezicerea unor cadre viitoare sau potrivirea clipurilor provenite din același video sursă, oferind modelului un simț al mișcării și al structurii temporale pe care o singură imagine nu o poate oferi.

Modelele multimodale combină două sau mai multe dintre aceste idei simultan, aliniind text, imagini, audio și video într-un spațiu comun de reprezentare, similar modului în care CLIP aliniază imagini și text, doar extins pe mai multe tipuri de date.

Auto-supervizarea apare chiar și în date științifice și de senzori - precum secvențe genomice sau serii temporale de la senzori - unde mascarea sau prezicerea părților din semnal permite modelului să învețe structură din măsurători care nu au fost niciodată menite să fie „etichetate”.

Cum sunt folosite modelele auto-supervizate pe downstream

Preantrenarea produce un model bun la rezolvarea unei sarcini de pretext. De fapt, nimănui nu-i pasă de asta, iar ce contează cu adevărat este ce faci cu el după.

Fine-tuning

Fine-tuning ia modelul preantrenat și continuă antrenarea tuturor ponderilor lui, de data aceasta pe date etichetate pentru sarcina dorită. Deoarece modelul înțelege deja structura domeniului, fine-tuning-ul are, de obicei, nevoie de mult mai puține date etichetate decât antrenarea de la zero.

Linear probing

Linear probing îngheață complet modelul preantrenat și antrenează doar un singur strat liniar deasupra ieșirii sale. Dacă un clasificator liniar simplu poate separa clasele folosind acele caracteristici înghețate, înseamnă că reprezentările preantrenate au capturat o structură reală. De aceea, linear probing este o modalitate comună de a testa calitatea reprezentărilor în sine, separat de cât de bine poate fi ajustat complet modelul.

Extragere de caracteristici

Extragerea de caracteristici funcționează la fel ca linear probing, dar fără partea liniară. Iei reprezentările înghețate și le introduci în orice algoritm downstream dorești. Singura treabă a modelului preantrenat este să genereze embedding-uri bune; tot ce urmează depinde de tine.

Utilizare zero-shot și few-shot

Unele reprezentări sunt suficient de bune pentru a fi folosite fără niciun antrenament downstream. CLIP face asta prin embedding-ul unei imagini și al unui set de etichete text candidate în același spațiu, apoi alegând eticheta cea mai apropiată de imagine. Învățarea few-shot ia aceeași idee și adaugă un număr mic de exemple etichetate, ceea ce este adesea suficient, deoarece reprezentările deja poartă cea mai mare parte a structurii de care are nevoie un model.

Cu învățarea auto-supervizată, obții reprezentări reutilizabile. Preantrenezi o dată, apoi faci fine-tuning, probing liniar, extragi caracteristici sau interoghezi același nucleu pe câte sarcini downstream ai nevoie. Cea mai scumpă muncă se întâmplă o singură dată, în preantrenare, nu o dată per sarcină.

Învățarea auto-supervizată în Python

Iată un exemplu lejer folosind un model preantrenat, nu un sistem auto-supervizat construit de la zero - doar ca să prinzi fluxul de lucru.

all-MiniLM-L6-v2, disponibil prin pachetul sentence-transformers, a fost preantrenat cu un obiectiv de masked language modeling și apoi antrenat suplimentar cu un obiectiv contrastiv pe perechi de propoziții. Aceasta este partea auto-supervizată deja făcută pentru tine - tu doar pui la treabă reprezentările rezultate.

Pentru început, asigură-te că instalezi dependențele:

pip install sentence-transformers scikit-learn

Acum, codul:

from sentence_transformers import SentenceTransformer
from sklearn.linear_model import LogisticRegression

# Create unlabeled data
support_tickets = [
    "My order arrived damaged and I need a replacement.",
    "The app crashes every time I try to upload a photo.",
    "I love how fast the checkout process is now.",
    "Can you tell me when my refund will be processed?",
    "The new dashboard layout is so much easier to use.",
    "I can't log in, it keeps saying my password is wrong.",
]

# Load a model pretrained with a self-supervised objective
model = SentenceTransformer("all-MiniLM-L6-v2")

# Obtain learned representations
embeddings = model.encode(support_tickets)
print(embeddings.shape)

Forma embedding-urilor

Forma embedding-urilor

Metoda .encode() rulează fiecare tichet prin modelul preantrenat și returnează un vector dens care îi reprezintă semnificația. De aici, o sarcină downstream are nevoie doar de câteva exemple etichetate, deoarece embedding-urile deja conțin cea mai mare parte a structurii:

# Use the representations for a downstream task, 1 = complaint, 0 = positive feedback
labels = [1, 1, 0, 1, 0, 1]

clf = LogisticRegression()
clf.fit(embeddings, labels)

new_ticket = ["The delivery was late and no one responded to my email."]
new_embedding = model.encode(new_ticket)
print(clf.predict(new_embedding))

Predicția regresiei logistice

Predicția regresiei logistice

Șase tichete etichetate și un clasificator LogisticRegression sunt suficiente aici deoarece reprezentările, nu clasificatorul, fac cea mai mare parte a muncii.

Avantajele și limitările învățării auto-supervizate

Hai să trecem acum prin pro și contra ale învățării auto-supervizate.

Avantaje

  1. Reduce dependența de date etichetate manual: Sarcina de pretext își generează singură țintele, astfel că bugetele de etichetare nu mai limitează strict câtă dată poți folosi
  2. Valorifică seturi de date foarte mari: Colecțiile de text și audio la scară web devin utilizabile pentru antrenare, nu doar subsetele mici etichetate pe care echipele și le puteau permite
  3. Produce reprezentări transferabile: Un singur model preantrenat poate susține fine-tuning, probing liniar, extragere de caracteristici și utilizare zero-shot pe mai multe sarcini downstream
  4. Permite preantrenare la scară mare: Asta face posibile, în primul rând, modelele de fundație de astăzi.

Limitări

  1. Necesită resurse de calcul substanțiale: Preantrenarea pe date la scară internet necesită hardware și timp serioase, departe de capacitățile majorității echipelor individuale
  2. Designul sarcinii de pretext contează: O sarcină de pretext aleasă prost produce reprezentări care nu se transferă bine, indiferent câtă dată folosești
  3. Reprezentările învățate pot prelua biaisuri: Orice tipare, lipsuri sau dezechilibre există în datele de antrenare apar și în reprezentări, deoarece nimic nu le filtrează în preantrenare
  4. Performanța puternică la preantrenare nu garantează succesul downstream: Un model care își rezolvă bine sarcina de pretext poate totuși avea performanțe slabe pe o sarcină downstream specifică pentru care nu a fost optimizat direct

De ce contează învățarea auto-supervizată pentru AI modern

Învățarea auto-supervizată este motivul pentru care modelele de fundație sunt posibile.

Preantrenarea la scara cerută de modelele moderne ar fi inaccesibilă dacă ar depinde de etichete manuale. Nimeni nu etichetează de mână un trilion de tokeni de text sau un miliard de imagini. Auto-supervizarea a făcut posibilă preantrenarea pe colecții la scară internet și apoi reutilizarea unui singur model pe o gamă largă de sarcini downstream, în locul antrenării unui model separat pentru fiecare.

Acea trecere de la multe modele specifice unei sarcini la un singur model generalist preantrenat, adaptat pentru multe utilizări, este direcția în care s-a îndreptat cea mai mare parte a AI moderne. Învățarea auto-supervizată este mecanismul care a făcut posibilă această schimbare.

Concluzie

Învățarea auto-supervizată își generează propria supervizare din structura datelor neetichetate, în locul etichetelor scrise de oameni. Tiparul tipic este să ascunzi un cuvânt sau să prezici următorul token. Datele își răspund singure la întrebări, iar modelul învață încercând să le nimerescă.

Abordările majore pornesc toate de la aceeași idee, dar în moduri diferite. Învățarea contrastivă apropie exemplele înrudite și le îndepărtează pe cele neînrudite. Modelarea mascate ascunde o parte din input și antrenează modelul să o reconstruiască. Învățarea autoregresivă prezice următorul element dintr-o secvență pe baza a tot ce e înainte. Mecanica diferă, dar principiul de a lăsa structura datelor să furnizeze semnalul de antrenare rămâne același.

Acest principiu stă la baza majorității modelelor de limbaj, viziune și multimodale pe care le folosești deja. Predicția următorului token preantrenează LLM-urile de azi, obiectivele contrastive și mascate preantrenează modelele de viziune, iar alinierea imagine-text preantrenează modelele multimodale care le îmbină.

Dacă vrei să înveți să creezi un LLM de la zero, înscrie-te în track-ul nostru Developing Large Language Models ca să vezi PyTorch, Hugging Face și cele mai noi tehnici NLP în acțiune.

Întrebări frecvente

Ce este învățarea auto-supervizată?

Învățarea auto-supervizată este o modalitate de a antrena modele fără etichete create de oameni. Modelul se uită la o parte din input, ascunde altă parte și învață încercând să prezică partea lipsă. Datele furnizează propriul semnal de antrenare, ceea ce le face „auto-supervizate”.

În ce diferă învățarea auto-supervizată de învățarea nesupravegheată?

Ambele lucrează cu date neetichetate, dar le abordează diferit. Învățarea nesupravegheată caută structură fără o țintă specifică de predicție, precum gruparea clienților similari. Învățarea auto-supervizată construiește o sarcină explicită de predicție pornind chiar din date, apoi antrenează modelul să o rezolve.

De ce contează învățarea auto-supervizată pentru AI modern?

Este motivul pentru care modelele de fundație sunt posibile. Preantrenarea la scara de azi ar fi inaccesibilă dacă ar depinde de date etichetate manual, deoarece nimeni nu etichetează de mână un trilion de tokeni de text. Auto-supervizarea permite reutilizarea unui singur model preantrenat pe mai multe sarcini downstream, în loc să antrenezi câte un model per sarcină.

Care este diferența dintre o sarcină de pretext și o sarcină downstream?

O sarcină de pretext este problema inventată pe care un model o rezolvă în preantrenare, precum prezicerea unui cuvânt ascuns. Nu e sarcina care te interesează cu adevărat - doar îl forțează pe model să învețe reprezentări utile. O sarcină downstream este problema reală la care aplici ulterior acele reprezentări, cum ar fi clasificarea sau căutarea.

Poate funcționa învățarea auto-supervizată cu zero date etichetate?

Da, preantrenarea în sine nu are nevoie de etichete deloc. După ce modelul a învățat reprezentări, unele utilizări downstream, precum clasificarea zero-shot cu CLIP, tot nu au nevoie de etichete pentru a rula. Altele, cum ar fi fine-tuning sau few-shot, introduc o cantitate mică de date etichetate abia în acea etapă ulterioară.

Subiecte
Machine Learning

Învață cu DataCamp

course

Învățare supravegheată cu scikit-learn

4 oră
300.7K
Vezi detaliiRight Arrow
Începeți Cursul
Vezi mai multRight Arrow