book neural network tudor n l 2012

53
Tudor N. L., RETELE NEURONALE ARTIFICIALE. Aplicaţii Matlab, Editura MATRIX ROM Bucureşti, Romania, ISBN 978-973-755-841-1, 2012, 195 pag

Upload: andrei-gherasim

Post on 27-Apr-2017

239 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Book Neural Network Tudor N L 2012

Tudor N. L., RETELE NEURONALE ARTIFICIALE. Aplicaţii Matlab, Editura MATRIX ROM Bucureşti, Romania, ISBN 978-973-755-841-1, 2012, 195 pag

Page 2: Book Neural Network Tudor N L 2012

Tudor N. L., RETELE NEURONALE ARTIFICIALE. Aplicaţii Matlab, Editura MATRIX ROM Bucureşti, Romania, ISBN 978-973-755-841-1, 2012, 195 pag

NICOLETA LIVIANA TUDOR

REŢELE NEURONALE

ARTIFICIALE

Aplicaţii Matlab

2012

Page 3: Book Neural Network Tudor N L 2012

Tudor N. L., RETELE NEURONALE ARTIFICIALE. Aplicaţii Matlab, Editura MATRIX ROM Bucureşti, Romania, ISBN 978-973-755-841-1, 2012, 195 pag

NICOLETA LIVIANA TUDOR

REŢELE NEURONALE

ARTIFICIALE

Aplicaţii Matlab

2012

Page 4: Book Neural Network Tudor N L 2012

Tudor N. L., RETELE NEURONALE ARTIFICIALE. Aplicaţii Matlab, Editura MATRIX ROM Bucureşti, Romania, ISBN 978-973-755-841-1, 2012, 195 pag

Referenţi ştiinţifici

Prof. univ. dr. Ion IANCU Universitatea din Craiova

Conf. univ. dr. ing. Adrian MOISE

Universitatea Petrol-Gaze din Ploieşti

Prof. univ. dr. ing. Dorin BADOIU Universitatea Petrol-Gaze din Ploieşti

Tehnoredactare computerizatã

Lect. univ. dr. Nicoleta Liviana TUDOR Universitatea Petrol-Gaze din Ploieşti

[email protected] [email protected]

Page 5: Book Neural Network Tudor N L 2012

Tudor N. L., RETELE NEURONALE ARTIFICIALE. Aplicaţii Matlab, Editura MATRIX ROM Bucureşti, Romania, ISBN 978-973-755-841-1, 2012, 195 pag

Prefaţã

O preocupare de interes ştiinţific şi de actualitate a inteligenţei artificiale, o constituie teoria reţelelor neuronale artificiale, care demonstreazã abilitatea neuronilor de a realiza predicţii ale seriilor temporale, aproximaţii universale, de a recunoaşte forme, de a rezolva probleme de clasificare, etc.

Reţelele neuronale artificiale reprezintã instrumente puternice de modelare pentru clase de probleme din diverse domenii precum bioinformaticã, medicinã, pentru depistarea precoce şi clasificarea genelor specifice anumitor afecţiuni, ingineria sistemelor, analize financiare predictive, procesare de imagini, etc.

Aceastã carte este utilã studenţilor masteranzi de la specializãri ca Informaticã, Calculatoare, Informaticã Economicã, cadrelor didactice şi, în general, celor pasionaţi de Inteligenţã Artificialã.

Acest material a fost elaborat în conformitate cu programa analiticã a cursului de Reţele neuronale artificiale predat de lect. dr. inf. Liviana TUDOR, studenţilor de la Masterul TAPI (Tehnologii Avansate de Prelucrarea a Informaţiei), specializarea Informaticã, din cadrul Universitãţii Petrol şi Gaze din Ploieşti.

Cartea REŢELE NEURONALE ARTIFICIALE – Aplicaţii Matlab este structuratã în şapte capitole astfel:

Capitolul 1 – Bazele reţelelor neuronale artificiale, care prezintã noţiuni elementare referitoare la neuronul biologic, analogia cu modelul neuronului artificial, tipurile de reţele neuronale şi aplicaţiile acestora în Matlab.

Capitolul 2 – Perceptronul, cu principalele noţiuni legate de arhitectura unei reţele neuronale de tip perceptron, algoritmul de învãţare, liniar separabilitate şi aplicaţii Matlab.

Capitolul 3 – Reţele neuronale liniare, care descrie procesarea semnalelor în reţele liniare, arhitectura unei reţele liniare, algoritmul de antrenare Widrow-Hoff şi aplicaţii Matlab.

Page 6: Book Neural Network Tudor N L 2012

Tudor N. L., RETELE NEURONALE ARTIFICIALE. Aplicaţii Matlab, Editura MATRIX ROM Bucureşti, Romania, ISBN 978-973-755-841-1, 2012, 195 pag

Capitolul 4 – Reţele multistrat cu propagare directă, capitol care prezintã arhitectura reţelelor feedforward, algoritmul de antrenare Backpropagation şi aplicaţii Matlab.

Capitolul 5 – Reţele competitive, în care se descriu reţelele neuronale pentru clustering, algoritmii WTA (Winner Takes All) şi ART (Adaptive Resonance Theory), reţelele Kohonen şi aplicaţii Matlab.

Capitolul 6 – Reţele neuronale recurente, capitol în care sunt prezentate arhitectura reţelelor recurente, modelul Hopfield şi aplicaţii Matlab.

Capitolul 7 – Reţele de inferenţã neuro-fuzzy, capitol în care sunt prezentate conceptele logicii fuzzy, sisteme de inferenţã neuro-fuzzy de tip Sugeno şi aplicaţii Matlab.

Aplicaţiile au fost realizate şi testate folosind versiunile Matlab 7.1. şi Matlab R2010b.

La finalizarea acestei lucrãri, doresc sã le mulţumesc domnilor referenţi ştiinţifici, pentru observaţiile care au contribuit la redactarea manuscrisului în aceastã formã.

Liviana TUDOR 23 Iulie 2012

Page 7: Book Neural Network Tudor N L 2012

Tudor N. L., RETELE NEURONALE ARTIFICIALE. Aplicaţii Matlab, Editura MATRIX ROM Bucureşti, Romania, ISBN 978-973-755-841-1, 2012, 195 pag

CUPRINS

1. Bazele reţelelor neuronale artificiale . . . . . . . . . . . . .

1.1. Noţiuni introductive . . . . . . . . . . . . . . . . . . . . . .

1.1.1. Modelul neuronului biologic . . . . . . . . .

1.1.2. Aplicaţii ale calculului neuronal . . . . . .

1.1.3. Definiţia reţelei neuronale. . . . . . . . . . .

1.2. Topologii de reţele . . . . . . . . . . . . . . . . . . . . . . .

1.3. Aplicaţii Matlab . . . . . . . . . . . . . . . . . . . . . . . . .

1.4. Exerciţii şi probleme . . . . . . . . . . . . . . . . . . . . .

7

7

10

13

15

16

22

24

2. Perceptronul. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2.1. Modelul unui perceptron . . . . . . . . . . . . . . . . . .

2.2. Algoritmi de învãţare . . . . . . . . . . . . . . . . . . . . .

2.3. Separabilitate liniară . . . . . . . . . . . . . . . . . . . . . .

2.3.1. Optimizare şi programare liniară . . . . . . .

2.3.2. Reprezentarea funcţiilor booleene . . . . . .

2.4. Aplicaţii Matlab . . . . . . . . . . . . . . . . . . . . . . . . .

2.4.1. Probleme de clasificare . . . . . . . . . . . . . .

2.4.2. Probleme de algebră booleană . . . . .. . . . .

2.4.3. Probleme de recunoaştere a formelor . . . .

2.5. Exerciţii şi probleme . . . . . . . . . . . . . . . . . . . . .

27

27

29

31

36

39

42

42

45

47

50

3. Reţele neuronale liniare . . . . . . . . . . . . . . . . . . . . . . . .

3.1. Procesarea semnalelor . . . . . . . . . . . . . . . . . . . . .

3.1.1. Unităţi McCulloch-Pitts . . . . . . . . . . . . . .

51

52

53

Page 8: Book Neural Network Tudor N L 2012

Tudor N. L., RETELE NEURONALE ARTIFICIALE. Aplicaţii Matlab, Editura MATRIX ROM Bucureşti, Romania, ISBN 978-973-755-841-1, 2012, 195 pag

3.1.2. Funcţii de activare . . . . . . . . . . . . . . . . . .

3.2. Reţele liniare cu un strat . . . . . . . . . . . . . . . . . . .

3.3. Antrenarea unei reţele liniare . . . . . . . . . . . . . . .

3.4. Aplicaţii Matlab . . . . . . . . . . . . . . . . . . . . . . . . .

3.4.1. Aproximarea unei funcţii . . . . . . . . . . . . .

3.4.2. Probleme de algebră booleană . . . . . . . . .

3.4.3. Reţele liniare cu întârzieri . . . . . . . . . . . . .

3.5. Exerciţii şi probleme . . . . . . . . . . . . . . . . . . . . .

56

59

62

66

67

69

76

77

4. Reţele multistrat cu propagare directă . . . . . . . . . . . . .

4.1. Arhitectura reţelei feedforward . . . . . . . . . . . . .

4.1.1. Reţele feedforward cu un strat ascuns . . .

4.1.2. Reţele cu straturi acunse multiple . . . . . .

4.1.3. Tipuri de reţele feedforward . . . . . . . . . .

4.1.3.1. Perceptronul multistrat . . . . . . . . . . .

4.1.3.2. Reţele RBF (funcţii de bazã radiale)

4.2. Antrenarea reţelei feedforward . . . . . . . . . . . . . .

4.2.1. Algoritmul Backpropagation . . . . . . . . . .

4.2.2. Eroarea reţelei . . . . . . . . . . . . . . . . . . . . .

4.2.3. Optimizarea tehnicilor de antrenare

4.3. Aplicaţii Matlab . . . . . . . . . . . . . . . . . . . . . . . . .

4.3.1. Probleme de algebră booleană . . . . . . . . .

4.3.2. Aproximarea funcţiilor . . . . . . . . . . . . . .

4.3.3. Predicţia seriilor temporale . . . . . . . . . . . .

4.4. Exerciţii şi probleme . . . . . . . . . . . . . . . . . . . . . .

79

79

83

86

89

89

91

95

95

98

100

103

103

106

108

111

Page 9: Book Neural Network Tudor N L 2012

Tudor N. L., RETELE NEURONALE ARTIFICIALE. Aplicaţii Matlab, Editura MATRIX ROM Bucureşti, Romania, ISBN 978-973-755-841-1, 2012, 195 pag

5. Reţele competitive . . . . . . . . . . . . . . . . . . . . . . . . . . .

5.1. Reţele neuronale pentru clustering . . . . . . . . . .

5.1.1. Algoritmul Winner Takes All . . . . . . . . . .

5.1.2. Algoritmul Adaptive Resonance Theory ..

5.2. Reţele Kohonen . . . . . . . . . . . . . . . . .. . . . . . . . .

5.2.1. Arhitectura unei reţele Kohonen . . . . . . . .

5.2.2. Algoritm de antrenare . . . . . . . . . . .. . . . .

5.3. Aplicaţii Matlab . . . . . . . . . . . . . . . . . . . . . . . . .

5.4. Exerciţii şi probleme . . . . . . . . . . . . . . . . . . . . . .

113

113

116

118

121

121

123

126

132

6. Reţele neuronale recurente . . . . . . . . . . . . . . . . . . . . .

6.1. Arhitectura reţelelor recurente . . . . . . . . . . . . . .

6.2. Reţele Hopfield . . . . . . . . . . . . . . . . . . . . . . . . . .

6.2.1. Elemente caracteristice . . . . . . . . . . . . . .

6.2.2. Dinamica reţelelor . . . . . . . . . . . . . . . . . .

6.3. Aplicaţii ale reţelelor Hopfield . . . . . . . . . . . . . . .

6.3.1. Memorii asociative . . . . . . . . . . . . . . . . . .

6.3.2. Maşina Boltzmann . . . . . . . . . . . . . . . . . .

6.4. Exerciţii şi probleme . . . . . . . . . . . . . . . . . . . . . .

133

133

135

137

138

140

141

144

148

7. Reţele de inferenţã neuro-fuzzy . . . . . . . . . . . . . . . . . .

7.1. Conceptul de logicã fuzzy . . . . . . . . . . . . . . . . . .

7.2. Sisteme de inferenţã neuro-fuzzy . . . . . . . . . . . . .

7.2.1. Modelul fuzzy Sugeno . . . . . . . . . . . . . . .

7.2.2. Sistem de aproximare universalã . . . . . . .

7.3. Aplicaţii Matlab . . . . . . . . . . . . . . . . . . . . . . . . . .

153

154

156

158

160

162

Bibliografie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169

Anexa 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175

Page 10: Book Neural Network Tudor N L 2012

Tudor N. L., RETELE NEURONALE ARTIFICIALE. Aplicaţii Matlab, Editura MATRIX ROM Bucureşti, Romania, ISBN 978-973-755-841-1, 2012, 195 pag

