Modelarea Cu Retele Neurale

10
MODELAREA CU REŢELE NEURALE ARTIFICIALE STRUCTURA UNEI REŢELE NEURALE. Elementul de bazã al unei reţele neurale este neuronul. Privit ca un sistem , neuronul este de tip MISO , pentru cã are un numãr n de intrãri si o iesire . Schematic, un neuron este reprezentat printr-un element de însumare 6 a intrãrilor x i si printr-o functie de activare f , având pragul T ( fig. 1) . Fig. .1 Acest model al unui neuron este de tip feedforward , mãrimea de iesire y fiind definitã prin relatia: y = f(w 0 x 0 + w 1 x 1 + ... + w n x n )=f ¸ ¹ · ¨ © § ¦ n 0 i i ix W =f(net) unde prin x 0 s-a notat intrarea cu ponderea W 0 =1. Se noteazã cu : n 2 1 x ,... x , x x vectorul intrãrilor

description

Elementul de bazã al unei reţele neurale este neuronul. Privit ca un sistem , neuronuleste de tip MISO , pentru cã are un numãr n de intrãri si o iesire .Schematic, un neuron este reprezentat printr-un element de însumare 6 a intrãrilor xisi printr-o functie de activare f , având pragul T ( fig. 1) .

Transcript of Modelarea Cu Retele Neurale

Page 1: Modelarea Cu Retele Neurale

MODELAREA CU REŢELE NEURALE ARTIFICIALE

STRUCTURA UNEI REŢELE NEURALE. Elementul de bazã al unei reţele neurale este neuronul. Privit ca un sistem , neuronul

este de tip MISO , pentru cã are un numãr n de intrãri si o iesire .

Schematic, un neuron este reprezentat printr-un element de însumare 6 a intrãrilor xi

si printr-o functie de activare f , având pragul T ( fig. 1) .

Fig. .1

Acest model al unui neuron este de tip feedforward , mãrimea de iesire y fiind definitã

prin relatia:

y = f(w0x0 + w1x1 + ... + wnxn)=f ¸¹

ᬩ

§¦

n

0iiixW =f(net)

unde prin x0 s-a notat intrarea cu ponderea W0=1.

Se noteazã cu :

� �n21 x,...x,xx vectorul intrãrilor

Page 2: Modelarea Cu Retele Neurale

2

� �n21 w,...w,ww vectorul ponderilor

Functia de activare permite transformãri complexe ale intr`rilor. Se utilizeaz` ca

funcţie de activare : functia treaptã (Heaviside), functia sigmoidalã, etc.

Functia treaptã :

fh(u)=¯®­

d!

0upentru00upentru1

Cea mai utilizatã structură pentru o arhitectură de reţea neuronală este perceptronul

multistrat MLP (multilayer perceptron),:

Nodurile din stratul de intrare au o singură intrare, iar ieşirile acestora merg la stratul

ascuns care nu este accesibil. O reţea neuronală trebuie instruită, adică se dă un set de date de

intrare şi ieşirile scop (target). Prin operaţia de instruire, ieşirea actuală a reţelei neuronale se

compară cu scopul şi în funcţie de eroarea aceasta, se modifică ponderile, operaţia repetându-

se pentru toate seturile de intrare de test. În operaţia de instruire se foloseşte o funcţie cost

dependentă de eroarea de instruire la fiecare pas. Cea mai utilizată funcţie de cost Ep, se

referă la suma ponderată a erorilor de instruire pentru fiecare set de date de instruire, de

forma:

� �¦

� m

ipiip WtyE

1

2 ,

Page 3: Modelarea Cu Retele Neurale

3

unde m este numărul de seturi de date pentru instruirea reţelei, Wp este o pondere care arată

calitatea setului de date, cu valori cuprinse în domeniul 0<Wd1.

Fig. 3

Preprocesarea oferă o micşorare a timpului de calcul al reţelei neurale, deoarece

aceasta va primi date prelucrate, ca de exemplu: filtrarea semnalelor, extragerea de trasaturi,

transformata Fourie rapidă, serii predictive de timp, etc. Postprocesarea transformă ieşirile

decodificate ale reţelei neurale într-o formă corespunzătoare unei aplicaţii, ca de exemplu

rescalarea semnalului de ieşire.

Alegerea unei soluţii de implementare a unei reţele neurale necesită operaţiile:

a) alegerea unei structuri de calcul de tip paralel sau secvenţial. Procesarea

secvenţială este mai uşor de implementat, este mai simplă, dar este mai lentă.

Procesarea în paralel este mai scumpă, dar mult mai rapidă.

b) alegerea soluţiei software sau hardware de implementare. O soluţie software este

