Вы находитесь на странице: 1из 38

Proiectarea evolutiv a reelelor

neuronale

Motivaie

Determinarea evolutiv a ponderilor (antrenare


evolutiv)

Determinarea evolutiv a arhitecturii

Determinarea evolutiv a regulilor de nvare

Algoritmi metaeuristici - Curs 14 1


Proiectarea evolutiv a reelelor
neuronale
Motivaie. Proiectarea unei reele neuronale presupune:

Stabilirea arhitecturii reelei (numr uniti funcionale + mod de


interconectare+funcii de activare)
Influeneaz abilitatea reelei de a rezolva problema
Presupune ncercarea mai multor variante (abordare de tip trial and
error)

Determinarea valorilor parametrilor ajustabili (antrenare)


Este o problem de optimizare = determinarea parametrilor care
minimizeaz eroarea pe setul de antrenare/validare
Metodele clasice (ex: BackPropagation) ntmpin dificulti:
Dac funciile de activare nu sunt difereniabile
Se pot bloca n optime locale

Algoritmi metaeuristici - Curs 14 2


Proiectarea evolutiv a reelelor
neuronale
Idee: utilizarea unui proces de evoluie

inspirat de dezvoltarea biologic a


creierului

sistemul nu este proiectat in mod


explicit ci structura sa este
determinat printr-un proces de
evoluie la care particip o populaie
de reele neuronale descrise
codificat

Genotip = codificarea reelei


(descriere structural)
Fenotip = reeaua propriu-zis, care
poate fi simulat (descriere
funcional)

Algoritmi metaeuristici - Curs 14 3


Antrenare evolutiv
Se refer la determinarea
ponderilor unei reele neuronale cu
arhitectur fixat rezolvnd
problema minimizrii unei funcii de
eroare pe setul de antrenare
folosind un algoritm evolutiv

Set de parametri: ponderi


sinaptice i praguri
Set antrenare : {( x1 , d 1 ),...., ( x L , d L )}
L W = {w31 , w32 , w30 , w41 , w42 , w40 ,
(d
1
Functie eroare : E(W) = l
y )
l 2
L l =1 ..., w70 , w73 ,..., w76 }

Algoritmi metaeuristici - Curs 14 4


Antrenare evolutiv
Algoritm evolutiv:

Codificare: vector de parametri cu valori reale ce conine toate


ponderile conexiunilor din reea (similar cu strategiile evolutive)

Operatori evolutivi: specifici strategiilor evolutive (ex:


recombinare convex i mutaie prin perturbaie aleatoare)

Evaluare elemente: calcul funcie de eroare pe setul de


antrenare; un element e cu att mai bun cu ct valoarea erorii
pe setul de antrenare este mai mic

Algoritmi metaeuristici - Curs 14 5


Antrenare evolutiv
Aplicabilitate:

In cazul reelelor cu funcii de transfer nederivabile (algoritmul


BackPropagation nu poate fi aplicat)
In cazul reelelor recurente antrenate supervizat (algoritmul
Backpropagation nu poate fi aplicat ntruct nu exist o
dependen explicit ntre semnalul de ieire i cel de intrare,
astfel c nu pot fi calculate derivatele pariale necesare aplicrii
algoritmului)
Dezavantaje:
antrenarea evolutiv este mai costisitoare din punct de vedere
computaional dect cea neevolutiv
Este adecvat pentru explorarea spaiului ponderilor, fiind mai
puin adecvat pentru cutarea local

Algoritmi metaeuristici - Curs 14 6


Antrenare evolutiv
Varianta hibride:

Antrenarea iniial cu o strategie evolutiv

Rafinarea valorilor parametrilor folosind un algoritm de


optimizare locala (e.g. BackPropagation dac natura
problemei permite)

Pregatirea (pre-procesarea ) setului de antrenare (filtrarea n


manier evolutiv a setului de antrenare):

Selecia atributelor

Selecia exemplelor
Algoritmi metaeuristici - Curs 14 7
Antrenare evolutiv
Selecia atributelor (n cazul problemelor de clasificare):

Motivaie: dac numrul de atribute este mare reeaua conine multe