Capitolul 1 1.1 Noţiuni introductive

Cercetãrile din domeniul Inteligenţei artificiale au vizat dezvoltarea conceptului de calcul neuronal, un instrument folosit în generarea de sisteme cu inteligenţã artificialã.

Un loc aparte îl constituie studiile privind învãţarea automatã şi maşinile de învãţare sau auto-instruibile („machine learning”). Învãţarea automatã studiazã sistemele capabile de a-şi îmbunãtãţi performanţele, bazându-se pe o serie de date de instruire.

Calculul neuronal încearcã sã genereze, sã dezvolte sisteme instruibile pentru scopuri generale, folosind o cantitate micã de cunoştinţe iniţiale [13]. Astfel de sisteme se mai numesc reţele neuronale sau sisteme conexioniste. În literatura de specialitate, se mai gãsesc denumirile alternative de sisteme cu auto-organizare, sisteme de prelucrare paralelã distribuitã, modele neurodinamice, calculatoare neuronale, etc.

Modelul conexionist presupune memorarea informaţiei în mod difuz, în toatã reţeaua, diferind de modul de memorare în cazul calculatoarelor electronice, la anumite adrese de memorie.

Calculatoarele electronice oferã performanţe în rezolvarea problemelor din diverse domenii, precum inginerie, economie, medicinã, cercetare ştiinţificã, etc, însã au limitãri referitoare la problemele de percepţie şi învãţare din experienţã, specifice naturii umane. De aceea, cercetãrile s-au concentrat pe lãrgirea spectrului posibilitãţilor de programare ale unui calculator convenţional, folosind cunoştinţele neurobiologice.

Un scurt istoric Primele cercetãri realizate de McCulloch şi Pitts în anul 1943, au pus

bazele calculului neuronal, prin definirea modelului neuronului [13].

Bazele reţelelor neuronale artificiale

Page 11: Book Neural Network Tudor N L 2012

Tudor N. L., RETELE NEURONALE ARTIFICIALE. Aplicaţii Matlab, Editura MATRIX ROM Bucureşti, Romania, ISBN 978-973-755-841-1, 2012, 195 pag

McCulloch şi Pitts au dezvoltat un model logic bazat pe predicate şi au clasificat neuronii în douã categorii: de tip excitator sau inhibitor, enunţând propoziţii cu condiţii necesare şi suficiente [35]. Principalele rezultate au fost demonstrate în cazul reţelelor neuronale nerecurente, în care sinapsele sau conexiunile dintre neuroni nu formeazã cicluri.

Teoria calculului neuronal, caracteristicã anilor ’40, a fost reformulatã de Kleene în 1956, care a dezvoltat modelul reţelelor recurente. Rezultatele matematice se referã la activarea neuronilor de intrare şi definesc starea reţelei neuronale, dupã procesarea tuturor semnalelor.

Rosenblatt a propus în 1958 un tip de reţea bazatã pe perceptroni, obţinutã prin interconectarea unei mulţimi de neuroni, definind astfel primul model de reţea neuronalã artificialã. Conform teoriei lui Rosenblat, perceptronul conţine cinci elemente de bazã: un vector cu intrãri, ponderile (conexiunile dintre neuroni), funcţia de însumare, dispozitivul de detecţie a pragului şi o ieşire. Ieşirea este 1 (sau -1) şi reprezintã valoarea funcţiei de activare, aplicatã combinaţiei semnalelor de intrare, luându-se în considerare cazul depãşirii valorii prag.

Reţelele neuronale cu mai multe straturi de perceptroni, propuse de Rosenblatt, erau capabile sã rezolve probleme simple de clasificare, prin modificarea ponderilor conexiunilor dintre neuroni. Tehnica de antrenare folosită se numeşte regula de învãţare a perceptronului.

În 1969, Minsky şi Papert [37] au prezentat o serie de demonstraţii matematice şi utilizãri ale perceptronului, dar şi limitãrile referitoare la calculul anumitor predicate sau la reprezentarea funcţiei booleene XOR (sau exclusiv).

Widrow şi Hoff [54] au propus un model de reţea numit ADALINE, care a fost generalizat la reţele MADALINE (Many ADALINES). ADALINE (Adaptive Linear Neuron networks) seamãnã cu modelul perceptronului, însã foloseşte, ca funcţie de activare, o funcţie liniarã (în mod implicit, funcţia identitate) şi un procedeu adaptiv de modificare a ponderilor (puterii conexiunilor dintre neuroni), ce permite generarea unui semnal de ieşire corect, pentru fiecare intrare a reţelei.

Widrow şi Hoff au definit regula de învăţare LMS (Least Mean Squares) care este mai puternică decât regula de învăţare a perceptronului şi este bazatã pe minimizarea erorii medii pătratice.

Începând cu anul 1980, teoria calculului neuronal a fost reconsideratã şi privitã cu mai mult interes. Dezvoltãrile majore au vizat tipul procesului de învãţare, rezultând multe modele de reţele neuronale, precum Grossberg (1980), Hopfield (1982), Kohonen (în 1984), McClelland (1986), etc.

Page 12: Book Neural Network Tudor N L 2012

Tudor N. L., RETELE NEURONALE ARTIFICIALE. Aplicaţii Matlab, Editura MATRIX ROM Bucureşti, Romania, ISBN 978-973-755-841-1, 2012, 195 pag

Werbos a propus un algoritm de învãţare pentru perceptronul multistrat (reţele feedforward multistrat), dezvoltat ulterior de Rumelhart (1986). Werbos a descris în 1974, în teza sa de doctorat [52], la Universitatea Harvard, USA, procesul de antrenare “backpropagation” (de propagare inversã a erorii). De asemenea a adus contribuţii importante privind noţiunile de bazã ale programãrii dinamice adaptive.

Werbos a fost considerat “pionierul” reţelelor neuronale recurente, fiind premiat pentru descoperirea algoritmului backpropagation, de cãtre societatea IEEE Neural Network (The Institute of Electrical and Electronics Engineers).

Abordarea lui Hopfield se referã la reţelele recurente care pot fi folosite la simularea memoriilor asociative şi la rezolvarea problemelor de optimizare combinatorialã. Memoriile asociative sunt sisteme dinamice ce permit stocarea şi extragerea informaţiilor, prin intermediul parametrilor, pe baza unor exemple incomplete sau deteriorate. Stabilirea ponderilor conexiunilor dintre neuroni se realizeazã astfel încât informaţiile de memorat sã devinã puncte fixe (stãri staţionare) ale dinamicii reţelei [30].

McClelland şi David Rumelhart au publicat în ultimii 20 de ani numeroase studii de calculul paralel, ştiinţa cognitivã, psihologie (luarea deciziilor, dezvoltarea limbajului) şi inteligenţã artificialã [45]. Rumelhart a conceput un model de învãţare competitivã pentru reţele neuronale.

Cercetãrile recente din domeniul calculului neuronal au fãcut posibilã dezvoltarea de noi modele de reţele neuronale, algoritmi de antrenare mai performanţi, printre subiectele de actualitate numãrându-se maşina Boltzmann, reţelele Kohonen şi algoritmii de tip ART – “Adaptive Resonance Theory”, elaboraţi de Carpenter şi Grossberg pentru aplicaţii de clustering (grupare a datelor) [26].

Reţelele Kohonen sau hãrţile cu auto-organizare au fost dezvoltate iniţial pentru hãrţi corticale (porţiuni din creier care reacţioneazã la anumiţi stimuli), hãrţi senzoriale, hãrţi topografice sau pentru probleme de gruparea datelor. În hãrţile senzoriale, suprafaţa pielii este mapatã în regiuni, astfel încât receptorii tactili apropiaţi activeazã neuronii vecini ai hãrţii.

Reţeaua neuronalã a creierului uman constituie un sistem neuronal de prelucrare paralelã a informaţiei.

1.1.1. Modelul neuronului biologic Sistemele nervoase biologice au inspirat modelele reţelelor neuronale.

Creierul uman conţine celule nervoase sau neuroni, între care existã conexiuni (sinapse). Un neuron biologic este format din [18]:

Page 13: Book Neural Network Tudor N L 2012

Tudor N. L., RETELE NEURONALE ARTIFICIALE. Aplicaţii Matlab, Editura MATRIX ROM Bucureşti, Romania, ISBN 978-973-755-841-1, 2012, 195 pag

- dendrite sau prelungiri ale corpului celulei nervoase, care îndeplinesc funcţia de intrare, de captare a informaţiei

- corpul neuronului, format din membrana şi „substanţã” intracelularã - axon, o prelungire a corpului neuronului, cu funcţie de ieşire.

Un neuron primeşte impulsuri nervoase de naturã electricã de la alţi neuroni, prin intermediul dendritelor. Impulsurile nervoase produc depolarizãri ale membanei neuronale, adicã modificãri ale diferenţei de potenţial dintre interiorul şi exteriorul celulei (Figura 1.1).

Când suma semnalelor de

intrare depãşeşte un anumit prag, neuronul trimite un impuls de la corpul neuronal cãtre axon, apoi spre receptorii altor neuroni.

Aceşti neurotransmiţãtori elibereazã neuronul care a transmis semnalul, direcţionând impulsurile, prin sinapse, cãtre receptorii celorlalţi neuroni.

O sinapsã reprezintã spaţiul dintre terminaţia axonului unui neuron şi dendritele altui neuron.

La nivelul sinapselor, au loc procese fizico-chimice complexe, în cadrul cãrora se proceseazã informaţiile codificate analogic.

Învãţarea sinapticã Reţeaua neuronalã a creierului uman ştie sã înveţe. Modalitatea de

învãţare este determinatã de adaptarea puterii conexiunilor dintre neuroni, de adãugarea şi ştergerea de conexiuni între neuroni. Neuronii pot învãţa din experienţã, se pot baza pe memorare, fãrã a fi necesarã asistenţa unui profesor.

Eficienţa sinapselor poate modifica rezultatul experienţei, asigurând mecanismul de memorare-învãţare.

Învãţarea (adaptarea) se realizeazã prin modificãri ale permeabilitãţii sinaptice. Depolarizãrile sau modificãrile permeabilitãţii ionice a

dendrit

corpul neuronului

axo

Fig. 1.1 Neuronul biologic.

Page 14: Book Neural Network Tudor N L 2012

Tudor N. L., RETELE NEURONALE ARTIFICIALE. Aplicaţii Matlab, Editura MATRIX ROM Bucureşti, Romania, ISBN 978-973-755-841-1, 2012, 195 pag

membranelor sinaptice sunt determinate de recepţionarea neurotransmiţãtorilor (Figura 1.2).

Dupã efectul pe care-l provoacã, sinapsele sunt: - excitatoare (provoacã depolarizare pozitivã); - inhibitoare (provoacã depolarizare negativã).

Postulatul lui Hebb afirmã cã dacã axonul unei celule A este suficient de aproape, ca sã excite o celulã B în mod repetat şi persistent, atunci schimbul metabolic (procesul de creştere) are loc într-una sau ambele celule, astfel încât eficienţa cel puţin a unei celule se mãreşe [4].

Conform cercetãrilor neuropsihologului canadian Donald Olding Hebb [48], învãţarea celularã şi memorarea depind de modificãrile pe termen lung ale puterii conexiunilor sinaptice. În cele mai multe cazuri, excitabilitatea dendritelor influenţeazã procesarea semnalelor de intrare sinaptice, ceea ce înseamnã cã plasticitatea sinapticã depinde de proprietãţile dendritelor.

Neuronul biologic a constituit un model pentru neuronul artificial. În timp ce dendritele neuronului biologic primesc semnale electrice de la axonii altor neuroni, în neuronul artificial, aceste semnale electrice sunt reprezentate de valori numerice.

Într-o reţea neuronalã artificialã, semnalele de intrare sunt procesate folosind diverse combinaţii (de exemplu, suma ponderatã) şi apoi transformate cu o funcţie de activare, pentru generarea semnalului de ieşire (Figura 1.3).

axon

semnal de

receptori

neurotransmiţãtori

semnal de

Fig. 1.2 Învãţarea sinapticã.

sinapsã

Page 15: Book Neural Network Tudor N L 2012

Tudor N. L., RETELE NEURONALE ARTIFICIALE. Aplicaţii Matlab, Editura MATRIX ROM Bucureşti, Romania, ISBN 978-973-755-841-1, 2012, 195 pag

1.1.2. Aplicaţii ale calculului neuronal În prezent, studiile teoretice şi practice privind calculul neuronal ocupã un

loc important în cercetarea ştiinţificã din diverse domenii, precum inginerie, inteligenţã artificialã, psihologie, neuroştiinţã, fizicã, matematicã, etc.

Reţelelele neuronale artificiale permit rezolvarea unor probleme complexe, pentru care nu existã algoritmi secvenţiali, ci doar exemple de soluţii. În faza de învãţare a reţelei neuronale, se folosesc exemplele cunoscute, care vor fi procesate pentru a rezolva probleme similare.

