1 / 35

Invatare automata

Invatare automata. Universitatea Politehnica Bucuresti Anul universitar 2008-2009 Adina Magda Florea http://turing.cs.pub.ro/inva_09 si curs.cs.pub.ro. Curs Nr. 7. Re ţ ele neurale Retele perceptron Re ţ ele backpropagation. 2. 1. Re ţ ele Perceptron.

salene
Télécharger la présentation

Invatare automata

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Invatare automata Universitatea Politehnica BucurestiAnul universitar 2008-2009 Adina Magda Florea http://turing.cs.pub.ro/inva_09 si curs.cs.pub.ro

  2. Curs Nr. 7 Reţele neurale • Retele perceptron • Reţele backpropagation 2

  3. 1. Reţele Perceptron • Rosenblatt [1962] – perceptron "clasic" • Model actualizat de Minsky si Papert • Intr. binare sau continue • Exemple la intrari xs1,…xsN, s=1,M • Iesiri ys = +1/0 (se poate si +1/-1) • ds – iesiri dorite (ds = ys ?) pt s = 1,M 3

  4. Perceptron = Unitate computationala cu valoare de prag  care • pentru intrari x1,..xn si ponderi w1…wn produce la iesire +1 daca • i=1,N wixi   si 0 (sau -1) in caz contrar • Separa spatiul intrarilor in 2 zone: pct pt care rezultatul este 1 si pct • pt care rezultatul este 0

  5. x1 1 X1 y 0.9  =1 x2 1 = 0 2 X2 Exemplu: perceptron cu 2 intrari reale, iesiri 0/1, f. treapta Exemplu: SAU logic, intrari 0/1, iesiri 0/1, f. treapta

  6. 1.1 Caracteristici • Ponderi: invatate sau calculate • Minsky si Papert [1969] au pus in evidenta limitarile modelului computational al perceptronilor • Functiile calculabile de perceptron – acele functii pentru care punctele cu valoarea functiei 1 (A) pot fi separate de punctele cu valoarea functiei 0 ( B) – liniar separabile 6

  7. Nu orice functie este calculabila de perceptron • De exemplu AND si OR pot fi calculate, dar nu XOR x1=0 x2=0 w1x1+w2x2 = 0 => 0 <  x1=1 x2=0 w1x1+w2x2 = w1 => w1 x1=0 x2=1 w1x1+w2x2 = w2 => w2 x1=1 x2=1 w1x1+w2x2 = w1+w2 => w1+w2< • Cate functii liniar separabile? n=2 14 din 16 n=3 104 din 256 n=4 1882 din 65536 7

  8. Calculul facut de perceptron poate fi vazut ca o separare liniara a spatiului de intrare dar si ca o cautare in spatiul ponderilor • Perceptron cu n intrari – gaseste n+1 parametrii – reprezinta un punct in spatiul cu n+1 dimensiuni al ponderilor • Fiecare punct in spatiul n+1 al ponderilor poate fi asociat cu un hiperplan in spatiul intrarilor de dimensiune n+1 • Dualitate intrari - ponderi

  9. 1.2 Functionare perceptron • 2 etape ale functionarii 9

  10. Algoritmul de invatare al perceptronului 1. Initializeaza ponderile wk si valoarea de deplasare  cu valori aleatoare mici ([-0.1, +0.1] 2. Prezinta cele M exemple. Fie y(0) iesirea perceptronului la momentul de timp 0 • daca toate exemplele sunt clasificate corect (ds=ys) atunci STOP /* perceptronul a invatat */ 4. Actualizeaza ponderile si valoarea de deplasare pentru fiecare exemplu s=1,M repeta 4.1.Calculeaza iesirea perceptronului ys(t) = f(k=0,N wk(t)xsk) 4.2.Corecteaza ponderi la momentul de timp t + 1 wk(t+1) = wk(t) +  (ds – ys) xsk (wk – delta rule) 5. repeta de la 3 sfarsit 10

  11. 1.3 Justificarea actualizarii ponderilor • Functia de eroare – numar de clasificari incorecte obtinute cu un set de ponderi Eroare = ½ i(di-yi)2 • Poate fi interpretata ca o functie de energie E(w)  0 • Dorim un minim global pentru E(w) =0 • Metoda scaderii gradientului: pt a afla un minim local se iau pasi proportionali cu negativul gradientului functiei in punctul curent 11

  12. Justificarea actualizarii ponderilor - cont • Actualizarea ponderilor se bazeaza pe metoda scaderii gradientului: schimbarea fiecarui wk cu o cantitate wkproportionala cu gradientul functiei de energie E (masura a erorii) pentru un anumit punct • wk(t+1) = wk(t) +  (ds – ys) xsk • wk= (ds – ys) xsk =  s xsk • Eroare = ½ i(di-yi)2 12

  13. Justificarea actualizarii ponderilor - cont • Eroare = ½ i(di-yi)2 • Modificare eroare in fct de iesire Eroare/ yi= [1/2 i(di-yi)2]/  yi = [1/2 (di-yi)2]/  yi = - (di-yi) • Modificare eroare in fct de ponderi Eroare/ wk= Eroare/ yi *  yi / wk= - (di-yi) *  yi / wk= - (di-yi) *  (k=0,N wkxk) / wk = - (di-yi) *xk Delta rule la perceptron wk(t+1) = wk(t) + (ds – ys) xsk cu  =1 13

  14. 1.4 Exemple de utilizare • Detectarea laturilor unei imagini cu perceptroni • Edge detection – extragerea laturilor (presupus mai inchise decat fondul) • Fiecare pixel comparat cu vecinii lui – daca este negru si un vecin este alb atunci este clasificat ca apartinand laturii • Vecinatati Moore • Operator de convolutie -1 -1 -1 -1 8 -1 -1 -1 -1 -1 0 1 -1 0 1 -1 0 1 latura verticala intre sup alba stg si neagra dr 14

  15. Exemple de utilizare • Recunoasterea caracterelor • Clasificarea unei litere cu t pixeli negrii •  = t-1 – clasifica T-uri cu 1 pixel gresit (distorsionat) • Se poate ajusta  pt a recunoaste figuri cu 2, 3 .. pixeli distorsionati 15

  16. Exemple de utilizare • Cognitron • Exemplu de "quad-pyramid" – rezolutia este redusa cu un factor de 4 de la plan la plan. • Fiecare pixel dintr-un plan superior este legat la 4 pixeli din unul inferior arhitectura piramidala 16

  17. Exemple de utilizare • Neocognitron 17

  18. Neocognitron • UC0. Planul de intrare este UC0, transformat in 12 imagini US10 ,... US111 cu aceeasi rezolutie • US1i. Operatorul de transformare de la UC0 la US1i are intrari 3 x 3 pixeli din UC0 • Fiecare pixel din US1i are asociat un astfel de operator. • In fiecare plan numai o anumita caracteristica este recunoscuta: US11 – toate laturile verticale din UC0, US12 numai diagonale, etc. 18

  19. Neocognitron • UC1jUrmatorul nivel de prelucrare este format din planele UC1j • Fiecare pixel din UC1j se conecteaza la un pixel din 1 sau 2 plane US1i • Ponderile sunt de excitare si efectul acestui plan este sa suprapuna activarea imaginilor selectate din US1i si sa le estompeze in acelasi timp, prin largirea sablonului. • Acest lucru se realizeaza prin transformarea valorii fiecarui pixel in suma ponderata a valorii lui si a valorilor vecinilor. 19

  20. US2i Pe urmatorul nivel/plan de prelucrare fiecare pixel dintr-un plan US2i se conecteaza la o unitate in aceeasi pozitie din imaginile UC1j. • Pe acest nivel se poate reduce rezolutia imaginilor, ca in arhitecturile piramidale. • Se alterneaza astfel nivelurile US si UC pana ce UC4 clasifica in clase 0, . . . , 9 • Toleranta la deplasari si rotiri: UC estompeaza imaginea si US extrage caracteristici specifice. 20

  21. 2. Retele backpropagation • Perceptronii multi-nivel sau retele backpropagation • Sunt retele neuronale cu activare directa care contin unul sau mai multe straturi de noduri intre nodurile de intrare si nodurile de iesire. • Aceste straturi suplimentare reprezinta nivelele ascunse ale perceptronilor multinivel. 21

  22. Perceptroni multi-nivel cu doua niveluri si un strat ascuns

  23. 2.1 Caracteristici • 2 etape ale functionarii • functii sigmoid • intrari binare sau reale in intervalul [0, 1] sau [-1, +1] 24

  24. Tipurile regiunilor de decizie formate de un perceptron multinivel

  25. 2.2 Functionare • Algoritmul de invatare al retelelor backpropagation este format din doi pasi principali: (a) o parcurgere directa a retelei, de la intrari la iesiri, in care se activeaza reteaua si se determina valorile iesirilor (b) o parcurgere inapoi a retelei, de la iesiri la intrari, in care iesirile calculate se compara cu iesirile din exemple si se determina o estimare a erorii; aceasta estimare a erorii este propagata inapoi si utilizata la actualizarea ponderilor. • epoca 26

  26. Functionare - cont Notatii algoritm • este factorul de scalare care reprezinta viteza de invatare • reprezinta valorile iesirilor din exemple, cate o secventa pentru fiecare exemplu • reprezinta estimarea erorilor la nivelul stratului de iesire • reprezinta estimarea erorilor la nivelul stratului ascuns. 27

  27. Algoritmul de invatare backpropagation 1.Initializeaza ponderile si valorile de deplasare cu valori aleatoare mici inintervalul [-0.1, 0.1] 2. pentru fiecare exemplu executa 2.1. Calculeaza iesirea retelei 2.2.Calculeaza erorile la nivelul stratului de iesire j=1,C 28

  28. Algoritmul de invatare backpropagation - cont 2.3.Calculeaza erorile la nivelul stratului ascuns 2.4. Modifica ponderile 3.repeta pasul 2 de cite ori se doreste sfarsit 29

  29. 2.3 Observatii • Generalizare la retele backpropagation cu mai mult de doua niveluri • Viteza de invatare  • termen moment 30

  30. Observatii - cont • Actualizarea ponderilor se face tot cf. metodei scaderii gradientului - functie de eroare care depinde de diferenta intre iesirea dorita si iesirea curenta a retelei pentru a scadea gradientul. • Un algoritm backpropagation poate ajunge sa calculeze un set de ponderi care nu rezolva problema • Fenomenul de overfitting • Nr de ponderi care se invata / nr. de ponderi care influenteaza o iesire particulara < nr. de exemple • Impartirea exemplelor de invatare in doua multimi • Optimal brain damage • Tiling 31

  31. x1 1 = 0.5 1 1 y 1 -2 1 = 1.5 x2 2.4 Exemple retele backpropagation • SAU EXCLUSIV – intrari 0, 1, f. limitator SI logic 32

  32. y0 ymax y1 0.5 0.5 1 1 0.5 0.5 1 1 -1 -1 x0 x1 = 0 pt toti Retea care selecteaza maximum a doua intrari reale - f3(t) = t - f2(t) = t daca t  0 -t daca t < 0 - f1 functie de transfer treapta 33

  33. Exemple retele backpropagation - cont • Parabola: invata sa coreleze viteza initiala de lansare a unui proiectil si pozitia tintei cu unghiul corect de lansare • OCR: invata sa recunosca digiti • Functie: invata o functie pe baza unei multimi de puncte 34

  34. Backpropagation applets • http://www.sund.de/netze/applets/BPN/bpn2/ochre.html • http://www.eee.metu.edu.tr/~halici/courses/543java/NNOC/Backpropagation.html 35

More Related