HercegBosna.org

HercegBosna.org

Forum Hrvata BiH
 
Sada je: 18 tra 2024, 13:48.

Vremenska zona: UTC + 01:00




Započni novu temu Odgovori  [ 55 post(ov)a ] 
Autor/ica Poruka
 Naslov: Re: Neuralne mreže - Dublje tehnikalije oko umjetne inteligencije (AI)
PostPostano: 09 stu 2019, 22:08 
Offline
Avatar

Pridružen/a: 03 svi 2009, 16:49
Postovi: 30403
BBC je napisao/la:
Leonardo Da Vinci je napisao/la:

Točno, u gruboj slici su informacije uništene i nepovratno izgubljene. Matematički je nemoguće iz 1 piksela dobiti 4.
ALI... Ne zaboravi da neuralnoj mreži nije gruba slika jedini input.
Ona ima i prethodno iskustvo gledanja ogromnog broja slika, i može probati pogoditi, ili zamisliti što ima najveću vjerojatnost da tamo bude.


Ma znam. Ali tu se ipak radi o osobnim i unikatnim crtama lica. Kako to pogoditi iz ničega. Ili ipak ima nešto što nam ne kažu do kraja.


Moguće da ima i malo marketinga, predstave najbolje primjere a ne spominju puno ostale.

_________________
Ukidanjem BiH štedimo 50 milijardi KM. Neka razum prevlada.

804 of 2558 - 31.43%

Sarajevo, generalno sarajevska kotlina je rasadnik zla i mržnje. Frustrirana, napaćena i bahata sredina.


Vrh
   
 
 Naslov: Re: Neuralne mreže - Dublje tehnikalije oko umjetne inteligencije (AI)
PostPostano: 09 stu 2019, 22:12 
Offline
Avatar

Pridružen/a: 05 lis 2010, 11:48
Postovi: 109215
Lokacija: Županija Herceg-Bosna
Strah me ovoga. Čim troše silan novac na ovo neko planira imati (ilegalnu) databazu svih lica na ovoj planeti.

_________________
Spetsnaz, a force for good.


Vrh
   
 
 Naslov: Re: Neuralne mreže - Dublje tehnikalije oko umjetne inteligencije (AI)
PostPostano: 09 stu 2019, 22:13 
Offline

Pridružen/a: 03 ruj 2009, 00:51
Postovi: 804
BBC je napisao/la:
Leonardo Da Vinci je napisao/la:

Točno, u gruboj slici su informacije uništene i nepovratno izgubljene. Matematički je nemoguće iz 1 piksela dobiti 4.
ALI... Ne zaboravi da neuralnoj mreži nije gruba slika jedini input.
Ona ima i prethodno iskustvo gledanja ogromnog broja slika, i može probati pogoditi, ili zamisliti što ima najveću vjerojatnost da tamo bude.


Ma znam. Ali tu se ipak radi o osobnim i unikatnim crtama lica. Kako to pogoditi iz ničega. Ili ipak ima nešto što nam ne kažu do kraja. To je moguće samo ako je AI sam napravio pixelated slike. Ako mu ih ja napravim sa image tool nepoznatog izvora nema ni 2% šanse da povrati originalno lice, ni blizu.


Pa evo za one gore primjere lica, čini se da su vijesti to malo krivo i tendenciozno prikazale. Pogledaj moj zadnji post o licima, ovaj najimpresivniji primjer izoštravanja koji izgleda nemoguć.

Prvo, lica su izgleda ograničili na celebritije, vjerojatno dosta ogranicen set, ne znam koliko, recimo 100 celebrities.
Čini se da onda mreža jednostavno prvo pogađa iz grube slike koji celebriti je u pitanju, i onda kad pogodi, ima puno više informacija o izgledu, u biti zna točno kako osoba izgleda, samo ne zna kako je na toj slici točna ekspresija lica te osobe. Vjerojatno je dovoljno piksela da pogodi da se osoba npr. smije i otprilike koliko je otvorila usta (jako otvorena usta = vise bjeline i svjetla zbog zubi). Detaljnu ekspresiju emocija (npr. tocan nacin na koji su otvorena usta) otprilike pogodi, a crte lica lako nadopuni jer je već pogodila koja je osoba u pitanju.

Kod nepoznate osobe ovo ne bi radilo, ali bi i dalje moglo mutnije slike jako fino izoštravati kao kod te gore ptice, ali uz opasnost da nekad napravi lice koje i nije baš jako slično originalu.