Tipurile de aplicaţii care pot fi rezolvate folosind reţele neuronale artificiale includ probleme de clasificare, de cãutare, de ordonare, probleme de recunoaştere a formelor obiectelor, mai ales înţelegerea vederii şi a vorbirii, probleme care trateazã date imperfecte, incomplete, fuzzy sau probabilistice.

Caracteristicile acestor probleme sunt date de [38]: - spaţiul problemelor de rezolvat, complexitatea, interacţiunile între

variabilele problemei, care pot fi necunoscute sau care nu pot fi exprimate matematic

- spaţiul soluţiei, care poate fi vid sau poate conţine o soluţie unicã sau cazul tipic, cu mai multe soluţii.

Aplicaţiile calculului neuronal vizeazã domenii precum: • procesarea imaginilor - gruparea datelor, compresia datelor (maparea

datelor dintr-un spaţiu de dimensiune mare într-unul de dimensiune mai micã, astfel încât sã fie conservate relaţiile de vecinãtate)

• recunoaşterea formelor (inclusiv extragerea caracteristicilor formelor) şi vederea artificialã

• aplicaţii în medicinã – diagnoza automatã, analiza celulelor canceroase, optimizarea timpului de transplant, crearea de hãrţi senzoriale

Fig. 1.3 Neuronul artificial.

suma ponderat

funcţia de

f

intrã

ieşir

Page 16: Book Neural Network Tudor N L 2012

Tudor N. L., RETELE NEURONALE ARTIFICIALE. Aplicaţii Matlab, Editura MATRIX ROM Bucureşti, Romania, ISBN 978-973-755-841-1, 2012, 195 pag

• sisteme militare – recunoaşterea ţintelor-radar, introducerea de noi tipuri de senzori, bazaţi pe procesarea semnalelor radar, compresia datelor, identificarea imaginilor

• sisteme financiare – predicţia pieţei de acţiuni, a pieţei imobiliare, a cursului valutar

• la sisteme bancare – citirea şi verificarea documentelor, la aplicaţii de evaluare a creditelor

• verificarea activitãţii cardurilor de credit • industria de petrol-gaze – explorãri • în automaticã – controlul traiectoriei roboţilor • arhitecturã – elaborarea de hãrţi topografice pentru suprafeţe întinse

(judeţe, oraşe), etc. Avantajele utilizãrii reţelelor neuronale artificiale se evalueazã în

funcţie de capacitatea acestora de a rezolva diverse tipuri de probleme de raţionament automat sau în funcţie de modul de procesare a informaţiei, toleranţa la defecte:

• calculele se efectueazã în paralel (spre deosebire de modelul maşinii uniprocesor Von Neumann)

• datoritã paralelismului, reţelele pot fi tolerante la defecte (dacã un neuron nu funcţioneazã, funcţia lui este preluatã de alţi neuroni)

• pentru a rezolva o problemã cu reţele neuronale, nu este nevoie de modelarea problemei, ci numai de a exprima problema prin intermediul unui set de antrenare (format din perechi de date de intrare şi ieşire sau doar din date de intrare cunoscute)

• reţelele neuronale sunt adaptive, permiţând modificãri ulterioare.

Dezavantajele reţelelor neuronale artificiale: • nu existã reguli clare sau indicaţii de rezolvare pentru a anumitã

problemã • în unele cazuri, antrenarea poate fi dificilã sau imposibilã • este dificilã previziunea performanţelor reţelei.

1.1.3. Definiţia reţelei neuronale

O definiţie genericã a reţelelor neuronale artificiale este urmãtoarea [38]: Definiţia 1.1. O reţea neuronalã artificialã este o structurã (reţea)

compusã din mai multe unitãţi de calcul interconectate (neuroni artificiali interconectaţi).

Page 17: Book Neural Network Tudor N L 2012

Tudor N. L., RETELE NEURONALE ARTIFICIALE. Aplicaţii Matlab, Editura MATRIX ROM Bucureşti, Romania, ISBN 978-973-755-841-1, 2012, 195 pag

Orice reţea neuronalã este definitã prin: a) specificul unitãţilor de calcul - fiecare neuron artificial are o anumitã

caracteristicã de intrare/ieşire (I/O) cunoscutã şi realizeazã (implementeazã) un proces local de calcul sau o funcţie.

În general, funcţiile caracteristice pentru diferiţi neuroni pot fi diferite, dar se preferã (pentru uşurarea calculului) ca anumite grupuri de neuroni sã aibã funcţii caracteristice identice.

Ieşirea fiecãrui neuron depinde de caracteristica proprie de I/O, de interconexiunile cu alţi neuroni şi (posibil) de intrãrile externe.

b) funcţionarea reţelei – procesul prin care reţeaua transformã semnalele de intrare în semnale de ieşire (rãspunsul reţelei)

c) antrenarea reţelei care defineşte funcţionalitatea globalã a unei reţele neuronale artificiale. O reţea neuronalã se poate antrena prin ajustarea valorilor conexiunilor (ponderilor) dintre elemente. Funcţia reţelei este determinatã de conexiunile dintre elemente.

d) arhitectura reţelei – modul de aranjare a unitãţilor de calcul (topologia) şi interconectarea acestora

O reţea neuronalã poate fi reprezentatã printr-un graf orientat, în care nodurile sunt neuroni, iar conexiunile (arcele orientate) specificã fluxul informaţional sau sensul de propagare a semnalelor de la unitãţile de calcul de intrare, cãtre unitãţile din stratul de ieşire.

1.2 Topologii de reţele Din punct de vedere al modului de propagare a informaţiilor şi al tipurilor de conexiuni dintre unitãţile de calcul, existã mai multe topologii de reţele neuronale: - reţele recurente şi nerecurente (sau feed-forward), în funcţie de modul de propagare a semnalelor prin reţea - reţele stratificate, ierarhice sau cu alte structuri cu organizare similarã [38], care pot fi atât recurente, cât şi nerecurente - reţele statice sau dinamice, în funcţie de structura datelor (impulsurilor) de intrare care se produc concurent sau secvenţial în timp, cu întârzieri [33] - reţele cu structuri arbitrare sau geometrice, în funcţie de existenţa unei relaţii de ordine definite pe mulţimea unitãţilor de calcul În reţelele arbitrare, nu este definitã nici o relaţie de ordine pe mulţimea unitãţilor de calcul, iar în interiorul unui strat de neuroni, nu au importanţã locul şi distanţele dintre aceştia. Un exemplu de reţea cu o astfel de

Page 18: Book Neural Network Tudor N L 2012

Tudor N. L., RETELE NEURONALE ARTIFICIALE. Aplicaţii Matlab, Editura MATRIX ROM Bucureşti, Romania, ISBN 978-973-755-841-1, 2012, 195 pag

topologie este modelul Hopfield, care dispune de o conectivitate totalã între neuroni. În reţelele cu structurã geometricã, neuronii sunt amplasaţi în nodurile unei grile unidimensionale, bidimensionale sau tridimensionale, în cadrul cãreia se poate defini o funcţie distanţã între unitãţile de calcul. Din aceastã categorie fac parte reţelele Kohonen şi celulare. - reţele cu conexiuni simetrice sau nesimetrice între neuroni, în care este luat în considerare modul de formare a straturilor [16] - reţele cu arhitecturi mixte, în care fiecare strat poate avea diverse structuri, conexiuni, etc.

Reţele recurente şi nerecurente (feed-forward)

Reţele neuronale nerecurente sau feed-forward - neuronii sunt grupaţi în straturi, iar semnalele se propagã într-un singur sens prin reţea, de la intrare cãtre ieşire.

Procesarea datelor se poate extinde pe straturi multiple, dar nu existã conexiuni feedback (înapoi) între unitãţile de calcul de pe acelaşi strat sau cãtre stratul precedent.

Exemple de reţele feed-forward: perceptronul, reţea liniarã de tip Adaline. O astfel de reţea se numeşte reţea interconectatã dacã ieşirile tuturor

neuronilor de pe un strat se transmit la intrãrile tuturor neuronilor din stratul urmãtor. Un exemplu de reţea feed-forward cu 3 straturi, 2 intrãri şi 3 ieşiri este ilustrat în figura 1.4:

strat de

strat ascun

strat de ieşire

Fig. 1.4 Reţea feed-forward.

Page 19: Book Neural Network Tudor N L 2012

Tudor N. L., RETELE NEURONALE ARTIFICIALE. Aplicaţii Matlab, Editura MATRIX ROM Bucureşti, Romania, ISBN 978-973-755-841-1, 2012, 195 pag

Reţele neuronale recurente - în care se permite existenţa unor conexiuni feedback (inverse), dinspre ieşirile neuronilor cãtre intrãrile unor neuroni aflaţi în lanţul de prelucrare a informaţiei, înaintea acestora (Figura 1.5).

Tipurile de reţele recurente (în care existã legãturi feedback) au fost studiate de Anderson, Kohonen şi Hopfield.

Reţele neuronale stratificate

Din punct de vedere al numãrului de straturi, vom considera: reţele cu un strat de neuroni, reţele cu straturi multiple de neuroni şi reţele (multistrat) ierarhice.

Reţele cu un strat de neuroni - fie o reţea cu 1 strat cu neuroni, în care toate intrãrile sunt conectate la

fiecare neuron. Elementele reţelei au semnificaţiile urmãtoare: - pragul, numit şi polarizare sau bias (în Matlab) reprezintã un semnal

de intrare permanent conectat la valoarea 1, multiplicat de o valoare scalarã. Pragul (polarizarea, bias) compenseazã semnalul de intrare. În Matlab, pentru valoarea bias se acceptã valori reale şi complexe, însã nu se acceptã valori booleene.

- ijw , = ponderea neuronului j conectat la intrarea i (tãria semnalului

primit de la intrarea i cãtre neuronul j ). Notãm W matricea ponderilor (Figura 1.6)

Fig. 1.5 Reţea recurentã.

intrãri

ieşiri

Page 20: Book Neural Network Tudor N L 2012

Tudor N. L., RETELE NEURONALE ARTIFICIALE. Aplicaţii Matlab, Editura MATRIX ROM Bucureşti, Romania, ISBN 978-973-755-841-1, 2012, 195 pag

- activarea unui neuron se obţine prin procesarea valorilor semnalelor de intrare, care poate fi suma ponderatã a intrãrilor sau o funcţie aditivã, multiplicativã, relaţionalã, polinomialã, etc. Pentru calcularea activãrii unui neuron se iau în considerare şi intrãrile adiţionale (pragul, polarizarea). De exemplu, activarea unui neuron, calculatã ca suma ponderatã a tuturor intrãrilor lui, se poate exprima astfel:

activare = W * intrare + b, (1.1)

unde intrare este vectorul cu intrãri, iar b este polarizarea (bias, prag). În mod implicit, se foloseşte suma ponderatã, însã existã şi alte metode de calculare a activãrii, ce vor fi prezentate detaliat ulterior (maxim, forma polinomialã, etc).

- funcţiile de transfer sau de activare, notate f , transformã semnalul de activare într-un semnal de ieşire

- ieşirea unui neuron este determinatã de funcţia de transfer f , fiind valoarea funcţiei f , aplicatã activãrii reţelei:

ieşirea = f (activare) (1.2)

f

f

f

intrãri ieşir

funcţie de transfer

i j wj

prag

Fig. 1.6 Reţea cu un strat de neuroni.

activar

activar

activar

strat de

Page 21: Book Neural Network Tudor N L 2012

Tudor N. L., RETELE NEURONALE ARTIFICIALE. Aplicaţii Matlab, Editura MATRIX ROM Bucureşti, Romania, ISBN 978-973-755-841-1, 2012, 195 pag

Reţele cu straturi multiple de neuroni În cazul reţelelor multistrat, nivelele diferite de straturile de intrare şi

ieşire, se considerã straturi interne sau ascunse. Primul strat este folosit, de obicei, pentru furnizarea semnalelor de intrare, nefiind considerat strat funcţional. În straturile ascunse, informaţia se proceseazã, prin transformãri, calcule, etc.

În reţelele cu mai multe straturi, matricea ponderilor poate avea douã semnificaţii distincte: - matrice a ponderilor intrãrilor conectate la neuroni, denumite ponderi de

intrare - matrice a ponderilor dintre douã straturi de neuroni

Un exemplu de reţea neuronalã cu 3 straturi este prezentat în figura 1.7:

Stratul 1 - are 2 neuroni, matricea ponderilor de intrare 1W

- ieşirile stratului 1 sunt intrãri pentru stratul 2 Stratul 2 - are 2 intrãri, 3 neuroni, matricea ponderilor dintre straturi 2W

- ieşirile stratului 2 sunt intrãri pentru stratul 3 - este strat ascuns

Stratul 3 - are 3 intrãri, 2 neuroni şi este stratul de ieşire al reţelei neuronale Observaţie: reţelele multistrat sunt foarte puternice. De exemplu, o reţea neuronalã cu 2 straturi, în care primul strat are funcţie de transfer sigmoid şi al doilea strat este liniar, poate fi antrenatã sã aproximeze orice funcţie cu un numãr finit de discontinuitãţi.

strat de strat

ascun

strat de ieşire

Fig. 1.7 Reţea multistrat.

W1

W2

