57
Retele neuronale - curs 1 1 Retele neuronale Calcul neuronal (Neural Computing) Calcul evolutiv (Evolutionary Computing) Calcul fuzzy (Fuzzy Computing)

Retele neuronale

  • Upload
    weylin

  • View
    175

  • Download
    7

Embed Size (px)

DESCRIPTION

Retele neuronale. Calcul neuronal (Neural Computing) Calcul evolutiv (Evolutionary Computing) Calcul fuzzy (Fuzzy Computing). Tipuri de probleme. Rezolvarea problemelor dificile. Probleme rau-puse: Dificil de formalizat Se cunosc doar exemple nu si un model general - PowerPoint PPT Presentation

Citation preview

Page 1: Retele neuronale

Retele neuronale - curs 1 1

Retele neuronale

Calcul neuronal (Neural Computing)

Calcul evolutiv (Evolutionary Computing)

Calcul fuzzy (Fuzzy Computing)

Page 2: Retele neuronale

Retele neuronale - curs 1 2

Tipuri de probleme Rezolvarea problemelor dificile

Probleme “bine-puse”:- Exista un model formal

asociat problemei- Exista un algoritm de

rezolvare

Exemplu: clasificarea angajatilor unei companii in doua clase in functie de venitul acestora (venit mai mic respectiv mai mare decat un prag dat)

Probleme rau-puse:- Dificil de formalizat- Se cunosc doar exemple nu

si un model general - Metodele clasice nu pot fi

aplicate

Exemplu: clasificarea angajatilor unei companii in doua clase in functie de credibilitatea privind acordarea unui imprumut bancar

Page 3: Retele neuronale

Retele neuronale - curs 1 3

Tipuri de probleme Probleme bine puse

Algoritm = descriere a metodei

Date de intrare

Rezultat

If venit>1000 then Clasa 1 else Clasa 2

VenitClasa 1 sau Clasa 2

Page 4: Retele neuronale

Retele neuronale - curs 1 4

Tipuri de probleme Probleme rau puse

Sistem adaptiv (incorporeaza un modul de invatare/evolutie)

Date de intrare

Rezultate

Modelul este extras de catre sistemul adaptiv pe baza exemplelor

Venit Clasa 1 sau Clasa 2

Exemple: (900, Clasa1), (500, Clasa 1),(5000,Clasa 2), (1100, Clasa2)

Page 5: Retele neuronale

Retele neuronale - curs 1 5

Tipuri de problemeMetodele de rezolvare a problemelor rau-puse se caracterizeaza

prin:

Abilitatea de a extrage modele din exemple Adaptabilitate la probleme cu caracter dinamic Robustete la erori (zgomot) in datele de intrare Capacitatea de a furniza rezultate intr-un interval rezonabil de

timp (chiar daca rezultatele sunt aproximative – dar acceptabile dpdv practiv)

Domeniul care se ocupa cu dezvoltarea unor astfel de tehnici este denumit “computational intelligence” sau “soft computing”

Page 6: Retele neuronale

Retele neuronale - curs 1 6

Tipuri de problemeComputational Intelligence

“is a branch of the study of artificial intelligence; it aims to use learning, adaptive, or evolutionary algorithms to create programs that are, in some sense, intelligent. “ [Wikipedia]

Terminologie:

Calcul inteligent (?)

Inteligenta computationala (?)

Calcul tolerant (?)

Soft Computing“is a collection of new techniques in

computer science, especially in artificial intelligence; unlike hard computing, it is tolerant of imprecision, uncertainty and partial truth. In effect, the role model for soft computing is the human mind. The guiding principle of soft computing is: exploit the tolerance for imprecision, uncertainty and partial truth to achieve tractability, robustness and low solution cost.” [Wikipedia]

Page 7: Retele neuronale

Retele neuronale - curs 1 7

Scopul cursuluiDirectii

Calcul neuronal

Calcul evolutiv

Calcul fuzzy

Instrumente

Retele neuronale artificiale

Algoritmi evolutivi

Sisteme fuzzy

Sursa de inspiratie

Creierul uman