Vrh
   
 
 Naslov: Re: Neuralne mreže - Dublje tehnikalije oko umjetne inteligencije (AI)
PostPostano: 09 stu 2019, 22:20 
Offline
Avatar

Pridružen/a: 05 lis 2010, 11:48
Postovi: 109215
Lokacija: Županija Herceg-Bosna
Ptica je moguća i realna. Pitam se samo zašto Adobe ne otkupi taj code.
Neki fazoni tu su varanje ljudskog oka i mozga. Oni već znaju kako se mozak zavara. Govorio sam kako Netflix vara ljude sa 720px vertical resolution. Još malo dodatnih finesa i mozak prevare da je to real 1080p HD.

U stvari ne ide uvijek kako neki zamišljaju. ne "stavi tu to i to umjesto pixels koji fale" već "stavi tu ovo sranje jer znamo da mozak to ne primjeti".

_________________
Spetsnaz, a force for good.


Vrh
   
 
 Naslov: Re: Neuralne mreže - Dublje tehnikalije oko umjetne inteligencije (AI)
PostPostano: 09 stu 2019, 22:21 
Offline

Pridružen/a: 03 ruj 2009, 00:51
Postovi: 804
Naša Kvačica je napisao/la:
BBC je napisao/la:

Ma znam. Ali tu se ipak radi o osobnim i unikatnim crtama lica. Kako to pogoditi iz ničega. Ili ipak ima nešto što nam ne kažu do kraja.


Moguće da ima i malo marketinga, predstave najbolje primjere a ne spominju puno ostale.


A naravno. Neće staviti primjer gdje ti je neuralna mreža dodala nogu nasred glave :zubati , jer se algoritam zaglavio kod nekog parametra. :zubati


Vrh
   
 
 Naslov: Re: Neuralne mreže - Dublje tehnikalije oko umjetne inteligencije (AI)
PostPostano: 09 stu 2019, 22:44 
Offline

Pridružen/a: 03 ruj 2009, 00:51
Postovi: 804
Inače, temu sam otvorio prigodno, jer baš večeras završavam prvi kurs iz neuralnih mreža na Coursera, 4-tjedni kurs, u Pythonu.

Oko 10 sati videa predavanja, 4 kviza za razumijevanje gradiva, i 4 praktična programerska zadatka za domaći rad koji se ocjenjuju (uz dosta hintova, što pomaže). Prvi zadatak je klasika, prepoznavanje mačke, korištenjem najjednostavnije moguće mreže sa samo jednim neuronom. Točnost samo 70%. Drugi zadatak je neuralna mreža s puno više neurona (dva sloja), koja radi neku kategorizaciju. Veceras cu zgotovit zadnju zadacu, "duboka mreža" s puno vise slojeva neurona.

Ne koriste se nikakvi packages osim osnovnih matematickih i slicno. Fora je da baš sam praviš svoju mrežu, from the scratch, da razumiješ strukturu mreže i baš sam implementiraš to. Preduvjet je samo dobro znanje matematike matrica i vektora, i naravno osnove programiranja u Pythonu, nije bog zna što teško.

Budem jos dva kursa zavrsio iz iste specijalizacije, jer su dosta kratki, jedan 3-tjedni i jedan 2-tjedni, koji se bave nekim specificnijim metodama unutar NN.

Eto neka imam i taj skill.


Vrh
   
 
 Naslov: Re: Neuralne mreže - Dublje tehnikalije oko umjetne inteligencije (AI)
PostPostano: 10 stu 2019, 10:08 
Offline

Pridružen/a: 09 vel 2014, 19:07
Postovi: 3022
Koliko si platio tecaj?


Vrh
   
 
 Naslov: Re: Neuralne mreže - Dublje tehnikalije oko umjetne inteligencije (AI)
PostPostano: 10 stu 2019, 10:31 
Offline

Pridružen/a: 03 ruj 2009, 00:51
Postovi: 804
useless je napisao/la:
Koliko si platio tecaj?


