Universitatea Politehnica Bucuresti Anul universitar

Slides:



Advertisements
Similar presentations
Adobe photoshop.  De multe ori ne facem fotografii si unele nu le facem publice pentru ca ori am avut un cos in acel moment sau un alt aspect negativ.
Advertisements

Noua generaţie de clienţi. Noua generaţie de clienţi este aici.
2009 Pag Pag. 2 Agenda 1.Obiectivul proiectului 2.Parteneri 3.Autentificare versus identificare 4.Schema generala 5.Probleme de rezolvat / rezolvate.
Retele cu functii de baza radiale (retele RBF)
Batalia sexelor O lume dominata de barbati vs o lume dominata de femei.
1 const #define DIMENSIUNE 1000 const int DIMENSIUNE = 1000; Utilizarea valorilor constante este importantă, de exemplu, în declararea tablourilor de date.
Present Perfect Continuous prezentare. schema Afirmativ: S + have/has + been + V-ing… Negativ: S + have/has + not + been + V-ing… Interogativ: have/has.
Bazele retelelor TCP/IP
-Modelul Entitate-Legatura (ER)-
Februarie 2018 ASE Bucuresti
ACTIVITATEA 1 -,, PROFESOR IT LA PAPI’’
Subinterogări multiple
Subinterogari.
Oracle Academy Lead Adjunct
Prof. Elena Răducanu, Colegiul Naţional Bănăţean,Timişoara
CUPRINS Tastatura Imprimanta Scanner Bibliografie Recapitulare.
Funcţii Excel definite de utilizator (FDU) în VBA
Instrumente CASE Curs nr. 7.
Căutarea şi regăsirea informaţiei.
Windows Movie Maker.
Dispozitive de stocare
Inteligenta Artificiala
Inteligenta Artificiala
Despre Topologie Ciprian Manolescu UCLA
Căutarea şi regăsirea informaţiei.
Paxos Made Simple Autor: Puşcaş Radu George
sau ecuaţiile diferenţiale ale mişcării unui SPM
Gestionarea datelor stiintifice
CURSUL 4 ECONOMETRIE TESTUL HI PATRAT.
Retele de calculatoare
Sistemul de salarizare pentru funcţionarii publici şi cele mai recente tendinţe ale reformei Germania.
Reflexia luminii.
METODA BACKTRACKING Examenul de bacalaureat 2012
Amplificatoare operationale Functia de transfer Laplace
Cursul 3 Cautare peste siruri problema cautarea naiva
Algoritmi de combatere a congestiei
Generarea modelelor fractale
CONVERSII INTRE SISTEME DE NUMERATIE
Funcţii Hash 1. Puţină teorie... 
WebSite Social Tema 2 WebSite Social.
Problema rucsacului lacom
Tipuri structurate Tipul tablou
SUBNETAREA.
Universitatea Politehnica Bucuresti Anul universitar
Inteligenta Artificiala
Sisteme de programe pentru timp real
Algoritm de crawling optimizat pe similaritate în documente HTML
Formatarea paragrafului
Curs 6 Analize parametrice.
Funcții C/C++ continuare
TEMA 3 TRANZISTORUL BIPOLAR
Canalul Forth and Clyde, care leaga Glasgow-ul de coasta vestica, a fost construit in 1777 intre portul Grangemouth si Falkirk. Intre Falkirk si Edinburgh.
original creator: unknown
Algoritmul lui Kruskal
Biletul la ordin internațional – explicații
INTERNET SERVICII INTERNET.
Inteligenta Artificiala
Eclipsele de soare si de luna
Forms (Formulare).
A great way to create a channel of communication
SUBSTANTE PURE SI AMESTECURI DE SUBSTANTE
Functia de documentare
Sisteme de programe pentru timp real
Programarea in limbajul Java 2004 Lecturer: Gavrila Cristian
Software open source in industria software
PARE IMPOSIBIL! GENERALUL DWIGHT D. EISENHOWER A AVUT
Student:Dvornic Mihaela Grupa:342 C5
Harti de imagini, Cadre, Stiluri
Despre lamaie.net De ce sunt lamaile acre? Realizatori: Cristina Cazan
Tabele WEB.
Presentation transcript:

Universitatea Politehnica Bucuresti Anul universitar 2008-2009 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 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

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

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

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

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

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

1.2 Functionare perceptron 2 etape ale functionarii 9

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

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

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

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

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 0 1 latura verticala intre sup alba stg si neagra dr 14

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

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

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

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

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

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

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

Perceptroni multi-nivel cu doua niveluri si un strat ascuns

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

Tipurile regiunilor de decizie formate de un perceptron multinivel

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

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

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

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

2.3 Observatii Generalizare la retele backpropagation cu mai mult de doua niveluri Viteza de invatare  termen moment  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 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

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

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

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

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