mai flexibilă, dar o soluţie hardware este mai rapidă.

c) alegerea modului de interpretare software, standard, accelerator, etc.

Proiectarea unei reţele neurale poate să ducă la obţinerea unui produs care are

performanţe deficitare, ca de exemplu:

Page 4: Modelarea Cu Retele Neurale

4

- reţeaua neurală are o eroare finală de instruire mare, simptom care se poate

datora faptului că s-au ales greşit parametrii algoritmului de instruire şi procesul

de instruire este slab convergent;

- se obţin performanţe inadecvate pentru setul de date de test după instruirea

reţelei, simptom care poate fi cauzat de complexitatea prea mare a reţelei neurale;

- viteza inadecvată de procesare, simptom care se poate datora alegerii unor

algoritmi prea complicaţi pentru preprocesare şi postprocesare.

Un neuron poate fi interpretat analogic (există realizări tehnologice care includ 512

neuroni într-un circuit integrat) sau numeric, la care informaţiile se pot transmite în paralel

sau în serie. Există procesoare neurale, care includ multiplexoare, procesoare numerice de

semnale DSP, registre, etc. cu care se poate realiza o structură feedforward sau backforward

pentru reţele neurale.

Pentru reţele neurale de tip multistrat MLP, cel mai utilizat algoritm de instruire se

bazează pe metoda propagării inverse, care impune o funcţie prag continuu derivabilă, de

forma:

f nete K net( )

� � �1

1

unde k defineşte lărgimea funcţiei şi care acţionează ca un control al amplificării. Parcurgerea

etapelor de calcul pentru instruirea unei reţele neurale necesită următoarele operaţii:

iniţializarea ponderilor, evaluarea ieşirilor pentru fiecare strat şi adaptarea ponderilor folosind

relaţia:

w t w t O w t w tji ji pj pi ji ji( ) ( ) [ ( ) ( )]� � � � � � � �1 1K V D ,

unde wij(t) reprezintă ponderile de la nodul i la nodul j la momentul de timp t, K este un

coeficient de amplificare, Vpj este termenul erorii de instruire pentru imaginea p în nodul j, Opi

- ieşirea actuală a reţelei neurale, iar D este un coeficient de moment în variaţia succesivă a

ponderilor.

Page 5: Modelarea Cu Retele Neurale

5

O reţea neurală de tip MLP este cu instruire supervizată, adică se învaţă să îşi modifice

ponderile astfel încât ieşirile acesteia să coincidă cu scopul (“target”). Există şi reţele cu

instruire nesupervizată, la care nu există un “target”, unde o reţea învaţă să recunoască orice

imagine “patern” în datele de intrare şi care sunt prezentate în continuare.

5.2. STRUCTURI DE ARHITECTURI DE REŢELE NEURALE

Cele mai utilizate structuri de reţele neurale sunt de tip perceptron multristrat MLP,

cu instruire supervizată şi de tip feedforward. Dintre alte tipuri de reţele neurale se

reamintesc:

a) Reţele Kohonen cu autoorganizare, au două straturi: unul de intrare şi unul de

ieşire. Toate intrările sunt conectate la toate nodurile de ieşire, care pot avea numai conexiuni

laterale cu nodurile imediat vecine, fig. 6.4. Reţelele Kohonen sunt cu autoorganizare, de tip

feedforward şi cu instruire nesupervizată. Aceste reţele se folosesc pentru gruparea datelor de

intrare “clustering”. De exemplu o reţea Kohonen este instruită pentru datele care definesc

funcţionarea unei pompe şi la ieşirea reţelei se obţine o hartă. La apariţia unor defecte la

pompă apare o altă hartă.

4

b) Reţele neurale cu funcţii de bază radiale (Radial Basic Function RBF). Aceste

reţele sunt o alternativă la reţelele de tip MLP, având avantajul că în unele aplicaţii pot fi mai

Noduri intrare

16 fire de la fiecare nod de intrare

Noduri ieşire

Page 6: Modelarea Cu Retele Neurale

6

uşor instruite, clasificare de imagini, discriminare, prognoze etc. În stratul ascuns al reţelei

RBF, fiecare neuron are ca intrări toate ieşirile de la stratul de intrare. Un neuron conţine o

“basic function”, fig. , care are ca parametrii “centrul” şi “lăţimea”. Structura unui neuron din

stratul ascuns al reţelei RBF este dată în fig. :

Fig.

În fig.. prin "d" s-a notat:

� �¦ � 2ii Cxd

Structura unei reţele de tip RBF, fig., reteaua are iesirea descrisă de ecuaţia:

� � 01

wxRwyn

iii � ¦

unde wi sunt ponderile, CTi =[Ci1, Ci2, …, Cin] este centrul domeniului receptor şi Ri funcţiile:

