Kako znamo da model zaista radi

Veštačka inteligencija od nule

Lekcija 4 · Kako znamo da model zaista radi

Prethodna lekcija je pokazala kako model spušta grešku sve niže. Sada dolazi neprijatno pitanje koje je ostalo da visi: da li niska greška uopšte znači da je model dobar?

Odgovor je da ne znači. Model može da postigne grešku nula a da bude potpuno bezvredan, i to nije retkost nego najčešći način na koji projekti propadaju. Uz to, i kada model zaista nešto zna, brojka kojom to merimo ume da laže tako uverljivo da se na osnovu nje donose katastrofalne odluke.

Ova lekcija je zato možda i najkorisnija u kursu. Ne bavi se pravljenjem modela nego njegovim ispitivanjem — a to je posao koji se u praksi najviše preskače i najskuplje plaća.

I. Đak koji je naučio zbirku napamet

Vratimo se stanovima iz prethodne lekcije. Provukli smo pravu kroz oblak tačaka i ostala je izvesna greška — prava ne prolazi ni kroz jednu tačku tačno.

Tu grešku je lako svesti na nulu. Umesto prave, uzmimo krivu koja se izvija gore-dole i provučimo je tako da pogodi svaku tačku savršeno. Uz dovoljno slobode to je uvek moguće. Greška na podacima: nula.

A sada dođe novi stan od 70 kvadrata. Prava daje razumnu procenu. Izvijena kriva u tom rasponu pravi divlji skok, jer se između dve poznate tačke ponaša kako joj se prohte — nju ništa nije obavezivalo osim da prođe kroz ono što je videla.

To je preprilagođavanje. Model nije naučio pravilnost nego je zapamtio primere. To je đak koji zna sve zadatke iz zbirke napamet, a pada na kontrolnom sa istim gradivom i drugim brojevima.

Koren problema je u tome što svaki skup podataka sadrži dve stvari pomešane: pravilnost, koja važi i van tog skupa, i šum, koji je slučajan i ne važi nigde. Jedan stan je skuplji jer je prodat u dobrom trenutku, drugi jeftiniji jer je vlasnik hitao. Model dovoljno velikog kapaciteta naučiće i jedno i drugo, jer ne ume da ih razlikuje — za njega je sve to samo podatak koji treba pogoditi.

Postoji i suprotna greška. Model koji je premali za problem ne uspeva da uhvati ni samu pravilnost — kao kad bi kroz očigledno zakrivljene podatke tvrdoglavo provlačio pravu. To je potprilagođavanje. Između te dve krajnosti ne postoji formula nego ravnoteža koja se traži za svaki problem posebno.

II. Skriveni podaci

Kako uopšte primetiti da se model preprilagodio, kad on na svojim podacima izgleda savršeno?

Rešenje je staro koliko i sama oblast i vrlo jednostavno: deo podataka se sakrije pre početka treninga. Model ih nikada ne vidi. Kad trening završi, na njima se izmeri greška — i to je jedina brojka kojoj se veruje.

Uobičajena podela je na tri dela:

Trening skup — na njemu se podešavaju parametri.
Validacioni skup — na njemu se biraju podešavanja, poput koraka učenja ili veličine modela.
Test skup — otvara se jednom, na kraju, i ne dira se više.

Zašto tri a ne dva? Zato što se biranjem podešavanja i sam čovek uči na podacima. Ako pedeset puta probaš različite postavke i svaki put gledaš rezultat na istom skupu, na kraju si ti preprilagodio model tom skupu, pa ta brojka više nije poštena. Test skup zato mora ostati netaknut do samog kraja.

Dve krive koje sve kažu

Ako tokom treninga crtaš grešku i na trening i na validacionom skupu, dobijaš najkorisniju sliku u celom poslu.

U početku obe krive padaju — model uči pravu stvar i to važi svuda. Zatim, u nekom trenutku, trening greška nastavlja da pada, a validaciona počne da raste. To je tačka u kojoj je model prestao da uči pravilnost i počeo da pamti šum.

