Sunteți pe pagina 1din 8

6

REELE BAZATE PE CLIRE


SIMULAT
6.1. PRINCIPIUL DE FUNCIONARE A CLIRII SIMULATE
Clirea simulat se bazeaz pe analogia dintre procesul de clire a metalelor i rezolvarea problemelor de optimizare combinatorial. Exist dou posibiliti de a rezolva o problem de optimizare combinatorial: mare utilizarea unui algoritm aproximativ, care s obin o soluie aproximativ, dar ntr-un timp rezonabil. Este de dorit un algoritm aproximativ general care s poat fi folosit pentru rezolvarea unei mari varieti de probleme. Clirea simulat este un astfel de algoritm i este o generalizare a algoritmilor de ameliorare iterativ. Un algoritm de ameliorare iterativ funcioneaz astfel: utilizarea unui algoritm de optimizare care, ns, poate s furnizeze o soluie optim global ntr-un timp care poate fi foarte

100 1) se pornete cu o configuraie iniial 2) se genereaz o secven de iteraii, fiecare dintre ele constnd n trecerea de la configuraia curent la alta nou care are un cost mai mic i este situat n vecintate 3) algoritmul se oprete cnd se obine o configuraie care are cel mai mic cost n raport cu cel al configuraiilor din vecintatea sa. Principalele dezavantaje ale algoritmilor iterativi sunt: oprirea poate avea loc ntr-un minim local i nu tim ct de departe este acesta fa de minimul global minimul local depinde de configuraia iniial. Spre deosebire de ameliorarea iterativ, clirea simulat nu depinde de configuraia iniial i ofer o valoare apropiat de minimul global al funciei de cost. Dei mai lent dect ameliorarea iterativ, clirea simulat este preferat datorit capacitii de a evita punctele de minim local. Clirea simulat urmrete obinerea echilibrului termic la o anumit temperatur T . Cea mai rapid metod de obinere a echilibrului a fost dezvoltat de Metropolis i colaboratorii si [40] i const n: fiind dat starea curent a metalului (caracterizat de poziia particulelor sale) avnd energia Ec , se aplic o perturbaie generat

101 aleator prin deplasarea mic a unei particule; fie E p energia strii obinute ca urmare a perturbaiei. dac E = E p E c 0 atunci probabilitatea p de acceptare a

strii perturbate este


E p = exp , k T 0

unde k 0 este constanta lui Boltzmann. Aceast regul de acceptare a noii stri (numit criteriul Metropolis) face ca sistemul s evolueze spre echilibrul termic, adic dup un numr de perturbaii distribuia de probabilitate a strilor aproximeaz distribuia Boltzmann. Aceast metod de obinere a echilibrului termic se numete algoritmul Metropolis i poate fi folosit la rezolvarea problemelor de optimizare combinatorial astfel: configuraiile problemei joac rolul strilor metalului funcia obiectiv este similar energiei parametrul de control joac rolul temperaturii; n continuare l vom nota tot cu T i-l vom numi temperatura sistemului.

6.2. ALGORITMUL DE CLIRE SIMULAT


Algoritmul de clire simulat este o secven de algoritmi Metropolis aplicai unui ir descresctor de valori ale parametrului de control. Iniial temperatura este fixat la o valoare mare, apoi se trece

102 de la configuraia i la configuraia j , aleas aleator n vecintatea lui i . Dac C ( x) este costul configuraiei x , variaia funciei de

cost, ca urmare a schimbrii configuraiei, va fi Cij = C ( j ) C (i ) .

Dac C ij 0 atunci probabilitatea ca j s fie noua configuraie este 1 . Dac, ns, C ij > 0 atunci probabilitatea ca j s devin noua
Cij configuraie este p j = exp T . Se accept j ca fiind noua

configuraie, dac p j > r , unde r [0,1] este un numr aleator. n caz contrar se genereaz o nou configuraie n vecintatea lui i . Procesul continu pn cnd este atins echilibrul: probabilitatea configuraiei j este aproximativ egal cu
1 C( j) exp Z (T ) T unde Z (T ) este un factor de normalizare. Apoi se reduce treptat temperatura i fiecare pas se ncheie cu atingerea echilibrului termic. Algoritmul se termin pentru o valoare mic a temperaturii, la care nicio modificare a valorii funciei criteriu nu mai este acceptat; configuraia curent este ngheat i aceasta reprezint soluia aproximativ a problemei.
Algoritmul Pasul 1. k 0 ; se alege temperatura iniial Tk Pasul 2. Se repet paii urmtori pn cnd sistemul nghea