Page 22: Book Neural Network Tudor N L 2012

Tudor N. L., RETELE NEURONALE ARTIFICIALE. Aplicaţii Matlab, Editura MATRIX ROM Bucureşti, Romania, ISBN 978-973-755-841-1, 2012, 195 pag

Reţele ierarhice Un exemplu de reţea neuronalã cu structurã arborescentã, ce poate

reprezenta o ierarhie semanticã de cuvinte [40], poate fi schiţat astfel (Figura 1.8):

Un alt exemplu de reţea ierarhicã, folositã pentru predicţie, presupune ca

predicţiile derivate din primul nivel al ierarhiei sã constituie intrãri pentru urmãtorul nivel, înscriindu-se în modelul general de reţea feed-forward multistrat.

Reţele statice şi dinamice Structurile de date de intrare influenţeazã simularea funcţionãrii reţelelor

neuronale. Existã douã tipuri de semnale de intrare (vectori de intrare): - care se produc concurent, pentru care ordinea nu este importantã - care apar secvenţial în timp, caz în care conteazã ordinea producerii

semnalelor de intrare. Reţelele statice

– nu au conexiuni feedback sau întârzieri (delays) – folosesc intrãri concurente

Reţelele dinamice – conţin întârzieri, care modificã modul de producere a semnalelor de intrare într-o anumitã ordine a timpului – pot avea intrãri concurente sau secvenţiale (Figura 1.9):

strat de

strat de

Fig. 1.8 Reţea ierarhicã.

Page 23: Book Neural Network Tudor N L 2012

Tudor N. L., RETELE NEURONALE ARTIFICIALE. Aplicaţii Matlab, Editura MATRIX ROM Bucureşti, Romania, ISBN 978-973-755-841-1, 2012, 195 pag

În finalul capitolului, vom prezenta modul de creare şi antrenare a unei reţele neuronale folosind sistemul Matlab. 1.3 APLICAŢII MATLAB

Pentru început, operaţiile de creare, antrenare şi simulare a unei reţele neuronale vor fi evidenţiate utilizând interfaţa graficã din Matlab.

O reţea neuronalã poate fi creatã în Matlab 7.1, folosind interfaţa graficã (GUI sau Graphical User Interface): nntool

Exemplul 1.3.1. Sã se creeze o reţea de tip Perceptron pentru

reprezentarea funcţiei logice AND. Sã se antreneze şi simuleze reţeaua folosind interfaţa graficã.

Operaţia de conjuncţie logicã (AND), aplicatã propoziţiilor p şi q, cu valori booleene 1 şi 0, este prezentatã în Tabelul 1.1:

Definirea setului de antrenare (date de intrare, valori target) - fereastra Network/Data Manager � New Data � Create - definirea vectorului de intrare p

Fig. 1.9 Reţea dinamicã cu o întârziere.

intrã neuron

Ĩ

p q p AND q 1 1 1 1 0 0 0 1 0 0 0 0

Tabelul 1.1 Funcţia booleanã AND.

Page 24: Book Neural Network Tudor N L 2012

Tudor N. L., RETELE NEURONALE ARTIFICIALE. Aplicaţii Matlab, Editura MATRIX ROM Bucureşti, Romania, ISBN 978-973-755-841-1, 2012, 195 pag

Metoda cu intrãri concurente: 2 intrãri a câte 4 elemente prezentate concurent, într-o matrice p = [1 1 0 0;1 0 1 0]

- stabilirea vectorului cu ieşiri target: t = [ 1 0 0 0] Crearea reţelei - Din fereastra Network/Data Manager, se creeazã reţeaua “net”, având urmãtoarele caracteristici: - 1 vector de intrare cu 2 elemente, 1 vector de ieşire - funcţie de transfer hardlim, learning function: learnp - matricea ponderilor de intrare IW{1,1} şi bias b{1}. Antrenarea reţelei - Din fereastra Network/Data Manager � Train (setare Inputs: p, setare Targets: t, training Parameters: epochs – 200, goal – 0.05, Outputs: a, Errors: e, etc.). Simularea reţelei - Din fereastra Network/Data Manager � Simulate (setare Inputs: p, Outputs: y). Valoarea lui y, obţinutã dupã antrenare, este cea aşteptatã: y = [ 1 0 0 0].

Se verificã funcţionarea reţelei pentru altã intrare: Input: p1 = [0 0 1 1; 1 0 1 0], dupã simulare, Output: y1 = [ 0 0 1 0]. Metoda cu intrãri secvenţiale: - date de intrare p2 = { [1 ; 1] [1; 0] [0; 1] [0; 0]} - ieşiri target t2 = { [1] [ 0] [0] [0]} - ieşirea reţelei dupã antrenare şi simulare y2 = {[1] [0] [0] [0]} Se mai face o simulare a funcţionãrii reţelei pentru alt set de antrenare: date de intrare p3 = { [1; 0] [0; 1] [0; 0] [1; 1]}. Ieşirea reţelei obtinutã dupã simulare este y3 = {[0] [0] [0] [1]}. Concluzie: reţeaua reprezintã corect funcţia logicã AND. 1.4 EXERCIŢII ŞI PROBLEME 1.4.1 Sã se defineascã în Matlab o reţea neuronalã cu 2 straturi, cu urmãtoarele proprietãţi:

- primul strat: sã aibã 2 intrãri, 2 neuroni, funcţia de transfer tansig şi funcţia de iniţializare Nguyen-Widrow (initnw) - al doilea strat: sã aibã 4 neuroni şi funcţia de transfer purelin

Reprezentarea orientatã pe obiecte a unei reţele neuronale, în Matlab,

permite stabilirea elementelor arhitecturii unei reţele, precum numãrul de straturi, de intrãri, de neuroni, conexiunile dintre straturi, dar şi funcţiile corespunzãtoare operaţiilor de bazã într-o reţea neuronalã.

Page 25: Book Neural Network Tudor N L 2012

Tudor N. L., RETELE NEURONALE ARTIFICIALE. Aplicaţii Matlab, Editura MATRIX ROM Bucureşti, Romania, ISBN 978-973-755-841-1, 2012, 195 pag

O reţea neuronalã poate fi definitã în Matlab, ca un obiect care are proprietãţi şi funcţii asociate (concepte ale programãrii orientate pe obiecte), fãrã a utiliza funcţii predefinite pentru crearea reţelelor: a. crearea unei noi reţele (RNA = network)

La crearea obiectului “RNA” ca o reţea neuronalã, se defineşte arhitectura conţinând urmãtoarele:

- structurile de date utilizate pentru elementele sale, - funcţiile reţelei, parametrii şi - valorile ponderilor şi polarizarilor (bias).

Dupã crearea reţelei, nu existã nici o intrare şi nici un strat. b. stabilirea proprietãţilor arhitecturii reţelei “RNA”

- numãrul de intrãri (RNA.numInputs) - numãrul de straturi (RNA.numLayers) - numãrul de neuroni ai stratului i: RNA.layers{i}.size - ponderile de intrare - elementul matricei ponderilor RNA.inputConnect(i,j) desemneazã o conexiune (pondere) de la intrarea j cãtre neuronul i de pe stratul urmãtor - ponderile dintre straturi (RNA.layerConnect(i.j) indicã prezenţa unei conexiuni de la stratul j înspre stratul i) - verificarea actualizãrii reţelei (RNA) - afişarea intrãrilor şi a ponderilor de intrare şi dintre straturi (RNA.biases,RNA.inputWeights,RNA.layerWeights)

c. structurile de date ale reţelei: RNA.inputs, RNA.layers, RNA.outputs, RNA.targets, RNA.biases d. stabilirea funcţiilor reţelei “RNA”

- funcţie de adaptare (RNA.adaptFcn) - funcţie de iniţializare a reţelei (RNA.initFcn) - antreneazã reţeaua (RNA.trainFcn) - funcţia de transfer (RNA.transferFcn)

Soluţia problemei este prezentatã în Anexa 1, folosind douã metode: cu reprezentarea orientatã pe obiecte şi cu funcţii predefinite pentru crearea unei reţele feed-forward.

1.4.2 Fie o reţea neuronalã feed-forward interconectatã cu 3 straturi, primul strat cu 3 neuroni, al doilea strat cu 4 neuroni şi al treilea strat cu 2 neuroni. Presupunem cã toţi neuronii au aceeaşi caracteristicã, funcţia f. Sã se scrie ecuaţia matricealã corespunzãtoare ieşirii reţelei.

Page 26: Book Neural Network Tudor N L 2012

Tudor N. L., RETELE NEURONALE ARTIFICIALE. Aplicaţii Matlab, Editura MATRIX ROM Bucureşti, Romania, ISBN 978-973-755-841-1, 2012, 195 pag

1.4.2 Sã se creeze o reţea de tip Perceptron, folosind interfaţa graficã (comanda nntool), pentru realizarea funcţiei logice OR. 1.4.3 Sã se foloseascã interfaţa graficã (comanda nntool) pentru crearea unei reţele feed-forward, având urmãtoarele caracteristici: - sã aibã 2 straturi, primul strat sã aibã 5 neuroni, funcţie de transfer

logsig, al doilea strat sã aibã 1 neuron şi funcţie de transfer purelin - setul de antrenare urmãtor: date de intrare P = [0 1 2 3 4 5 6 7 8 9 10];

ieşiri target T = [0 1 2 3 4 3 2 1 2 3 4]; 1.4.4 Sã se creeze reţeaua feed-forward de la problema anterioarã, folosind reprezentarea orientatã pe obiecte şi sã se deseneze reţeaua. 1.4.5 Sã se studieze Help-ul Matlab şi sã se reprezinte grafic funcţiile de activare hardlim, tansig, logsig şi purelin, pe domeniul [-10, 10]. 1.4.6 Sã se studieze programul nnd (Neural Network Design) şi arhitecturile de reţele neuronale. 1.4.7 Studiaţi influenţa pragului de activare asupra ieşirii produse de funcţie.

Indicaţie: Se vor reprezenta pe acelaşi grafic f(x-p1),f(x-p2), . . ., unde f este o funcţie de activare, iar p1, p2 ... sunt valori ale pragului. 1.4.8 Sã se studieze influenţa parametrului pondere de intrare, asupra ieşirii produse de funcţie.

Indicaţie: Se vor reprezenta pe acelaşi grafic f(p1*x),f(p2*x), . . ., unde f este o funcţie de activare, iar p1, p2 ... sunt valori ale ponderilor. 1.4.9 Sã se studieze exemplele de aplicaţii vizuale din Matlab (File/New/GUI), modul de creare şi actualizare a controalelor Uicontrols, Axes şi Menu. 1.4.10 Fie o reţea neuronalã cu 4 neuroni (2 pe stratul de intrare, cu câte 1 intrare şi 2 pe stratul de ieşire). Stratul de intrare nu realizeazã procesãri ale informaţiilor, ci doar distribuie semnalele de intrare cãtre urmãtorul strat. Sã se calculeze ieşirea reţelei, pentru intrãrile: (1,1), (1,0), (0,1), (0,0), (-1,1), (-1,-1).

Page 27: Book Neural Network Tudor N L 2012

Tudor N. L., RETELE NEURONALE ARTIFICIALE. Aplicaţii Matlab, Editura MATRIX ROM Bucureşti, Romania, ISBN 978-973-755-841-1, 2012, 195 pag

Capitolul 2

Neuronii biologici introduşi de McCulloch şi Pitts au fost prezentaţi ca modele de componente conceptuale pentru circuite care realizează anumite calcule. Rosenblatt a propus perceptronul, un model mai general decât unităţile de calcul McCulloch–Pitts. Ideea esenţială constã în introducerea ponderilor numerice şi a unui model special de interconectare.

Perceptronul clasic este o reţea neuronală ce poate rezolva probleme de recunoaştere a formelor, putând reprezenta numai funcţii liniar separabile. 2.1 MODELUL UNUI PERCEPTRON Fie o reţea de tip perceptron cu urmãtoarele elemente componente [49]: - fiecare intrare j din exterior are ponderea jw , j = 1, . . . , d . Vectorul

ponderilor va fi notat W = ( 1w , 2w , ... , dw ), iar transpusa vectorului W se

va nota: w = TW - un vector cu d intrări notate ( 1i , 2i , ..., di ). Deci vectorul de intrare va fi

un punct din spaţiul dR , fiind notat ca vector coloana i , de dimensiune d :

Perceptronul

Page 28: Book Neural Network Tudor N L 2012

Tudor N. L., RETELE NEURONALE ARTIFICIALE. Aplicaţii Matlab, Editura MATRIX ROM Bucureşti, Romania, ISBN 978-973-755-841-1, 2012, 195 pag

i =

di

i

i

.

.2

1

- neuronul are o intrare suplimentară b (pragul sau polarizarea), conectată în permanenţă la un semnal egal cu 1 (Figura 2.1).

- activarea reţelei (n ) se poate exprima ca suma ponderată a intrărilor ji ,

unde j = d,1 [38]

n =∑=

d

jjj iw

1

+ b = ( 1w , 2w , . . . , dw )

di

i

i

.

.2

1

+ b = W i + b (2.1)