Evolutia naturala

Rationament uman

si limbaj natural

Page 8: Retele neuronale

Retele neuronale - curs 1 8

Scopul cursuluiCalcul natural = metode de rezolvare a problemelor inspirate de

natura

Calcul neuronal

Calcul evolutiv

Calcul fuzzy

Calcul ADN

Calcul cuantic

Calcul membranar

Page 9: Retele neuronale

Retele neuronale - curs 1 9

Calcul neuronal

Principii de baza

Modelul biologic

Retele neuronale artificiale

Aplicabilitate

Scurt istoric

Page 10: Retele neuronale

Retele neuronale - curs 1 10

Principii de bazaDpdv functional: retea neuronala artificiala = sistem adaptiv

capabil sa furnizeze raspunsuri pentru o problema dupa ce a fost antrenata pentru probleme similare

Data de intrare Raspuns

Exemple

Retea neuronala =Sistem adaptiv (antrenabil)

Page 11: Retele neuronale

Retele neuronale - curs 1 11

Principii de bazaDpdv structural:

Retea neuronala = ansamblu de unitati functionale (neuroni) interconectate

Unitate functionala = model foarte simplificat al neuronului biologic care efectueaza prelucrari simple asupra unor date de intrare

Retea neuronala artificiala = model foarte simplificat la creierului

Page 12: Retele neuronale

Retele neuronale - curs 1 12

Principii de baza Comportarea complexa a unei RN emerge din interactiunea si

aplicarea in paralel a multor reguli simple

Abordarea bottom-up este complementara abordarii top down specifica inteligentei artificiale clasice

Abilitatea de invatare deriva din adaptabilitatea unor parametri asociati unitatilor functionale (acesti parametri sunt ajustati in procesul de invatare)

Prelucrarile sunt preponderent numerice spre deosebire de abordarile din inteligenta artificiala clasica care acopera si sfera simbolica

Page 13: Retele neuronale

Retele neuronale - curs 1 13

Calcul neuronal

Principii de baza

Modelul biologic

Retele neuronale artificiale

Aplicabilitate

Scurt istoric

Page 14: Retele neuronale

Retele neuronale - curs 1 14

Modelul biologicCreier uman

cca 1011 neuroni si 1015 interconexiuni (sinapse)

Page 15: Retele neuronale

Retele neuronale - curs 1 15

Modelul biologicCum “lucreaza un neuron” ? Primeste semnale de intrare prin

dendrite

Semnalele de intrare genereaza diferente de potential pe membrana celulara

Diferenta de potential se propaga pana la conul axonal

De-a lungul axonului este transmis un tren de impulsuri electrice

Impulsurile electrice ajunse la terminatiile axonului provoaca eliberarea unor neurotransmitatori in spatiul sinaptic … transfer de informatie catre dendritele altui neuron

Page 16: Retele neuronale

Retele neuronale - curs 1 16

Modelul biologicCalculator (vonNeumann) Unul sau cateva procesoare de viteza mare (timp raspuns: ns) si cu putere mare de calcul

Una sau cateva magistrale de comunicare de viteza mare

Memorie accesata prin adresa

Componenta ce incorporeaza cunoasterea este separata de cea destinata efectuarii calculelor

Adaptabilitate redusa

Creier uman Un numar mare (1011) de unitati

functionale de viteza relativ mica (ms) cu putere de calcul limitata

Numar foarte mare (1015) de conexiuni de viteza limitata

Memorie cu caracter asociativ

Cunostintele sunt stocate in sinapse

Adaptarea se realizeaza prin modificarea conexiunilor

Page 17: Retele neuronale

Retele neuronale - curs 1 17

Calcul neuronal

Principii de baza

Modelul biologic

Retele neuronale artificiale

Aplicabilitate

Scurt istoric

Page 18: Retele neuronale

Reţele neurale - Introducere(Artificial Neural Networks)

• RN (ANN) - multime de elemente de prelucrare neliniara care opereaza in paralel si care sunt legate intre ele in structuri ce seamana cu retelele neuronale biologice.

• Model inspirat din retelele neuronale din creierul uman.