uniti de intrare iar antrenarea poate deveni mai dificil

este important n cazul datelor ce conin multe atribute dintre care


unele sunt irelevante pentru procesul de clasificare

se selecteaz atributele relevante pentru procesul de clasificare

n cazul unor date iniiale coninnd N atribute se folosete o codificare


binar n care un element este setat pe 0 dac atributul corespunztor
nu trebuie selectat i pe 1 dac atributul trebuie selectat

Elementele populaiei se evalueaz prin atrenarea reelei pentru setul


de antrenare astfel filtrat (antrenarea se face cu un algoritm adecvat
problemei nu neaprat evolutiv)

Algoritmi metaeuristici - Curs 14 8


Antrenare evolutiv
Exemplu: identificarea persoanelor cu risc de boli cardiovasculare
Set total de atribute:
(vrsta, greutate, nlime, indice mas corporal, tensiune
arterial, colesterol, glicemie)
Element al populaiei: (1,0,0,1,1,1,0)
Subset corespunzator de atribute:
(vrsta, indice masa corporal, tensiune arteriala, colesterol)
Evaluare: se antreneaz reeaua folosind subsetul de atribute
selectat i se calculeaz scorul proporional cu acurateea
clasificrii
Observaie:
tehnica se poate utiliza i la antrenarea altor clasificatoare (ex:
Nearest-Neighbor)
Este cunoscut sub denumirea de wrapper based attribute
selection Algoritmi metaeuristici - Curs 14 9
Antrenare evolutiv
Selecia exemplelor din setul de antrenare

Motivaie: dac setul de antrenare este mare procesul de nvare


devine mai costisitor i se poate ajunge la supraantrenare

Este un proces de selecie similar celui anterior dar de aceast dat se


efectueaz la nivelul elementelor din setul de antrenare

Codificarea adecvat este cea binar (similar cu cea de la selecia


atributelor)

Evaluarea elementelor const n antrenarea reelei (folosind o metod


adecvat de antrenare) pentru subsetul de exemple corespunztor
elementului

Algoritmi metaeuristici - Curs 14 10


Evoluia arhitecturii
Metode neevolutive de adaptare a arhitecturii:

Constructive (growing networks)


Se pornete de la o reea de dimensiune mic
Daca procesul de antrenare stagneaz se adaug o nou unitate
Asimilarea noii uniti se realizeaz prin antrenarea n prim faz
doar a ponderilor asociate ei (celelalte rmnnd fixate)

Distructive (pruning networks)


Se pornete de la o reea de dimensiune mare
Se elimin conexiuni/uniti care nu influeneaz procesul de
antrenare

Algoritmi metaeuristici - Curs 14 11


Evoluia arhitecturii
Evoluia arhitecturii se poate realiza la unul sau mai multe dintre
nivelele :
Stabilirea numrului de uniti
Stabilirea modului de interconectare
Alegerea tipului de funcie de transfer

Modaliti de codificare:
Codificare direct
Codificare indirect

Algoritmi metaeuristici - Curs 14 12


Evoluia arhitecturii
Codificare direct: fiecare element al reelei se regsete direct n codificare
Arhitectura reelei = graf orientat
Reeaua se codifica prin matricea de adiacen a grafului
Obs. In cazul reelelor feedforward unitile pot fi numerotate astfel nct
unitatea i primete semnale doar de la uniti j cu j<i => matrice inferior
triunghiular
Arhitectur reea Matrice de adiacen
Cromozom
Feed-forward

Recurent

Algoritmi metaeuristici - Curs 14 13


Evoluia arhitecturii
Operatori de variaie pentru modificarea conexiunilor (numr de uniti
fixat):
Incruciare specific algoritmilor genetici

Algoritmi metaeuristici - Curs 14 14


Evoluia arhitecturii
Operatori de variaie pentru modificarea conexiunilor (numr de uniti
fixat):
Mutaie specific algoritmilor genetici

Algoritmi metaeuristici - Curs 14 15


Evoluia arhitecturii
Evoluia numrului de uniti i a conexiunilor

Ipoteza: N numr maxim de uniti

