Presentation is loading. Please wait.

Presentation is loading. Please wait.

Universitatea Politehnica Bucuresti Anul universitar

Similar presentations


Presentation on theme: "Universitatea Politehnica Bucuresti Anul universitar"— Presentation transcript:

1 Universitatea Politehnica Bucuresti Anul universitar 2008-2009
Invatare automata Universitatea Politehnica Bucuresti Anul universitar Adina Magda Florea 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 Exemplu: perceptron cu 2 intrari reale, iesiri 0/1, f. treapta
0.9 2  =1 Exemplu: SAU logic, intrari 0/1, iesiri 0/1, f. treapta x1 1 x2 = 0 y

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 <  x1=1 x2=0 w1x1+w2x2 = w => w1   x1=0 x2=1 w1x1+w2x2 = w => 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= 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 wk proportionala 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 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 Celulele retinei sunt conectate in asa fel incat fiecare nerv care vine de la ochi la creier codifica un rezumat al informatiei detectate de mai multi fotoreceptori din retina. La fel ca in cazul operatorului de convolutie, fiecare nerv transmite un semnal care depinde de luminozitatea relativa a unui punct fata de vecinii imediati. 16

17 Exemple de utilizare Neocognitron 17
Recunoasterea cifrelor scrise de mana: gaseste caracteristici distinctive de detaliu cum ar fi linii cu anumita orientare si combina prezenta lor intr-o decizie logica finala. Aceste caracteristici trebuie recunoscute indiferent de pozitia lor. Neocognitronul transforma planul imaginii in alte planuri in care anumite caracteristici au fost accentuate, apoi in alte planuri, s.a.m.d, pana la decizia finala. Rezolutia planurilor poate fi schimbata de la transformare la transformare pana se ajunge la decizia finala pe baza a putine puncte. Planul initia este transformat decizand pt feicare punct daca ramane alb sau negru. Acest lucru poate fi facut prin identificarea sabloanelor pt feicare din cele 3 transformari prin compararea fiecarui pixel cu vecinii lui. Plan 1 – numai linii verticale, 2 numai orizontale, 3 numai diagonale. Ponderile aratate, resul 0 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. Neocognitronul foloseste de fapt unitati liniare de calcul si nu perceptroni. Unitatile calculeaza suma intrari ponderi si aceasta suma este interpretata ca un index de corelare cu sablonul pe care fiecare unitate il identifica. => Sabloane de alb si negru sunt transformate in sabloane cu nuante de gri, in functie de iesirea fiecarei unitati de prelucrare. 18

19 Neocognitron UC1j Urmatorul 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. Neocognitronul foloseste de fapt unitati liniare de calcul si nu perceptroni. Unitatile calculeaza suma intrari ponderi si aceasta suma este interpretata ca un index de corelare cu sablonul pe care fiecare unitate il identifica. => Sabloane de alb si negru sunt transformate in sabloane cu nuante de gri, in functie de iesirea fiecarei unitati de prelucrare. 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. 2121

22

23 Perceptroni multi-nivel cu doua niveluri si un strat ascuns

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

25 Tipurile regiunilor de decizie formate de un perceptron multinivel

26 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 2626

27 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. 2727

28 Algoritmul de invatare backpropagation
1. Initializeaza ponderile si valorile de deplasare cu valori aleatoare mici in intervalul [-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

29 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

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

31 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 Overfitting = incercarea de a utiliza un model statistic cu prea multi parametrii Multi parametrii care se potrivesc bine pe un numar restrans de exemple dar nu generalizeaza bine Optimal brain damage = incepe cu o retea total conectata si elimina pe rand conexiuni – utilizeaza metode din teoria informatiei pt a determina ce conexiuni sa elimine Tiling – incepe cu un singur neuron la iesire – il invat, apoi adaug inca unul etc. 31

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

33 Retea care selecteaza maximum a doua intrari reale y0 ymax y1 1 0.5 -1
= 0 pt toti 0.5 x1 y0 -1 ymax y1 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

34 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

35 Backpropagation applets
35


Download ppt "Universitatea Politehnica Bucuresti Anul universitar"

Similar presentations


Ads by Google