• retele neurale, modele conexioniste (nume dat mai ales structurilor aparute recent), sisteme neuromorfice, modele de calcul distribuit.

18

Page 19: Retele neuronale

Caracteristici Sunt formate dintr-un numar mare de elemente de

prelucrare simple, identice; din punct de vedere functional aceste elemente sunt asemanatoare neuronilor din creierul uman

Elementele de prelucrare sunt conectate prin legaturi; fiecare legatura are asociata o pondere ce codifica cunostintele retelei neuronale

Controlul functionarii este paralel si distribuit

Sunt capabile sa invete prin modificarea automata a ponderilor; pot realiza deci achizitia automata a cunostintelor.

19

Page 20: Retele neuronale

De ce ANN? Capacitate de invatare si adaptare din exemple

Auto-organizare: o RN poate sa-si creeze propria organizare sau reprezentare a informatiei primita pe parcursul invatarii

Operare in timp real: odata invatata functioneaza repede + prelucrari in paralel

Grad mare de robustete si toleranta la defecte: defectarea unui anumit numar de noduri sau legaturi nu afecteaza, in general, comportarea si performanta retelei.

20

Page 21: Retele neuronale

Scurt istoric• 1943 - McCulloch, Pitts - model simplu (binary devices

with fixed thresholds)• 1960 - Rosenblatt

- perceptron - (feed-forward ANN)- enunta si demonstreaza teorema de convergenta a

perceptronului• 1960 - Widrow, Hoff - ADALINE (ADAptive LInear

Element)- dispozitiv electronic analogic- folosea ca regula de invatare Least-Mean-Squares (LMS)

• 1969 - Minsky, Papert - au demonstrat limitarile perceptronului

• 1970 - Retele neurale ca memorii adresabile prin continut

21

Page 22: Retele neuronale

Scurt istoric (cont.)• 1970 - RN s-au cam abandonat• 1980 - Cercetari reluate• 1982 - Hopfield - functia de energie - a pus in

evidenta notiunea de memorie ca o multime de atractori dinamici stabili

• 1986 - Rumelhart - perceptroni multinivel, retele backpropagation (recurrent networks)

• 1988 - Grossberg si Carpenter in 1988 - algoritmi de rezonanta - retele ART (Adaptive Resonance Theory)

• 1988 - Anderson si Kohonen (independent) - tehnici asociative

22

Page 23: Retele neuronale

Modelul neuronului artificial

• McCulloch, Pitts (1943) au propus un model simplu al neuronului, cu intrari binare

23

Page 24: Retele neuronale

Modelul neuronului artificial (cont.)

• y = f (i=1,nwixi - ) y = f (i=0,nwixi)

• wi reprezinta intensitatea legaturii (conexiunii) de la neuronul cu

iesirea xi

• Daca fi > 0 excitare

• Daca fi < 0 inhibare

• Daca fi = 0 nu exista sinapsa intre neuroni

•   - valoarea de prag peste care neuronul se activeaza

, y

x1

x2

xn

w1

w2

wn

X0= -1

f(x) = 1 - daca x 0 0 - in caz contrar

24

Page 25: Retele neuronale

Reţele neurale artificiale

Modelul unei ANN este caracterizat de:• Topologia retelei• Caracteristicile elementelor de prelucrare

(noduri / neuroni)• Regulile de actualizare / modificare

(invatare) a ponderilor• Sensul de propagare a semnalelor de

activare prin retea

25

Page 26: Retele neuronale

Caracteristici ANN Tipul de invatare: supervizat, nesupervizat, fara invatare Sensul de propagare a semnalelor

– Feed-forward networks - un singur sens– Feedback networks - in ambele sensuri (dinamice, numite

si recurente) Regulile de actualizare a ponderilor (invatare)

– Mapare asociativa: reteaua invata sa produca anumite valori ale intrarilor pentru sabloane particulare aplicate la intrare (regasire sabloane distorsionate, memorie adresabila prin continut)

– Detectarea regularitatilor: reteaua invata sa raspunda anumitor propietati particulare ale sabloanelor de intrare; fiecare iesire are o anumita semnificatie

