Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Uvod u machine i deep learning

Uvod u machine i deep learning

Veštačka inteligencija - Uvod u machine i deep learning

Nemanja Avramović

March 08, 2018
Tweet

Other Decks in Programming

Transcript

  1. VEŠTAČKA INTELIGENCIJA NIJE svesna svog okruženja vidi ljude kao pretnju

    ima pristup gotovo svim mašinama na zemlji ...bar ne još uvek !
  2. ŠTA JE INTELIGENCIJA? Inteligencija ili intelekt (lat. intellectus) je mentalna

    osobina koja se sastoji od više sposobnosti: učenje iz iskustva, adaptiranje na nove situacije, shvatanje i razumevanje novih situacija i korišćenja stečenog znanja u interakciji sa okruženjem. sauce: Wikipedia
  3. ŠTA JE VEŠTAČKA INTELIGENCIJA? Veštačka inteligencija (AI) je podoblast računarstva

    čiji je cilj razvijanje softvera koji će računarima omogućiti da se ponašaju na način koji bi se mogao okarakterisati inteligentnim. sauce: Wikipedia Prva istraživanja se vezuju za same korene računarstva, 1950ih godina.
  4. WEIGHTS svakoj figuri dodeljujemo određenu "težinu" zbir težina svih "živih"

    figura predstavlja jačinu igrača u svakom momentu
  5. AGRESIVNA IGRA proverava promenu ukupne težine za svaki mogući potez

    konstantno napada nema pojma o čemu se radi
  6. ANALITIČKA IGRA proverava promenu ukupne težine za svaki mogući potez

    proverava promenu ukupne težine za N poteza unapred taktizira počinje da "shvata" o čemu se radi
  7. ŠTA JE MACHINE LEARNING? sauce: Wikipedia Machine learning je podoblast

    veštačke inteligencije čiji je cilj konstruisanje algoritama i računarskih sistema koji su sposobni da se adaptiraju na analogne nove situacije i uče na bazi iskustva.
  8. KLASIČNO PROGRAMIRANJE VS MACHINE LEARNING dizajn neuronske mreže feature extraction

    treniranje neuronske mreže razlaganje kompleksnog problema na više manjih celina rešavanje svake celine ponaosob pisanje kôda Klasično programiranje Machine learning
  9. PODSETNIK: LOGIČKA KOLA bulova algebra (tautologija): T i osnovna kola:

    AND, OR i NOT kombinacijom mogu da se kreiraju ostala logička kola kao što su NAND, NOR, XOR, XNOR hardverska i softverska implementacija AND U U I 1 1 1 1 0 0 0 1 0 0 0 0 OR U U I 1 1 1 1 0 1 0 1 1 0 0 0 NOT U I 1 0 0 1 T
  10. PERCEPTRON napredno logičko kolo veštački neuron radi sa binarnim vrednostima

    može imati više ulaza ima samo jedan izlaz softverska implementacija ...
  11. PERCEPTRON napredno logičko kolo veštački neuron radi sa binarnim vrednostima

    može imati više ulaza ima samo jedan izlaz softverska implementacija ... Da li Nemanja ide na team-building? 3 2 2 4 Da li ima ko da čuva Luku? Da li će biti lepo vreme? Da li sam završio posao? 1 - da 0 - ne
  12. PERCEPTRON napredno logičko kolo veštački neuron radi sa binarnim vrednostima

    može imati više ulaza ima samo jedan izlaz softverska implementacija ... Da li Nemanja ide na team-building? 3 2 2 Da li ima ko da čuva Luku? Da li će biti lepo vreme? Da li sam završio posao? 1 - da 0 - ne 5
  13. PERCEPTRON ... Da li Nemanja ide na team-building? 3 2

    2 Da li ima ko da čuva Luku? Da li će biti lepo vreme? Da li sam završio posao? 1 - da 0 - ne 5 svi ulazi imaju svoju težinu threshold je granica ispod koje perceptron ne reaguje bias = 1/threshold
  14. NEURONSKA MREŽA (ANN) mreža veštačkih perceptrona raspoređeni u slojeve svi

    perceptroni su međusobno povezani sa perceptronima iz obližnjeg sloja input, output i hidden layer
  15. PROBLEM LANČANE REAKCIJE menjanje thresholda jednog perceptrona drastično utiče na

    celu mrežu to može u potpunosti poremetiti rad mreže
  16. SIGMOID FUNKCIJA za sve negativne vrednosti daje vrednost ≈ 0

    za sve pozitivne vrednosti daje vrednost ≈ 1 za nulu daje vrednost = 0.5
  17. PERCEPTRON ⏧NEURON neuron koristi aktivacionu funkciju možemo precizno konfigurisati neurone

    bias umesto thresholda uticaj promena na mrežu neznatan, ali ipak postoji ... y = sig((w1*i1 + w2*i2 + ... + wN*iN) + bias) i1 i2 iN w1 w2 wN bias y
  18. DIZAJN NEURONSKE MREŽE broj ulaznih neurona jednak je broju relevantnih

    ulaznih informacija broj izlaza jednak je broju potrebnih izlaza broj i veličina hidden layera = ?
  19. FEATURE EXTRACTION Feature extraction (izdvajanje karakteristika) predstavlja svaki algoritam koji

    transformiše sirove podatke u vrednosti ulaznog sloja neuronske mreže.
  20. TRENIRANJE NEURONSKE MREŽE Reinforced learning ima za cilj da pronađe

    najbolji način da, kroz više iteracija, na osnovu ulaznih podataka dođe do željenog izlaza tako što će najbolji rezultati biti nagrađeni. Primer: automatsko igranje kompjuterskih igara. Supervised learning ima za cilj da pronađe korelacije između ulaznih i izlaznih trening podataka, kako bi kasnije mogao da "predvidi" izlazne podatke na osnovu nekih novih ulaznih podataka. Primer: predviđanje cena na osnovu različitih parametara. Unsupervised learning ima za cilj da klasifikuje podatke; tj. da pronađe šablone u grupama podataka (redukcija dimenzije). Imamo ulazne trening podatke ali ne i (grupisane/označene) izlazne podatke. Često se koristi kao feature extraction za supervised deep learning. Primer: related videos na YT.
  21. EVOLUTIVNA NEURONSKA MREŽA 10 ptica, svaka sa svojom neuronskom mrežom

    svi weights & biases su inicijalno random postavljeni kada sve ptice poginu kreira se nova generacija znanje se prenosi kroz generacije (reinforced learning)
  22. EVOLUCIJA PTICA četiri najbolje ptice se plasiraju u sledeću generaciju

    kreiramo jednu pticu kao potomka dve najbolje kreiramo tri ptice kao potomke dve random izabrane od najbolje četiri kreiramo dve ptice kao klonove dve random izabrane od najbolje četiri primenimo malu mutaciju na sve potomke
  23. DEEP LEARNING Deep learning je podoblast machine learninga čiji je

    cilj omogućavanje učenja iz ogromnog seta podataka korišćenjem većih mreža sa više neurona i hidden layera. sauce: Investopedia Razvoj hardvera poslednjih godina je omasovio deep learning i doveo ga i u naše domove.
  24. KAKO ZNAMO KOJI JE BROJ? } } 28px 28px različite

    slike imaju iste brojeve napisane drugačije svaka slika "aktivira" različite piksele praktično neograničen broj varijacija
  25. KAKO ZNAMO KOJI JE BROJ? } } 28px 28px različite

    slike imaju iste brojeve napisane drugačije svaka slika "aktivira" različite piksele praktično neograničen broj varijacija
  26. KAKO ZNAMO KOJI JE BROJ? } } 28px 28px različite

    slike imaju iste brojeve napisane drugačije svaka slika "aktivira" različite piksele praktično neograničen broj varijacija
  27. KAKO ZNAMO KOJI JE BROJ? } } 28px 28px različite

    slike imaju iste brojeve napisane drugačije svaka slika "aktivira" različite piksele praktično neograničen broj varijacija
  28. PODSETNIK: RGB VS GRAYSCALE SLIKE R G B 81 51

    59 Y 61 1 byte = 8 bita = 28 = 256 = [0-255] RGB = 3 bytes/pixel Grayscale = 1 byte/pixel
  29. DIZAJN NEURONSKE MREŽE broj ulaznih neurona: 
 28x28 = 784

    broj izlaznih neurona:
 10 [0-9] broj hidden layera/neurona:
 2x16 [?] ukupno neurona:
 768+16+16+10 = 804 broj sinapsi:
 784x16+16x16+16x10 = 12,960
  30. TRENIRANJE NEURONSKE MREŽE ... Piksel 1 Piksel 2 Piksel 3

    Piksel 4 Piksel 5 Piksel 6 Piksel 7 Piksel 8 Piksel 9 Piksel 10 Piksel 11 Piksel 12 Piksel 13 Piksel 14 Piksel 15 Piksel 16 Piksel 17 Piksel 18 ... Piksel 784 1 2 3 4 5 6 7 8 9 0
  31. TRENIRANJE NEURONSKE MREŽE ... Piksel 1 Piksel 2 Piksel 3

    Piksel 4 Piksel 5 Piksel 6 Piksel 7 Piksel 8 Piksel 9 Piksel 10 Piksel 11 Piksel 12 Piksel 13 Piksel 14 Piksel 15 Piksel 16 Piksel 17 Piksel 18 ... Piksel 784 1 2 3 4 5 6 7 8 9 0
  32. TRENIRANJE NEURONSKE MREŽE ... Piksel 1 Piksel 2 Piksel 3

    Piksel 4 Piksel 5 Piksel 6 Piksel 7 Piksel 8 Piksel 9 Piksel 10 Piksel 11 Piksel 12 Piksel 13 Piksel 14 Piksel 15 Piksel 16 Piksel 17 Piksel 18 ... Piksel 784 1 2 3 4 5 6 7 8 9 0
  33. TRENIRANJE NEURONSKE MREŽE ... Piksel 1 Piksel 2 Piksel 3

    Piksel 4 Piksel 5 Piksel 6 Piksel 7 Piksel 8 Piksel 9 Piksel 10 Piksel 11 Piksel 12 Piksel 13 Piksel 14 Piksel 15 Piksel 16 Piksel 17 Piksel 18 ... Piksel 784 1 2 3 4 5 6 7 8 9 0
  34. TRENIRANJE NEURONSKE MREŽE ... Piksel 1 Piksel 2 Piksel 3

    Piksel 4 Piksel 5 Piksel 6 Piksel 7 Piksel 8 Piksel 9 Piksel 10 Piksel 11 Piksel 12 Piksel 13 Piksel 14 Piksel 15 Piksel 16 Piksel 17 Piksel 18 ... Piksel 784 1 2 3 4 5 6 7 8 9 0
  35. TRENIRANJE NEURONSKE MREŽE ... Piksel 1 Piksel 2 Piksel 3

    Piksel 4 Piksel 5 Piksel 6 Piksel 7 Piksel 8 Piksel 9 Piksel 10 Piksel 11 Piksel 12 Piksel 13 Piksel 14 Piksel 15 Piksel 16 Piksel 17 Piksel 18 ... Piksel 784 1 2 3 4 5 6 7 8 9 0
  36. KADA KORISTITI MACHINE / DEEP LEARNING? ML ne može rešiti

    svaki vaš problem Jako dobro za rešavanje nelinearnih problema i obradu analognih podataka (speech & image recognition, NLP) Ne morate "izmišljati toplu vodu" - postoje već gotove biblioteke za većinu jezika, čak i za JavaScript # Postoje i već istrenirani modeli za prepoznavanje objekata, OCR, NLP i slično Ako hoćete da radite bilo šta ozbiljno koristite Python i Tensorflow biblioteku