Odatle sledi i najjednostavniji lek: zaustavi trening tu. Postupak se zove rano zaustavljanje i, uprkos trivijalnosti, jedan je od najkorišćenijih. Uz njega idu i drugi načini da se modelu oduzme sloboda — kažnjavanje prevelikih parametara ili nasumično isključivanje delova mreže tokom treninga. Svi se zajedno zovu regularizacija i svi rade istu stvar: otežavaju modelu pamćenje da bi ga naterali na uopštavanje.

Curenje podataka

Postoji podmukliji način da rezultat bude lažno dobar, i on obara čak i one koji su sve podelili kako treba. Zove se curenje i dešava se kad u trening nekako uđe informacija koje u stvarnosti neće biti.

Klasičan primer: model treba da predvidi da li pacijent ima određenu bolest, a među obeležjima je i podatak o tome kojim je odeljenjem lečen. Model postiže vrhunske rezultate — jer je naučio da pacijenti sa onkologije imaju rak. U trenutku kada bi model zaista trebalo da bude koristan, taj podatak još ne postoji.

Isto se dešava kad se isti pacijent pojavi i u trening i u test skupu pod dva zapisa, ili kad se podaci obrađuju zajedno pre podele, pa test skup nevidljivo utiče na trening. Pravilo je grubo ali pouzdano: ako je rezultat neočekivano dobar, prvo posumnjaj u curenje, a tek onda se raduj.

III. Kada odgovor nije broj nego kategorija

Do sada je model predviđao broj. Češći zadatak je, međutim, razvrstavanje: da li je mejl neželjen, da li je na slici pas, da li će klijent otplatiti kredit. To se zove klasifikacija.

Mašinerija ostaje ista — parametri, greška, spust — menja se samo izlaz. Model ne izbacuje „da" ili „ne" nego broj između nule i jedinice, koji se tumači kao izraz uverenosti. Izlaz 0,93 znači da model prilično veruje da je mejl neželjen.

Funkcija greške je ovde drugačija i zove se unakrsna entropija. Ideja joj je jednostavna: kažnjava se samouverena greška. Ako model kaže 0,99 a odgovor je ne, kazna je ogromna. Ako kaže 0,55 a pogreši, kazna je blaga — bar se nije pravio siguran. Time se model uči ne samo da pogađa, nego i da odmeri koliko je siguran.

Da bi se od broja došlo do odluke, potreban je prag. Uobičajeno je 0,5, ali to nije zakon prirode nego proizvoljan izbor — i jedan od najvažnijih koje ćeš doneti.

IV. Zašto je tačnost varljiva

Tačnost je udeo pogođenih odgovora. Deluje kao savršeno merilo, i u većini slučajeva je beskorisna.

Zamisli bolest koju ima jedan čovek u hiljadu i model koji treba da je otkrije. Napravimo model koji za svakoga kaže da je zdrav. Njegova tačnost je 99,9%. Bolji je od većine ozbiljnih modela, a nije otkrio nijednog bolesnika.

To nije dosetka nego svakodnevica, jer su zanimljivi slučajevi gotovo uvek retki: prevare, kvarovi, bolesti, upadi u sistem. Kad je jedna klasa retka, tačnost meri samo koliko dobro model pogađa ono što je i tako očigledno.

Četiri ishoda umesto jednog broja

Da bi se videlo šta model stvarno radi, njegovi odgovori se razvrstavaju u četiri kutije:

Pogođena uzbuna — rekao je bolestan, jeste bolestan.
Lažna uzbuna — rekao je bolestan, a zdrav je.
Propušten slučaj — rekao je zdrav, a bolestan je.
Mirno i tačno — rekao je zdrav, i jeste zdrav.

Ta tabela se zove matrica konfuzije i iz nje se izvode dva merila koja zaista nešto znače:

Preciznost odgovara na pitanje: kad model digne uzbunu, koliko često je u pravu. Nisku preciznost oseća onaj koga model šalje na nepotrebne preglede.

Odziv odgovara na pitanje: od svih koji zaista jesu bolesni, koliko ih je model uhvatio. Nizak odziv oseća onaj koga je model prevideo.