Znaci, pretplatis se na Deep Learning Specialization, unutar kojeg se nalazi 5-6 kurseva iz neuralih mreza. Svaki kurs preporuceno traje izmedju 2 i 4 tjedna (prvi kurs u nizu je 4 tjedna, i on je najvazniji, ostali kursevi su kraci i idu u detalje nekih specijalnih metoda), ali dozvoljavaju ti polažeš brže (sva predavanja su otključana) ili da ideš sporije (neogranicen broj puta možeš odgodit rok za predaju zadaće koja je neki progamerski zadatak). Ocjenjivanje je automatsko. Program ocjenjuju tako da testiraju tvoj program na 20-ak mjesta i vide je li izbacuje numericki tocne rezultate.

Pretplata da ti se otključa ova specijalizacija je 50 dolara mjesecno, pa koliko god tebi treba da to zavrsis jedan ili više od 5 kurseva iz Deep Learning specijalizacije....

Predavač je Andrew Ng, https://en.wikipedia.org/wiki/Andrew_Ng , poznati computer scientist i statističar, profesor na Stanfordu i co-funder firme Google Brain.

E sad, mislim da su neki kursevi i besplatni u smislu gledanja videa, ali mislim da onda nemaš pristup zadaćama i ne ispravljaju ti to, a što mislim da je jako korisno, jedno je gledati videa, a drugo je imati još i praksu. Teško je zapamtiti procedure i dubinski ih shvatiti, bez prakse. Ako ne platis ne dobijes ni certifikat, sto je meni osobno nebitno (mala je sansa da ce ga od mene netko traziti, pored drugih stvari koje imam), zanima me samo znanje i da dobijem malo prakse.


Vrh
   
 
 Naslov: Re: Neuralne mreže - Dublje tehnikalije oko umjetne inteligencije (AI)
PostPostano: 13 stu 2019, 11:48 
Offline

Pridružen/a: 03 ruj 2009, 00:51
Postovi: 804
Tijekom prvog kursa, prošao sam kroz ovaj progres programa za prepoznavanje mački :zubati (a bilo je još par drugih klasifikacijskih programa)

-najprimitivnija mreza s jednim neuronom (ekvivalentno logistickoj regresiji) - griješi u 32% slučajeva u procjeni na kojoj slici je macka a na kojoj nije
-mreza sa 2 sloja: griješi 28% vremena, malo poboljšanje
-mreza sa 4 sloja: griješi 20% vremena, to je vec dosta bolje, ipak daleko od savršenstva

I tu prvi kurs završava. Poceo sam s drugim kursom, gdje se vjezba baratanje s nekim parametrima da se napravi još bolja mreža za prepoznavanje. Vidjet ćemo dokle ti trikovi mogu dogurati, no pretpostavljam ne puno više od 85% točnosti (15% netočnost). Za dosta veću točnost trebat će vjerojatno daleko veći training data set. Trenutno se mreža uči na samo 200 slika, to je mala brojka, i nema smisla previše povećavati mrežu na tako malom training dataset. Bio bi impresioniran da ikad doguram do 90% točnosti, vjerojatno će sve teže i teže biti napraviti poboljšanja, kako se približava ka 100%.


Vrh
   
 
 Naslov: Re: Neuralne mreže - Dublje tehnikalije oko umjetne inteligencije (AI)
PostPostano: 13 stu 2019, 11:50 
Offline
Avatar

Pridružen/a: 03 svi 2009, 16:49
Postovi: 30403
S jednim neuronom i nije mreža?

Što je unutar neurona, možeš li podijeliti kod?

_________________
Ukidanjem BiH štedimo 50 milijardi KM. Neka razum prevlada.

804 of 2558 - 31.43%

Sarajevo, generalno sarajevska kotlina je rasadnik zla i mržnje. Frustrirana, napaćena i bahata sredina.


Vrh
   
 
 Naslov: Re: Neuralne mreže - Dublje tehnikalije oko umjetne inteligencije (AI)
PostPostano: 13 stu 2019, 12:27 
Offline

Pridružen/a: 03 ruj 2009, 00:51
Postovi: 804
Naša Kvačica je napisao/la:
S jednim neuronom i nije mreža?

Što je unutar neurona, možeš li podijeliti kod?


Jedan neuron je formalno mreža, i tada se model svodi na "logističku regresiju".

Detaljniji pseudokod za jedan neuron otprilike ovako:

slika