- perceptronul foloseşte o funcţie de transfer (sau de activare), care transformã semnalul de activare în semnal de ieşire (în MATLAB, se foloseşte implicit funcţia hard-limit „hardlim”) (Figura 2.2):

limhard : R � {0, 1}, limhard ( n ) =

>=

<

0 n daca 1,

0 n daca 0,, unde n reprezintã

activarea reţelei

Fig. 2. 1 Perceptron cu un neuron.

n a

Polarizarb

w

wid

i1

.

.

.

intrãri ponderi

Page 29: Book Neural Network Tudor N L 2012

Tudor N. L., RETELE NEURONALE ARTIFICIALE. Aplicaţii Matlab, Editura MATRIX ROM Bucureşti, Romania, ISBN 978-973-755-841-1, 2012, 195 pag

- reţeaua de tip perceptron are o ieşire, care se determinã prin aplicarea unei funcţii cu prag. Ieşirea este dată de relaţia

a = limhard ( n ) = limhard (W * i + b ) = limhard ( Tw i +b ). Perceptronul produce la ieşire:

- valoarea 1, dacă suma intrărilor ponderate este mai mare sau egală decât 0 - valoarea 0, dacă suma intrărilor ponderate este strict negativã.

O reţea neuronalã devine funcţionabilã, numai dacã este învãţatã sã îndeplineascã anumite funcţiuni, specifice rezolvãrii problemelor. În paragraful urmãtor, se vor prezenta algoritmii de învãţare utilizaţi la perceptron. 2.2 ALGORITMI DE ÎNVÃŢARE În MATLAB se folosesc două tipuri de învãţare: supervizată şi învăţare nesupervizată.

În învăţarea supervizată, se foloseşte un set de antrenare alcătuit din perechi de tipul (vector de intrare cunoscut, ieşire dorită).

În învăţarea nesupervizată, ponderile variază ca răspuns numai la intrările reţelei. Ieşirile nu sunt cunoscute.

În acest capitol, se va aplica numai învăţarea supervizată. Regula de învăţare a perceptronului (learnp)

Se defineşte o regulă de învăţare ca fiind o procedură de modificare a

ponderilor şi a polarizărilor unei reţele (algoritm de antrenare) [33]. Regula se aplică unei reţele, pentru ca aceasta să înveţe sã îndeplinească o anumită sarcină.

n

a = hardlim (

-1

1

Fig. 2. 2 Funcţia hardlim.

Page 30: Book Neural Network Tudor N L 2012

Tudor N. L., RETELE NEURONALE ARTIFICIALE. Aplicaţii Matlab, Editura MATRIX ROM Bucureşti, Romania, ISBN 978-973-755-841-1, 2012, 195 pag

Setul de antrenare a perceptronului conţine perechi de (intrãri, ieşiri ţintã). Ieşirile ţintã (target) indicã o comportare dorită a reţelei neuronale. Setul de antrenare este reprezentat sub forma unor perechi:

( 1i , 1t ), . . . , ( Qi , Qt )

unde i este un vector de intrare, iar t este vectorul dorit de ieşire ( t = vector de ieşire de tip target).

Obiectivul învãţãrii (antrenãrii) este reducerea erorii e = t - a , dintre ieşirea a produsã de neuron şi ieşirea doritã (valoarea target – ţintă) t . În urma evaluării erorii, se actualizează ponderile perceptronului.

Pot apărea trei cazuri [33]: Cazul 1. Dacă se aplică un vector de intrare şi ieşirea este corectă, atunci vectorul ponderilor nu este afectat:

a = t , e = t - a = 0 Cazul 2. Dacă ieşirea neuronului este 0 şi ar trebui să fie 1, vectorul de intrare i se adună la vectorul ponderilor w.

a = 0, t = 1, e = t - a = 1

În acest caz, se mãreşte şansa ca vectorul de intrare sã fie clasificat la 1, în final. Cazul 3. Dacă ieşirea neuronului este 1 şi ar trebui să fie 0, vectorul de intrare i se scade din vectorul ponderilor w. Astfel, se mãreşte şansa ca vectorul de intrare sã fie clasificat la 0.

a = 1, t = 0, e = t - a = -1

Regula de antrenare a perceptronului se poate exprima în funcţie de eroarea e = t - a şi variaţia vectorului pondere w∆ : Cazul 1. Dacă e = 0, atunci w∆ = 0 Cazul 2. Dacă e = 1, atunci w∆ = Ti (transpusa vectorului de intrare i ). Cazul 3. Dacă e = -1, atunci w∆ = - Ti

Pentru o reţea cu un strat de neuroni, cele trei cazuri se pot scrie sub forma:

w∆ = ( t - a ) Ti = e Ti (2.2)

Variaţia pragului (b ) este conectat la o intrare = 1):

b∆ = ( t - a ) * 1 = e (2.3)

Page 31: Book Neural Network Tudor N L 2012

Tudor N. L., RETELE NEURONALE ARTIFICIALE. Aplicaţii Matlab, Editura MATRIX ROM Bucureşti, Romania, ISBN 978-973-755-841-1, 2012, 195 pag

În concluzie, regula de învãţare a unui perceptron este:

w∆ = e Ti şi b∆ = e , unde e = t - a . (2.4)

Observaţie. O caracteristicã a procesului de învãţare constã în faptul cã

perceptronul realizează decizii bazate pe liniar separabilitatea spaţiului de intrare. 2.3 SEPARABILITATE LINIARĂ Din perspectivă geometrică, două mulţimi de puncte dintr-un spaţiu bidimensional sunt liniar separabile, dacă pot fi complet separate de o singură linie [49]. Dacă generalizăm, se poate afirma că două mulţimi de puncte dintr-un spaţiu d -dimensional (d 2≥ ), sunt liniar separabile dacă ele pot fi separate de un hiperplan.

Fie A şi B două mulţimi de puncte dintr-un spaţiu d -dimensional ( d 2≥ ). Atunci A şi B sunt liniar separabile, dacã existã 1+d numere reale 0w , 1w , 2w , ...., dw , astfel încât [44]:

- fiecare punct ji ∈ A ( j = 1, ..., d ) satisface relaţia:

∑=

d

jjj iw

1

≥ 0w (2.5)

- fiecare punct ji ∈ B ( j = 1, ..., d ) satisface relaţia:

∑=

d

jjj iw

1

< 0w (2.6)

Dacă o reţea neuronală foloseşte o mulţime de antrenare liniar separabilă, se impune o anumită arhitectură pentru reţea [49].

Pentru aceasta, vom considera o unitate singulară, care separă o mulţime d -dimensională de valori de intrare { 1i , 2i , ..., di }, în două ieşiri distincte .

Deci elementele de intrare vor fi privite ca puncte din spaţiul dR , fiecare punct fiind reprezentat ca un vector coloana i de dimensiune d , iar vectorul ponderilor va fi notat w [49]:

Page 32: Book Neural Network Tudor N L 2012

Tudor N. L., RETELE NEURONALE ARTIFICIALE. Aplicaţii Matlab, Editura MATRIX ROM Bucureşti, Romania, ISBN 978-973-755-841-1, 2012, 195 pag

i =

di

i

i

.

.2

1

, w =

dw

w

w

.

.2

1

Definim funcţia f care determină activarea reţelei pentru o unitate

individuală astfel [49]:

f : I → inet

f ( i ) = ∑=

d

jjj iw

1

- 0w sau: f ( i ) = Tw * i - 0w , (2.7)

unde I este mulţimea vectorilor de intrare pentru o unitate singulară

( I dR⊂ ), inet este mulţimea semnalelor de activare a unităţii ( inet R⊂ ), iar i este vector de intrare.

Hiperplanul, notat iH , care defineşte liniar separabilitatea mulţimii de antrenare, este caracterizat de ecuaţia [49]:

f ( i ) = 0 sau Tw * i - 0w = 0 (2.8)

În cazul perceptronului, ieşirea reţelei poate fi determinată de funcţia hardlim (valoarea hardlim ( f ( i ))), care oferă perceptronului capacitatea de a clasifica vectorii de intrare, prin împărţirea spaţiului de intrare în două regiuni, prin hiperplanul iH [33]:

hardlim : R � { 0 , 1 }, hardlim ( n ) =

>=

<

0 n daca 1,

0 n daca 0,

Graficul funcţiei f (sau hiperplanul iH ), separă spaţiul dR în regiunea pozitivă, notată +R , şi regiunea negativă, notată −R , astfel [49]:

Page 33: Book Neural Network Tudor N L 2012

Tudor N. L., RETELE NEURONALE ARTIFICIALE. Aplicaţii Matlab, Editura MATRIX ROM Bucureşti, Romania, ISBN 978-973-755-841-1, 2012, 195 pag

f ( i ) = Tw * i - 0w =

∈<

∈>

+

Riiidaca

Hidaca

Riiidaca

n

i

T

