Lumen DataSci 2022
InCogNiTo124
Moram rec, dost zanimljiva utrka za pozicije u zadnjih nesto vremena
micho
InCogNiTo124 Počejo sam s 68 završijo s 32 keke
da sam bar upogonio jači model 🙁
matt
M̵̧̩͑̀͝î̶͍̉ć̴̝̾́̀o̶̺̟̣͂̽ Ili više slika 🙂 Koji si model koristio btw?
micho
Matt Nije bitno više slika ako vidiš da model nema kapaciteta, augmentacije to riješe
Najmanji Swin, mean redukcija + MLP 768->1024->2, sveukupno nešto manje od 29 mil parametara i oko 5 GFLOPSa
matt
M̵̧̩͑̀͝î̶͍̉ć̴̝̾́̀o̶̺̟̣͂̽ Mi smo već u startu imali augmentacije (AutoAugment ImageNet policy + manji croppovi) ali performance nam je svejedno dosta skočio sa više slika. Jesmo li trebali uvesti još neke augmentacije poput Gaussian noise? Model je ResNeXt-101-32×8d, 89 mil, 16 GFLOPs (overkill ali nismo znali bolje u početku)
micho
Matt Kak ste skužili da su vam performanse narasle, to kad su releasali eval?
Tbh jedine augmentacije koje su ovdje bile zgodne a nisu kvarile zadatak su bile RandomCrop, HorizontalFlip i sitne rotacije. I već to će ti biti dovoljno za kombinatornu eksploziju uzoraka ak treniraš na više slika istovremeno. MSE bude 10 puta veći za takav režim od slika bez RandomCropa, i 20 puta veći od režima bez svih transformacija. Bez tih režima mi je mean haversine bio 71.
Problem kod autoaugmenta je što su to politike mijenjanja boje, što vjerojatno nije predobro za zadatak ako već imaš pretreniran model.
Taj model nikako nije overkill po meni, jedino što samo konvolucije nisu previše prikladne za ovaj zadatak, koji je u neku ruku zadatak pamćenja - zato su vam vjerojatno pomogle dodatne slike, nije ih model zapamtio toliko koliko je učio bolje generalizirati jer je training set užasno loš za feature extraction, najlakše to vidiš ako pogledaš koliko su aritmetičke sredine i raspršenje po channelu različite od npr. ImageNeta
matt
M̵̧̩͑̀͝î̶͍̉ć̴̝̾́̀o̶̺̟̣͂̽ Nama je logika za uvođenje ImageNet augmetnacije (to što kažeš za boje) bila to da Google Car kamera nema nužno konzistentne boje i da su slike slikane u različito doba dana (tipa jutro/podne). Ta pretpostavka vjerojatno nije niti točna, nismo to stigli provjeriti. Mislim da si u pravu, ImageNet policy je vjerojatno preagresivna augmentacija za ovaj zadatak.
Performance nam je narastao kako na lokalnom test setu tako i na Photomathovoj evaluaciji. Performance za original train set bio je haversine 34. S novim slikama haversine smo spustili na 22. Također, haversine distance na lokalnom test setu je bio veći (30) od haversinea na Photomathovom test setu (22). Naravno, naš lokalni test set je bio veći od njihovog.
Mi možeš još objasniti ovaj dio s feature extractionom i pamćenjem, zašto je bolje da model “pamti” slike umjesto da generalizira? Jel bi tu metodu “pamćenja” koristio da moraš rješavati ovaj problem za slike cijelog svijeta?
micho
Matt zašto je bolje da model “pamti” slike umjesto da generalizira?
Zato što je takav zadatak, imaš premalo slika da bi generalizirao na samim slikama, nego više pokušavaš upamtiti što više djelića s kojima bi mogao rekonstruirati lokaciju, ali ne i samo značajke (jer kao što sam rekao ako analiziraš training set vidjet ćeš da su značajke generalno loše).
Ako pogledaš dataset vidjet ćeš da ima užasno puno slika po cesti po dalmaciji, neke udaljene stotinu kilometara, a značajke gotovo iste. Asfalt okružen šikarom. Ako pokušaš generalizirati na ovome dobit ćeš jako “strme” granice, tj. model ti treba biti jako osjetljiv na varijacije da bi mogao za gotovo iste značajke izbaciti dosta udaljene koordinate. Zato je bolje dati mu da se donekle overfitta na input, a generalizaciju pokušati riješiti umjetno povećanim brojem uzoraka, znači augmentacijama.
Matt Jel bi tu metodu “pamćenja” koristio da moraš rješavati ovaj problem za slike cijelog svijeta?
Ovisi o modelu i broju slika. Svakako je najčišće rješenje ako imaš sve slike samo ih zapamtiti jer suštinski nemaš garanciju da postoji naučiva funkcija za konačan broj parametara. Ako imaš premalo slika opet ti je bolje dati modelu da se malo overfitta na puno augmentacija. I onda će ti on generalizirati u smislu da si mu dao puno primjera, ne da si ograničio broj značajki koje gleda kao što rade konvolucijske mreže. Iako iskreno možda bi za cijeli svijet i bile bolje konvolucije ako gledamo da nemaš beskonačno veliki model, jer će tad veći problem biti redukcija dimenzionalnosti…
tl;dr treba pogledati training set pa na osnovu toga zaključiti
InCogNiTo124
Ovo je sluzbeni konacni leaderboard
rjesenje je predalo 15 timova, valjda cu do 18og stic ocjenit jer me ceka job fair i ludi vikend
ugl hocu rec sretno svima <3
InCogNiTo124
Dragi timovi, gosti koji nisu sudjelovali na LUMEN DataSci 2022 i ostali,
svi timovi su ocjenjeni i pretpostavljam da biste do kraja tjedan trebali u vase boxeve dobit info o tom tko ide u finale. Takvima velike cestitke!
u nastavku slijedi opis stvari koje ste radili a koje su mi jako otezale biti objektivan u ovom natjecanju:
- nemojte ubuce slat citave git repozitorije. jedan obicni
git log
doksa vase github usernames, privatne mailove (!!) te najgore, commit message tipa"fix linter"
ili"jebote passs vise"
- nemojte slat ni zipove prepune
*.pyc
fajlova koji ostanu nakon pokretanja. ako ih otvorite tako binarne, tamo ponekad pise nesto tipa/home/{username}/projects/...
sto vas doksa direktno ili indirektno (smjesno je sta se sve moze nac googleanjem, ne zelite ni znati) - nemojte slat molim vas ni
.DS_Store
datoteke te__MAC_OSX
direktorije. osim sto je ruzno ih vidit po gitu, i to isto sadrzi podatke tipa/home/{username}/...
koji vas doksaju direktno ili indirektno (google go brr) - ako nije vazno, nemojte stavljat linkove na svoje git profile ili google driveove, za to radije koristite megaupload ili nes slicno
- povezano, nemojte u git submodule stavljat osobne podatke
- za ovakve stvari tipa ai/ml/ds potpuno je prirodno koristit engleski, al nemojte forsat. ak nejde nejde, nije ni hrv los. jedino losije od hrvatske dokumentacije i terminologije je kad je prevedena rijec po rijec na engleski. engleski ima svoj flow rijeci i osjeti se jako kad recenica ima smisla na eng, a kad ima vise smisla kad ju se word-by-word prevede na hrvatski 🙃
- (moj pet peeve) nemojte koristiti lijevo poravnanje, nemojte koristit centrirano poravnanje i za boga miloga nemojte koristit desno poravnanje. koristite obostrano. one true poravnanje
- idealno, koristite sans-serif font. arial ✅ verdana ✅ times new roman ❌
- (ovo me mentor naucio, velike zahvale gospon segvic) svaka slika trebala bi biti detaljno opisana. meni se ne da citat tekst da bi dobio info o tom sta se na slici nalazi. u tekstu rada na sliku se obicno samo referencira ili potvrduje misao, dok bi svaka slika trebala imat svoj standalone detaljni opis. to ukljucuje (izmedu ostalog, op.a.) x/y osi, legendu, naslov, te sto se dogada i zasto je to sto se dogada dobro/lose.
- za kod me, tijekom citanja docsa, obicno boli kurac, tako da je bio samo *skip skip*. ako ga zelite stavit, to najbolje u appendix. extenzivno citanje koda je islo nakon citanja dokumentacije/a
- speaking of, kod uvijek uvijek ide u monospaced fontu, no questions asked
1e-3
!= 1\cdot e^{-3} xD vec 1\cdot 10^{-3}. razlika je dosl 50x- i za kraj, hvala timu koji je napisao posebnu licencu za izvorni kod samo za ovo natjecanje, to nije bilo potrebno ni najmanje