Professional Documents
Culture Documents
NMIHA-merge 2
NMIHA-merge 2
ALGORITMI
Doc. dr. sc. Nikola Lopac
• Može se postaviti pitanje zašto je duboko učenje tek nedavno postalo prepoznato kao
ključna tehnologija iako su prvi eksperimenti s umjetnim neuronskim mrežama
provedeni 1950-ih
• Duboko učenje uspješno se koristi u komercijalnim primjenama od 1990-ih, ali se sve
do nedavno često smatralo više vještinom nego tehnologijom i nečim što samo
stručnjak može koristiti
• Istina je da je potrebna određena vještina za postizanje dobrih performansi algoritma
dubokog učenja → srećom, količina potrebnih vještina smanjuje se s povećanjem
količine podataka za treniranje
• Algoritmi učenja koji danas postižu performanse čovjeka na složenim zadatcima
gotovo su identični algoritmima učenja koji su se borili s rješavanjem jednostavnih
problema 1980-ih, iako su modeli koje treniramo s tim algoritmima prošli kroz
promjene koje pojednostavljuju treniranje vrlo dubokih arhitektura
• Najvažniji novi razvoj je da danas ovim algoritmima možemo osigurati resurse koji su
im potrebni za uspjeh
• Sljedeća slika pokazuje kako se veličina referentnih skupova podataka (engl.
benchmark datasets) značajno povećala tijekom vremena
• Naziv MNIST skupa podataka potječe od agencije koja je izvorno prikupila ove
podatke, dok slovo „M” označava „modificirano” jer su podatci prethodno obrađeni
za lakšu upotrebu s algoritmima strojnog učenja
• MNIST skup podataka sastoji se od skeniranih rukom pisanih znamenki i povezanih
oznaka koje opisuju koja se znamenka 0–9 nalazi na pojedinoj slici
• Ovaj jednostavan problem klasifikacije jedan je od najjednostavnijih i najčešće
korištenih testova u istraživanju dubokog učenja
• I dalje je popularan unatoč tome što ga je modernim tehnikama prilično lako riješiti
• Donja slika prikazuje po 10 slučajno odabranih primjera slika za svaku klasu iz CIFAR-
10 skupa podataka
• Pred kraj prvog desetljeća 2000-ih i tijekom prve polovice 2010-ih, znatno veći
skupovi podataka, koji sadrže stotine tisuća do nekoliko desetaka milijuna primjera,
potpuno su promijenili ono što je bilo moguće s dubokim učenjem
• Ovi skupovi podataka uključivali su javni Street View House Numbers (SVHN) skup
podataka (Netzer i sur., 2011.), različite verzije ImageNet skupa podataka (Fei-Fei,
Deng i sur., 2006., Russakovsky i sur., 2014.) i Sports-1M skup podataka (Karpathy i
sur., 2014.)
• Street View House Numbers (SVHN) skup podataka je skup slikovnih podataka iz
stvarnog svijeta za razvoj algoritama strojnog učenja i algoritama za prepoznavanje
objekata s minimalnim zahtjevima za prethodnu obradu i formatiranje podataka
• Uveli su ga Netzer i sur. 2011.
• Može se smatrati sličnim MNIST skupu podataka (npr. slike su male izrezane
znamenke), ali uključuje red veličine više označenih podataka (preko 600 000 RGB
slika u boji koje sadrže znamenke) i dolazi iz znatno težeg, neriješenog problema
stvarnog svijeta (prepoznavanje znamenki i brojeva na slikama prirodnih scena)
• SVHN se dobiva iz kućnih brojeva na Google Street View slikama
• Ima 10 klasa, po jednu za svaku znamenku
• Sljedeće dvije slike prikazuju primjere dviju verzija slika dostupnih unutar SVHN skupa
podataka:
– Puni brojevi – izvorne slike kućnih brojeva u boji promjenjive rezolucije s graničnim okvirima (engl.
bounding boxes) na razini znakova
– Izrezane znamenke – temeljna istina (engl. ground truth) na razini znakova u formatu sličnom MNIST-u;
veličina svih znamenki je promijenjena na fiksnu rezoluciju od 32x32 piksela; izvorni granični okviri
znakova modificirani su kako bi postali kvadratni prozori bez izobličenja omjera veličine
• Još jedan ključni razlog zbog kojeg su neuronske mreže danas izuzetno uspješne
nakon relativno malog uspjeha od 1980-ih je to što danas imamo računalne resurse
za pokretanje puno većih modela
• Jedan od glavnih uvida konekcionizma je da životinje postaju inteligentne kad velik
broj njihovih neurona radi zajedno → pojedinačni neuron ili mali skup neurona nisu
naročito korisni
• Kao što se može vidjeti na sljedećoj slici, modeli strojnog učenja imali su broj veza po
neuronu koji je desetljećima bio unutar reda veličine čak i mozgova sisavaca
• Što se tiče ukupnog broja neurona, neuronske mreže su donedavno bile zapanjujuće
male, kao što je prikazano na sljedećoj slici
• Od uvođenja skrivenih jedinica umjetne neuronske mreže udvostručile su se otprilike
svake 2.4 godine
• Ovaj rast potiču brža računala s većom memorijom i dostupnost većih skupova
podataka
• Veće mreže mogu postići veću točnost na složenijim zadatcima
• Čini se da će se ovaj trend nastaviti desetljećima
• Osim ako nove tehnologije ne dopuste brže skaliranje, umjetne neuronske mreže
neće imati isti broj neurona kao ljudski mozak barem do 2050-ih
• Biološki neuroni mogu predstavljati kompliciranije funkcije od sadašnjih umjetnih
neurona, tako da biološke neuronske mreže mogu biti čak i veće nego što ovaj prikaz
ilustrira
Povećanje točnosti
• Slično tome, najranije mreže mogle su prepoznati samo dvije vrste objekata (ili u
nekim slučajevima, odsutnost ili prisutnost jedne vrste objekta), dok suvremene
mreže obično prepoznaju najmanje 1000 različitih kategorija objekata
• Najveće natjecanje u prepoznavanju objekata je već spomenuto godišnje natjecanje
„ImageNet Large Scale Visual Recognition Challenge (ILSVRC)”
• Dramatičan trenutak u meteorskom usponu dubokog učenja dogodio se 2012. kad je
konvolucijska mreža po prvi put pobijedila na ovom natjecanju i to s velikom
razlikom, snizivši state-of-the-art top-5 stopu pogrešaka (engl. top-5 error rate) s
26.1% na 15.3% → ovo znači da konvolucijska mreža proizvodi rangirani popis
mogućih kategorija za svaku sliku, a točna kategorija pojavila se u prvih pet unosa
ovog popisa za sve osim za 15.3% testnih primjera
• Ova konvolucijska mreža poznata je pod imenom AlexNet, a razvili su je Krizhevsky,
Sutskever i Hinton
Povećanje točnosti
Povećanje kompleksnosti
Povećanje kompleksnosti
• Ovaj trend sve veće kompleksnosti doveo je 2014. do uvođenja neuronskih Turingovih
strojeva koji uče čitati iz memorijskih stanica te pišu proizvoljan sadržaj u memorijske
stanice
• Ovakve neuronske mreže mogu naučiti jednostavne programe iz primjera željenog
ponašanja
• Na primjer, mogu naučiti sortirati popise brojeva ako im se da primjere nesortiranih i
sortiranih nizova
Širenje primjena
• Mnoge od ovih primjena dubokog učenja vrlo su isplative → duboko učenje sada
koriste mnoge vrhunske tehnološke tvrtke, uključujući Google, Microsoft, Facebook,
IBM, Apple, Adobe, Netflix, NVIDIA, i brojne druge
Širenje primjena
Širenje primjena
Zaključak
• Zaključno, duboko učenje pristup je strojnom učenju koji se uvelike oslanjao na naše
znanje o ljudskom mozgu, statistici i primijenjenoj matematici kako se razvijao u
posljednjih nekoliko desetljeća
• Posljednjih godina bilježi ogroman rast popularnosti i korisnosti, velikim dijelom
zahvaljujući snažnijim računalima, većim skupovima podataka i tehnikama za
treniranje dubljih mreža
• Godine koje su pred nama pune su izazova i prilika da se duboko učenje dodatno
poboljša i dovede do novih granica
Vaša pitanja?
Uvod
• Svaki novi model CPU-a ima različite performanse, tako da ponekad implementacije s
pomičnim zarezom mogu biti i brže
• Važno je načelo da pažljiva specijalizacija numeričkih računalnih rutina može donijeti
veliku dobrobit
• Druge strategije, osim odabira hoće li se koristiti fiksni ili pomični zarez, uključuju
optimizaciju struktura podataka kako bi se izbjeglo promašaje predmemorije te
korištenje vektorskih instrukcija
• Mnogi istraživači strojnog učenja zanemaruju ove detalje implementacije, ali kada
izvedba implementacije ograničava veličinu modela, točnost modela trpi
GPU implementacije
GPU implementacije
GPU implementacije
• Zajedno, ovo rezultira time da su grafičke kartice dizajnirane da imaju visok stupanj
paralelizma i visoku propusnost memorije, po cijenu niže brzine takta i manje
mogućnosti grananja u odnosu na tradicionalne CPU procesore
GPU implementacije
GPU implementacije
GPU implementacije
• GPU hardver je izvorno bio toliko specijaliziran da se mogao koristiti samo za grafičke
zadatke
• S vremenom je GPU hardver postao fleksibilniji → mogućnost korištenja za
znanstveno računalstvo
• Steinkrau i sur. su 2005. implementirali dvoslojnu potpuno povezanu neuronsku
mrežu na GPU-u te time postigli trostruko ubrzanje u odnosu na osnovni model
implementiran na CPU-u
• Chellapilla i sur. su 2006. pokazali da se ista tehnika može koristiti za ubrzavanje
nadziranih konvolucijskih mreža
GPU implementacije
GPU implementacije
GPU implementacije
Kompresija modela
Dinamička struktura
Računalni vid
Računalni vid
Predobrada podataka
Predobrada podataka
Predobrada podataka
Predobrada podataka
Predobrada podataka
Predobrada podataka
• Jedan od najočitijih izvora varijacija koji se može sigurno ukloniti za mnoge zadatke je
količina kontrasta na slici
• Kontrast se odnosi na veličinu razlike između svijetlih i tamnih piksela na slici
• Postoji mnogo načina kvantificiranja kontrasta slike → u kontekstu dubokog učenja,
kontrast se obično odnosi na standardnu devijaciju piksela na slici ili području slike
Predobrada podataka
Prepoznavanje govora
Prepoznavanje govora
Prepoznavanje govora
Prepoznavanje govora
• Jedna od tih inovacija bila je upotreba konvolucijskih mreža koje repliciraju težine
kroz vrijeme i frekvenciju, poboljšavajući se u odnosu na ranije neuronske mreže s
vremenskom odgodom koje su replicirale težine samo kroz vrijeme
• Novi dvodimenzionalni konvolucijski modeli ne smatraju ulazni spektrogram jednim
dugim vektorom već slikom, pri čemu jedna os odgovara vremenu, a druga frekvenciji
spektralnih komponenti
Sustavi za preporuku
Sustavi za preporuku
Sustavi za preporuku
• Često se ovaj problem povezivanja rješava kao problem nadziranog učenja: s obzirom
na neke informacije o artiklu i korisniku, predvidite akciju od interesa (korisnik klikne
na oglas, korisnik unese ocjenu, korisnik klikne na gumb „sviđa mi se”, korisnik kupuje
proizvod, korisnik troši određeni iznos novca na proizvod, korisnik provodi vrijeme
posjećujući stranicu za proizvod, itd.)
• To često završi kao problem regresije (predviđanje neke uvjetne očekivane
vrijednosti) ili problem vjerojatnosne klasifikacije (predviđanje uvjetne vjerojatnosti
nekog diskretnog događaja)
Vaša pitanja?
Uvod
Definicija učenja
Algoritmi učenja
Paradigme učenja
• Ulaz u neuron 𝑘 je vektor signala (engl. signal vector) 𝐱(𝑛) koji je dobiven iz jednog ili
više slojeva skrivenih neurona, a pri čemu su skriveni neuroni pobuđeni ulaznim
vektorom (engl. input vector) primijenjenim na izvorne čvorove (tj. ulazni sloj)
neuronske mreže
• Argument 𝑛 označava diskretno vrijeme, tj. vremenski korak iterativnog procesa
podešavanja sinaptičkih veza neurona 𝑘
• Izlazni signal (engl. output signal), tj. dobiveni odziv neurona 𝑘, označen je sa 𝑦𝑘 (𝑛)
• Ovaj izlazni signal, koji predstavlja jedini izlaz mreže, uspoređuje se sa željenim
(ciljanim) odzivom (engl. desired (target) response) neurona 𝑘 koji je označen sa
𝑑𝑘 (𝑛)
• Ulazni vektor 𝐱(𝑛) i željeni odziv 𝑑𝑘 (𝑛) predstavljaju jedan primjer koji je
predstavljen mreži u trenutku 𝑛
Funkcija pogreške
Funkcija pogreške
• Najčešće se koristi srednja kvadratna pogreška (engl. mean squared error, MSE) kao
funkcija pogreške:
Funkcija pogreške
• Nakon izračuna promjene težine Δ𝑤𝑘𝑗 (𝑛), ažurirana vrijednost težine 𝑤𝑘𝑗 određuje
se kao:
𝑤𝑘𝑗 𝑛 + 1 = 𝑤𝑘𝑗 𝑛 + Δ𝑤𝑘𝑗 (𝑛)
• Odabir konstante 𝜼 ima snažan utjecaj na točnost i druge aspekte procesa učenja
• Konstanta 𝜂 mora se stoga pažljivo odabrati:
– Mali 𝜼 daje stabilnost, ali je učenje sporo
– Veliki 𝜼 ubrzava učenje, ali donosi rizik nestabilnosti
Ploha pogreške
Ploha pogreške
Hebbovo učenje
• Zbog problema zasićenja težine 𝑤𝑘𝑗 predložene su modifikacije koje ograničavaju rast
težine 𝑤𝑘𝑗
• Ovaj cilj može se postići npr. uvođenjem nelinearnog faktora zaboravljanja (Kohonen,
1988.):
Δ𝑤𝑘𝑗 𝑛 = 𝜂 𝑦𝑘 𝑛 𝑥𝑗 𝑛 − 𝛼 𝑦𝑘 𝑛 𝑤𝑘𝑗 𝑛
• gdje je 𝛼 pozitivna konstanta
• Kod generaliziranog Hebbovog pravila svi ulazi koji imaju iznos 𝑥𝑗 (𝑛) < 𝑤𝑘𝑗 (𝑛)/𝑐
uzrokuju smanjenje težine 𝑤𝑘𝑗
• S druge strane, ulazi za koje vrijedi 𝑥𝑗 𝑛 > 𝑤𝑘𝑗 (𝑛)/𝑐 povećavaju težinu 𝑤𝑘𝑗
Kompetitivno učenje
Kompetitivno učenje
Kompetitivno učenje
• Kroz ovaj proces kompetitivnog učenja pojedini neuroni mreže preuzimaju ulogu
detektora značajki za različite klase ulaznih obrazaca
• Dok u Hebbovom učenju nekoliko izlaznih neurona neuronske mreže može biti
aktivno istovremeno, u kompetitivnom učenju samo je jedan izlazni neuron ili jedan
izlazni neuron po skupini aktivan u bilo kojem trenutku
• Upravo ova karakteristika kompetitivnog učenja čini ga vrlo prikladnim za otkrivanje
statistički istaknutih značajki koje se mogu koristiti za klasificiranje skupa ulaznih
obrazaca
Kompetitivno učenje
Kompetitivno učenje
• Ovo pravilo učenja ima efekt pomicanja vektora težine 𝐰𝑗 pobjedničkog neurona 𝑗
prema ulaznom vektoru 𝐱
• Pretpostavimo da svaki ulazni vektor ima normu (duljinu) jednaku 1 tako da se može
prikazati kao točka na N-dimenzionalnoj jediničnoj sferi
• Isto tako pretpostavimo da vektori težina imaju normu jednaku 1 tako da se mogu
prikazati kao točke na istoj N-dimenzionalnoj sferi
• U procesu treniranja ulazni vektori dovode se na ulaz mreže i težina pobjedničkog
neurona mijenja se u skladu sa zakonom učenja
• Proces treniranja može se prikazati kao kretanje križića po jediničnoj sferi:
Boltzmannovo učenje
Problem nagrađivanja
• Glavna karakteristika učenja pod nadzorom (engl. supervised learning) ili učenja s
učiteljem (engl. learning with a teacher) je prisutnost vanjskog učitelja
• Učitelj ima znanje o okolini u obliku primjera, tj. parova ulaz-izlaz
• Međutim, okolina je nepoznata neuronskoj mreži
• I učitelj i neuronska mreža su izloženi vektoru za treniranje (tj. ulaznom primjeru)
izvučenom iz iste okoline
• Na temelju ugrađenog znanja učitelj može dati neuronskoj mreži željeni odziv za taj
ulazni vektor → željeni odziv predstavlja „optimalnu” radnju koju treba izvesti
neuronska mreža
• Pogreška je razlika između željenog i dobivenog odziva mreže za neki ulazni vektor
• Parametri mreže mijenjaju se pod utjecajem ulaznih vektora i signala pogreške
• Proces se iterativno ponavlja sve dok mreža ne nauči imitirati učitelja
• Na taj se način znanje o okolini koje je dostupno učitelju prenosi u neuronsku mrežu
kroz treniranje i pohranjuje u obliku „fiksnih” sinaptičkih težina
• Nakon što je učenje završilo, učitelj više nije potreban i mreža može raditi bez
nadzora
• Oblik upravo opisanog učenja pod nadzorom je već obrađeno učenje korekcijom
pogreške
• Funkcija pogreške može biti srednja kvadratna pogreška u ovisnosti od slobodnih
parametara mreže
• Funkcija pogreške može se promatrati kao višedimenzionalna ploha pogreške (engl.
error surface)
• Bilo koja konfiguracija mreže definirana je parametrima i njoj je pridružena točka na
plohi pogreške
• Iterativni proces učenja sastoji se od pomicanja točke prema dolje niz plohu
pogreške, tj. prema globalnom minimumu funkcije pogreške
• Točka na plohi pogreške kreće se prema minimumu na temelju znanja o gradijentu
(zapravo ocjene gradijenta)
• Gradijent u nekoj točki plohe je vektor koji pokazuje smjer najbržeg spusta
• Nedostatak učenja pod nadzorom je da bez učitelja mreža ne može naučiti nove
strategije koje nisu pokrivene primjerima koji su korišteni za učenje
• Učenje pod nadzorom može se izvoditi u off-line ili on-line načinu rada
• U off-line načinu učenja:
– Sustav prvo uči
– Kad je učenje gotovo, konfiguracija sustava više se ne mijenja i mreža zatim radi na statički način (bez
promjena)
• U on-line načinu učenja:
– Sustav za vrijeme rada uči i mijenja svoju konfiguraciju u skladu s novim znanjem
– Učenje se odvija u stvarnom vremenu, odnosno mreža je dinamička
• U učenju pod nadzorom (učenju s učiteljem) proces učenja odvija se pod nadzorom
učitelja
• Međutim, u paradigmi poznatoj kao učenje bez učitelja (engl. learning without a
teacher), kao što naziv implicira, ne postoji učitelj koji bi nadgledao proces učenja
• Drugim riječima, nema označenih primjera funkcije koju mreža treba naučiti
• Paradigma učenja bez učitelja obuhvaća dvije potkategorije:
– Učenje podrškom
– Učenje bez nadzora
Učenje podrškom
• Učenje podrškom ili ojačano (podržano) učenje (engl. reinforcement learning) je on-
line karaktera
• Uči se ulazno-izlazno preslikavanje kroz proces pokušaja i pogrešaka gdje se
maksimizira indeks kojim se mjeri kvaliteta učenja
• Učenje podrškom rješava problem učenja pod nadzorom:
– Da bez učitelja mreža ne može naučiti nove strategije koje nisu pokrivene primjerima koji su korišteni za
učenje
Učenje podrškom
• Kod učenja podrškom ne postoji učitelj koji određuje kolika je pogreška za određeni
par ulaz-izlaz, nego učitelj (sudac) samo kaže koliko je određeni korak u učenju dobar
(daje ocjenu ili podršku)
• Ocjena je skalarna vrijednost
• Kod učenja podrškom funkcija pogreške nije poznata
• Sustav za učenje mora sam ustanoviti „smjer” gibanja kroz prostor učenja metodom
pokušaja i pogrešaka (nije poznata informacija o gradijentu kao kod učenja pod
nadzorom)
Thorndikeov zakon
• Thorndikeov zakon (engl. Thorndike’s law of effect) definira princip učenja podrškom:
• Ako akcije sustava za učenje izazivaju pozitivni efekt, tada je veća vjerojatnost da će sustav i ubuduće
poduzimati iste akcije
• Inače se vjerojatnost da sustav poduzme te akcije smanjuje
• Kod učenja bez nadzora (engl. unsupervised learning) ili samoorganiziranog učenja
(engl. self-organized learning) nema vanjskog učitelja koji upravlja procesom učenja
niti suca koji taj proces nadgleda
• Koristi se mjera kvalitete znanja kojeg mreža mora naučiti i slobodni parametri mreže
se optimiziraju s obzirom na tu mjeru
• Pritom je mjera neovisna o zadatku
• Za određenu mjeru neovisnu o zadatku, nakon što se mreža prilagodi statističkim
pravilnostima ulaznih podataka, mreža razvija sposobnost formiranja internih
reprezentacija za kodiranje značajki ulaza te time automatski stvara nove klase
Vaša pitanja?