n

).,..,(,0

,0

).,..,(,0

2,1

2,1

(2.9)

Regiunile +R şi −R se mai numesc şi regiuni de clasificare. Definiţia 2.1. Dacã există o regiune de decizie liniară (un hiperplan de

decizie) care clasifică (împarte) în mod corect toate mulţimile de antrenare din H , pentru o problemă de clasă c = 2, atunci mulţimile se numesc liniar separabile [47].

Problemele care nu sunt liniar separabile se numesc non-liniar separabile sau complexe din punct de vedere topologic [38].

Spaţiul intrărilor şi al ponderilor Ieşirile calculate de perceptron pot determina o separare liniară a spaţiului

de intrare. Însă procesul de calculare a ponderilor corespunzătoare perceptronului, poate fi ilustrat de spaţiul ponderilor.

Pentru un perceptron cu d intrări (d 2≥ ), găsirea unei condiţii de liniar separabilitate este echivalentă cu determinarea a 1+d parametri, dintre care d ponderi şi o polarizare (sau bias, prag). Aceasta înseamnă că fiecare punct din spaţiul de intrare extins 1+d -dimensional (d 2≥ ) are corespondent un hiperplan, în spaţiul ponderilor 1+d -dimensional. Şi reciproc: fiecare punct din spaţiul ponderilor 1+d -dimensional (d 2≥ ) are corespondent un hiperplan, în spaţiul de intrare extins 1+d -dimensional [44].

Să considerăm un exemplu cu o combinaţie liniară de d = 3 intrări 1i , 2i ,

3i , care reprezintă un punct din spaţiul de intrare, 3R , şi defineşte o separare liniară a spaţiului ponderilor, prin planul [44]:

1w * 1i + 2w * 2i + 3w * 3i = 0 (2.10)

Analog, un punct din spaţiul ponderilor corespunde unui plan din spaţiul de intrare [44].

Separabilitate liniară completă (absolută)

Page 34: Book Neural Network Tudor N L 2012

Tudor N. L., RETELE NEURONALE ARTIFICIALE. Aplicaţii Matlab, Editura MATRIX ROM Bucureşti, Romania, ISBN 978-973-755-841-1, 2012, 195 pag

Definiţie. Fie A şi B două mulţimi de puncte dintr-un spaţiu d -dimensional (d 2≥ ). Atunci A şi B sunt complet (absolut) liniar separabile, dacă există 1+d numere reale 0w , ...., dw , astfel încât [44]:

- fiecare punct ji ∈ A ( j = 1, ..., d ) satisface relaţia:

∑=

d

jjj iw

1

> 0w (2.11)

- fiecare punct ji ∈ B ( j = 1, ..., d ) satisface relaţia:

∑=

d

jjj iw

1

< 0w (2.12)

Dacă perceptronul cu prag 0 poate separa liniar două mulţimi finite de vectori de intrare, atunci este necesară o ajustare foarte mică a ponderilor, pentru o separare liniară completă (absolută).

Noţiunea de separabilitate liniară completă poate fi generalizată în cazul a m mulţimi ( m >2) de puncte astfel [44]:

Definiţia 2.2. Fie m mulţimi de puncte, notate kA ( mk ≤ ), dintr-un spaţiu

d -dimensional (d 2≥ ). Mulţimile kA ( mk ≤ ) sunt absolut liniar separabile dacă există m funcţii liniare,

kf : kA → R , kf ( i ) = ∑=

d

jjjk iw

1

- 0kw , i ∈ kA , (2.13)

cu proprietatea că i ∈ kA dacă şi numai dacă kf ( i ) > 0 şi pf ( i ) < 0,

pentru orice mk ≤ , kpmp ≠≤ , . Observaţie Mulţimile absolut liniar separabile sunt liniar separabile. În

cazul 3=m şi 2=d , tipurile de separabilitate liniară se pot ilustra în figura 2.3. şi figura 2.4 [44].

2i

3A

1f ( 1i , 2i ) = 0

2f ( 1i , 2i ) =

0

1i

1A

2A 3f ( 1i , 2i ) = 0

Fig. 2.3 Trei mulţimi absolut liniar separabile.

Page 35: Book Neural Network Tudor N L 2012

Tudor N. L., RETELE NEURONALE ARTIFICIALE. Aplicaţii Matlab, Editura MATRIX ROM Bucureşti, Romania, ISBN 978-973-755-841-1, 2012, 195 pag

2.3.1. Optimizare şi programare liniară O mulţime de vectori, ce trebuie clasificaţi de un perceptron într-o regiune

pozitivă şi una negativă, delimitează în spaţiul ponderilor un obiect geometric de tip dreaptă, poligon, poliedru (polytope), ale cărui puncte interne reprezintă toate combinaţiile de ponderi posibile ale perceptronului [44].

Algoritmul de învăţare a perceptronului găseşte o soluţie când interiorul figurii geometrice nu este vid. Putem exprima această idee astfel: dacă se doreste ca un perceptron să fie antrenat să clasifice forme, trebuie rezolvată o problemă de punct interior.

Astfel, separabilitatea liniară poate fi privită ca o problemă de optimizare liniară sau de programare liniară.

Problemă de clasificare Presupunem că se doreşte antrenarea unei reţele neuronale cu un

perceptron, astfel încât să clasifice corect n puncte din spaţiul dR [49].

Fie vectorul de intrare i = ( 1i , 2i , ..., di )T din spaţiul dR . Reţeaua de tip perceptron va avea două ieşiri distincte [49].

Notăm: w vectorul ponderilor, de dimensiune d : w = dkw T

k .,..,1,)( =

ji = ( 1ji , 2ji , ..., jdi )T , ( j = 1, ...., n ), cele n puncte din spaţiul dR

1i

1A

2A 3f ( 1i , 2i ) =

f ( i , )

3A

1f ( 1i , 2i ) =

f ( i , )

1f ( 1i , 2i ) =

f ( i , )

Fig. 2.4 Mulţimi liniar separabile.

2i

Page 36: Book Neural Network Tudor N L 2012

Tudor N. L., RETELE NEURONALE ARTIFICIALE. Aplicaţii Matlab, Editura MATRIX ROM Bucureşti, Romania, ISBN 978-973-755-841-1, 2012, 195 pag

Scopul antrenării reţelei de perceptroni constă în găsirea unui hiperplan de

separare a mulţimilor kM ( }2,1{∈k ) de puncte din spaţiul dR . Să presupunem că [49]: - dacă ( 1ji , 2ji , ..., jdi ) ∈ 1M , ( j = 1, ...., p ), p ≥ 1 atunci

k

d

kkj wi∑

=1

- jb ≤ 0, (2.14)

- dacă ( 1ji , 2ji , ..., jdi ) ∈ 2M , ( j = p +1, ...., n ), atunci

k

d

kkj wi∑

=1

- jb > 0 . (2.15)

Sistemul de inegalităţi [44]

k

d

kkj wi∑

=1

- jb ≤ 0 , ( j = 1, ...., p ), p ≥ 1 (2.16)

- k

d

kkj wi∑

=1

+ jb ≤ 0 , ( j = p +1, ...., n ) (2.17)

poate fi scris în mod echivalent [44]:

A w ≤ b (2.18)

dacă notăm A matricea de tip n x d cu elementele kji ( j = 1, ...., p ) şi - kji

( j = p +1, ...., n , k = 1, ...., d ) şi b polarizarea (pragul, valoarea bias) –

un vector coloana n -dimensional b = ( 1b , 2b , ..., pb , 1+pb , ..., nb )T (la un

perceptron este conectată o singură intrare adiţională de tip bias). Sistemul de inegalităţi A w ≤ b reprezintă constrângerile aplicate reţelei

neuronale de perceptroni, pentru apartenenţa punctelor din spaţiul dR la mulţimile de clasificare. Acest sistem de inegalităţi sugerează ideea rezolvării unei probleme de optimizare liniară, care poate fi o problemă de minimizare.

Un model matematic de optimizare se caracterizează prin următoarele: - o funcţie obiectiv care determină eficienţa modelului de optimizare şi

realizează o maximizare sau o minimizare - o mulţime de variabile de decizie (intrări controlabile), care influenţează

valoarea funcţiei obiectiv - parametri (intrări necontrolabile)

Page 37: Book Neural Network Tudor N L 2012

Tudor N. L., RETELE NEURONALE ARTIFICIALE. Aplicaţii Matlab, Editura MATRIX ROM Bucureşti, Romania, ISBN 978-973-755-841-1, 2012, 195 pag

- o mulţime de constrângeri exprimate sub forma unui sistem de ecuaţii sau inegalităţi, care exprimă relaţii între variabilele de decizie şi parametri.

Reţea de perceptroni pentru clasificare Algoritmul de antrenare a perceptronului este o procedură de modificare a

ponderilor şi a polarizărilor unei reţele neuronale. Deci o problemă de clasificare într-o reţea de perceptroni se poate formaliza astfel:

- fie un sistem de inegalităţi (în necunoscuta w ) de forma A w ≤ b (2.19)

care poate fi transformat într-un sistem de ecuaţii, prin introducerea unui vector y n -dimensional şi a matricii identitate I de dimensiune n x n :

A w + I y = b (2.20)

Problema de optimizare liniară ce trebuie rezolvată, poate fi exprimată ca

o problemă de minimizare [44]:

/{min1

∑=

n

jjy A w + I y = b , w ≥ 0 , y ≥ 0 } (2.21)

Dacă minimul este negativ, atunci soluţia problemei originale este vidă,

adică regiunea de clasificare caracterizată de inegalitatea A w ≤ b este vidă. Dacă minimul este zero, atunci w determinat în timpul optimizării, este un punct intern de pe marginea regiunii de clasificare.

Determinarea ponderilor în procesul de antrenare a perceptronului este echivalentă cu găsirea punctelor interne ale poligonului (polytop) convex [44], prin utilizarea de algoritmi de programare liniară.

Interpretarea geometrică a soluţiei problemei de clasificare, într-o reţea de

perceptroni cu 2 intrări, i = ( 1i , 2i )T din spaţiul 2R constă în reprezentarea grafică a funcţiei care va fi optimizată. Problema de optimizare liniară poate avea una sau mai multe soluţii reprezentate de dreapta normală la vectorul y , asociat funcţiei minimizate, sau o dreaptă paralelă cu normala şi

incidentă cu poligonul convex (Figura 2.5.).

Page 38: Book Neural Network Tudor N L 2012

Tudor N. L., RETELE NEURONALE ARTIFICIALE. Aplicaţii Matlab, Editura MATRIX ROM Bucureşti, Romania, ISBN 978-973-755-841-1, 2012, 195 pag

2.3.2. Reprezentarea funcţiilor booleene

Perceptronul poate procesa numai funcţii liniar separabile. Perceptronul poate reprezenta funcţii booleene df }1,0{: → }1,0{ , cu proprietatea că există o transformare liniară [44]

g 1: +dR → R ,

g ( x ) = ∑=

d

jjj iw

0

(2.22)

cu proprietatea că f ( x ) = 0 dacă şi numai dacă g ( x ) ≤ 0 şi f ( x ) = 1 dacă şi numai dacă g ( x ) > 0.

Se pune problema dacă pentru orice funcţie booleană cu această proprietate, algoritmul perceptronului furnizează o soluţie. Răspunsul este afirmativ şi este demonstrat de următoarea teoremă, care precizeazã posibilitãţile algoritmului de antrenare a perceptronului.

Teorema 2.1. Pentru o problemă liniar separabilă, algoritmul

perceptronului conduce după un număr finit de iteraţii la coeficienţii unei funcţii de decizie (deci la reprezentarea unei funcţii booleene cu proprietăţile de mai sus) [44].

O problemă importantă constă în determinarea funcţiilor logice care pot fi

implementate cu o reţea neuronală cu un singur perceptron. Numărul de funcţii liniar separabile, cu două argumente, poate varia între 14 şi 16 posibile funcţii booleene.

i1

i2

y

Fig. 2.5 Spaţiul soluţiilor problemei de optimizare liniară.

Page 39: Book Neural Network Tudor N L 2012

Tudor N. L., RETELE NEURONALE ARTIFICIALE. Aplicaţii Matlab, Editura MATRIX ROM Bucureşti, Romania, ISBN 978-973-755-841-1, 2012, 195 pag

De exemplu, se pot efectua toate combinaţiile posibile de funcţii booleene, de două variabile (Figura 2.6.), în care funcţia 1f este AND, 2f este funcţia OR, 3f este XOR, ş.a.m.d [44].

Perceptronul separă spaţiul de intrare pentru funcţiile AND şi OR în două

regiuni de clasificare (Figura 2.7.).

Exemplu de funcţie booleană non-liniar separabilă Un exemplu de funcţie non-liniar separabilă este funcţia booleană XOR

(sau exclusiv), care nu poate fi reprezentată cu ajutorul unei reţele neuronale de tip perceptron, cu un singur strat.

Pentru implementarea funcţiei XOR, se poate folosi o reţea feedforward multistrat de tip perceptron, denumit mai simplu perceptronul multistrat, caz prezentat detaliat în capitolul Reţele cu propagare directã.

1

1 1 1

0 0

0

0

AND OR

Fig. 2.7 Regiuni de clasificare pentru AND şi OR.

1i 2i 1f 2f 3f 4f 5f 6f 7f 8f 9f 10f 11f 12f 13f 14f 15f 16f 1 1 0 0

1 0 1 0

1 1 0 0 1 0 0 0 1 0 0 0 1 0 1 1 0 1 1 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 1 0 1 0 1 0 0 0 1 1 1 1 1 0 0 0 0 0 1 0 0 1 0 1 1 0 0 1 1 1

Fig. 2.6 Funcţii booleene de două variabile.

Page 40: Book Neural Network Tudor N L 2012

Tudor N. L., RETELE NEURONALE ARTIFICIALE. Aplicaţii Matlab, Editura MATRIX ROM Bucureşti, Romania, ISBN 978-973-755-841-1, 2012, 195 pag

Eroarea algoritmului de antrenare pentru funcţii booleene Eroarea algoritmului de antrenare în cazul perceptronului provine de la

mulţimea de puncte care nu sunt clasificate corect. Scopul antrenării este minimizarea funcţiei eroare şi clasificarea corectă a tuturor punctelor.

O soluţie de minimizare a erorii [44] poate fi metoda Greedy, care presupune calcularea erorii la fiecare pas, în funcţie de un vector pondere (cu valori iniţiale aleatoare). Valorile vectorului pondere trebuie ajustate, în raport cu spaţiul ponderilor şi eroarea obţinută (Figura 2.8).

2.4 APLICAŢII MATLAB Perceptronul este folosit mai ales pentru rezolvarea problemelor simple de

clasificare a formelor. Reţelele cu perceptroni pot fi create în Matlab, cu ajutorul funcţiei newp. Aceste reţele pot fi iniţializate şi simulate cu init, respectiv sim şi antrenate cu train.

În continuare, se vor exemplifica în Matlab probleme simple de clasificare a punctelor dintr-un spaţiu bidimensional.

2.4.1. Probleme de clasificare Perceptronii sunt folosiţi mai ales pentru rezolvarea problemelor simple

de clasificare. Problematica clasificării. Se consideră că un obiect este descris printr-un

vector de valori numerice (numit "pattern", tipar sau şablon), asociate

Fig. 2.8 Spaţiul ponderilor pentru funcţia AND.

Page 41: Book Neural Network Tudor N L 2012

Tudor N. L., RETELE NEURONALE ARTIFICIALE. Aplicaţii Matlab, Editura MATRIX ROM Bucureşti, Romania, ISBN 978-973-755-841-1, 2012, 195 pag

principalelor caracteristici ale problemei (de exemplu, in cazul unor obiecte fizice, aceste caracteristici pot fi: masa, forma, culoarea etc). Presupunem că dispunem de un set de obiecte descrise prin vectori n-dimensionali. Se pune problema repartizării fiecărui obiect într-una dintre m clase. Se dau perechi de forma (obiect, clasă) care reprezintă exemple de clasificare corectă.

Pentru rezolvarea unei probleme liniar separabile (clasificarea unor vectori n-dimensionali în m clase), se poate utiliza o reţea cu n unităţi de intrare şi m unităţi de ieşire.

Crearea, antrenarea şi simularea într-un perceptron (în Matlab) sunt prezentate în Anexa 1.

Aplicaţia 1. Fie o problemă de clasificare ce foloseşte o reţea neuronală,

având un perceptron cu 2 intrări. Să se clasifice în 2 categorii, 4 puncte din spaţiul bidimensional, având coordonatele (-0.5, -0.5), (-0.5, 0.5), (0.3, -0.5), (-0.1, 1.0).

Este o problemă liniar separabilă, în care dreapta de decizie separă cele 2 regiuni de clasificare (Figura 2.9). Cele 4 puncte vor fi memorate în Matlab 7.1, ca 4 vectori coloană, cu câte 2 intrări (o matrice cu 2 linii şi 4 coloane): % matricea cu intrari P

P = [ -0.5 -0.5 +0.3 -0.1;

-0.5 +0.5 -0.5 +1.0];

T = [1 1 0 0]; % iesirile target

% creare retea neuronala cu 1 perceptron

net = newp([-1 1;-1 1],1);

net.adaptParam.passes = 30; %numar de iteratii

% noua retea antrenata este neta

neta = adapt(net,P,T);

hold on;

plotpv(P,T); %reprezentare grafica a punctelor

% dreapta de decizie separa regiunile de clasificare

plotpc(neta.IW{1},neta.b{1}); hold off;

Observaţii: - Dreapta de decizie este reprezentată grafic, utilizând funcţia Matlab

plotpc, cu argumentele neta.IW{1} (matricea ponderilor) şi neta.b{1}(bias) (Figura 2.10)

- Dacă se execută programul pentru un vector cu 3 intrări şi se modifică numărul de parametri ai funcţiei de creare a perceptronului, atunci se obţine un hiperplan de separare a celor două regiuni de clasificare.

Page 42: Book Neural Network Tudor N L 2012

Tudor N. L., RETELE NEURONALE ARTIFICIALE. Aplicaţii Matlab, Editura MATRIX ROM Bucureşti, Romania, ISBN 978-973-755-841-1, 2012, 195 pag

% Exemplu de perceptron cu 3 vectori de intrare

% se fac 2 modificari in programul anterior

P = [ -0.5 -0.3 +0.3 -0.2; -0.5 +0.5 -0.5 +1.0;

-0.4 +0.6 -0.2 +1.2];

net = newp([-1 1.2;-1 1.2; -1 1.2],1);

Aplicaţia 2. Învăţarea normalizată a perceptronului - Să se creeze în

Matlab o reţea neuronală de tip perceptron şi să se utilizeze învăţarea normalizată a perceptronului pentru clasificarea unor puncte din spaţiul bidimensional.

Fig. 2.10 Hiperplan de clasificare - perceptron cu 3 intrări.

Fig. 2.9 Dreapta de decizie – perceptron cu 2 intrări.

Page 43: Book Neural Network Tudor N L 2012

Tudor N. L., RETELE NEURONALE ARTIFICIALE. Aplicaţii Matlab, Editura MATRIX ROM Bucureşti, Romania, ISBN 978-973-755-841-1, 2012, 195 pag

Funcţia learnpn realizează învăţarea normalizată într-un perceptron, fiind utilă în cazul când vectorul cu intrări conţine variaţii foarte mari de valori.

Rezolvarea acestei probleme este prezentatã în Anexa 1.

2.4.2. Probleme de algebră booleană În cazul în care datele de intrare sunt codificate prin vectori binari, o

problemă de clasificare în două clase (clasificare binară) poate fi văzută ca o problemă de reprezentare a unei funcţii booleene.

Din punctul de vedere al liniar separabilităţii, funcţiile booleene OR (disjuncţia) şi AND (conjuncţia) corespund unor probleme liniar separabile, însã funcţia XOR (disjuncţia exclusivă) corespunde unei probleme neliniar separabile [49].

Exemplul 1. Reprezentarea funcţiei AND cu ajutorul unui perceptron - se

realizează tabela funcţiei booleene AND pentru două propoziţii logice p şi q (p AND q) (Figura 2.11).

Metoda 1: oprirea algoritmului de antrenare după un număr de iteraţii

(prin stabilirea parametrului passes). Ponderile vor fi iniţializate cu valori aleatoare cuprinse între -0.5 şi 1.5.

%Program Matlab 7.1 – reprezentare functie AND

P = [ 0 1 0 1;

0 0 1 1];

T = [0 0 0 1]; % iesirile target

% creare retea neuronala cu 1 perceptron

net = newp([0 1; 0 1], 1);

net.IW{1} = -0.5 + (1 - (-0.5)) * rand(1,2)

% initializare aleatoare ponderi intre -0.5 si 1.5

net.adaptParam.passes = 100; %numar iteratii

% antrenare retea

[net,a] = adapt(net,P,T);

p q p AND q 1 1 1 1 0 0 0 1 0

Fig. 2.11 Funcţia booleanã AND.

Page 44: Book Neural Network Tudor N L 2012

Tudor N. L., RETELE NEURONALE ARTIFICIALE. Aplicaţii Matlab, Editura MATRIX ROM Bucureşti, Romania, ISBN 978-973-755-841-1, 2012, 195 pag

e = T - a % calcul eroare

hold on;

net.IW{1}

plotpv(P,T); %reprezentare grafica a celor 4 puncte

% dreapta de decizie separa regiunile de clasificare

plotpc(net.IW{1},net.b{1});

hold off;

Perceptronul este antrenat să reprezinte funcţia booleană AND. După

antrenare. se obţin cele două regiuni de clasificare delimitate de dreapta de decizie (Figura 2.12).

Metoda 2: varianta iterativă (folosind instrucţiunea while), care opreşte

algoritmul când valoarea funcţiei de performanţă a erorii este mai mică decât un prag.

Soluţia problemei (metoda 2) este prezentatã în Anexa 1. Exemplul 2. Reprezentarea funcţiei OR cu ajutorul unui perceptron - Să

se creeze un perceptron pentru reprezentarea funcţiei logice OR şi să se reprezinte grafic datele de intrare şi ieşire şi dreapta separatoare (Figura 2.13).

Fig. 2.12 Dreapta de decizie pentru funcţia AND.

p q p OR q 1 1 1 1 0 1 0 1 1 0 0 0

Fig. 2.13 Funcţia booleanã OR.

Page 45: Book Neural Network Tudor N L 2012

Tudor N. L., RETELE NEURONALE ARTIFICIALE. Aplicaţii Matlab, Editura MATRIX ROM Bucureşti, Romania, ISBN 978-973-755-841-1, 2012, 195 pag

Soluţia problemei şi rezultatele execuţiei programului sunt prezentate în

Anexa 1. 2.4.3. Probleme de recunoaştere a formelor Aplicaţia 1. Să se creeze în Matlab o reţea neuronală de tip perceptron

pentru recunoaşterea şi clasificarea unor segmente de dreaptă orizontale, verticale şi oblice.

Rezolvare: Varianta 1: Clasificarea segmentelor în 4 clase cu 9 unităţi de intrare şi 2

neuroni Segmentele pot fi codificate cu ajutorul unor matrice 3 x 3, cu elemente

binare (1 şi 0):

Intrările reţelei vor fi reprezentate de 4 vectori cu 9 elemente, corespunzători celor 4 matrice:

O metodă de codificare a ieşirilor reţelei de perceptroni, care reprezintă cele patru tipuri de segmente, poate fi ilustrată în figura 2.14.

0 1 0 0 1 0 0 1

0 0 0 1 1 1 0 0

0 0 1 0 1 0 1 0

1 0 0 0 1 0 0 0

0 1 0 0 1

0 0 0 1 1

0 0 1 0 1

1 0 0 0 1

Page 46: Book Neural Network Tudor N L 2012

Tudor N. L., RETELE NEURONALE ARTIFICIALE. Aplicaţii Matlab, Editura MATRIX ROM Bucureşti, Romania, ISBN 978-973-755-841-1, 2012, 195 pag

% Program Matlab 7.1

vector ={[0;1;0;0;1;0;0;1;0] [0;0;0;1;1;1;0;0;0]

[0;0;1;0;1;0;1;0;0] [1;0;0;0;1;0;0;0;1]};

vector{1} % afisarea primei matrice coloana

d = { [1;0] [0;1] [0;0] [1;1] };

neuron = newp([0 1;0 1;0 1; 0 1; 0 1;0 1;0 1;0 1;0

1],2); %creare neuron de tip perceptron

rez = sim(neuron, vector); %simularea retelei

disp('Afisare inainte de antrenare:');

disp(rez{1,1}'); disp(rez{1,2}');

disp(rez{1,3}'); disp(rez{1,4}');

neuron.adaptParam.passes = 100;

neurona = adapt(neuron, vector,d);

rez = sim(neurona, vector);

disp('Dupa antrenare:'); disp(rez{1,1}');

disp(rez{1,2}'); disp(rez{1,3}'); disp(rez{1,4}');

La execuţia programului, dupã antrenarea reţelei, se obţin codurile segmentelor recunoscute (de exemplu, prima matrice corespunde segmentului vertical, codificat 1 0, etc.):

Dupa antrenare:

1 0

0 1

0 0

1 1

Simularea reţelei, pentru alte 4 segmente ‘imperfecte’ codificate astfel:

vector = {[0;1;1;0;1;0;0;1;0] [0;0;0;1;1;1;1;0;0]

[0;0;1;1;1;0;1;0;0] [1;0;1;0;1;0;0;0;1]};

rez = sim( neurona, vector);

disp('Rezultatul testelor:'); disp(rez{1,1}');

disp(rez{1,2}');disp(rez{1,3}');disp(rez{1,4}')

La simularea funcţionãrii reţelei pentru alte date, se obţin: Rezultatul testelor:

0 1 1 0 1

0 0 0 1 1

0 0 1 1 1

1 0 1 0 1

0

0

1

1

Fig. 2.14 Codificarea ieşirii reţelei.

Page 47: Book Neural Network Tudor N L 2012

Tudor N. L., RETELE NEURONALE ARTIFICIALE. Aplicaţii Matlab, Editura MATRIX ROM Bucureşti, Romania, ISBN 978-973-755-841-1, 2012, 195 pag

1 0

0 1

0 0

1 1

Observaţie. Segmentele ‘imperfecte’ au fost clasificate corect, în cele 4 categorii: vertical, orizontal şi oblic.

Varianta 2: Clasificare în 4 clase cu 9 intrãri şi 4 neuroni Reţeaua are 4 perceptroni, deci ieşirile reţelei de perceptroni pot fi

codificate ca vectori cu 4 elemente (Figura 2.15). Cifra 1, 2, 3 sau 4 reprezintă poziţia elementului 1 în vectorul cu 4 ieşiri.

Soluţia problemei şi rezultatele simulãrii reţelei, pentru alt set de date de

intrare, sunt prezentate în Anexa 1.

2.5 EXERCIŢII ŞI PROBLEME 2.5.1 Sã se scrie o funcţie personalizatã pentru înlocuirea (simularea) funcţiei de transfer implicite pentru perceptron (hardlim) (Figura 2.16). Indicaţie. Se poate apela în programul principal, în contextul urmãtor: net.adaptParam.passes = 12; %numar iteratii

n = sum(dotprod(net.IW{1}, P))%n=suma ponderata

%schimbarea functiei de transfer/activare

net.layers{1}.transferFcn = 'functia1';

net = adapt(net,P,T); % antrenare retea

function[y] = functia1(n)

if n >= 0

y = 1

else

y = 0

end

end

Fig. 2.16 Clasificare folosind o funcţie de transfer personalizatã.

2

4 3 1

Fig. 2.15 Codificarea ieşirii reţelei.

Page 48: Book Neural Network Tudor N L 2012

Tudor N. L., RETELE NEURONALE ARTIFICIALE. Aplicaţii Matlab, Editura MATRIX ROM Bucureşti, Romania, ISBN 978-973-755-841-1, 2012, 195 pag

2.5.2 Să se creeze o reţea de tip perceptron, folosind ponderi generate aleator. Să se numere câte funcţii booleene liniar separabile există, având 2 şi 3 argumente. 2.5.3 Fie o reţea cu un perceptron, cu n intrări şi prag 0. Să se restricţioneze valorile ponderilor la -1 sau 1. Să se găsească numărul de funcţii definite pe mulţimea {-1, 1} cu valori în mulţimea {-1, 1}, care pot fi reprezentate de acest perceptron. 2.5.4 Fie o reţea de tip perceptron. Să se reprezinte funcţia booleanã NOT. 2.5.5 Sã se clasifice universitãţile în trei categorii, folosind o reţea de tip perceptron. Criteriul de clasificare este scorul relativ de influenţã al articolelor ISI ale cadrelor didactice.

Page 49: Book Neural Network Tudor N L 2012

Tudor N. L., RETELE NEURONALE ARTIFICIALE. Aplicaţii Matlab, Editura MATRIX ROM Bucureşti, Romania, ISBN 978-973-755-841-1, 2012, 195 pag

Bibliografie

1. Ahmed Naveed, Fuzzy Logic Control Using Matlab, FAST-NUCES,

Khwarzimic Science Society at the University of Lahore, 2003 2. Balázs Csanád Csáji, Approximation with Artificial Neural Networks, Faculty

of Sciences, Eötvös Loránd University, Hungary 3. Cai Xindi, Prokhorov Danil V., Wunsch Donald C., Training Winner-Take-

All Simultaneous Recurrent Neural Networks, IEEE TRANSACTIONS ON NEURAL NETWORKS, VOL. 18, NO. 3, 2007

4. Carew Thomas J., Robert D. Hawkins, Thomas W. Abrams, Eric R. Kandel, A Test Of Hebb’s Postulate At Identified Synapses Which Mediate Classical Conditioning In Aplysia, The Journal Of Neuroscience, Vol. 4, No. 5, p. 1217-1224, 1984

5. Carpenter, G.A., Grossberg, S., Adaptive Resonance Theory, In Michael A. Arbib, The Handbook of Brain Theory and Neural Networks, Second Edition, p. 87-90, Cambridge, MA: MIT Press, 2003

6. Carpenter, G.A., Grossberg, S., Markuzon, N., Reynolds, J.H., Rosen, D.B., Fuzzy ARTMAP: A neural network architecture for incremental supervised learning of analog multidimensional maps, IEEE Transactions on Neural Networks, 3, p. 698-713, 1992

7. Carpenter, G.A., Grossberg, S., Rosen, D.B., Fuzzy ART: Fast stable learning and categorization of analog patterns by an adaptive resonance system, Neural Networks, 4, p. 759-771, 1991

8. Chakraborty R. C., Adaptive Resonance Theory, Soft Computing Course, 2010

9. Chua L. O., Yang L., Cellular Neural Networks: Theory and Application, IEEE Transaction On Circuits and Systems, Vol. 35, 1988

10. Colojoarã Ion, Analizã Matematicã, Editura Didacticã şi Pedagogicã, Bucureşti, 1983

11. Cybenko. G., Approximations by superpositions of sigmoidal functions, Mathematics of Control, Signals, and Systems, 2 (4), pp. 303-314, 1989

12. De Jesus O., Hagan M., Backpropagation Algorithms for a Broad Class of Dynamic Networks, IEEE Transactions on Neural Networks, Vol. 18, No. 1, pp. 14 -27, 2007

13. Dumitrescu D., Costin Hariton, Reţele neuronale. Teorie şi aplicaţii, 1996, Editura Teora

14. Elman J. L, Finding structure in time, Cognitive Science, vol. 14, pp. 179-211, 1990

Page 50: Book Neural Network Tudor N L 2012

Tudor N. L., RETELE NEURONALE ARTIFICIALE. Aplicaţii Matlab, Editura MATRIX ROM Bucureşti, Romania, ISBN 978-973-755-841-1, 2012, 195 pag

15. Faraoun K. M., Boukelif A., Neural networks learning improvement using the K-means clustering algorithm to detect network intrusions, World Academy of Science, Engineering and Technology 34, 2007

16. Fiesler E., Neural Networks Classification and Formalization, Vol. 16, Elsevier, N. Y. 1994

17. Gene A. Tagliarini, Christ J. Fury, Page Edward W, Optimization Using Neural Networks, IEEE Transaction Computers 40(12), pp. 1347-1358, 1991

18. Genevieve Orr, Nici Schraudolph, Fred Cummins, Neural Networks. Lecture Notes, Willamette University, 1999

19. Grossberg, S., Competitive learning: From interactive activation to adaptive resonance, Cognitive Science, 11, p. 23-63, 1987

20. Hagan M, Demuth H, Neural Networks for Control, Invited Tutorial, American Control Conference, San Diego, pp. 1642-1656, 1999

21. Hagan M., Demuth H., Beale M., Neural Network Design, Boston, MA: PWS Publishing, 1996

22. Haykin, S., Neural Networks: A Comprehensive Foundation, 2nd ed. Englewood Cliffs, NJ: Prentice-Hall, 1999

23. Jang Jyh-Shing Roger, Sun Chuen-Tsai, Mizutani Eiji, Neuro-Fuzzy and Soft Computing: A Computational Approach to Learning and Machine Intelligence, Prentice Hall, 1997

24. Kleene, S., Representation of events in nerve nets and finite automata, In Shannon C., McCarthy, J., Automata Studies, p. 3-42, Princeton University Press, Princeton, N.J, 1956

25. Kohonen T, Self Organising Maps, New York: Springer Verlag, 2001 26. Kohonen, T., Self-Organization and Associative Memory, 2nd Edition, Berlin:

Springer-Verlag, 1987 27. Kolmogorov, A. N., On the Representation of Continuous Functions of

Several Variables by Superposition of Continuous Functions of one Variable and Addition, Doklady Akademii. Nauk USSR, 114, pp. 679-681, 1957

28. Krose Ben, Patrick van der Smagt, An Introduction to Neural Networks, Eighth edition, University of Amsterdam, http://www.fwi.uva.nl/ research/ neuro, 1996

29. Kurt Hornik, Approximation Capabilities of Multilayer Feedforward Networks, Neural Networks, 4(2), pp. 251–257, 1991

30. Li J., A. N. Michel, W. Porod, Analysis and synthesis of a class of neural networks: linear systems operating on a closed hypercube, IEEE Transactions on Circuits and Systems, vol. 36, no. 11, pp. 1405-1422, 1989

31. Madan M. Gupta, Liang Jin, Noriyasu Homma, Static and Dynamic Neural Networks. From Fundamentals to Advanced Theory, John Wiley & Sons, Inc., Publication, 2003

32. Mamdani, E.H., S. Assilian, An experiment in linguistic synthesis with a fuzzy logic controlle, International Journal of Man-Machine Studies, Vol. 7, No. 1, pp. 1-13, 1975

Page 51: Book Neural Network Tudor N L 2012

Tudor N. L., RETELE NEURONALE ARTIFICIALE. Aplicaţii Matlab, Editura MATRIX ROM Bucureşti, Romania, ISBN 978-973-755-841-1, 2012, 195 pag

33. Matlab Documentation Version 7.1.0.246. (R14) Service Pack 3, MathWorks Inc., 2005

34. Matlab Online Help, version 7.10.0, 2010 35. McCulloch W.S., W. Pitts, A Logical Calculus of Ideas Immanent in Nervous

Activity, Bull. Mathematical Biophysics, Vol. 5, p. 115-133, 1943 36. McEliece, Robert J., Posner, Edward C., Rodemich, Eugene R., Venkatesh,

Santosh S, The capacity of the Hopfield associative memory, IEEE Transactions on Information Theory, 33 (4). pp. 461-482,1987

37. Minsky M., Papert S., Perceptrons: An lntroduction to Computational Geometry, MIT Press, Cambridge, Mass., 1969

38. Moise Adrian, Retele neuronale pentru recunoasterea formelor, Editura MATRIX ROM, 2005

39. Moratori Patrick B., M. V. Pedro, L. M. B. Manhaes, C. Lima, A. J. O. Cruz, E. B. Ferreira, Leila C. V. de Andrade, Analysis of the Stability of a Fuzzy Control System Developed to Control a Simulated Robot, IEEE International Conference on Fuzzy Systems, 2005

40. Morin Frederic, Yoshua Bengio, Hierarchical Probabilistic Neural Network Language Model, Universit´e de Montr´eal P.O. Box 6128, Succ. Centre-Ville, Montreal, Canada, 2003

41. Narine Manukyan, Margaret J. Eppstein, Donna M. Rizzo, Data-Driven Cluster Reinforcement and Visualization in Sparsely-Matched Self-Organizing Maps, IEEE TRANSACTIONS ON NEURAL NETWORKS ON LEARNING SYSTEMS, VOL. 23, No. 5, 2012

42. Nilsson, N., Learning Machines, Morgan Kaufmann, San Mateo, CA, New Edition, 1990

43. Puyin Liu, Hongxing Li, Fuzzy Neural Network Theory and Application, World Scientific Publishing Co. Singapore, 2004

44. Rojas Raúl, Neural Networks A Systematic Introduction, Springer-Verlag, Berlin, 1996

45. Rumelhart D.E., McClelland J.L., Parallel Distributed Processing: Exploration in the Microstructure of Cognition, MIT Press, Cambridge, Mass. 1986

46. Rumelhart, D. E., G. E. Hinton, R. J. Williams, J. L. McCleland, Learning internal representations by error propagation, Cambridge, MA: MIT Press, vol. 1, 1986

47. Schalkoff, R., Pattern Recognition Statistical, Structural and Neural Approaches, John Wiley & Sons, New York, 1992

48. Hebb D.O, The Organization of Behavior; a neuropsychological theory, Wiley: New York; 1949

49. Tudor N. L., SEPARABILITATE LINIARĂ ÎN REŢELE NEURONALE ARTIFICIALE, Revista Română de Informatică şi Automatică, Bucureşti, vol. 21, nr. 2, 2011, p. 71-80

Page 52: Book Neural Network Tudor N L 2012

Tudor N. L., RETELE NEURONALE ARTIFICIALE. Aplicaţii Matlab, Editura MATRIX ROM Bucureşti, Romania, ISBN 978-973-755-841-1, 2012, 195 pag

50. Tudor N. L., PROCESAREA SEMNALELOR ÎN REŢELE NEURONALE LINIARE, Revista Română de Informatică şi Automatică, Bucureşti, vol. 21, nr. 3, 2011, p. 13-22

51. Ultsch A., Self-organising neural networks for visualisation and classification, in Proc. Conf. Soc. Inf. Classification, 1993

52. Werbos Paul J., Beyond Regression: New Tools for Prediction and Analysis in the Behavioral Sciences. PhD thesis, Harvard University, 1974

53. Werbos, P. J., 1990, Backpropagation through time:What it does and how to do it, Proc. IEEE, vol. 78, pp. 1550–1560

54. Widrow B., S. D. Sterns, Adaptive Signal Processing, New York: Prentice-Hall, 1985

55. Widrow B., Winter R., Neural Nets for Adaptive Filtering and Adaptive Pattern Recognition, Computer 21, 1988, p. 25-39

56. Yamaoka Hiroaki, Ikeda Makoto, Asada Kunihiro, A High-Speed Functional Memory with a Capability of Hamming-Distance-Based Data Search by Dynamic Threshold Logic Circuits, IEEE Computer, vol. 33, 2002

57. Zadeh L.A., Outline of a new approach to the analysis of complex systems and decision processes, IEEE Transactions on Systems, Man, and Cybernetics, Vol. 3, No. 1, pp. 28-44, 1973

58. Zaharie Daniela, Density-based Clustering with Crowding Differential Evolution , Proc. 7 th Symposium on Symbolic and Numeric Algorithms for Scientific Computing,Timisoara, p. 72-79, 2005

59. Zaharie Daniela, Învãţare nesupervizatã bazatã pe procese de competiţie, Note de curs, Universitatea de Vest Timişoara, http://web.info.uvt.ro/~dzaharie/

60. Zaharie Daniela, Reţele neuronale. Implementarea memoriilor asociative cu reţele de tip Hopfield, Note de curs şi laborator, Universitatea de Vest Timişoara, http://web.info.uvt.ro/~dzaharie/

61. Tamura S, Tateishi M, Capabilities of a four-layered feedforward neural network: four layers versus three, IEEE Transactions on Neural Networks, Volume: 8, Issue: 2, pp. 251-255, 1997

62. Xavier Glorot, Yoshua Bengio, Understanding the difficulty of training deep feedforward neural networks, Proceedings of the 13th International Conference on Artificial Intelligence and Statistics (AISTATS), Chia Laguna Resort, Sardinia, Italy. Volume 9 of JMLR: W&CP 9, 2010

63. Ranzato M., Poultney C., Chopra S., LeCun Y., Efficient learning of sparse representations with an energy-based model, NIPS 19, 2007

64. Mnih A., Hinton G. E., A scalable hierarchical distributed language model, NIPS 21, pp. 1081–1088, 2009

65. Won Y., Gader P., Morphological Shared-Weight Neural Network for Pattern Classification and Automatic Target Detection, Recognition, Electronics and Telecommunications Research Institute, Daejon, South Korea, 1995

Page 53: Book Neural Network Tudor N L 2012

Tudor N. L., RETELE NEURONALE ARTIFICIALE. Aplicaţii Matlab, Editura MATRIX ROM Bucureşti, Romania, ISBN 978-973-755-841-1, 2012, 195 pag

66. Park, J., Sandberg, I.W., Approximation and radial-basis-function networks, Neural Computation, 5, 305–316, 1993

67. Bishop C.M., Neural Networks for Pattern Recognition, Oxford University Press, Oxford, UK, 1995

68. Cover T.M., Geometrical and Statistical properties of systems of linear inequalities with applications in pattern recognition, IEEE Transactions on Electronic Computers EC-14: 326–334, 1965

69. Broomhead D. S., Lowe David, Multivariable Functional Interpolation and Adaptive Networks, Complex Systems 2, pp. 321- 355, 1988

70. Rumelhart D. E., Hinton G. E., Williams R. J., Parallel Distributed Processing: Explorations in the Microstructure of Cognition, Vol. 1: Foundations, MIT Press, Cambridge, pp. 318−362, 1986

71. Sejnowski Terrence J., Rosenberg Charles R., Parallel Networks that Learn to Pronounce English Text, Complex Systems 1, pp. 145-168, 1987

72. Ackley David H., Hinton Geoffrey E., Sejnowski Terrence J., A Learning Algorithm for Boltzmann Machines, COGNITIVE SCIENCE 9, pp. 147-169, 1985

73. Hinton. G. E., Sejnowski, T. J., Optimal perceptual inference, Proceedings of the IEEE Computer Society Conference on Computer Vision and Pattern Recognition, Washington, DC, pp. 448-453, 1983

74. Newell, A., Intellectual issues in the history of artificial intelligence, Tech. Rep. NO. CMU-CS-82-142, Pittsburgh, PA: Carnegie-Mellon University, 1982

75. Hinton Geoffrey E., Training Products of Experts by Minimizing Contrastive Divergence, Neural Computation 14, 1771–1800, Massachusetts Institute of Technology Press, 2002