26

Page 27: Retele neuronale

Caracteristici ANN (cont.) Numarul de straturi sau niveluri Tipul intrarilor si al iesirilor: intreg, real Tipul functiei de transfer (activare)

limitator logica nivel sigmoid

27

t = i=1,nwixi -

f(t) = 1 / (1 + e-t) f(t) = (et - e-t) / (et + e-t)

f ff

t tt

1

11

Page 28: Retele neuronale

Caracteristici ANN (cont.) Functia activare - sigmoid

• T – temperatură absolută (grade Kelvin).• KB = 1,38 * 10-16 erg/K, constanta lui Boltzmann.

28

hehg 21

1)(

TKB

1

Page 29: Retele neuronale

2.2 Exemple

29

x

x

x

1

2

N

N Intrari M Iesiri

...y

M

...

y2

y1

Page 30: Retele neuronale

Exemple (cont.)

30

Page 31: Retele neuronale

Exemple (cont.) - Recunoasterea sabloanelor

31

Retea antrenata sa recunoasca literele T si H

Page 32: Retele neuronale

Exemple (cont.) - Recunoasterea sabloanelor

32

Antrenare

Functionare

Page 33: Retele neuronale

Exemple (cont.)

33

O retea poate arata si asa!

Page 34: Retele neuronale

RN de clasificare cu sabloane fixe - taxonomie

34

Retele neuronale de clasificare

Intrari binare Intrari reale

Invatare Invataresupervizata nesupervizata

cu sabloane fixe

Invataresupervizata

Invatarenesupervizata

Retea ReteaHopfield Hamming

ClasificatorCarpenter/Grossberg

Perceptron Perceptronmulti-nivel

Harti cu auto-organizareKohonen

Page 35: Retele neuronale

Retele neuronale - curs 1 35

Retele neuronale artificiale RNA = unitati functionale interconectate cu parametri ajustabili

Unitate functionala: mai multe intrari, o singura iesire

intrari

iesire

Ponderi numerice atasate conexiunilor

)exp(1

1)( )()(

)tanh()( )sgn()(

)( 01

uufuHuf

uufuuf

wxwfy j

n

jj

Operatii specifice unei unitati functionale (ex.)

Page 36: Retele neuronale

Retele neuronale - curs 1 36

Retele neuronale artificiale

Structura RNA

- Arhitectura (graf orientat etichetat)

- Functionare (functii vectoriale, relatii de recurenta, ecuatii diferentiale)

- Invatare/antrenare (algoritm de ajustare a parametrilor ajustabili)

2,1 ,1

0

0

0

12 NixwfwfyN

k

N

jjkjiki

Exemplu: arhitectura pe nivele (feedforward)

Relatie de functionare:

Page 37: Retele neuronale

Retele neuronale - curs 1 37

Retele neuronale artificialeExemple de arhitecturi:

Arhitectura pe nivele Arhitectura recurenta

Arhitectura celulara

Page 38: Retele neuronale

Retele neuronale - curs 1 38

Retele neuronale artificialeInvatare = extragerea modelului corespunzator problemei pornind

de la exemple

= determinarea parametrilor retelei

Strategii de invatare:

• Supervizata (i.e. invatare cu instructor, set de antrenare ce contine date de intrare si raspunsuri corecte)

• Nesupervizata (i.e. bazata doar pe datele de intrare)

• Intarire (i.e. de tip recompensa/penalizare)

Page 39: Retele neuronale

Retele neuronale - curs 1 39

Calcul neuronal

Principii de baza

Modelul biologic

Retele neuronale artificiale

Aplicabilitate

Scurt istoric

Page 40: Retele neuronale

Retele neuronale - curs 1 40

Aplicatii Clasificare si recunoasterea formelor

Date de intrare: ansamblu de trasaturi ale unui obiect

Ex: informatii despre angajat

Iesire: Clasa caruia ii apartine obiectul

Ex: eligibil sau neeligibil pt. un credit bancar

Alte exemple: recunoasterea caracterelor, clasificarea imaginilor, clasificarea texturilor, recunoasterea vorbirii, clasificarea semnalelor (EEG, EKG)

Particularitate: antrenare supervizata (bazata pe exemple de clasificare corecta)

Page 41: Retele neuronale

Retele neuronale - curs 1 41

Exemplu: recunoasterea caracterelor

Problema: recunoasterea caracterelor reprezentate prin bitmap-uri

0

0

0 1 0

1 1 0 0

0 1 0 0

0 1 0 0

1 1 1 0

1

1

1 1 1

1

0

0

0

0

0

0 1 0

1 1 0 0

0 1 0 0

0 1 0 0

1 1 1 0

1

1

1 1 1

0

0

0

0

0

0

0 1 0

1 1 0 0

0 1 0 0

0 1 0 0

0 1 0 0

1

1

1

1

0

0

0

Exemple de reprezentari ale cifrei 1

0

0

0 1 0

1 1 0 0

0 1 0 0

0 1 0 0

0 1 0 1

1

1

1 1

0

0

0

0

Reteaua invata aceste exemple

Dupa antrenare va

recunoaste si reprezentarea:

Page 42: Retele neuronale

Retele neuronale - curs 1 42

Aplicatii Gruparea datelor (varianta nesupervizata a clasificarii – datele

se grupeaza in functie de similaritatile intre ele)

Date de intrare: ansamblu de trasaturi ale unui obiectEx: informatii privind traseul urmat de catre utilizator intr-un

sistem de comert electronic

Iesire: clasa caruia ii apartine obiectulEx: grupuri de utilizatori cu comportare similare

Alte exemple: segmentarea imaginilor

Page 43: Retele neuronale

Retele neuronale - curs 1 43

AplicatiiExemplu: segmentarea imaginilor =

identificarea regiunilor omogene din

imagine (faciliteaza analiza continutului imaginii)

Page 44: Retele neuronale

Retele neuronale - curs 1 44

Aplicatii Aproximare / estimarea =

determinarea unei relatii intre doua variabile

Date de intrare: valori ale variabilelor independente

Ex: valori obtinute prin masuratori

Iesire: valoare corespunzatoare variabilei dependente

Ex: valoarea estimata pentru marimea care depinde de variabilele independente

Page 45: Retele neuronale

Retele neuronale - curs 1 45

Aplicatii Predictie = estimarea valorii(valorilor) viitoare dintr-o serie

temporala

Date intrare: succesiune de valoriEx: rata de schimb valutar din ultima luna

Iesire: estimarea valorii urmatoareEx: estimarea ratei pentru maine

Alte exemple: predictia stocurilor, predictia in meteorologie

Page 46: Retele neuronale

Retele neuronale - curs 1 46

Aplicatii Optimizare = rezolvare in timp rezonabil a unor probleme de

optimizare combinatoriala pentru care nu exista algoritmi clasici de complexitate polinomiala

Memorii asociative = memorii in care regasirea informatiei se bazeaza pe versiuni partiale ale informatiei stocate si nu pe adresa

Control adaptiv = determinarea unui semnal de control ce asigura un anumit semnal de iesire al sistemului

Page 47: Retele neuronale

Retele neuronale - curs 1 47

Calcul neuronal

Principii de baza

Modelul biologic

Retele neuronale artificiale

Aplicabilitate

Scurt istoric

Page 48: Retele neuronale

Retele neuronale - curs 1 48

Legatura cu alte domenii

Retele neuronale

Biologie

Neurofiziologie

Psihologie cognitiva

Algebra liniara (calcul vectorial si matricial)Analiza numerica (metode de minimizare)

Statistica(estimare, regresie)

Ecuatii diferentiale

Informatica

Matematica

Inteligenta artificialaData mining

IngineriePrelucrarea semnalelorControl adaptiv

EconomiePredictie stocuriAnaliza riscului

Page 49: Retele neuronale

Retele neuronale - curs 1 49

Calcul evolutiv

Principiile calculului evolutiv

Structura unui algoritm evolutiv

Clase de algoritmi evolutivi

Aplicatii ale calculului evolutiv

Page 50: Retele neuronale

Retele neuronale - curs 1 50

Principii de baza

Este inspirat de procesele de evolutie din natura bazate pe principiile ereditatii si a supravietuirii celui mai bun individ

Se bazeaza pe determinarea solutiei unei probleme prin explorarea spatiului solutiilor potentiale folosind o populatie de “cautatori” (agenti)

Elementele populatiei sunt codificate in functie de specificul problemei (siruri de biti, vectori de valori reale, arbori etc.)

Page 51: Retele neuronale

Retele neuronale - curs 1 51

Principiile calculului evolutiv

Evolutia in natura

Mediu

Individ

Grad de adaptare la mediu

Rezolvarea problemelor

Problema

Solutie candidat

Calitate solutie

Analogia dintre procesele de evolutie din natura si rezolvarea problemelor

Page 52: Retele neuronale

Retele neuronale - curs 1 52

Structura unui algoritm evolutiv

Initializare populatie

Evaluare

Recombinare,mutatie

Selectie

Conditie de oprire

solutieAlgoritm evolutiv = proces iterativ constand in aplicarea succesiva aunor operatori - recombinare - mutatie - selectieasupra unei populatiiinitializata aleator

Page 53: Retele neuronale

Retele neuronale - curs 1 53

Variante de algoritmi evolutivi • Algoritmi genetici:

– Codificarea binara a informatiei– Incrucisarea (recombinarea) este operatorul principal– Mutatia este operator secundar– Adecvate pentru probleme de optimizare combinatoriala

• Strategii evolutive:– Codificare reala a informatiei– Mutatia este operatorul principal– Incrucisarea este operator secundar– Adecvate pentru rezolvarea de probleme de optimizare

continua

Page 54: Retele neuronale

Retele neuronale - curs 1 54

Variante de algoritmi evolutivi• Programare genetica:

– Elementele populatiei sunt structuri (arbori, expresii, programe etc)

– Permit generarea unor structuri de calcul prin procese de evolutie

• Programare evolutiva:– Codificare reala a informatiei– Mutatia este singurul operator– Utilizata in rezolvarea problemelor de optimizare continua

Tendinta curenta: hibridizarea diferitelor variante

Page 55: Retele neuronale

Retele neuronale - curs 1 55

Aplicatii ale algoritmilor evolutivi

Probleme de planificare a activitatilor (generarea automata a orarelor sau planificarea sarcinilor).

Probleme de predictie (evolutia unui activ financiar sau a cursului valutar).

Programare automata (generarea unor programe care sau structuri computationale cum sunt automatele celulare si retelele de sortare).

Prelucrarea imaginilor (proiectarea filtrelor pentru imagini si analiza imaginilor).

Proiectarea retelelor neuronale (stabilirea arhitecturii si/sau a ponderilor).

Probleme de identificare a unor structuri (bioinformatica)

Simularea unor activitati creative (generare de imagini, muzica etc.)

Page 56: Retele neuronale

Retele neuronale - curs 1 56

Calcul fuzzy Se bazeaza pe calculul nuantat ce foloseste valori “fuzzy” in

locul unor valori exacte Multime fuzzy: fiecare element are asociata o functie de

apartenenta Regula fuzzy: regula implicand variabile lingvistice

Rece Cald Fierbinte

Aplicatii: dispozitive de control (masini de spalat, frigidere, lifturi etc)

Page 57: Retele neuronale

Retele neuronale - curs 1 57

Materiale de curs

• C. Bishop – Neural Networks for Pattern Recognition, Clarendon Press, 1995

• L. Chua, T. Roska – Cellular neural networks and visual computing , Cambridge.University Press, 2004.

• A. Engelbrecht – Computational Intelligence. An Introduction, 2007

• M.Hagan, H. Demuth, M.Beale – Neural Networks Design, PWS Publishing 1996

• Hertz,J.;Krogh,A.;Palmer,R. - Introduction to the Theory of Neural Computation, Addison-Wesley P.C., 1991.

• Ripley, B.D. - Pattern Recognition and Neural Networks, Cambridge University Press, 1996.