Beruflich Dokumente
Kultur Dokumente
Retele neuronale si
sisteme fuzzy
curs : prof. dr. ing. Ovidiu Grigore
laborator: drd. ing. Valentin Velican
drd. ing. Ionut Bornoiu
contact: ovgrig@yahoo.com
tel: 021 402 4897
sala: B319a / B134
Curs: cf. orar; sala B312
Laborator: cf. orar; sala B322
Punctaj laborator (detalii lab.) 45p
Verificare finala (lucrare scrisa) 20p
Verificare cunostinte 2/3 semestru 35p
Tema de casa (optional) 20p
Laboratorul incepe in saptamana 3
Se fac 3 laboratoare, fiecare cu test de 15p
Mod de notare. Evaluation
Bibliografie:
Ov. Grigore, Note de curs.
R. Dogaru, Ov. Grigore, Sisteme Neurale si cu logica Fuzzy , Ed.
Printech 1999 , ISBN 973-9475-51-5.
R. Rojas, Neural Networks", Ed. Springer 1996.
P. Pardalos, M. Resende, Applied Optimization, Oxford
University Press, 2002.
D. B. Fogel, "Evolutionary computation: toward a new philosophy
of machine intelligence", IEEE Press 1995.
C. Bishop, " Neural Networks for Pattern Recognition", Clarendon
Press, Oxford,1995.
Kevin Gurney, An Introduction to Neural Networks, UCL Press,
1997.
Laurene Fausett, Fundamentals of Neural Networks, Prentice
Hall, 1994.
Bibliografie.
Cuvinte cheie:
(Artificial) Neural Networks
Fuzzy Sets; Fuzzy Systems
Soft computing
Genetic algorithms
Artificial Intelligence
http://www.cs.stir.ac.uk/~lss/NNIntro/InvSlides.html
http://www.doc.ic.ac.uk/~nd/surprise_96/journal/vol4/cs11/rep
ort.html
http://www.learnartificialneuralnetworks.com/
http://himulera.rbcmail.ru/page296.html
Surse internet.
RNSF - curs 1 5
Introducere. Terminologie
RN si SF fac parte din domeniul INTELIGENTEI ARTIFICIALE
Sistem inteligent = sistem capabil sa preia informatie, sa o
prelucreze, sa o analizeze si sa ia decizii
Terminologie:
Retele neuronale artificiale (Artificial Neural Networks)
Calcul neuronal (Neural Computing)
Multimi fuzzy = Multimi vagi (Fuzzy sets)
Calcul fuzzy (Fuzzy Computing)
Calcul evolutiv (Evolutionary Computing)
Calcul inteligent (Computational Intelligence)
RNSF - curs 1 6
Introducere. Provenienta RN,SF
De unde provine necesitatea /dorinta de a dezvolta RN si SF ?
Imitarea /emularea biologicului / gandirii naturale din dorinta
de a:
Modela sistemele naturale; explicarea functionarii lor
Obtine performantele similare
Existenta unor probleme (paradigme) cu probleme
greu de definit,
chiar definite, care sunt greu de formalizat,
fara solutii algoritmice (greu de implementat / fara implementare)
Chiar daca exista modele teoretice: uneori sunt sunt greu de aplicat;
problema reala se indeparteaza de modelul teoretic (ex.: distributia
normala; calculul campului electromagnetic al tel. mobile din sala)
RNSF - curs 1 7
D.p.v. al rezolvarii automate, problemelor pot fi
Probleme bine-puse: (well posed)
- Exista un model formal asociat
problemei
- Exista un algoritm de rezolvare
- Nu exista ambiguitate
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: (ill-posed)
- Dificil / imposibil de formalizat
- Se cunosc doar exemple nu
si un model general
- Metodele clasice/algoritmice
nu pot fi aplicate
- Rezultatele nu sunt mereu
predictibile
Exemplu: clasificarea angajatilor
unei companii in doua clase in
functie de credibilitatea privind
acordarea unui imprumut bancar
Introducere. Necesitate aplicativa
RNSF - curs 1 8
Introducere. Necesitate aplicativa
Probleme bine-puse (well-posed problems)
Algoritm =
descriere a metodei
Date de
intrare
Rezultat
If venit>1000 then Clasa 1
else Clasa 2
Venit
Clasa 1 sau
Clasa 2
RNSF - curs 1 9
Probleme rau-puse (ill-posed problems)
Sistem adaptiv
incorporeaza un
modul de
invatare / evolutie
Date de
intrare
Rezultate
Modelul este extras de catre sistemul adaptiv
pe baza situatiilor (exemple) cunoscute
Venit+ alte criterii:
obiective (nr membri fam.)
subiective (credite deja
acordate, bonitate)
Valorice / lingvistice
Clasa 1 sau
Clasa 2
Situatii cunoscute: (900,3,7,Bun, Clasa1),
(500,1,1,Fbun,Clasa 1),(5000,2,5,Rau,Clasa 2),
(1100,4,3,Bun,Clasa2)
Introducere . Necesitate aplicativa
RNSF - curs 1 10
Metodele de rezolvare a problemelor rau-puse se
caracterizeaza prin:
Abilitatea de a extrage modele din exemple (generalizare)
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 practic). = Compromis (optimizare) eroare
de rezolvare vs. timp de rezolvare (cand este cazul
Metode inteligente vs. Metode teoretice,formalizate)
Introducere . Necesitate aplicativa
RNSF - curs 1 11
Computational Intelligence
is a branch of artificial
intelligence; it aims to use
learning, adaptive, or
evolutionary algorithms to
create programs that are, in
some sense, intelligent.
[Computational Intelligence Techniques
Sundaram, Palaniswami, Shilton, Begg, 2006]
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. [Neural Networks and Fuzzy Systems
Gupta, 2000]
Introducere . Necesitate aplicativa
RNSF - curs 1 12
Directii de abordare;
rezolvare a problemelor
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
Introducere . Necesitate aplicativa
RNSF - curs 1 13
Modelul biologic
Creier uman
cca 10
11
neuroni si 10
15
interconexiuni (sinapse/ synapses )
Introducere
RNSF - curs 1 14
Cum 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
Sinapsa = legatura intre terminatiile axon si
denditre, are diferite tarii de conectare
(transmitere) a informatiei; poate fi
excitatorie (+) sau inhibitorie (-)
Introducere RN Modelul biologic
RNSF - curs 1 15
Calculator (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
(cunostintele sunt inmagazinate
in program / algoritm)
Adaptabilitate redusa
Creier uman / RNA
Un numar mare (10
11
) de unitati
functionale de viteza relativ mica
(ms) cu putere de calcul limitata
Numar foarte mare (10
15
) de
conexiuni de viteza limitata
Memorie cu caracter asociativ
(adresare prin continut)
Cunostintele sunt stocate in
sinapse (distribuite in toata
structura)
Adaptarea se realizeaza prin
modificarea conexiunilor
Introducere RN Modelul biologic
RNSF - curs 1 16
Introducere RN Modelul biologic
Structura
creierului
RNSF - curs 1 17
RN - Principii de baza
Dpdv functional: retea neuronala artificiala = sistem adaptiv
capabil sa furnizeze raspunsuri pentru o problema dupa ce a
fost antrenata pentru situatii similare
Data de
intrare Raspuns
Exemple
Retea neuronala =
Sistem adaptiv
(antrenabil)
Introducere
RNSF - curs 1 18
Dpdv 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
Introducere RN Principii de baza
RNSF - curs 1 19
Observatii generale
Comportarea complexa a unei RN emerge din
interactiunea si aplicarea in paralel a multor reguli
simple
Abilitatea de invatare deriva din adaptabilitatea unor
parametri asociati unitatilor functionale (acesti
parametri sunt ajustati in procesul de invatare)
In cazul clasic de RN, prelucrarile sunt preponderent
numerice. Exsita abordarile fuzzy la care (cel putin)
intrarile - iesirile reprezinta entitati calitative Exista
abordari noi RN sintactice care invata sa asocieze
structuri sintactice / simbolice
Introducere RN Principii de baza
RNSF - curs 1 20
Retele neuronale artificiale
RNA = unitati functionale interconectate cu parametri ajustabili
Unitate functionala: mai multe intrari, o singura iesire
intrari
iesire
Ponderi numerice
atasate conexiunilor
= sinapse ) exp( 1
1
) ( ) ( ) (
) tanh( ) ( ) sgn( ) (
) (
0
1
u
u f u H u f
u u f u u f
w x w f y
j
n
j
j
+
= =
= =
=
=
Operatii specifice unei unitati
functionale (ex.)
Introducere RN Principii de baza
+
f
x
1
x
2
x
n
w
1
w
2
w
n
.
.
.
RNSF - curs 1 21
Functii de activare
) ( ) (
) sgn( ) (
u H u f
u u f
=
=
Introducere Retele neuronale artificiale
0 2 4 6 8 10 12 14 16 18 20
0
2
4
6
8
10
12
14
16
18
20
-10 -8 -6 -4 -2 0 2 4 6 8 10
-2
-1.5
-1
-0.5
0
0.5
1
1.5
2
-10 -8 -6 -4 -2 0 2 4 6 8 10
-2
-1.5
-1
-0.5
0
0.5
1
1.5
2
Linear
Logistic (sigmoida)
Tangenta hiperbolica
u u f = ) (
) exp( 1
1
) (
u
u f
+
=
) exp( ) exp(
) exp( ) exp(
) (
u u
u u
u f
+
=
RNSF - curs 1 22
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
1 2
N i x w f w f y
N
k
N
j
j kj ik i
=
|
|
.
|
\
|
|
|
.
|
\
|
=
= =
Exemplu: arhitectura pe nivele
(feedforward)
Relatie de functionare:
Introducere - Retele neuronale artificiale
RNSF - curs 1 23
Exemple de arhitecturi:
Arhitectura pe nivele (feed-forward) Arhitectura recurenta (feed-back)
Arhitectura celulara
Introducere - Retele neuronale artificiale
RNSF - curs 1 24
Invatare = 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)
Introducere - Retele neuronale artificiale
RNSF - curs 1 25
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)
Introducere - Retele neuronale artificiale
RNSF - curs 1 26
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:
Introducere - RNA Aplicatii
RNSF - curs 1 27
Gruparea datelor = Clustering
= varianta nesupervizata a clasificarii ; datele
se grupeaza in functie de similaritatile intre ele
Date de intrare: ansamblu de trasaturi ale unui obiect / entitate de
clasificat
Iesire (Rezultat): clasa caruia ii apartine obiectul
Exemple: segmentarea imaginilor
determinarea adaptiva a paletei de culoare
Introducere - RNA Aplicatii
RNSF - curs 1 28
Exemplu: segmentarea imaginilor satelitare =
identificarea regiunilor omogene din
imagine (faciliteaza analiza continutului
imaginii)
Introducere - RNA Aplicatii: Segmentarea imaginilor
RNSF - curs 1 29
Segmentarea imaginilor medicale; detectia/evaluarea cancerului de san
Introducere - RNA Aplicatii: Segmentarea imaginilor
Segmentarea imag. folosind
RN LVQ
Imagini de la microscop
Segmentarea folosing op.
prelucrari de imagini
(level slicing)
RNSF - curs 1 30
Segmentarea imaginilor medicale; detectia/evaluarea cancerului de san
Introducere - RNA Aplicatii: Segmentarea imaginilor
Senior Expert Counting
A
u
t
o
m
a
t
i
c
S
y
s
t
e
m
C
o
u
n
t
i
n
g
Rezultat final
Coef. Corel=0.84
RNSF - curs 1 31
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
Introducere - RNA Aplicatii
RNSF - curs 1 32
Predictie = estimarea valorii(valorilor) viitoare dintr-o serie
temporala
Date intrare: succesiune de valori
Ex: rata de schimb valutar din ultima luna
Iesire: estimarea valorii urmatoare
Ex: estimarea ratei pentru maine
Alte exemple: Aplicatii financiare
predictia stocurilor,
predictia in meteorologie
Aplicatii in estimarea miscarii (roboti, aplic militare)
Introducere - RNA Aplicatii
Predictia traiectoriei unei tinte aeriene pentru
comanda unei rachete de urmarire
Missile
Target
Introducere - RNA Aplicatii
RNSF - curs 1 34
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
Introducere - RNA Aplicatii
RNSF - curs 1 35
Scurt istoric
Pitts & McCulloch (1943)
Primul model matematic al neuronului biologic
Hebb (1949)
Regula de ajustare a ponderilor sinaptice: permeabilitatea
sinaptica dintre doi neuroni creste daca acestia devin activi
simultan
Introducere - RNA
RNSF - curs 1 36
Prima lansare a retelelor neuronale (1950 1965)
Rosenblatt (1957)
Perceptron: retea simpla pentru recunoasterea caracterelor
Perceptron learning rule: primul algoritm de invatare (bazat pe
principiul penalizarii erorilor)
Algoritm de antrenare si teorema de convergenta: perceptronul
poate fi antrenat sa raspunda corect pentru orice problema de
clasificare liniar separabila
Widrow and Hoff (1960, 1962)
ADALINE (Adaptive Linear Neuron / Adaptive Linear Element)
Algoritm de antrenare bazat pe minimizarea unei functii de
eroare folosind o metoda de optimizare
Introducere - RNA Scurt istoric
RNSF - curs 1 37
Perioada de stagnare (1965 1980)
Minski si Papert au facut cunoscute limitarile perceptronului:
Nu poate reprezenta (invata) unele functii
booleene simple (XOR)
- Tot ei au intuit solutia (utilizarea mai multor nivele) dar nu au
putut dezvolta la ora respectiva un algoritm de antrenare
adecvat
Introducere - RNA Scurt istoric
RNSF - curs 1 38
Renasterea interesului pt. domeniu (1980 - prezent)
Tehnici noi:
Algoritmul BackPropagation (Werbos-1974, Rumelhart-
1985)
Modele inspirate de fizica (reteaua Hopfield, masina
Boltzmann, etc.)
Invatare nesupervizata (Kohonen, Grossberg)
Extinderea domeniului de aplicabilitate
Observatie:
Retelele neuronale au limitari si dezavantaje
Trebuie utilizata doar cand tehnicile clasice esueaza
(solutii de compromis)
Introducere - RNA Scurt istoric
RNSF - curs 1 39
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 artificiala
Data mining
Inginerie
Prelucrarea semnalelor
Control adaptiv
Economie
Predictie stocuri
Analiza riscului
Introducere - RNA
Medicina
Diagnoza automata
Interpretare imagini
RNSF - curs 1 40
STOP Introducere
Introducere - RNA
STOP
Invatare supervizata
nesupervizata
RNSF - curs 1 41
Calcul evolutiv
Principiile calculului evolutiv
Structura unui algoritm evolutiv
Clase de algoritmi evolutivi
Aplicatii ale calculului evolutiv
RNSF - curs 1 42
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.)
RNSF - curs 1 43
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
RNSF - curs 1 44
Structura unui algoritm evolutiv
Initializare
populatie
Evaluare
Recombinare,
mutatie
Selectie
Conditie
de oprire
solutie
Algoritm evolutiv =
proces iterativ constand
in aplicarea succesiva a
unor operatori
- recombinare
- mutatie
- selectie
asupra unei populatii
initializata aleator
RNSF - curs 1 45
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
RNSF - curs 1 46
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
RNSF - curs 1 47
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.)
RNSF - curs 1 48
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)
RNSF - curs 1 49
Structura cursului
Proiectarea retelelor neuronale
Retele cu un singur nivel. Perceptron. Probleme liniar separabile.
Algoritmii Widrow-Hoff si Delta.
Retele multinivel. Algoritmul BackPropagation si variante. Probleme
neliniar separabile si aproximare
Retele cu functii radiale
Invatare bazata pe competitie. Retele Kohonen. Teoria rezonantei
adaptive
Invatare de tip corelativ. Analiza in componente principale
Retele recurente (Hopfield, Elman, retele celulare)
Proiectarea evolutiva a retelelor neuronale
RNSF - curs 1 50
Structura laboratorului
Scop: simularea tipurilor fundamentale de retele
neuronale
Instrumente: MatLab (Scilab, Weka, JavaSNNS)
Teme laborator
1. Implementare perceptron simplu
2. Implementare algoritm Backpropagation
3. Implementare retea cu functii radiale
4. Implementare retea Kohonen
RNSF - curs 1 51
Materiale de curs
http://web.info.uvt.ro/~dzaharie/
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.