Sunteți pe pagina 1din 38

Calcul neuronal si evolutiv - Curs 1 1

Calcul neuronal i calcul evolutiv



Despre ce este vorba ?

Calcul inteligent

Calcul neuronal - specific

Calcul evolutiv specific

Tehnici nrudite

Structura cursului aspecte organizatorice

Calcul neuronal si evolutiv - Curs 1 2
Despre ce este vorba ?
despre rezolvarea problemelor (dificile)

Exist diferite clase de probleme dificile:

Dificile pentru calculatoare dar uoare pentru oameni
(recunoaterea vorbirii, recunoaterea imaginilor,
recunoaterea caracterelor etc)

Dificile att pentru calculatoare ct i pentru oameni
(probleme de optimizare combinatorial de dimensiuni mari,
probleme de optimizare neliniar, probleme de planificare
etc)
Calcul neuronal si evolutiv - Curs 1 3
Probleme dificile

Problemele dificile att pentru calculatoare ct i pentru oameni
sunt cele caracterizate printr-un spaiu mare de cutare i prin
faptul ca nu se cunosc algoritmi care s permit rezolvarea lor
n timp care depinde polinomial de dimensiunea problemei
(probleme NP dificile)
Exemple:
Problema satisfiabilitii (SAT): determinarea valorilor de
adevr ale unor variabile pentru care o expresie logic este
adevarat. Pentru n variabile spaiul de cutare are
dimensiunea 2
n
Problema comis voiajorului (TSP): determin un circuit de
cost minim care viziteaz n locaii. Dimensiunea spaiului de
cutare este (n-1)! (n cazul problemelor simetrice este (n-
1)!/2)
Calcul neuronal si evolutiv - Curs 1 4
Probleme dificile

Problemele dificile pentru calculatoare dar mai uoare pentru
oameni sunt cele ru-puse, adica cele pentru care este dificil
de identificat un model abstract care s reflecte toate
particularitile problemei

Sa considerm urmtoarele dou probleme:

clasificarea angajatilor unei firme n dou categorii n funcie de
valoarea venitului: cei care au peste venitul mediu (din cadrul
firmei) ntr-o categorie i cei care au sub venitul mediu n alt
categorie
clasificarea angajailor unei firme n dou categorii n funcie de
credibilitatea relativ la acordarea unui mprumut

Calcul neuronal si evolutiv - Curs 1 5
Probleme dificile

In cazul primei probleme este uor s se identifice un model
formal (o regul de clasificare):

IF venit > venit_mediu THEN Class 1
ELSE Class 2

In cazul celei de a doua probleme lucrurile sunt mai complicate
ntruct trebuie luai n calcul mai muli factori intercorelati
(situaie financiar, stare de sntate, situaie familial,
perspective n carier etc.). Un expert bancar poate rezolva o
astfel de problem bazndu-se pe experiena dobndit de-a
lungul timpului precum i pe elemente subiective dificil de
cuantificat
Calcul neuronal si evolutiv - Curs 1 6
Probleme dificile
Diferene ntre probleme bine-puse i probleme ru-puse
Problema bine-pus:
- i se poate asocia un model
formal
- exist algoritm de rezolvare




Problema ru-pus:
- nu este uor de formalizat
- exist doar exemple de
rezolvare
- datele despre problema pot fi
incomplete sau inconsistente
- metodele clasice sunt
inaplicabile

Calcul neuronal si evolutiv - Curs 1 7
Probleme dificile
Metodele de rezolvare a problemelor ru-puse trebuie s se
caracterizeze prin:

Abilitatea de a extrage modele din exemple
Adaptabilitate la modificari in proprietatile problemei (probleme
cu caracter dinamic)
Robustee la erori sau zgomot in datele de intrare
Capacitate de a produce rezultatul folosind un volum rezonabil
de resurse (timp de calcul, spaiu memorie)

Domeniul ce se ocup cu dezvoltarea acestor metode este denumit
uneori computational intelligence iar alteori soft computing
Calcul neuronal si evolutiv - Curs 1 8
Calcul inteligent
Computational 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]

Studiul mecanismelor adaptive care
permit simularea comportamen-
tului inteligent n medii complexe
sau cu caracter dinamic

Terminologie:
Calcul inteligent ?
Inteligena computaional ?
Calcul tolerant la erori ?

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]

Calcul neuronal si evolutiv - Curs 1 9
Calcul inteligent
Direcii de lucru:

Calcul neuronal


Calcul evolutiv

Calcul fuzzy
Instrument:

Reea neuronal
artificial

Algoritm evolutiv

Sistem fuzzy
Sursa de inspiraie:

Creierul uman


Procesele de
evoluie din natur

Specificul
raionamentului
uman i a
limbajului natural
Calcul neuronal si evolutiv - Curs 1 10
Calcul inteligent
Calcul natural = metode de calcul inspirate de natur
Calcul neuronal
(Neural Computing)
Calcul evolutiv
(Evolutionary Computing)
Calcul fuzzy
(Fuzzy Computing)
Calcul ADN (DNA Computing)
Calcul cuantic (Quantum Computing)
Calcul membranar
(Membrane Computing)
Tehnici probabiliste
Calcul granular (Granular
Computing)
Metaeuristici inspirate de natura
Calcul neuronal si evolutiv - Curs 1 11
Calcul inteligent
[A. Konar Computational Intelligence, 2007]
EA
Calcul neuronal si evolutiv - Curs 1 12
Calcul neuronal - specific

Principiile calculului neuronal

Modelul biologic

Structura unei reele neuronale

Tipuri de reele neuronale

Aplicaii ale calculului neuronal


Calcul neuronal si evolutiv - Curs 1 13
Principiile calculului neuronal
Rezolvarea in manier clasic a unei probleme
Date intrare
Date ieire
Algoritm = succesiune
de prelucrri specificate
n mod univoc
Calcul neuronal si evolutiv - Curs 1 14
Principiile calculului neuronal
Utilizarea unei reele neuronale
Date intrare
Date ieire
Exemple
Reea neuronal=
sistem adaptiv
constituit din uniti
funcionale simple
Invare
Calcul neuronal si evolutiv - Curs 1 15
Calcul neuronal modelul
biologic
Creierul uman
cca 10
10
neuroni, cca 10
14
interconexiuni
Calcul neuronal si evolutiv - Curs 1 16
Structura unei reele neuronale
Reea neuronal = ansamblu de uniti simple de prelucrare
(neuroni) interconectate
intrri
Ieire
ponderi asociate
conexiunilor
) exp( 1
1
) ( ) ( ) (
) tanh( ) ( ) sgn( ) (
) (
0
1
0
1
u
u f u H u f
u u f u u f
w x w u
w x w f y
j
n
j
j
j
n
j
j
+
= =
= =
=
=

=
=
w
1
w
j
w
n
Funcii de activare
(calcul semnal de ieire)
Funcie de agregare a
intrrilor
Calcul neuronal si evolutiv - Curs 1 17
Structura unei reele neuronale
Structura unei reele neuronale
artificiale:

- Arhitectura


- Funcionare

- Antrenare: determinarea
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
=
|
|
.
|

\
|
|
|
.
|

\
|
=

= =
Reea feedforward cu un nivel ascuns
Calcul neuronal si evolutiv - Curs 1 18
Structura unei reele neuronale
Tipuri de reele neuronale:
Reea Hopfield
Reea celulara
Reea Kohonen
Calcul neuronal si evolutiv - Curs 1 19
Antrenarea reelelor neuronale
Antrenare (nvare) = extragerea modelului corespunztor
problemei pornind de la exemple
= determinarea parametrilor reelei (ponderile asociate
conexiunilor)

Tipuri de nvare:
Supervizat (se cunosc att datele de intrare ct i rspunsurile
corecte)

Nesupervizat (se cunosc doar datele de intrare)

De tip recompens / penalizare (se tie doar dac rspunsul
este corect sau nu)

Calcul neuronal si evolutiv - Curs 1 20
Aplicaii ale calculului neuronal

Clasificare i recunoatere
Clasificarea supervizat i nesupervizat a datelor
Recunoaterea caracterelor / imaginilor / vorbirii
Aproximare i estimare
Predicie n serii temporale
Modelare i control
Modelarea unor sisteme neliniare
Optimizare
Probleme de rutare
Probleme de planificare
Prelucrarea i analiza semnalelor
Filtrare adaptiv

Calcul neuronal si evolutiv - Curs 1 21
Calcul evolutiv - specific

Principiile calculului evolutiv

Structura unui algoritm evolutiv

Clase de algoritmi evolutivi

Aplicaii ale calculului evolutiv


Calcul neuronal si evolutiv - Curs 1 22
Principiile calculului evolutiv

Este inspirat de procesele de evoluie din natur bazate pe
principiile ereditii i a supravieuirii celui mai bun individ (cel
care s-a adaptat cel mai bine mediului)

Se bazeaz pe determinarea soluiei unei probleme prin
explorarea spaiului soluiilor poteniale folosind o populaie de
cutatori (ageni sau indivizi)

Elementele populaiei sunt codificate n funcie de specificul
problemei (iruri de biti, vectori de valori reale, arbori etc.)
Calcul neuronal si evolutiv - Curs 1 23
Principiile calculului evolutiv
Evolutia in natura
Mediu
Individ
Grad de adaptare la
mediu

Rezolvarea
problemelor
Problema
Soluie candidat
Calitate solutie
Analogia dintre procesele de evolutie din natura i
rezolvarea problemelor
Calcul neuronal si evolutiv - Curs 1 24
Structura unui algoritm evolutiv


Initializare
populatie
Evaluare
Recombinare,
mutatie
Selectie
Conditie
de oprire
solutie
Algoritm evolutiv =
proces iterativ constnd
n aplicarea succesiva a
unor operatori
- recombinare
- mutaie
- selecie
asupra unei populaii
iniializate aleator
Calcul neuronal si evolutiv - Curs 1 25
Clase de algoritmi
Algoritmi genetici:
Codificare binar a informaiei
Incruciarea (recombinarea) este operatorul principal
Mutaia este operator secundar
Adecvate pentru probleme de optimizare combinatorial

Strategii evolutive:
Codificare real a informaiei
Mutaia este operatorul principal
Incruciarea este operator secundar
Adecvate pentru rezolvarea de probleme de optimizare n
domenii continue
Calcul neuronal si evolutiv - Curs 1 26
Clase de algoritmi
Programare genetic:
Elementele populaiei sunt structuri (arbori, expresii,
programe etc)
Permit generarea unor structuri de calcul prin procese de
evoluie

Programare evolutiv:
Codificare real a informaiei
Mutaia este singurul operator
Utilizat n rezolvarea problemelor de optimizare continu

Tendina curent: hibridizarea diferitelor variante
Calcul neuronal si evolutiv - Curs 1 27
Tipuri de probleme
Optimizare cu i fr restricii
functii nedifereniabile, discontinue sau a cror evaluare se
bazeaz pe simulari
apar frecvent n proiectarea sistemelor din inginerie, n rezolvarea
problemelor de planificare etc
Optimizare multimodal
Pentru funcii cu mai multe optime globale sau locale
Apar n analiza datelor
Optimizare multicriterial
Exist mai multe criterii de optimi care sunt conflictuale
Apar in multe domenii aplicative
Optimizare n medii dinamice sau nedeterministe
Criteriul de optim variaz n timp sau este influenat de factori
aleatori

Calcul neuronal si evolutiv - Curs 1 28
Domenii de aplicabilitate
Probleme de planificare a activitilor (generarea automat a orarelor
sau planificarea sarcinilor).

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

Probleme de predicie (evoluia unui activ financiar sau a cursului
valutar).

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

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

Probleme de identificare a unor structuri (bioinformatic identificarea
structurii proteinelor)

Simularea unor activiti creative (generare de imagini, muzica etc.)
Calcul neuronal si evolutiv - Curs 1 29
Tehnici nrudite
Modele inspirate de inteligenta mulimilor
PSO Particle Swarm Optimization
Creatori: Eberhart, Kennedy -1995
http://www.swarmintelligence.org/

Sunt inspirate de comportamentul stolurilor de psri, a
bancurilor de peti sau a roiurilor de albine
In procesul de cautare a solutiei fiecare individ este ghidat
de:
Experiena colectiv
Experiena individual
Aplicaii: probleme de optimizare n spaii continue
Calcul neuronal si evolutiv - Curs 1 30
Tehnici nrudite
Modelul coloniilor de furnici
ACO Ant Colony Optimization
[http://iridia.ulb.ac.be/~mdorigo/ACO/ACO.html]
AS Ant Systems
Creator: Marco Dorigo - 1992
Sunt inspirate de comportamentul furnicilor n cutarea hranei i
organizarea cuibului
Este esenial conceptul de feromon (substan chimic care permite
comunicarea ntre furnici)

Aplicaii:
- Optimizare (probleme de rutare)
- Analiza datelor (grupare)
- Clasificarea imaginilor
Calcul neuronal si evolutiv - Curs 1 31
Tehnici nrudite
Modelul sistemului imunitar
AIS Artificial Immune Systems
[http://www.dca.fee.unicamp.br/~lnunes/immune.html]

Creator: Leandro Castro - 1999
este inspirat de abilitatea sistemului imunitar biologic de a
recunoate agentii patogeni i de a reaciona la orice
atac

Aplicaii:
- Sisteme de detecie a intrusilor
- Analiza datelor (grupare)
Calcul neuronal si evolutiv - Curs 1 32
Tehnici nrudite
Calcul ADN
Primul experiment: Adleman (1994)
problema comis voiajorului pentru 7 orase

Stare curent:
Calculator de scar molecular bazat pe
principiile biologiei computaionale (2010)
Algoritmi inspirai de transformrile
structurilor ADN (tiere, clonare, filtrare)

Calculator ADN = colecie de secvente ADN
special selectate a cror combinare (prin
transformari biochimice) conduce la
rezultatul problemei
Structura de grosimea
a doua molecule genereaza
diferite pattern-uri
Calcul neuronal si evolutiv - Curs 1 33
Tehnici nrudite
Membrane Computing (P-systems)
[http://ppage.psystems.eu]

Primul model: P-sistem propus Gh. Paun (1998)

P-sistem = model abstract de calcul inspirat de structura
compartimentat a celulelor vii i de modul n care se
desfoar procesele chimice in cadrul acestora.

P-sistemele prelucreaza multiseturi de obiecte simbolice
plasate intr-o structura ierarhica de membrane

Exista multe rezultate teoretice referitoare la puterea de
calcul a sistemelor membranare ns mai puine aplicaii
(domeniile de aplicabilitate includ biologia, lingvistica,
management)
Calcul neuronal si evolutiv - Curs 1 34
Tehnici nrudite
Artificial Bee Colony (Karaboga, 2005)
http://mf.erciyes.edu.tr/abc/
Inspirate de comportamentul albinelor n cutarea
polenului
Biogeography Based Optimization (BBO Algorithms) - D.
Simon, 2008 http://academic.csuohio.edu/simond/bbo/
- Inspirate de procesele de migrare a speciilor

Fireflies Algorithm (X.S. Yang, 2008)
Inspirate de comportamentul licuricilor

Cuckoo Search (X.S. Yang & S. Deb, 2009)
Inspirate de comportamentul cucilor n utilizarea
cuiburilor altor specii
Bat Algorithm (X.S. Yang & A.H Gandomi, 2010)
Inspirate de abilitatea liliecilor de a se orienta
Calcul neuronal si evolutiv - Curs 1 35
Bibliografie
A.Engelbrecht: Computational Intelligence. An Introduction, John
Wiley and Sons, 2007

L. Rutkowski: Computational Intelligence: Methods and
Techniques, Springer, 2008

A.Konar: Computational Intelligence: |Principles, Techniques and
Applications, Springer, 2005

Z. Michalewicz, D. Fogel: How to Solve It. Modern Heuristics.
Springer, 1999
Calcul neuronal si evolutiv - Curs 1 36
Structura curs
Reele neuronale artificiale
probleme de asociere (aproximare, clasificare)
probleme de optimizare
Algoritmi aleatori de optimizare
Simulated annealing
Calcul evolutiv
Algoritmi genetici
Strategii evolutive
Programare evolutiv
Programare genetic
Modele paralele i distribuite in calculul evolutiv
Algoritmi evolutivi pentru optimizare multi-criteriala
Proiectarea evolutiv a reelelor neuronale
Tehnici nrudite: sisteme de particule, modelul coloniilor de furnici,
sisteme imunitare artificiale, algoritmi bazati pe estimarea distributiei in
starilor in spatiul solutiilor, algoritmi cuantici
Calcul neuronal si evolutiv - Curs 1 37
Structura laborator
Lab 1: Probleme de clasificare (pattern recognition) reele
neuronale feedforward
Lab 2: Probleme de aproximare si predictie reele neuronale
feedforward i recurente
Lab 3: Probleme de optimizare combinatorial - SA, GA
Lab 4: Probleme de optimizare n domenii continue - ES
Lab 5: Design evolutiv - GP
Lab 6: Probleme de optimizare multicriterial - MOEA
Lab 7: Aplicaii ale tehnicilor nrudite (ACO, PSO, AIS)

Medii de experimentare:
MATLAB (NN Toolbox, GA Toolbox)
Weka
Calcul neuronal si evolutiv - Curs 1 38
Evaluare
Materiale pentru curs: http://www.info.uvt.ro/~dzaharie/cne2013


Mod de evaluare:

Proiect final: 60-80%

Test scris: 20%

Teme laborator: 20%

S-ar putea să vă placă și