Loadaš sliku mačke. Svaki piksel sadrži tri broja, koji definiraju točnu boju (omjer crveno,zeleno,plavo). Slika je matrica takvih trojki. Zatim matricu spljoštiš tako da sve piksele poredaš u jedan 1D niz, i to posebno za sve tri boje. To je njihova metoda, mada meni iskreno ovo spljoštavanje matrice nema smisla jer se gubi korisna informacija o obliku, dva piksela koja su na slici bila blizu jedan drugog zvršavaju na udaljenim dijelovima tog dugog 1D lanca, ali eto čak i s time valjda radi, valjda mreža sama skuži periodičnost odnosno koliko je piksela slika duga i široka. Jednostavni model je takav da ga moraš feedati sa 1D vektorom kao inputom, vjerojatno postoje i kompliciranije verzije inputa.

Znači, sliku mačke si pretvorio u jedan jako dugi vektor, to je na gornjoj slici lijevi stupac krugova X...
Neuron je ovaj usamljeni krug desno. Neuron sadrži prazni vektor W i još jednu dodatnu praznu varijablu b. Vektor W je jako veliki, preko 12 000 nepoznatih elemenata ima.
W i b se prvo inicinaliziraju na male random brojeve.
Ono što neuron radi je da uzima input vektor X, i radi nad njime prvo linearnu matričnu operaciju (WX+b) i zatim još primjenjuje nelinearnu funkciju koja ukupni rezultat spljošti na interval [0,1]. Ako je bliže 1, to znači da neuralna mreža misli da je mačka, ako je bliže 0, to znači da misli da nije.
Kod treniranja mreže, petlja pokušava mijenjati W i b tako da se predviđanje mreže što bolje poklapa sa stvarnim podatkom je li na slici mačka ili nije, i to na velikom broju primjera slika (ne samo jednoj slici). Neka vrsta regresije ili optimizacije W i b na čitavom training setu. Uvede se cost function koja penalizira loše predviđanje.
Za optimizaciju se koristi klasična metoda gradient decent (derivacija funkcije nekog višedimenzionalnog brda ukazuje na najbolji smjer spuštanja niz dolinu i traženja minimuma cost funkcije).

Na kraju kada se optimiziraju vektor W i parametar b na tom jednom neuronu, kaže se da je mreža naučila. I možeš probavati kako radi na novim, dodatnim slikama.

Kod pravih mreža s puno neurona, svaki neuron ima svoj W i b, "learning" ovdje znaci napor da se ti parametri pronađu tako da se maksimalizira točnost predviđanja. Imaš prvi sloj od većeg broja neurona koji obrađuje input vektor. Zatim taj sloj neurona predstavlja input za slijedeći sloj neurona. I tako dalje sve dok se ne dođe do zadnjeg sloja gdje mreža ispljune svoje predviđanje.
Ukupan broj nepoznatih parametara je stotine tisuća ili skoro milijun, čak i kod ovog najjednostavnijeg primjera prepoznavanja mačke.

Sto se tice pravog koda, on je online na njihovoj virtualnoj mašini, nisam ga downloadao, ali ću morati. Sastoji se od puno komada, visoko je moduliziran i oni (Coursera) diktiraju strukturu, prvo pišeš sve moguće pomoćne funkcije. Pa ih onda slažeš. Ekstremno efikasan kod, čak mi je dobar i kao primjer kako visoko efikasno i organizirano struktuirati program, neki moji programi su malo messy.
Kod je 70% već njihov, napisan, recimo sva loadanja biblioteka, oni diktiraju redoslijed funkcija, sve deklaracije varijabli, osnovni oblik for petlji, tako da svi učenici imaju kod koji više manje isto izgleda i da se može automatski, strojno ocijeniti. Ti ubacuješ oko 30% koda koji je najviše tehnički i koji se odnosi na samu metodu i razumijevanje metode. Daju puno hintova u smislu da prije svake funkcije te podsjete na jednadžbe koje moraš implementirati, a koje si vidio u videu.


Vrh
   
 
 Naslov: Re: Neuralne mreže - Dublje tehnikalije oko umjetne inteligencije (AI)
PostPostano: 13 stu 2019, 12:38 
Offline

Pridružen/a: 03 ruj 2009, 00:51
Postovi: 804
Kad budem imao vremena, budem probao neke stvari koji me zanimaju, recimo kako prepoznaje slike na kojima se vidi samo pola mačke.

Koliki udio prepoznavanja se svodi na traženje para dva tamna kruga (oči). Uši? I što ako na slici zatamnim oba oka jednim pravokutnikom.