Codificare:
Vector binar cu N elemente
0: unitate inactiv
1: unitate activ
Matrice de adiacen NxN asociat conexiunilor dintre uniti
Pentru un element nul din vectorul cu uniti linia i coloana
corespunztoare sunt ignorate

Algoritmi metaeuristici - Curs 14 16


Evolutia arhitecturii
Evoluia tipului de functie de activare:
Codificare:
Vector cu N elemente
0: unitate inactiv
1: unitate activ cu functie de activare de tip 1 (ex: tanh)
2: unitate activ cu functie de activare de tip 2 (ex: logistic)
3: unitate activ cu functie de activare de tip 3 (ex: liniar)
Evoluia ponderilor
Matricea de adiacen se nlocuiete cu matricea de ponderi
0: conexiune inexistent
<>0: valoarea ponderii

Algoritmi metaeuristici - Curs 14 17


Evoluia arhitecturii
Evaluarea elementelor:

Se antreneaza reeaua (folosind un algoritm evolutiv sau unul


clasic)
Se estimeaz eroarea pe setul de antrenare (Ea)
Se estimeaz eroarea pe setul de validare (Ev)
Valoarea scorului (funciei de adecvare) este invers
proporional cu:
Eroarea pe setul de antrenare
Eroarea pe setul de validare
Dimensiunea reelei (numrul de parametri ce intervin n reea) n
felul acesta sunt favorizate reelele de dimensiune mic

Algoritmi metaeuristici - Curs 14 18


Evoluia arhitecturii
Dezavantaje ale codificrii directe:
Nu este scalabil (pentru reele de dimensiuni mari conduce la
elemente de dimensiuni mari)
Poate conduce la codificri diferite care corespund aceleiai
arhitecturi (problema permutrii) redundan fenotipic care
limiteaz puterea de explorare a algoritmului (vezi exemplul de
mai jos)
Nu este adecvat pentru descrierea reelelor neuronale
modulare (n care poriuni din reea se repet)

Algoritmi metaeuristici - Curs 14 19


Evoluia arhitecturii
Codificare indirect:
mai plauzibil dpdv biologic ADN-ul nu codific explicit fiecare
celula din organism ci doar modul n care se sintetizeaz
proteinele

Codificare parametric
Reeaua e descris de un set de caracteristici asociate arhitecturii
(un fel de amprent)

Caz particular (arhitectur parial stabilit): reele cu un singur nivel


de uniti ascunse i conectivitate standard. In acest caz singura
caracteristic variabil este numrul de uniti de pe nivelul ascuns

La evaluarea unui element al populaiei trebuie instaniat o reea i


antrenat (folosind un algoritm clasic sau unul evolutiv)

Codificare prin reguli de dezvoltare

Algoritmi metaeuristici - Curs 14 20


Evolutia arhitecturii
Codificare indirect:
Codificare parametric

Instanierea unei reele: stabilirea aleatoare a conexiunilor n


conformitate cu parametrii specificai n descriere

Algoritmi metaeuristici - Curs 14 21


Evoluia arhitecturii
Operatori:
Exemplu:
Mutaie: modificarea caracteristicilor
reelei
Recombinare: combinarea caracteristicilor
nivelelor

Param. BP Info. nivel 2

Info. nivel 1
Numar nivele
Algoritmi metaeuristici - Curs 14 22
Evoluia arhitecturii
Reguli de dezvoltare a arhitecturii (similar cu Grammar Evolution) :
Structura generala a unei reguli:

Exemple de reguli:

Structura unui element al populaiei:

Algoritmi metaeuristici - Curs 14 23


Evoluia arhitecturii
Exemplu de derivare a unei arhitecturi:

Algoritmi metaeuristici - Curs 14 24


Evoluia arhitecturii
Dezavantaj al evoluiei separate a arhitecturii:

Ca urmare a antrenrii pornind de la valori iniiale aleatoare se


obin estimri afectate de zgomot al fitness-ului corespunztor
unei arhitecturi

Soluii:
Antrenarea de mai multe ori a aceleiai arhitecturi i calculul
fitness-ului mediu => costuri mari
Evoluia simultan a arhitecturii i ponderilor (asigur o
coresponden 1 la 1 a genotipului (codificarea arhitecturii) i a
fenotipului (reeaua antrenat))