103
Pasul 3. Repet pasul 4 pn cnd sistemul este suficient de aproape

de echilibru
Pasul 4. Fie i configuraia curent i j o perturbaie a sa. Se

calculeaz variaia funciei de cost Cij = C ( j ) C (i ) . Dac C ij 0 , atunci configuraia j este acceptat. Dac C ij > 0 atunci se selecteaz uniform i aleator un numr r [0,1]
Cij se calculeaz p j = exp T k i

dac p j > r se accept j ca noua configuraie n caz contrar configuraia curent rmne i .
Pasul 5. Se reduce temperatura, prin intermediul unei funcii

descresctoare
k := k + 1 .

f , calculnd

Tk +1 = f (Tk ) i se face

Convergena algoritmului

Pentru convergena spre un minim global este necesar ca temperatura s descreasc dup legea T (t ) = T0 1 + ln(t )

unde T0 este temperatura iniial iar t este timpul msurat prin numrul de cicluri de prelucrare. Aceast lege de modificare a

104 temperaturii necesit un numr mare de iteraii. O metod mai rapid const n nlocuirea distribuiei Boltzmann prin distribuia Cauchy. Aceast nlocuire permite ca, uneori, dintr-un punct de minim local s se poat iei printr-un pas mai mare; deci, minimul global poate fi atins cu un numr mai mic de iteraii. Pentru distribuia Cauchy temperatura descrete dup legea
T (t ) = T0 1+ t

iar probabilitatea unui pas de mrime x este


P( x) = T (t ) . T (t ) + x 2
2

6.3. INSTRUIREA REELELOR NEURONALE FOLOSIND CLIREA SIMULAT


Instruirea unei reele neuronale nu necesit valori prea mari ale ponderilor. Dac aceste valori sunt mari atunci activrile neuronilor vor fi mari iar valorile derivatelor funciilor sigmoidale de rspuns vor fi mici, ceea ce tinde s paralizeze conexiunea respectiv. De aceea se impun limite de mrime pentru ponderi. Considerm o reea neuronal cu transmisie unidirecional i fr straturi ascunse. Funcia criteriu E msoar diferena dintre ieirile reale i cele dorite. Considerm un pas al algoritmului de clire simulat corespunztor valorii T a temperaturii. Fie wij o

105 pondere asociat neuronului j ; modificarea sa se face cu o valoare aleatoare wij . Probabilitatea ca modificarea wij s fie acceptat E este p j = exp , unde E este variaia energiei datorat T modificrii ponderii. Pentru acceptarea modificrii se compar p j cu un numr aleator r , ales uniform din [0, 1] : dac p j > r atunci schimbarea este acceptat dac p j r atunci ponderea wij rmne neschimbat

O iteraie a algoritmului de instruire a unei reele neuronale prin clire simulat este:
Pasul 1. Se prezint reelei vectorul de intrare x i ; se calculeaz

ieirile i valoarea funciei obiectiv.


Pasul 2. Se fixeaz o valoare T a temperaturii Pasul 3. Se selecteaz aleator o conexiune (i, j ) avnd ponderea

wij .
Pasul 4. Se genereaz aleator o modificare wij a

ponderii

conexiunii selectate.
Pasul 5. Se calculeaz variaia E a energiei asociate modificrii

ponderii.

106
Pasul 6. Dac valoarea funciei energie scade atunci se accept

modificarea ponderii, adic wij := wij + wij . n caz contrar au loc operatiile: 1) Se calculeaz probabilitatea p j de acceptare a

E modificrii wij : p j = exp T


2) Se genereaz un numr aleator r cu uniform pe intervalul [0, 1] . Dac p j > r atunci wij := wij + wij iar dac p j r atunci conexiunea (i, j ) i menine valoarea. Algoritmul anterior se execut pentru fiecare pondere a reelei, ceea ce reprezint un ciclu de prelucrare. Se reduce apoi temperatura i se efectueaz un nou ciclu de prelucrare. Reducerea temperaturii are loc pn cnd se obine o valoare acceptabil a funciei obiectiv. n acest moment se consider un nou vector de instruire i se reia ntregul proces, pornind clirea simulat cu valoarea maxim a temperaturii. Reeaua este instruit pentru toi vectorii din mulimea de antrenament. Ei pot fi prezentai ciclic pn cnd funcia criteriu are o valoare rezonabil pentru toi vectorii de instruire. distribuie