Ključno je da se ta dva ne mogu istovremeno poboljšati pomeranjem praga. Spusti prag i model postaje sumnjičav — hvata skoro sve bolesne, ali diže i gomilu lažnih uzbuna. Podigni prag i uzbune postaju pouzdane, ali mu bolesnici izmiču. Prag je klizač između dve vrste štete.

Koja greška je gora

Odgovor ne dolazi iz podataka nego iz sveta u kome se model koristi.

Kod probira na tešku bolest propušten slučaj može značiti smrt, a lažna uzbuna dodatni pregled i nekoliko neprijatnih dana. Prag se spušta bez razmišljanja.

Kod filtera za neželjenu poštu je obrnuto. Propušten neželjen mejl je smetnja koja traje sekundu. Lažna uzbuna znači da je ponuda za posao završila u smeću i nikad nije pročitana. Prag se diže.

Isti model, isti podaci, suprotne odluke. Zato tehnički tim koji sam bira prag donosi odluku koja nije tehnička — a najčešće to ni ne primeti.

Kada se rezultat ipak mora sažeti u jedan broj, koriste se F1, koji spaja preciznost i odziv u kompromis, i ROC-AUC, koji meri koliko dobro model razdvaja klase preko svih mogućih pragova odjednom. Oba su korisna za poređenje modela, i oba kriju upravo ono pitanje o kome smo govorili.

V. Merilo koje postane cilj

Postoji stara opaska iz ekonomije koja ovde važi bukvalno: kada merilo postane cilj, prestaje da bude dobro merilo.

Čim se tim počne ocenjivati po jednom broju, taj broj počinje da raste — a da stvarna korist ne mora da prati. Model se doteruje baš za tu meru, bira se prag koji joj godi, a slučajevi na kojima bi se video problem tiho ispadnu iz testiranja.

Ista se stvar dešava i na nivou cele oblasti, kod velikih javnih testova po kojima se modeli porede. O tome govori osma lekcija. Za sada je dovoljno pravilo: nijedan broj ne opisuje model. Traži uvek gde greši, a ne koliko greši.

Šta iz ovoga treba poneti

Model se ne ocenjuje na onome što je video, i ne ocenjuje se jednim brojem. Prvo pravilo štiti od pamćenja umesto učenja, drugo od merila koje sakriva upravo one greške do kojih je stalo.

Uz to ide i jedna nelagodna posledica. Izbor praga i izbor merila su odluke o tome ko će snositi štetu kada model pogreši — pacijent koji je propušten ili onaj koji je uzalud uplašen. Te odluke se donose i kada niko ne primeti da ih donosi.

Time je zaokružen ceo osnovni pribor: model, greška, trening i provera. Sledeća lekcija uzima taj isti pribor i gradi njime nešto neuporedivo moćnije — neuronsku mrežu.

Vežba · opciono

Prvi deo se radi olovkom i papirom. Testirano je hiljadu ljudi. Bolesnih je dvadeset. Model je označio trideset osoba kao bolesne, i od tih trideset je pogodio petnaest.

Popuni sve četiri kutije matrice konfuzije, pa izračunaj tačnost, preciznost i odziv. Zatim izračunaj tačnost modela koji za svakoga kaže da je zdrav.

Dobićeš dva potpuno jednaka broja za tačnost — a jedan model je uhvatio tri četvrtine bolesnih, dok drugi nije uhvatio nijednog. To je cela poenta ove lekcije u jednom računu.

Drugi deo je za one koji rade kod. Uzmi bilo koji skup podataka sa retkom klasom i istreniraj jednostavan klasifikator. Ispiši matricu konfuzije, pa prođi kroz pragove od 0,1 do 0,9 i za svaki zabeleži preciznost i odziv.

Nacrtaj obe krive na istom grafiku. Videćeš kako se seku i razilaze, i odabrati prag postaje očigledno ono što jeste — odluka, a ne rezultat.

SLEDEĆA LEKCIJA

5. Slojevi i propagacija unazad

Kako se od jedne prave dolazi do mreže, i kako greška putuje unazad kroz nju.

Tekst je pisan uz pomoć jezičkog modela Claude Opus 5 kompanije Anthropic. Sadržaj, struktura i konačna redakcija su autorski.

Comments