I koliko boja utječe na prepoznavanje. Da otprilike vidim što je mreža pronašla kao najjače i najkorisnije patterns.


Vrh
   
 
 Naslov: Re: Neuralne mreže - Dublje tehnikalije oko umjetne inteligencije (AI)
PostPostano: 13 stu 2019, 12:44 
Offline

Pridružen/a: 03 ruj 2009, 00:51
Postovi: 804
Ovako strukturno izgleda mreža s više slojeva.

slika

Svaki neuron u sebi sadrži veliki broj parametara, i na training setu se ti parametri podešavaju.


Vrh
   
 
 Naslov: Re: Neuralne mreže - Dublje tehnikalije oko umjetne inteligencije (AI)
PostPostano: 13 stu 2019, 13:23 
Offline

Pridružen/a: 09 vel 2014, 19:07
Postovi: 3022
Koliko sam ja skuzio iz ovog tvog upisa ti si samo pripremio input (razdvojio sliku u tri 1d matrice za R,G i B vrijednosti). Dalje je sve islo u vec isprogramiranu i utreniranu mrezu?

Mislim da je ljudima tesko skuzit sta neuron radi. Kad si podjelio sliku u 1d matrice sta se dalje radi sa njima.


Vrh
   
 
 Naslov: Re: Neuralne mreže - Dublje tehnikalije oko umjetne inteligencije (AI)
PostPostano: 13 stu 2019, 13:47 
Offline

Pridružen/a: 03 ruj 2009, 00:51
Postovi: 804
useless je napisao/la:
Koliko sam ja skuzio iz ovog tvog upisa ti si samo pripremio input (razdvojio sliku u tri 1d matrice za R,G i B vrijednosti). Dalje je sve islo u vec isprogramiranu i utreniranu mrezu?


Naravno da ne. To onda nije programiranje nego korištenje softvera :zubati , i ne bi se zvalo programming assignment.

Oni ti daju strukturu, diktiraju koje funkcije žele da napišeš.

Prvo traže da napišeš funkciju initialize() za inicijalizaciju mreže. Kad si gotov, na test primjeru se funkcija provjeri da radi.
Onda ideš na slijedeću funkciju, funkciju za linearni matrični dio. Pa funkciju za nelinearni. To se skupa stavi u funkciju za forward propagation. Funkciju za cost function. Funkciju za backward propagation. Funkciju za update of parameters, nakon što backward propagation predloži koliko parametre treba promijeniti. Svaka pojedina funkcija sastavnica testira i tu dobijaš bodove ako radi. Na kraju se sve te funkcije sastave zajedno u loop u konačni glavni program.

Za najjednostavniji slučaj mreže sa 1 neuronom, neke funkcije se mogu zajedno zalijepiti u jednu, i onda ih na kraju samo poslažeš u petlju i dobiješ program.

Recimo, ovako izgleda funkcija za propagaciju kod slučaja samo s jednim neuronom. Kod je Python.
Daju ti instrukcije, i kažu kako žele da se koja varijabla zove
Implement the cost function and its gradient for the propagation explained above
Arguments:
w -- weights, a numpy array of size (num_px * num_px * 3, 1)
b -- bias, a scalar
X -- data of size (num_px * num_px * 3, number of examples)
Y -- true "label" vector (containing 0 if non-cat, 1 if cat) of size (1, number of examples)

Return:
cost -- negative log-likelihood cost for logistic regression
dw -- gradient of the loss with respect to w, thus same shape as w
db -- gradient of the loss with respect to b, thus same shape as b



I onda daju da tijelo funkcije popuniš kodom. Crveno je njihov kod, zeleno se očekuje od tebe da popuniš.

def propagate(w, b, X, Y):


m = X.shape[1]


# FORWARD PROPAGATION (FROM X TO COST)
### START CODE HERE ### (≈ 2 lines of code)
A = None
cost = None
### END CODE HERE ###


# BACKWARD PROPAGATION (TO FIND GRAD)
### START CODE HERE ### (≈ 2 lines of code)
dw = None
db = None
### END CODE HERE ###


grads = {"dw": dw,
"db": db}

return grads, cost



Recimo ovdje ti moraš napisati kod
A=sigmoid(np.dot(np.transpose(W),x)+b) - ovdje je sigmoid() neka funkcija koju su ranije napisao.
cost=1/m * np.sum (Y, np.log(A)) + 1/m * np.sum(1-Y, np.log(1-A))
dw=1/m * np.dot (X, np.transpose(A-Y))
db=1/m * np.sum(A-Y)

