Reprezentacije: od piksela do značenja
Veštačka inteligencija od nule
Lekcija 6 · Reprezentacije: od piksela do značenja
Prethodna lekcija je ostavila otvoreno pitanje: šta unutrašnji slojevi mreže rade? Znamo kako se podešavaju, ali ne i šta u njima na kraju stoji.
Odgovor je najzanimljivija stvar u celom kursu. Slojevi grade sopstveni jezik za opisivanje ulaza — postepen niz sve apstraktnijih pojmova, koji niko nije zadao i koji se u mreži pojavio sam. Taj jezik se zove reprezentacija.
Ista ideja, primenjena na tekst, dovodi do nečega još čudnijeg: do toga da značenje reči postane mesto u prostoru, a poređenje značenja običan račun rastojanja. Na tome počiva sve što danas rade jezički modeli.
I. Sirov ulaz ne znači ništa
Slika je za računar spisak brojeva — koliko je koja tačka svetla. Nijedan od tih brojeva sam po sebi ne govori ništa. Nema u njemu ni ivice, ni oblika, ni mačke. Sve to postoji tek u odnosima među hiljadama tačaka.
Pre dubokog učenja, taj jaz je premošćivao čovek. Stručnjaci su smišljali postupke koji iz sirove slike izvlače nešto upotrebljivo — gde su ivice, koliko ima uglova, kakva je tekstura — i tek te izvedene brojeve davali modelu. To se zvalo izdvajanje obeležja i bilo je najveći deo posla i najveći deo uspeha.
Bio je to isti onaj pokušaj iz druge lekcije: čovek rečima opisuje ono što zna. I padao je iz istog razloga — najbolja obeležja za prepoznavanje mačke niko ne ume da izgovori.
Prekretnica je bila spoznaja da to ne mora da radi čovek. Ako mreži damo sirove tačke i dovoljno slojeva, ona će obeležja izmisliti sama, u toku istog onog spuštanja niz brdo. Niko joj ne kaže šta da traži — traži ono što smanjuje grešku.
II. Šta se nađe u slojevima
Kad se u istreniranoj mreži za slike pogleda na šta koji sloj reaguje, ispada uredna lestvica.
Prvi sloj odgovara na ivice — kratke tamno-svetle prelaze pod raznim uglovima — i na mrlje boje. Drugi spaja ivice u uglove, krivine i jednostavne šare. Dublji slojevi reaguju na delove stvari: oko, točak, tekstura krzna. Najdublji na cele objekte.
Ništa od toga nije programirano. U mreži su na početku bili slučajni brojevi, a zadatak je glasio samo „pogodi šta je na slici". Hijerarhija pojmova je ispala kao najekonomičniji način da se taj zadatak reši.
Vredna je usput i sledeća činjenica: red kojim ti pojmovi nastaju grubo odgovara onome što se zna o obradi vida kod sisara, gde prvi nivoi takođe reaguju na ivice pod određenim uglom. Nije to dokaz da mreža radi kao mozak — ne radi — nego znak da su neka rešenja za obradu slike prosto nametnuta samim zadatkom.
Ono što svaki sloj proizvodi, taj njegov opis ulaza sopstvenim pojmovima, jeste reprezentacija. Mreža nije jedna funkcija od ulaza do odgovora, nego niz prevoda: iz jezika tačaka u jezik ivica, pa u jezik delova, pa u jezik objekata.
III. Konvolucija
Mreža iz pete lekcije, u kojoj je svaki neuron povezan sa svakim ulazom, za slike je loša iz dva razloga.
Prvi je broj parametara. Za sliku pristojne veličine, jedan jedini potpuno povezan sloj tražio bi milijarde težina. Drugi je gori: takva mreža ne zna da su tačke koje su blizu jedna drugoj u vezi, niti da je mačka u gornjem levom uglu ista stvar kao mačka u donjem desnom. Morala bi da nauči mačku posebno za svaki položaj.
Rešenje je malen prozor težina — filter — koji klizi preko cele slike. Na svakom mestu se sadržaj prozora pomnoži sa težinama i sabere u jedan broj. Ishod je nova slika koja pokazuje gde se ta šara pojavljuje.
Dobitak je dvostruk. Umesto milijardi težina, filter ih ima nekoliko desetina. I pošto su iste težine primenjene svuda, ono što je naučeno u jednom uglu slike važi u svim ostalim.
Uz filtere ide i postupak sažimanja: slika se smanjuje tako što se iz svakog kvadratića zadrži najjači odgovor. Time položaj postaje približan — bitno je da oko postoji, a ne da je na tačno tom pikselu.
Slaganjem takvih slojeva nastaje ona hijerarhija odozgo. Filter u drugom sloju gleda mali prozor, ali prozor izlaza prvog sloja, pa time posredno pokriva veće parče originalne slike. Nekoliko slojeva kasnije, jedan neuron zapravo vidi celu sliku.
Vredi primetiti šta je ovde učinjeno. U arhitekturu je ugrađena pretpostavka o svetu: da su bliske tačke povezane i da šara znači isto gde god da se nalazi. To jeste ljudsko znanje uneseno rukom — ali znanje o strukturi problema, a ne o odgovoru. Ta razlika je fina i važna. Zbog nje konvolucije nisu pale kao ekspertski sistemi.
IV. Naučeno se može posuditi
Iz hijerarhije sledi nešto vrlo praktično. Donji slojevi uče opšte stvari — ivice i teksture su ivice i teksture bez obzira na to da li se traže mačke, tumori ili greške na šavu.
Zato se mreža istrenirana na milionima raznovrsnih slika može uzeti gotova, odseći joj se poslednji sloj, dodati novi za sopstveni zadatak i dotrenirati na — bukvalno — dve stotine primera. Rezultat redovno nadmašuje mrežu koja bi se za isti zadatak gradila od nule.
To se zove transferno učenje i njemu se ima zahvaliti što ozbiljan rad danas ne zahteva ni milione slika ni računarski centar. Isti obrazac, prenet na tekst, dao je ono što se danas zove temeljnim modelima: jedan skupo istreniran model koji hiljade ljudi prilagođava svojim potrebama uz zanemarljiv trošak.
V. Kada ulaz nije slika nego reč
Sa slikama je bar bilo brojeva za početak. Sa rečima nema ni toga.
Prva pomisao je da se rečima dodele redni brojevi iz rečnika. Ideja je loša: ako je pas broj 3411 a mačka 8022, model će te brojeve tretirati kao veličine i zaključivati da je mačka nekako veća od psa i bliža reči na broju 8023, koja je tu čistom azbučnom slučajnošću.
Druga pomisao je da svaka reč dobije sopstvenu kolonu, sa jedinicom na svom mestu i nulama svuda drugde. Time se laž o veličinama uklanja, ali se dobija nešto skoro jednako beskorisno: sve reči su podjednako udaljene jedna od druge. Pas i mačka su tačno onoliko srodni koliko pas i kišobran.
Rešenje je da se ni to ne izmišlja rukom. Svakoj reči se dodeli spisak od nekoliko stotina brojeva, na početku slučajnih, i ti brojevi se tretiraju kao parametri — podešavaju se gradijentnim spustom, zajedno sa svim ostalim.
Zadatak na kome se uče obično je krajnje prizeman: pogodi koja reč nedostaje u rečenici, ili koje reči stoje oko date. Rečenica „sipao je vrelu ___ u šolju" ima ograničen broj razumnih dopuna. Reč se, kaže stara jezička opaska, poznaje po društvu u kome se kreće.
Mapa koju niko nije nacrtao
Ono što ispadne iz tog treninga jeste mapa. Svaka reč ima svoje mesto, a mesta nisu nasumična: reči sličnog značenja završe blizu.
Više od toga, i pravci na mapi nose značenje. Put od muškarca do žene pokazuje otprilike u istom smeru kao put od kralja do kraljice i od brata do sestre. Rod je postao pravac. Slično važi za jedninu i množinu, ili za zemlju i njen glavni grad.
Poštenja radi treba reći i da te analogije rade slabije nego što slavni primeri sugerišu — na pažljivo biranim parovima izgledaju magično, na nasumičnim često promaše. Ali geometrijska struktura je stvarna i merljiva, i nastala je isključivo iz statistike o tome koje se reči pojavljuju zajedno.
Ista ideja radi i van jezika. U prostor se mogu smestiti slike, zvuk, korisnici i proizvodi — bilo šta za šta postoji zadatak koji tera model da slično smesti blizu. Kad ti servis preporuči film sličan gledanom, iza toga stoji upravo merenje rastojanja u ovakvom prostoru.
Granica ove ideje
Postoji, međutim, ozbiljna slabost. Reč ovde ima jedno mesto na mapi, zauvek isto.
Reč kosa u rečenici o frizeru i u rečenici o košenju trave nije ista reč, a dobija isti spisak brojeva — negde na sredini između dva značenja, gde nije tačna ni za jedno. Isto važi za svaku višeznačnu reč, a njih je u jeziku mnogo više nego što se čini.
Rešenje je da mesto reči na mapi zavisi od rečenice u kojoj stoji. Kako se to izvodi, tema je sledeće lekcije — i to je tačka na kojoj počinje sve ono što danas zovemo jezičkim modelima.
Šta iz ovoga treba poneti
Mreža ne uči samo odgovor — usput izmisli i jezik kojim opisuje ulaz. Taj jezik ide od prostog ka apstraktnom i nastaje sam, jer je najjeftiniji način da se greška smanji.
Kad se značenje pretvori u mesto u prostoru, poređenje značenja postaje merenje rastojanja. To je korak koji je jezik učinio dostupnim mašini koja ume samo da množi i sabira.
Ostaje mana koju to samo ne rešava: reč nosi jedno značenje bez obzira na rečenicu. Sledeća lekcija je posvećena mehanizmu koji tu manu uklanja.
Vežba · opciono
Prvi deo se radi olovkom i papirom. Nacrtaj sliku od pet puta pet polja u kojoj su prve dve kolone nule, a preostale tri jedinice — dakle uspravna ivica po sredini. Filter neka bude:
1 0 −1
1 0 −1
1 0 −1
Prevuci ga preko slike i izračunaj sve tri vrednosti u srednjem redu. Dobićeš −3, −3 i 0: filter snažno odgovara tamo gde ivica upada u prozor, a ćuti tamo gde je sve isto.
Sada okreni sliku — neka prva dva reda budu nule, a ostala tri jedinice, dakle vodoravna ivica. Prevuci isti filter. Svuda ispada nula. Jedan te isti spisak od devet brojeva vidi uspravne ivice i slep je za vodoravne, i to je sve što jedan filter jeste.
Drugi deo je za one koji rade kod. Učitaj gotova ugnežđivanja za srpski ili engleski i traži najbliže susede za desetak reči. Isprobaj analogije oduzimanjem i sabiranjem vektora.
Obavezno potraži i mesta gde puca: višeznačne reči, retke reči, imena. Spisak neuspeha reći će ti o ovoj tehnici više nego spisak uspeha.
SLEDEĆA LEKCIJA
7. Transformeri: pažnja i sve što iz nje sledi
Kako reč dobija značenje iz rečenice, i kako se od toga pravi jezički model.
Tekst je pisan uz pomoć jezičkog modela Claude Opus 5 kompanije Anthropic. Sadržaj, struktura i konačna redakcija su autorski.
Comments
Post a Comment