Algoritmi metaeuristici - Curs 14 25


EPNet
Exemplu: EPNet = proiectare evolutiv reele neuronale feedforward
bazat pe principiile programrii evolutive [Xin Yao, 1996]
BP+SA
Successful
BP =descretere
eroare
Nodurile de eliminat
se aleg aleator
Successful=mai bun
dect cea mai
slab reea din
populaie

Algoritmi metaeuristici - Curs 14 26


EPNet
Codificarea reelei:
lista de noduri ascunse (tabel binar cu lg = nr. maxim de noduri ascunse)+
matrice de conectivitate +
matrice de ponderi
Interpretare: fiecare nod (neuron), cu exceptia primilor m (neuronii de intrare) este
conectat cu toate nodurile anterioare

Algoritmi metaeuristici - Curs 14 27


EPNet
Exemple de arhitecturi generate folosind EPNet pentru problema
paritii (generalizare XOR)

n=7 n=8

Algoritmi metaeuristici - Curs 14 28


NEAT
NEAT = NeuroEvolution of Augmenting Topologies
(http://nn.cs.utexas.edu/?neat)

Codificare direct:
Lista cu noduri (uniti funcionale)
Tip nod: intrare, ascuns, ieire, nod fictiv (pt specificarea
pragului)
Lista cu conexiuni
Nod intrare (identificator nod)
Nod ieire
Valoare pondere asociat conexiunii
Bit activare (0 conexiune inactiv, 1- conexiune activ)
Indicator de inovare

Algoritmi metaeuristici - Curs 14 29


NEAT
NEAT = NeuroEvolution of Augmenting Topologies
(http://nn.cs.utexas.edu/?neat)

Populatia iniial este constituit din arhitecturi simple (doar nivel de


intrare i nivel de ieire)

Variante de mutaie:
Adugare nod prin inserare ntre dou noduri conectate: (prin
divizarea unei conexiuni existente; conexiunea veche este
eliminat iar dou noi conexiuni sunt adugate: cea care intr n
noul nod este setat pe 1 iar cea care iese are valoarea care era
ataat conexiunii care a fost eliminat)
Adugare conexiune ntre noduri neconectate anterior
(ponderea noii conexiuni se seteaz pe o valoare aleatoare)

Algoritmi metaeuristici - Curs 14 30


NEAT
Exemplu mutaie: (K.Stanley, R. Miikulainen Evolving Neural
Networks through Augmenting Topologies, Evol.Comput. 2002)

Algoritmi metaeuristici - Curs 14 31


NEAT
Incruciare:
doi parini ---- un urma
similar ncrucirii uniforme de la algoritmii genetici

Etapa 1: identificarea genelor corespondente din cei doi prini


Fiecare gen (corespunztoare unei conexiuni) are un indicator de
inovare (alocat n momentul crerii genei respective); valoarea
indicatorului de inovare se stabilete pe baza unei variabile globale
(asociate reelei) i care este incrementat de fiecare dat cnd
este adugat o gen
Genele din prini care au acelai indicator de inovare sunt
considerate gene corespondente
Dac o gen dintr-un printe nu are corespondent (gen cu acelai
indicator de inovare) n cellalt printe atunci este denumit gen
disjunct sau gen n exces
Algoritmi metaeuristici - Curs 14 32
NEAT
Incruciare:
doi prini ---- un urma
similar ncrucirii uniforme de la algoritmii genetici

Etapa 2: construirea urmaului


Pentru genele corespondente se alege aleator printele de la care
se selecteaz gena (indicatorul de inovare rmne neschimbat)
Pentru genele disjuncte sau n exces se decide dac se includ n
urma fie aleator fie pe baza calitii prinilor (dac printele care
conine gena e mai bun dect cel care nu o conine atunci gena se
include n urma, altfel nu se include)

Algoritmi metaeuristici - Curs 14 33


NEAT
Exemplu ncruciare
(Stanley,
Miikulainen,
2002)

Algoritmi metaeuristici - Curs 14 34


NEAT
Observaii:
La un moment dat populaia va conine reele cu arhitecturi diferite
Pentru a permite noilor arhitecturi s supravieuiasc n populaie se
utilizeaz o tehnic de evoluie la nivel de specii (speciere) prin
care, n procesul de selecie sunt comparate ntre ele doar reele
avnd arhitecturi similare)
Msura de similaritate ntre dou arhitecturi: combinaie liniar n
care intervin:
diferena medie dintre ponderile asociate genelor
corespondente (W)
numrul de gene disjuncte (D)
numrul de gene n exces (E)
S=D/N+E/N +W (N=max{N1,N2}, N1,N2=nr gene din cele dou
reele)
Selecia se bazeaz utilizarea unei funcii de partajare (curs viitor)
Algoritmi metaeuristici - Curs 14 35
Evoluia regulii de nvare
Un algoritm de antrenare descrie un proces iterativ n care la fiecare
iteraie se ajusteaz valorile ponderilor
Forma general a ajustrii locale a unei ponderi este

wij (k + 1) = ( wij (k ), xi , yi , x j , y j , i , j , )

xi,xj semnale de intrare n unitile i respectiv j


yi,yj semnale de ieire din unitile i respectiv j
parametrii de control ai antrenrii (ex: rata de invatare)
i,j semnal de eroare corespunztor unitatii i, respectiv j
Exemplu: ajustare de tip BackPropagation

wij (k + 1) = wij (k ) + i y j

Algoritmi metaeuristici - Curs 14 36


Evolutia regulii de nvare
Elemente care pot fi supuse procesului de evoluie:

Parametrii algoritmului de antrenare (ex: rata de nvare,


coeficientul termenului moment)
Expresia corespunztoare regulii de transformare (similar
programrii genetice)

Evaluarea fiecrui element al populaiei:


Antrenarea reelei pentru fiecare regul

Dezavantaj: proces extrem de costisitor

Algoritmi metaeuristici - Curs 14 37


Sumar
Structura general a unui proces
de proiectare evolutiv a unei
reele neuronale

Nivele:
Ponderi
Reguli de nvare
Arhitectura

X. Yao, Evolving ANN, 1999


Algoritmi metaeuristici - Curs 14 38

Вам также может понравиться

  • Metaeuristici2015 Slides5
    Metaeuristici2015 Slides5
    Документ25 страниц
    Metaeuristici2015 Slides5
    Alex Negrea
    Оценок пока нет
  • Am2015 Slides14
    Am2015 Slides14
    Документ38 страниц
    Am2015 Slides14
    Alex Negrea
    Оценок пока нет
  • Alg2012 Seminar1
    Alg2012 Seminar1
    Документ8 страниц
    Alg2012 Seminar1
    Alex Negrea
    Оценок пока нет
  • Metaeuristici2015 Slides2
    Metaeuristici2015 Slides2
    Документ36 страниц
    Metaeuristici2015 Slides2
    Alex Negrea
    Оценок пока нет
  • Metaeuristici2015 Slides1
    Metaeuristici2015 Slides1
    Документ32 страницы
    Metaeuristici2015 Slides1
    Alex Negrea
    Оценок пока нет
  • Metaeuristici2015 Slides1
    Metaeuristici2015 Slides1
    Документ32 страницы
    Metaeuristici2015 Slides1
    Alex Negrea
    Оценок пока нет
  • Am2015 Slides8
    Am2015 Slides8
    Документ48 страниц
    Am2015 Slides8
    Alex Negrea
    Оценок пока нет
  • Bioinfo2015 Curs1
    Bioinfo2015 Curs1
    Документ54 страницы
    Bioinfo2015 Curs1
    Alex Negrea
    Оценок пока нет
  • Linux 1
    Linux 1
    Документ5 страниц
    Linux 1
    Alex Negrea
    Оценок пока нет
  • Linux 7
    Linux 7
    Документ2 страницы
    Linux 7
    Alex Negrea
    Оценок пока нет
  • Linux 2
    Linux 2
    Документ2 страницы
    Linux 2
    Alex Negrea
    Оценок пока нет