gdje ove formule dolaze iz teorije koju naučiš u videima.

I tako za razne funkcije koje odrađuju dio posla, oni daju praznu ljušturu a ti ju popunjavaš sadržajem. I onda na kraju sve te funkcije moraš modularno složiti u algoritam cijele mreže, ali taj konačni program nije velik, samo pozivaš ove funkcije koje si napisao.
Oni te usmjeravaju i dijele posao kojeg moraš napraviti na veliki broj manjih koraka, i svaki put testiraju korak da ti potvrde da radiš točno, ali imaš hands on experience pisanja više manje cijelog koda mreže.


Ovako tipično funkcioniraju programming assignments koji se strojno ocjenjuju.


Vrh
   
 
 Naslov: Re: Neuralne mreže - Dublje tehnikalije oko umjetne inteligencije (AI)
PostPostano: 13 stu 2019, 14:09 
Offline

Pridružen/a: 09 vel 2014, 19:07
Postovi: 3022
Evo citam ponovno. Znaci sve se svodi na to da vektor koji si napravio mnozis sa velikim vektorom random brojeva, rezultat toga je novi vektor. Kako si iz njega dobio jednu vrijednost?


Vrh
   
 
 Naslov: Re: Neuralne mreže - Dublje tehnikalije oko umjetne inteligencije (AI)
PostPostano: 13 stu 2019, 14:14 
Offline

Pridružen/a: 03 ruj 2009, 00:51
Postovi: 804
useless je napisao/la:
Evo citam ponovno. Znaci sve se svodi na to da vektor koji si napravio mnozis sa velikim vektorom random brojeva, rezultat toga je novi vektor. Kako si iz njega dobio jednu vrijednost?


Vektor x vektor nije vektor, to je dot product, dobiješ broj.

column vector x row vector = jedan broj (skalar)

Za dot product vektora A i B imas np.dot(A,B) iz biblioteke Numpy.


Vrh
   
 
 Naslov: Re: Neuralne mreže - Dublje tehnikalije oko umjetne inteligencije (AI)
PostPostano: 13 stu 2019, 14:21 
Offline

Pridružen/a: 09 vel 2014, 19:07
Postovi: 3022
Ok vidim sad u kodu da je dot product transponirane w i normalne x...na kraju to zavrsi jednim brojem.

A jesi vidio ikakva zanimljiva predavanja s konvolucijskim neuralnim mrezama? One se zapravo sada koriste za prepoznavanje objekata na slikama. I rade na principu da slika prolazi kroz razne filtere i prepoznaju se rubovi objekata.


Vrh
   
 
 Naslov: Re: Neuralne mreže - Dublje tehnikalije oko umjetne inteligencije (AI)
PostPostano: 13 stu 2019, 14:37 
Offline

Pridružen/a: 03 ruj 2009, 00:51
Postovi: 804
useless je napisao/la:
Ok vidim sad u kodu da je dot product transponirane w i normalne x...na kraju to zavrsi jednim brojem.

A jesi vidio ikakva zanimljiva predavanja s konvolucijskim neuralnim mrezama? One se zapravo sada koriste za prepoznavanje objekata na slikama. I rade na principu da slika prolazi kroz razne filtere i prepoznaju se rubovi objekata.


Ne znam ništa o konvolucijskim. Ne još.
Ali one su mi 4. kurs po redu u specijalizaciji (specijalizacija je modul od nekoliko povezanih kurseva, koje bi trebao kronološki polagati).

Ovo su kursevi modula Deep Learning Specialization

1. Neural Networks and Deep Learning (položio, ovaj je očito najteži jer sve ti izgleda novo, sama težina kursa je naznačena kao Intermediate)
2. Improving Deep Neural Networks: Hyperparameter tuning, Regularization and Optimization (počeo slušati, oznacen kao Beginner level, osjećaj je daleko lakši, teorija je lagana, više prakse. Ovdje pretpostavljam da ću modificirati kod za mreže koji sam napisao u prvom kursu.)
3. Structuring Machine Learning Projects (Beginner level)
4. Convolutional Neural Networks (ovo tebe zanima? Intermediate level)
5. Sequence Models (Intermediate)

Mislim da ću proći sve, mada možda ne odmah. Htio sam bar prva tri.

