Convoluția
Dacă am conecta fiecare neuron la fiecare pixel dintr-o imagine, numărul de butoane ar exploda, făcând învățarea imposibilă. Salvarea vine dintr-o presupunere simplă și profundă despre lumea vizuală: o pisică este o pisică oriunde ar apărea în tablou. Aplicând o mică „ștampilă” matematică plimbată peste toată imaginea, reducem milioane de parametri la doar câteva zeci.
Termeni: filtru convoluție hartă de activare subeșantionare arhitectură
Explozia conexiunilor: de ce privitul global eșuează
O poză alb-negru modestă de doar 100 pe 100 de pixeli conține zece mii de puncte luminoase. Dacă am încerca să o analizăm cu rețeaua clasică din lecția precedentă, un singur neuron care privește toți pixelii ar avea nevoie de zece mii de ponderi proprii. Iar un strat cu doar o mie de asemenea neuroni ar înghiți instantaneu zece milioane de butoane!
Această risipă creează o problemă uriașă: fiecare buton trebuie calibrat din exemple, ceea ce ar cere milioane de fotografii de antrenare. Dar cel mai grav este că neuronii independenți sunt orbi la legăturile spațiale: dacă rețeaua învață cum arată o ureche de pisică în colțul din stânga sus, nu va avea habar să o recunoască dacă pisica se mută în colțul din dreapta jos! Ar trebui să reînvețe același concept de mii de ori, pentru fiecare colțișor de ecran în parte.
Ideea salvatoare: ștampila călătoare
Din fericire, vederea umană și lumea vizuală respectă o regulă de aur: semnificația unui obiect nu depinde de locul în care se află. O linie verticală este o linie verticală oriunde ar fi desenată, iar o roată de mașină rămâne o roată și dacă este în stânga, și dacă este în dreapta cadrului.
Putem scrie această intuiție direct în structura rețelei! În loc să alocăm neuroni uriași pentru fiecare zonă, luăm un grup minuscul de ponderi — de pildă o grilă de doar $3 \times 3$ numere — și o plimbăm pas cu pas peste întreaga imagine, ca o lupă sau o ștampilă. Acest șablon călător se numește filtru (sau nucleu), iar operația matematică de alunecare peste pixeli poartă numele de convoluție.
Câștigul este uluitor: numărul de butoane scade de la zeci de mii la doar 9 sau 25! Iar dacă filtrul învață să detecteze o dungă verticală, el o va recunoaște instantaneu pe toată suprafața imaginii, pentru că folosește aceleași numere peste tot. Am transformat o intuiție despre lumea fizică într-o economie uriașă de calcul.
Fiecare valoare din harta din dreapta spune cât de bine se potrivește filtrul cu bucata de imagine din acel loc. Zonele deschise sunt locurile unde tiparul căutat de filtru chiar se află. Harta se numește hartă de activare și e ea însăși o imagine, care poate fi dată mai departe.
Numerele din filtru se pot schimba direct, iar harta se reface la fiecare tastă. Într-o rețea antrenată, ele nu se scriu de mână: se găsesc prin coborârea pantei, ca orice altă pondere.
Ierarhia vederii: de la muchii la colțuri și obiecte
Rezultatul aplicării unui filtru peste o fotografie este o nouă imagine, numită hartă de activare. Zonele luminoase din această hartă arată locurile unde filtrul s-a potrivit ca o mănușă cu detaliile din poză.
Dar iată marele secret: fiindcă harta de activare este și ea o imagine, putem plimba peste ea o nouă generație de filtre! Al doilea strat nu mai privește pixelii bruți, ci răspunsurile primului strat, învățând să combine tipare simple în tipare mai complexe. De pildă, dacă primul strat a găsit separat liniile verticale și liniile orizontale, al doilea strat poate detecta intersecția lor: colțul!
Al treilea panou nu a fost desenat de nimeni: iese din combinarea primelor două de către un neuron obișnuit, care adună cele două intrări și cere ca suma să treacă un prag.
Într-o rețea convoluțională profundă, această piramidă se ridică pe zeci de niveluri: primele straturi văd doar linii și lumini; straturile de mijloc asamblează colțurile și cercurile în texturi și forme; iar straturile de vârf recunosc faruri, roți, cozi sau ochi de câine. Iar toate aceste filtre specializate nu sunt programate de mână de om: coborârea pantei le sculptează singură din exemple!
Sinteza spațială: subeșantionarea
Odată ce un filtru a depistat că într-o anumită zonă există un ochi sau o roată, poziția milimetrică exactă a fiecărui pixel nu mai este atât de importantă. Mult mai valoros este faptul că trăsătura se află acolo!
Pentru a comprima informația, inginerii introduc o operație numită subeșantionare (sau pooling): împart harta în mici careuri de $2 \times 2$ pixeli și păstrează din fiecare careu doar valoarea maximă, aruncând restul. Dimensiunea imaginii scade astfel de patru ori, făcând calculele următoare mult mai rapide și oferind rețelei o toleranță naturală: dacă pisica face un pas mic într-o parte, harta comprimată rămâne aproape neschimbată.
Această compactare trebuie dozată cu măsură. Dacă aruncăm prea mult din geometria inițială, rețeaua ar putea confunda o față umană normală cu un tablou suprarealist în care ochii sunt așezați sub bărbie și gura pe frunte. De aceea, modelele moderne folosesc subeșantionarea cu mai multă prudență decât în trecut.
Arhitectura: o teorie despre lume turnată în ecuații
Convoluția nu este un remediu universal pentru orice fel de problemă, ci o restricție inteligentă, creată anume pentru datele cu organizare vizuală. Ea presupune ferm că pixelii vecini sunt înrudiți și că tiparele au același sens indiferent unde apar.
Dacă ai încerca să aplici convoluția pe un tabel de evidență a populației — unde o coloană indică vârsta, alta salariul și alta orașul de reședință —, metoda ar fi un eșec total: plimbarea unei ștampile peste date fără continuitate spațială este lipsită de sens.
Aceasta este marea lecție filosofică a capitolului: alegerea arhitecturii unei rețele este modul subtil prin care inginerul își toarnă propria înțelegere despre lume în model. Nu scriem reguli rigide cu mâna, dar construim o scenă pe care datele pot învăța doar ceea ce structura lumii le permite. Arhitectura este o teorie despre realitate codificată în tăcere.
Punctul de cotitură: de la imagini la cuvinte
Primele rețele convoluționale de succes au fost create de cercetătorul francez Yann LeCun la sfârșitul anilor 1980 pentru citirea automată a cifrelor de pe cecurile bancare din America. Însă explozia globală s-a produs în 2012: antrenată pe plăci grafice moderne, o rețea convoluțională profundă a spulberat toate recordurile la o mare competiție mondială de recunoaștere a imaginilor (ImageNet), dând startul revoluției contemporane a inteligenței artificiale.
Convoluția a cucerit vederea artificială pentru că imaginile au o geometrie fixă și bidimensională. Dar ce facem când vine vorba de limbajul uman? Textul nu este un tablou: cuvintele curg în timp, propozițiile au lungimi diferite, iar înțelesul unui cuvânt poate depinde de ceva rostit cu zece pagini mai devreme.
În capitolele următoare părăsim lumea pixelilor și pătrundem în universul fascinant al limbajului: cum transformăm un cuvânt într-o entitate matematică calculabilă și cum facem o mașină să deslușească sensul?