� � niii RCCuxR �� ,)( M

unde M(.) are o valoare maximă în origine, deci numai în vecinătatea vectorului Ci, care este

numit centrul lui Ri(x).

Page 7: Modelarea Cu Retele Neurale

7

Fig.

Clasa cea mai generală de funcţii radiale de bază conţine funcţii gausiene de forma:

� � � �¸̧¸

¹

·

¨̈¨

©

§� ¦

�j

iii

cnR

cuV*2

exp2

Pentru alegerea funcţiilor de bază se poate folosi o reţea Kohonen, care printr-o

instruire nesupervizată pentru un set de date de intrare determină la ieşire clustere care sunt

utilizate pentru a defini “basis function centers”

c) Reţele Hopfield. Aceste reţele constau dintr-un număr de noduri, fiecare conectat

unul cu altul, deci o reţea complet interconectată, fig. . O reţea Hopfield admite numai intrări

cu două stări (0;1) sau bipolar (-1;1). Ieşirea reţelei este starea neuronilor în stare stabilă, în

regim staţionar. Instruirea unei reţele Hopfield se face prin asigurarea ponderilor pentru

conexiuni, în iniţializarea reţelei cu imaginea cunoscută şi în iterarea calculelor pentru ponderi

până la convergenţă.

Page 8: Modelarea Cu Retele Neurale

8

Fig.

Dintre alte tipuri de reţele neurale se menţionează reţelele neurale recurente (folosite

în special pentru aplicaţii de prognoză), reţele neurale autoasociative (de tip forward şi cu

instruire nesupervizată) şi reţele cu cuantizare vectorială (de tip feedforward şi cu instruire

supervizată). Fiecare tip de reţea neurală are avantaje şi dezavantaje, fiind adecvate deci

pentru o anumită clasă de aplicaţii.

REŢEA NEURALĂ PENTRU PREDICŢIA STĂRII UNUI PROCES DE

FERMENTAŢIE

Deoarece nu există relaţii matematice care să definească reacţiile, determinarea

modelelor bioreactoarelor şi măsurarea indirectă a unor parametri privind variabilele de stare

ale acestuia necesită utilizarea reţelelor neurale, care pot fi folosite în regim de predicţie.

Astfel, cu ajutorul reţelelor neurale se poate estima starea bioreactorului, se pot prezice

valorile variabilelor de ieşire, ca productivitate, calitate, etc.

Ca exemplu de utilizare a unei reţele neurale industriale pentru estimarea stării

procesului de fermentaţie şi pentru predicţia unor variabile, se consideră un proces de

fermentaţie la care nu pot fi măsuraţi toţi parametrii tehnologici şi deci se utilizează o reţea

neurală pentru estimarea şi predicţia variabilelor de stare ale acestuia.

Interconexiuni Nodurile reţelei neurale

Page 9: Modelarea Cu Retele Neurale

9

Estimarea şi predicţia biomasei notată cu x, şi măsurată în g/l la momentul actual de

timp t , notată x(t), şi la momente viitoare de timp t+1, t+2, t+3, reprezentând ieşirile reţelelor

neurale. Semnalele de intrare ale reţelei neurale pentru predicţia biomasei x(t) reprezintă

mărimi care se pot măsura, respectiv:

-concentraţia de oxigen dizolvat DO(t), transmisă de alte două intrări prin elemente de

întârziere, DO(t-1), DO(t-2).

-concentraţia de oxigen Rq(t) (respiratory quotant) transmisă în mod identic la încă două

intrări ale reţelei, Rq(t), Rq(t-1) şi Rq(t-2).

-concentraţia ethanolului la ieşire Eq, %, transmisă în mod identic la încă trei intrări ale reţelei

neuronale, Eq(t), Eq(t-1), Eq(t-2).

-viteza de alimentare a substratului FIN, cm3/l, transmisă la fel la trei intrări, FIN(t), FIN(t-1),

FIN(t-2).

deasemenea, la două intrări ale reţelei neuronale se transmit valorile precedente ale

concentraţiei de biomasă,la momente anterioare de timp x(t-1) şi x(t-2).

Rezultă că la intrarea reţelei neurale se aplică 14 semnale de intrare, iar la ieşire este

un singur semnal, concentraţia de biomasă x(t). În concluzie, pentru predicţia biomasei x(t), s-

a folosit o reţea neuronală cu 14 semnale de intrare (deci 14 noduri de intrare), 10 noduri în

stratul ascuns şi un nod în stratul de ieşire, pentru x(t). Pentru instruirea reţelei s-a folosit

metoda propagării inverse.

Page 10: Modelarea Cu Retele Neurale

10