Nije toliko teško položiti, više manje ti sve objasne i kažu što točno trebaš napraviti, ali na kraju ipak imaš hands on experience pisanja koda za mrežu i puno bolje razumiješ što mreža radi nego samo nakon gledanja videa. Nakon par programming assignments imaš poslije osjećaj da bi skoro mogao sve sam napraviti from the scratch. Naravno, u praksi ljudi odu na Github i skinu nečiji gotov kod i to im je početna pozicija, ali da bi taj kod mogao prepravljati i prilagođavati situacijama i projektima koje tebi trebaju, moraš naravno detaljno razumjeti svaku liniju koda i poantu cijelog algoritma mreže.

Kad tek počneš gledati videe, sve ti je novo, ne znaš ni koje slovo označava koju varijablu, i ništa ne možeš zapamtiti. A ni ne trebaš, to polako dolazi.
Nakon što sam položio prvi kurs, i nakon što su me natjerali da prođem 4 kviza i 4 programerska zadatka, znam točno kako algoritam mreže ide i sve formule mi sada izgledaju poznato. 4 programerska zadatka su slična jedan drugome, više manje ponavljaš četiri puta isti algoritam, samo u kompliciranijim uvjetima, na kraju taj algoritam baš dobro zapamtiš. Ponavljanje je majka znanja.

Ovo su odlično pedagoški napisali, Andrew Ng je vrhuski, vodi te korak po korak, tako da veliki broj ljudi može proći kurs ali na kraju imaš osjećaj da dovoljno znaš da kreneš u neki vlastiti projekt. Ne treba PhD za ovo, da bi koristio.
Konkretko 1. kurs je položilo 63 000 ljudi iz cijelog svijeta, 2. kurs 39 000, 3. kurs 32 000, 4. kurs 26 000, 5. kurs 17 000. Opada, ko gledanost epizoda serije. :zubati


Vrh
   
 
 Naslov: Re: Neuralne mreže - Dublje tehnikalije oko umjetne inteligencije (AI)
PostPostano: 13 stu 2019, 15:03 
Offline

Pridružen/a: 03 ruj 2009, 00:51
Postovi: 804
useless je napisao/la:
Mislim da je ljudima tesko skuzit sta neuron radi. Kad si podjelio sliku u 1d matrice sta se dalje radi sa njima.


Jedan neuron uzima inpute, računa nešto, dobije jedan broj i onda taj broj šalje kao input drugim neuronima. Sam neuron je opisan sa puno karakteristika (parametara), i svaki neuron se onda ciljano polagano mijenja, dok ih se ne optimizira da maksimalno dobro pomažu mreži u prepoznavanju slike. Kad je optimizacija gotova, izgled mreže se sejva i mreža se više ne mijenja, i to ti je mreža koja može služiti kao software za prepoznavanje nečega.

Evo maksimalno jednostavno objašnjenje pitanja "kako mreža uči".

slika

slika

Na prvoj slici je 2D linearna regresija.
Na drugoj slici je 3D nelinearna regresija.

Mreža je 10000000 D nelinearna regresija, ali sa određenom strukturom linkova između raznih dimenzija.
Ukratko, neuralna mreža je fancy oblik nelinearne regresije na bolesno velikom broju varijabli, može biti milijun varijabli ili milijarde, ako si Google onda trilijuni. Nama smrtnicima su dostupni modeli sa milijun varijabli, s našim kompjuterima.

Recimo da je svaka slika mačke jedna točka u 100 000-dimenzionalnom koordinatnom sustavu (gdje su osi x1, x2, x3, x4, ....x100000).

Ispada da sve te točke, su otprilike posložene na nekom obliku, recimo zmiji koja leluja kroz taj visoko dimenzionalni prostor. Da bi se oblik zmije opisao treba možda 10 000 000 parametara, više nego što je i samih dimenzija (i polinom u 2D koordinatnom sustavu nema samo 2 parametra, nego može imati koliko hoćeš parametara). Slika koja ne pada blizu te zmije, mreža ju okarakterizira da nije mačka. Mreža optimizacijom parametara W i b pokušava pronaću tu logiku i fittati neku zakrivljenu plohu koja povezuje sve te točke. Mreža efektivno pokušava shvatiti što je to zajedničko svim slikama mačke, prilagođava se dok ne nabasa na neka pravila koja rade.


Vrh
   
 
 Naslov: Re: Neuralne mreže - Dublje tehnikalije oko umjetne inteligencije (AI)
PostPostano: 13 stu 2019, 18:32 
Offline

Pridružen/a: 03 ruj 2009, 00:51
Postovi: 804
Jedan detalj.

Nije na temi spomenut pojam machine learning.

Za 90% vremena kad to čujete, Machine learning = sinonim za neuralne mreže.

ML je malo širi pojam, i obuhvaća osim NN i neke druge algoritme, kao npr. genetske/evolucijske algoritme i još par metoda, ali većinu vremena se koristi kao sinonim za NN.

Machine learning, neural networks, deep learning, AI... to je sve rebrandiranje i dodatni nazivi za istu stvar izmišljeni da zvuči sexy.

Naravno područje se i dalje razvija teoretski, imaju neki nedavni teorijski breakthroughs, primjene se sada rapidno šire tamo gdje prije (zbog slabih kompjutera) nije bilo moguće, to nije sporno, ali je osnovna ideja stara 50 godina.


Vrh
   
 
 Naslov: Re: Neuralne mreže - Dublje tehnikalije oko umjetne inteligencije (AI)
PostPostano: 15 stu 2019, 10:44 
Offline

Pridružen/a: 09 vel 2014, 19:07
Postovi: 3022
Oćeš radit kakav svoj projekt? Mislim da su konvolucijske mreže dosta zanimljiviji dio jer su posebno namjenjene prepoznavanju slika. Meni je uvik bila privlačna ideja prepoznavanja biljaka, bolesti na njima, korova i slično. Robot poljoprivrednik.


Vrh
   
 
 Naslov: Re: Neuralne mreže - Dublje tehnikalije oko umjetne inteligencije (AI)
PostPostano: 15 stu 2019, 11:24 
Offline
Avatar

Pridružen/a: 03 svi 2009, 14:45
Postovi: 32122
useless je napisao/la:
Oćeš radit kakav svoj projekt? Mislim da su konvolucijske mreže dosta zanimljiviji dio jer su posebno namjenjene prepoznavanju slika. Meni je uvik bila privlačna ideja prepoznavanja biljaka, bolesti na njima, korova i slično. Robot poljoprivrednik.


Google ima zanimljivu app..
https://lens.google.com/


Citat:
Identify plants and animals
Find out what plant is in your friend's apartment, or what kind of dog you saw in the park.


Vrh
   
 
 Naslov: Re: Neuralne mreže - Dublje tehnikalije oko umjetne inteligencije (AI)
PostPostano: 15 stu 2019, 11:28 
Offline

Pridružen/a: 09 vel 2014, 19:07
Postovi: 3022
Markane, google ima sve živo ali ako se vežeš za njih nikad ne znaš kad će ti počet naplaćivat usluge. Svakom njihovu sustavu pristupaš preko nekog programerskog sučelja, a to oni mogu monetizirati kad ima padne napamet. A i clj je možda više da se nešto nauči.


Vrh
   
 
 Naslov: Re: Neuralne mreže - Dublje tehnikalije oko umjetne inteligencije (AI)
PostPostano: 15 stu 2019, 11:55 
Offline
Avatar

Pridružen/a: 03 svi 2009, 14:45
Postovi: 32122
useless je napisao/la:
Markane, google ima sve živo ali ako se vežeš za njih nikad ne znaš kad će ti počet naplaćivat usluge. Svakom njihovu sustavu pristupaš preko nekog programerskog sučelja, a to oni mogu monetizirati kad ima padne napamet. A i clj je možda više da se nešto nauči.


Vezao sam se na tvoju ideju o prepoznavanju biljaka. U svakom slučaju, bez gogleta je teško naći toliku bazu biljaka i sl.


Vrh
   
 
Prikaži postove “stare”:  Redanje  
Započni novu temu Odgovori  [ 55 post(ov)a ]  Stranica Prethodna  1, 2, 3  Sljedeća

Vremenska zona: UTC + 01:00


Online

Trenutno korisnika/ca: / i 27 gostiju.


Ne možeš započinjati nove teme.
Ne možeš odgovarati na postove.
Ne možeš uređivati svoje postove.
Ne možeš izbrisati svoje postove.
Ne možeš postati privitke.

Forum(o)Bir:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Facebook 2011 By Damien Keitel
Template made by DEVPPL - HR (CRO) by Ančica Sečan
phpBB SEO