38 0 13MB
Călin Enăchescu ♦ Calculul Neuronal
Coperta: XXXXXXXXXXXXX
Copyright © autorul, 2009
ISBN 978-973-133-460-8
Director: Mircea Trifu Fondator: dr. T.A. Codreanu Tiparul executat la Casa Cărţii de Ştiinţă 400129 Cluj-Napoca; B-dul Eroilor nr. 6-8 Tel./fax: 0264-431920 www.casacartii.ro; e-mail: [email protected]
Călin Enăchescu
CALCULUL NEURONAL
Casa Cărţii de Ştiinţă Cluj-Napoca, 2008
4
CUPRINS Introducere ................................................................................................................. 9 I. Elemente generale de Inteligenţă Artificială............................................................ 12 I.1. Sisteme de Inteligenţă Artificială............................................................................................................12 I.2. Calculul neuronal în cadrul AI................................................................................................................16 I.3. Ce este calculul neuronal?.......................................................................................................................17 I.4. Istoric al dezvoltării calculului neuronal.................................................................................................17 I.5. Concluzii .................................................................................................................................................19
II Noţiuni generale.................................................................................................... 22 II.1. Elemente de bază ale calculului neuronal ..............................................................................................22 II.1.1. Neuronul biologic ........................................................................................................................22 II.1.2. Neuronul artificial .......................................................................................................................24 II.1.3. Diferenţe între neuronul biologic şi neuronul artificial ...............................................................26 II.2. Reţele neuronale artificiale ....................................................................................................................26 II.3. Modul de operare al reţelelor neuronale ................................................................................................28 II.4. Taxonomia reţelelor neuronale ..............................................................................................................29 II.5. Calculul neuronal versus Inteligenţa Artificială şi calculul algoritmic..................................................31 II.5.1. Programare versus învăţare .........................................................................................................32 II.5.2. Memorii asociative distributive ...................................................................................................32 II.5.3. Toleranţa la deteriorări ................................................................................................................33 II.5.4. Recunoaşterea formelor (Pattern Recognition)............................................................................33 II.5.5. Sinteză .........................................................................................................................................33 II.5.6. Calculul neuronal versus calculul algoritmic...............................................................................34 II.6. Domenii de utilizare ale reţelelor neuronale ..........................................................................................35 II.6.1. Procesarea limbajului ..................................................................................................................35 II.6.2. Comprimarea datelor ...................................................................................................................37 II.6.3. Recunoaşterea caracterelor ..........................................................................................................37 II.6.4. Probleme combinatoriale.............................................................................................................38 II.6.5. Recunoaşterea formelor...............................................................................................................38 II.6.6. Prelucrarea semnalelor ................................................................................................................39 II.6.7. Modelare economică şi financiară ...............................................................................................40 II.6.8. Servo-control ...............................................................................................................................40 II.6.9. Teoria aproximării .......................................................................................................................41 II.7. Clasificare..............................................................................................................................................41 II.8. Tehnologii implicate în dezvoltarea calculului neuronal .......................................................................44 II.8.1. Simulatoare software ...................................................................................................................44 II.8.2. Acceleratoare hardware ...............................................................................................................45 II.8.3. Procesoare neuronale...................................................................................................................45 II.8.4. Procesoare optice.........................................................................................................................46
III. Procesul de învăţare ............................................................................................ 48 III.1. Noţiuni generale ...................................................................................................................................48 III.2. Algoritmi de învăţare............................................................................................................................49 III.2.1. Învăţare pe baza minimizării unei funcţii eroare ........................................................................49 III.2.2. Învăţare Hebbiană ......................................................................................................................51 III.2.3. Învăţare competitivă...................................................................................................................52 III.2.4. Învăţare Boltzmann ....................................................................................................................53 III.3. Paradigme de învăţare ..........................................................................................................................55 III.3.1. Învăţare supervizată....................................................................................................................55 III.3.2. Învăţare nesupervizată................................................................................................................56 III.3.3. Învăţare întărită (reinforcement) ................................................................................................57 III.4. Natura statistică a procesului de învăţare .............................................................................................58 III.4.1. Generalităţi.................................................................................................................................58 III.4.2. Contradicţia dintre varianţă şi bias .............................................................................................62 5
III.4.3. Modelul general al procesului de învăţare..................................................................................63 III.4.4. Capacitatea de generalizare ........................................................................................................69
IV. Perceptroni .......................................................................................................... 76 IV.1. Perceptronul simplu .............................................................................................................................76 IV.1.1. Modul de operare al PS..............................................................................................................76 IV.1.2. PS cu funcţie de activare f(x) = sgn(x).......................................................................................77 IV.1.3. PS cu funcţie de activare liniară.................................................................................................82 IV.1.4. PS cu funcţie de activare neliniară .............................................................................................84 IV.1.5. PS stohastic ................................................................................................................................86 IV.1.6. Capacitatea de memorare a PS...................................................................................................90 IV.1.7. Interpretarea geometrică a PS ....................................................................................................92 IV.2. Perceptronul multistrat (PMS) .............................................................................................................95 IV.2.1. Legea de învăţare BP .................................................................................................................95 IV.2.2. Variante ale legii de învăţare BP pentru PMS............................................................................98 IV.2.3. Interpretarea geometrică a PMS ...............................................................................................105
V. Învăţarea activă .................................................................................................. 110 V.1. Introducere...........................................................................................................................................110 V.2. Un cadru general pentru aproximarea activă .......................................................................................110 V.2.1. Preliminarii................................................................................................................................110 V.2.2. Algoritmi de alegere a exemplelor ............................................................................................112 V.3. Învăţare activă. Aproximarea funcţiilor continue monoton crescătoare şi mărginite ..........................115 V.3.1. Limita inferioară pentru învăţarea pasivă..................................................................................116 V.3.2. Algoritmul învăţării active (AIA)..............................................................................................117 V.3.3. Simulări experimentale şi alte investigaţii.................................................................................122 V.4. Învăţare activă. Aproximarea funcţiilor derivabile cu derivata mărginită ...........................................123 V.4.1. Limita inferioară a numărului de exemple ................................................................................124 V.4.2. Obţinerea unei strategii optimale de alegere a exemplelor........................................................126 V.4.3. Algoritmul de învăţare activă (AIA) .........................................................................................129 V.4.4. Distribuţia exemplelor selectate ................................................................................................130
VI. Învăţarea nesupervizată..................................................................................... 132 VI.1. Generalităţi.........................................................................................................................................132 VI.2. Invăţarea nesupervizată Hebbiană simplă ..........................................................................................134 VI.2.1. Modelul liniar simplu...............................................................................................................134 VI.2.2. Regula lui Oja ..........................................................................................................................136 VI.2.3. Alte reguli de învăţare nesupervizată .......................................................................................140 VI.3. Analiza componentei principale.........................................................................................................140 VI.3.1. PCA - Analiza Componentei Principale aplicată la PS ............................................................142 VI.4. Hărţi de trăsături (feature detection) ..................................................................................................145 VI.5. Învăţarea nesupervizată competitivă ..................................................................................................151 VI.5.1. Generalităţi...............................................................................................................................151 VI.5.2. Invăţarea competitivă...............................................................................................................152 VI.5.3. Studiul convergenţei ................................................................................................................156 VI.6. Aplicaţii ale învăţării nesupervizate ...................................................................................................158 VI.6.1. Scheme auto-organizabile ........................................................................................................158 VI.6.2. Hărţi de trăsături (feature mapping) .........................................................................................168
VII. Proprietatea de aproximantă universală a reţelelor neuronale .......................... 174 VII.1. Teorema lui Kolmogorov şi perceptronul multistrat.........................................................................174 VII.1.1. Preliminarii .............................................................................................................................174 VII.1.2. Teorema fundamentală ...........................................................................................................175 VII.1.3. Demonstraţii ...........................................................................................................................176 VII.2.Teorema lui Stone-Weierstrass şi perceptronul multistrat .................................................................181 VII.2.1. Introducere..............................................................................................................................181 VII.2.2. Notaţii şi definiţii....................................................................................................................181 VII.2.3. Teoreme fundamentale şi demonstraţii...................................................................................184 VII.3. Aplicaţii ale teoremei lui Stone-Weierstrass la reţele neuronale ......................................................186 VII.3.1. Introducere..............................................................................................................................186 VII.3.2. Exemple de reţele neuronale ce satisfac teorema lui Stone-Weierstrass.................................186 6
VII.4. Proprietăţi fundamentale de aproximare ale reţelelor neuronale.......................................................191 VII.4.1. Noţiuni introductive................................................................................................................191 VII.4.2. Enunţuri şi rezultate................................................................................................................192 VII.4.3. PMS pentru aproximarea unei funcţii şi a derivatelor sale .....................................................194 VII.5. Limitele aplicării în practică a proprietăţilor reţelelor neuronale......................................................203 VII.5.1. Echivalenţa polinomială .........................................................................................................203 VII.5.2. Influenţa procesului de învăţare..............................................................................................205
VIII. Reţelele neuronale ca şi metode de aproximare -interpolare ............................ 208 VIII.1. Problema aproximării ......................................................................................................................209 VIII.1.1. Metode de aproximare globale ..............................................................................................209 VIII.1.2. Metode de aproximare locale ................................................................................................210 VIII.1.3. Caracterizarea metodelor de aproximare ...............................................................................211 VIII.2. Aproximarea funcţiilor netede.........................................................................................................212 VIII.2.1. Alegerea reţelei neuronale aproximante ................................................................................213 VIII.2.2. Influenţa numărului de date de antrenament .........................................................................213 VIII.2.3. Reţele neuronale şi teoria regularizării..................................................................................214 VIII.3. Proprietatea de cea mai bună aproximantă ......................................................................................235 VIII.3.1. Aplicaţia 1: Reţele neuronale de tip BP (Back Propagation).................................................238 VIII.3.2. Aplicaţia 2: Reţele neuronale de regularizare........................................................................239
IX. Aplicaţiile teoriei regularizării la reţelele neuronale ........................................... 242 IX.1. Reţele neuronale de tip PMSR............................................................................................................242 IX.1.1. Construcţia reţelei neuronale de tip PMSR ..............................................................................242 IX.1.2. Reducerea dimensionalităţii reţelei neuronale PMSR ..............................................................244 IX.2. Proprietăţile reţelelor neuronale de tip PMSR ....................................................................................262
X. Studiul aplicativ a performanţelor calculului neuronal ........................................ 266 X.1. Modul practic de construcţie a reţelei neuronale .................................................................................266 X.2. Studiul comparativ dintre reţelele neuronale şi metodele clasice de aproximare interpolare ..............269
XI. Concluzii ........................................................................................................... 284 XI.1. Concluzii generale..............................................................................................................................284 XI.2. Perspective .........................................................................................................................................287
XII. Bibliografie...................................................................................................... 288
7
8
Introducere
Creierul uman, într-o analogie cu un calculator, este un sistem de procesare a informaţiilor caracterizat prin complexitate, neliniaritate şi paralelism. Creierul uman are capacitatea de a-şi organiza activitatea neuronală în aşa fel încât să realizeze activităţi complexe (recunoaşterea formelor, percepţie, control motric etc.) mult mai rapid şi mai performant decât cel mai puternic super - calculator construit vreodată de om [9]. Dacă ar fi să analizăm doar văzul uman [105] acesta poate fi asimilat ca un proces de prelucrare informaţională: funcţia sistemului vizual uman este de a oferi o reprezentare a mediului înconjurător şi de a oferi informaţia necesară pentru a interacţiona cu acest mediu înconjurător [169]. Creierul reuşeşte ca în aproximativ 100-200 ms. să rezolve o problemă complexă ca aceea a recunoaşterii unei persoane, pe când un sistem de calcul necesită mult mai mult timp pentru sarcini mult mai simple. La naştere, creierul omului deja are o structură complexă, dar ce este mai important, are capacitatea de a-şi "defini" propriile "reguli" prin ceea ce este denumit ca fiind "experienţă" şi "învăţare". Această “experienţă” este construită în ani şi ani de zile, cea mai puternică dezvoltare având loc în primii doi ani de viaţă, când aproximativ 1 milion de sinapse sunt formate în fiecare secundă. Cum funcţionează creierul uman? Răspunsul la această întrebare este departe de a fi cunoscut. Totuşi, s-a reuşit ca în ultima perioadă de timp, să se facă progrese însemnate în descifrarea modului de funcţionare a sistemului neuronal. O contribuţie însemnată au avut-o progresele apărute în neuro-fiziologie, care au însemnat un mare pas înainte în explicarea fenomenelor neurologice. Încercarea de a modela structura şi modul de funcţionare al creierului uman au pus bazele unei noi discipline numită "calcul neuronal". "Calculul neuronal" este o disciplină complexă care foloseşte cunoştinţe din numeroase alte discipline tradiţionale: biologie, neurologie, anatomie, chimie, fizică, matematică, informatică etc. De aceea, studiul calculului neuronal trebuie să se bazeze pe abordări complexe care să confere un cadru teoretic şi aplicativ riguros, care să-l transforme într-o disciplină matură, cu un aparat ştiinţific bine pus la punct. De aceea, în această carte, vom încerca să contribuim la studiul calculului neuronal printr-o analiză din punct de vedere matematic. Ideea de bază o va reprezenta faptul că o reţea neuronală este o schemă de aproximare-interpolare. Din acest punct de vedere, vom putea folosi rezultatele consacrate ale analizei numerice pentru un studiu teoretic şi practic al calculului neuronal. De asemenea, vom folosi elementele calculului neuronal pentru a îmbunătăţii proprietăţile de aproximare ale unor clase de funcţii. Analogia dintre o reţea neuronală şi o metodă de aproximare se obţine dacă analizăm cu atenţie procesul învăţării pe baza unor exemple. De fapt, vom arăta în această carte, că o reţea neuronală nu este altceva decât o reprezentare particulară a mai multor metode de aproximare. În particular, o reţea neuronală fără straturi ascunse (perceptron simplu) corespunde metodelor liniare de aproximare, iar reţelele neuronale cu unul sau mai multe straturi ascunse corespund metodelor de aproximare polinomială. Din cele menţionate până acum rezultă cu claritate importanţa studiului procesului de învăţare pe baza unor exemple, ceea ce ne va permite să abordăm tehnologia calculului neuronal prin prisma teoriei aproximării. Procesul de învăţare a reprezentat întotdeauna problema centrală în încercarea de a înţelege ce este "inteligenţa" şi de a construi maşini "inteligente". Este adevărat însă, că în 9
cadrul teoriei clasice a Inteligenţei Artificiale, procesului de învăţare nu i se acordă o importanţă prea mare. De aceea, mulţi ani, testul Turing [112] a reprezentat o unitate de măsură folosită de membrii comunităţii Inteligenţei Artificiale. De fapt, definiţia dată noţiunii de "inteligenţă" în sensul lui Turing poate fi privită mai degrabă ca o capacitate de a rezolva probleme, de a demonstra teoreme, de a juca şah etc. În contrast cu această abordare simplistă, cercetările din cadrul calculului neuronal ţin cont de complexitatea acestei probleme, precum şi de dificultatea de a încerca să implementăm chiar şi o "fărâmă" de inteligenţă folosind un program ce rulează pe un sistem clasic de calcul. O tentativă de a "construi" sisteme inteligente trebuie să se bazeze pe existenţa competenţei perceptuale, motrice şi lingvistice. De aceea, folosind procesul de învăţare ca un nucleu al calculului neuronal, vom putea înţelege şi analiza modul de funcţionare şi de construcţie a unor sisteme "inteligente". Am amintit, şi vom arăta riguros acest lucru, că procesul de învăţare supervizată este echivalent cu aproximarea sau interpolarea unei funcţii. Cu alte cuvinte, teoria aproximării poate juca un rol esenţial în definirea unor noţiuni deosebit de abstracte şi dificil de cuantificat din cadrul Inteligenţei Artificiale. Dacă o reţea neuronală este echivalentă cu o schemă de aproximare, este foarte important să se analizeze din această prismă proprietăţile sale: proprietatea de aproximantă universală, proprietatea de cea mai buna aproximantă, cadrul general de aplicabilitate, performanţele de aproximare. Vom face însă şi o definire riguroasă a noţiunii de "proces de învăţare" pe care l-am folosit până acum ca un termen generic. De asemenea, foarte importantă este comparaţia dintre calculul algoritmic şi cel neuronal, comparaţie care scoate în evidenţă următoarea concluzie: calculul algoritmic necesită programare, adică stabilirea unui set de reguli care să caracterizeze a priori calculul ce urmează a fi implementat pe calculator; reţelele neuronale învaţă, "absorb" experienţa, modificându-şi structura internă în scopul efectuării acţiunii dorite. Cartea este structurată pe unsprezece capitole, care ţin cont de aspectele tratate şi de contribuţiile aduse în acest domeniu. Capitolul I conţine o prezentare generală a Inteligenţei Artificiale. De asemenea, se prezintă calculul neuronal ca o componentă dominantă şi definitorie a Inteligenţei Artificiale. În acest context, se încearcă definirea noţiunii de calcul neuronal, precum şi un studiu istoric al dezvoltării calculului neuronal. Capitolul II, care are un caracter introductiv, conţine tratarea unor subiecte generale: elemente de bază ale calculului neuronal, ce îl face să fie diferit de alte metode de calcul, la ce poate fi utilizat, care sunt implicaţiile tehnologice ale calcului neuronal, clasificarea reţelelor neuronale, domenii de utilizare, care este stadiul actual de dezvoltare al calculului neuronal. În Capitolul III se tratează riguros din punct de vedere matematic noţiunea definitorie a calculului neuronal şi anume procesul de învăţare. Se prezintă principalii algoritmi de învăţare din calculul neuronal: învăţarea ca un proces de optimizare a unei funcţii eroare, învăţarea competitivă, învăţarea Hebbiana şi învăţarea Boltzmann. De asemenea, sunt prezentate şi principalele paradigme de învăţare: învăţarea supervizată, învăţarea nesupervizată şi învăţarea întărită (reinforcement). În acest capitol se face o analiză detaliată a procesului de învăţare prin prisma unui proces statistic. Această analiză statistică permite definirea riguroasă a procesului general de învăţare, precum şi definirea unei noţiuni de mare importantă în cadrul calculului neuronal, capacitatea de generalizare a unei reţele neuronale. În Capitolul IV se prezintă elementele definitorii a unei reţele neuronale cu propagare directă a informaţiilor şi anume, perceptronul. În prima parte a acestui capitol se prezintă cea mai simplă reţea neuronală numită perceptron simplu (un strat de intrare şi un strat de ieşire), studiindu-se proprietăţile sale. Se trec în revistă diferite tipuri de perceptroni simpli cu 10
diferite funcţii de activare. În continuare, se trece la o arhitectură mai complexă si anume la perceptronul multistrat, care are în componenţa sa şi straturi ascunse. De asemenea, se face o analiză a legilor de învăţare supervizată. Din această clasă de algoritmi supervizaţi, algoritmul de învăţare Back Propagation este analizat din punct de vedere matematic, cu variantele sale şi cu anumite îmbunătăţiri. Capitolul V este dedicat unei metode de învăţare supervizate, numită învăţare activă. Metoda prezentată este bazată pe o implicare activă a antrenorului în procesul de învăţare, acesta luând decizii legate de alegerea exemplelor de învăţat. Sunt prezentate performanţele acestei metode de învăţare ca un studiu al aproximării funcţiilor continue monoton crescătoare şi a funcţiilor derivabile cu derivata mărginită. Analiza proceselor de învăţare nesupervizate se face în Capitolul VI. Acest capitol conţine cele mai importante trăsături ale învăţării nesupervizate şi anume: învăţarea Hebbiană, analiza componentelor principale, învăţarea nesupervizată competitivă. Tot în acest capitol se prezintă şi aplicaţiile învăţării nesupervizate în cadrul schemelor auto-organizabile şi ale hărţilor de trăsături. Capitolul VII cuprinde analiza proprietăţii de aproximantă universala a reţelelor neuronale. În acest scop se foloseşte Teorema lui Kolmogorov, precum şi Teorema lui StoneWeierstrass. Analiza din acest capitol stabileşte condiţiile pe care trebuie să le satisfacă o reţea neuronală pentru a satisface proprietatea de aproximantă universală. Se analizează cele mai reprezentative exemple de reţele neuronale. Analiza teoretică este întărită de o analiză a limitelor pe care le are implementarea practică a reţelelor neuronale. În Capitolul VIII se analizează reţelele neuronale ca şi metode de aproximare. Se defineşte problema aproximării în contextul calcului neuronal. De asemenea, se prezintă aproximarea funcţiilor netede cu ajutorul reţelelor neuronale. Folosind teoria regularizării se construiesc reţele neuronale cu performanţe foarte bune de aproximare-interpolare. Proprietatea de cea mai bună aproximantă este luată în considerare în analiza unor clase generale de reţele neuronale. Capitolul IX este dedicat aplicării teoriei regularizării în contextul construirii unor reţele neuronale folosite ca metode de aproximare. Se construieşte reţeaua neuronală de tip PMSR (Perceptron MultiStrat de Regularizare) şi se analizează proprietăţile pe care le are o astfel de reţea neuronală. Capitolul X conţine elemente de aplicare şi implementare a reţelelor neuronale de tip PMSR (Perceptron MultiStrat de Regularizare) şi se comparară performanţele reţelelor neuronale ca şi metode de aproximare, în raport cu metodele clasice: polinoame Lagrange, Newton, Hermite şi spline. Concluziile, precum şi perspectivele viitoare de cercetare din domeniul calculului neuronal, sunt cuprinse în Capitolul XI. Lista bibliografică cuprinzătoare se găseşte la sfârşitul cărţii.
11
I. Elemente generale de Inteligenţă Artificială
I.1. Sisteme de Inteligenţă Artificială Scopul Inteligenţei Artificiale (AI – Artificial Intelligence) este de a dezvolta algoritmi sau metode pentru sistemele de calcul, care să simuleze modul de gândire uman [8]. Evident, propoziţia aceasta nu trebuie luată ca o definiţie riguroasă a conceptului de AI. Ceea ce trebuie totuşi remarcat în această propoziţie este utilizarea termenului de "gândire", şi nu de "inteligenţă", cu scopul de lărgi câmpul aplicaţiilor care pot fi considerate ca aparţinând AI, ca de exemplu percepţia, prelucrări de limbaj etc. Un sistem AI trebuie să fie capabil să efectueze 3 lucruri principale [93]: 1. memorare de cunoştinţe; 2. aplicarea cunoştinţelor dobândite (memorate) pentru a rezolva probleme; 3. dobândirea de noi cunoştinţe prin experienţă. De asemenea, un sistem AI este constituit din trei componente:
Reprezentare
Învăţare
Gândire
Fig. 1.1.: Modelul unui sistem AI cu cele 3 componente ale sale.
Să analizăm fiecare dintre componentele unui astfel de sistem AI: 1. Reprezentare: Una dintre cele mai distincte trăsături ale unui sistem AI este posibilitatea de a utiliza un limbaj constituit din simboluri, cu ajutorul cărora se pot construi structuri pentru a reprezenta 2 elemente: •
cunoştinţe generale despre o problemă de rezolvat;
•
cunoştinţe specifice despre soluţia problemei de rezolvat;
Simbolurile trebuie descrise de obicei în termeni cât mai familiari, pentru a face reprezentarea simbolică a unui sistem AI cât mai uşor de înţeles de către un subiect uman. De aceea, claritatea simbolisticii folosite de sistemele AI le face atât de utile în cadrul procesului de comunicaţie om-maşină. 12
În terminologia AI, prin termenul de "cunoştinţe" înţelegem de fapt o altă formă de exprimare pentru noţiunea de dată. Dar, dacă privim din punct de vedere al unei reprezentări declarative, cunoştinţele reprezintă o mulţime statică de fapte, reunită cu o mulţime de proceduri generale de prelucrare şi manipulare a faptelor. De fapt, trăsătura caracteristică a reprezentărilor declarative o constituie faptul că aceste reprezentări conţin un înţeles intrinsec prin prisma unui utilizator uman, independent de utilizarea lor în cadrul unui sistem AI. Într-o reprezentare procedurală, cunoştinţele sunt incluse într-un cod executabil care acţionează de fapt în afara înţelesului acestor cunoştinţe. Ambele tipuri de cunoştinţe, declarative şi procedurale, sunt necesare pentru a putea rezolva majoritatea problemelor. 2. Gândirea: În cea mai simplă definiţie, putem spune despre gândire că reprezintă abilitatea de a rezolva probleme. Dar pentru ca un sistem să poată fi calificat ca un sistem dotat cu gândire, acesta trebuie să satisfacă anumite condiţii [93]: • sistemul trebuie să fie capabil să exprime şi să rezolve o gamă largă de probleme şi de tipuri de probleme; • sistemul trebuie să fie capabil să extragă, din informaţiile memorate, informaţii explicite şi informaţii implicite; • sistemul trebuie să posede un mecanism de control care să determine, atunci când o soluţie a fost obţinută, care operaţie să fie aplicată unei probleme particulare, sau, când trebuie oprită orice activitate relativ la problema de rezolvat. Rezolvarea problemelor poate fi privită de fapt ca o problemă de căutare (searching). Conform cu [110], metoda clasică de a aborda o problemă de căutare este de a folosi reguli, date şi control. Regulile acţionează asupra datelor, iar controlul acţionează asupra regulilor. Să considerăm un exemplu clasic, problema comisionarului voiajor (traveling salesman problem), care necesită determinarea celui mai scurt drum care trece prin fiecare oraş, dar drumul nu are voie să treacă decât o dată printr-un oraş. În această problemă datele sunt alcătuite din toate oraşele de vizitat, precum şi din matricea distanţelor dintre aceste oraşe. Regulile reprezintă modul de alegere a următorului oraş de vizitat, iar controlul constituie decizia de a aplica o regulă sau alta, precum şi momentul de aplicare al acelei reguli. În practică, de cele mai multe ori însă cunoştinţele disponibile sunt limitate (de exemplu în diagnosticul medical), putând fi incomplete sau inexacte. În astfel de situaţii, se folosesc proceduri de gândire probabilistice, permiţând astfel sistemelor AI să ia în considerare şi nedeterminarea. 3. Învăţarea: Procesul de învăţare poate fi reprezentat grafic prin intermediul schemei din Fig.1.2. După cum se vede din schemă, mediul înconjurător furnizează anumite informaţii elementului de învăţare, care la rândul său utilizează această informaţie pentru a îmbogăţii şi îmbunătăţii conţinutul unei baze de cunoştinţe, iar în final elementul de procesare utilizează baza de cunoştinţe pentru a efectua sarcina dorită.
13
Mediul înconjurător
Element de învăţare
Baza de cunoştinţe
Element de procesare
Feedback Fig.1.2: Schema pentru reprezentarea procesului de învăţare.
Informaţia furnizată de mediul înconjurător sistemului de învăţare (maşina) este în general, imperfectă, elementul de învăţare neştiind să umple golurile lăsate de informaţiile lipsă, sau, să ignore elementele neesenţiale. De aceea, maşina lucrează mai mult pe baza deducţiilor, ajustându-şi permanent comportamentul pe baza feedback-ului obţinut de la elementul de procesare. Învăţarea se referă la două tipuri de procesări de informaţii: • procesare informaţională inductivă; • procesare informaţională deductivă. În procesarea inductivă, regulile şi formele generale sunt deduse pe baza unor date sau experimente discrete. Pe de altă parte, în procesarea deductivă, regulile generale sunt utilizate pentru a determina anumite fapte specifice. Ca un exemplu de învăţare inductivă, putem considera învăţarea bazată pe similaritate, iar ca un exemplu de învăţare deductivă procesul de demonstrare a unei teoreme pe baza unor axiome sau teoreme existente. Învăţarea, având la bază un proces explicativ, utilizează şi învăţarea inductivă şi învăţarea deductivă. Importanţa bazelor de cunoştinţe, precum şi dificultăţile unui proces de învăţare au condus la dezvoltarea mai multor metode pentru a augmenta bazele de cunoştinţe. Mai concret, dacă există experţi într-un anumit domeniu, este mult mai uşor să beneficiem de experienţa lor într-o formă compilată, decât de a duplica această experienţă. Aceasta reprezintă de fapt ideea ce se află la baza sistemelor expert. Până în acest moment ne-am familiarizat doar cu elemente constitutive ale unor maşini AI simbolice. Ceea ce ne va interesa în continuare, este cum să comparăm aceste sisteme expert cu calculul neuronal, respectiv, reţelele neuronale ca şi nişte modele cognitive? Pentru a răspunde la această întrebare ne vom folosi de modelul descris de [93], care presupune trei nivele: 1. Nivelul explicativ. În cadrul AI clasic, efortul principal este concentrat pe construcţia reprezentărilor simbolice. De obicei, aceste reprezentări sunt discrete şi arbitrare, de exemplu proprietăţi abstracte, în locul unor imagini analogice. Din punct de vedere al procesului cognitiv, este evident că nu ne putem pune problema unei reprezentări mentale, modelarea procesului cognitiv făcându-se pe baza unei procesări secvenţiale a reprezentărilor simbolice. În cadrul calculului neuronal, procesele cognitive sunt total diferite de cele din AI clasic. Scopul calculului neuronal este de a construi modele paralele de procesare distribuită (PDP - Parallel Distributed Processing). Aceste modele PDP presupun că procesarea informaţiei se face prin interacţiunea unui număr mare de neuroni, fiecare neuron trimiţând semnale excitatorii sau inhibitorii către alţi neuroni ai reţelei neuronale de care aparţin [174]. Mai mult chiar, reţelele neuronale pun un mare preţ pe explicarea neuro-biologică a fenomenelor cognitive. 14
2. Metoda de procesare. În AI clasic, modul de procesare este secvenţial, ca la calculatoarele clasice von Neumann. Chiar dacă nu există o ordine predeterminată, operaţiile trebuie efectuate în maniera pas-cu-pas. Acest mod de procesare secvenţial are ca sursă de inspiraţie natura secvenţială a limbajului natural, trebuind să observăm că AI tradiţional s-a născut la puţin timp după maşina von Neumann. Pe de altă parte, procesarea paralelă reprezintă una din trăsăturile definitorii ale reţelelor neuronale. Paralelismul este esenţial nu numai pentru modul de procesare al informaţiilor de către o reţea neuronală, dar şi sursa principală a flexibilităţii lor. Paralelismul poate fi masiv în cadrul reţelelor neuronale (sute de mii de neuroni), ceea ce le conferă acestora o remarcabilă robusteţe. Procesul de calcul, fiind distribuit relativ la un număr mare de neuroni, deviaţia calculelor generate de un număr mic de neuroni nu îl afectează. Date de intrare zgomotoase, deteriorate sau incomplete pot fi folosite totuşi de reţeaua neuronală, o reţea neuronală parţial deteriorată putând funcţiona satisfăcător, învăţarea unei reţele neuronale netrebuind să fie perfectă; performanţele reţelei neuronale se degradează continuu şi nu abrupt. Astfel, sistemele PDP aproximează flexibilitatea unui sistem continuu, în contrast evident cu rigiditatea sistemelor AI tradiţionale bazate pe simbolica discretă [175]. O altă trăsătură demnă de menţionat a paralelismului o reprezintă faptul că cunoştinţele nu sunt reprezentate prin expresii declarative, ci prin structura şi nivelul de activare al reţelei neuronale. De aceea, conţinutul necesar descrierii unei probleme nu reprezintă altceva decât însăşi reţeaua neuronală. Calculul secvenţial reprezintă trăsătura fundamentală a AI tradiţional, în timp ce calculul paralel caracterizează calculul neuronal. 3. Structura de reprezentare. După cum am văzut, AI tradiţional are la bază reprezentarea simbolică, care posedă o structură cvasi lingvistică. Ca şi expresiile limbajului natural, expresiile din AI tradiţional sunt în general complexe, fiind construite din simboluri simple într-o manieră sistematică. Cu ajutorul unei mulţimi limitate de simboluri, noi expresii pline de conţinut pot fi construite pe baza analogiei dintre structurile semantice şi sintactice. Natura şi structura reprezentării sunt o problemă crucială a reţelelor neuronale. Acest subiect nu a fost pus nici un moment la îndoială de partizanii celor două tabere ale AI clasic şi calculului neuronal. De fapt, s-au adus numeroase critici din acest punct de vedere la adresa reţelelor neuronale, cea mai competentă critică [93] subliniind următoarele avantaje în favoarea AI tradiţional faţă de calculul neuronal: • reprezentările mentale prezintă în mod caracteristic o structură combinatorială şi o semantică combinatorială; • procesele mentale sunt senzitive la structura combinatorială a reprezentării asupra căreia operează. Într-o reţea neuronală reprezentarea este distribuită. Totuşi, trebuie să subliniem faptul că cele mai multe reţele neuronale propuse, ca şi candidaţi pentru reprezentarea structurală distribuită, au mai de grabă un caracter ad-hoc; ele rezolvă problema relativ la o clasă particulară într-o manieră ce nu permite o extindere simplă. În concluzie, putem defini AI simbolic ca fiind manipularea formală a unui limbaj algoritmic şi reprezentarea datelor după modelul top-down. Pe de altă parte, putem defini reţelele neuronale ca fiind procesoare simple distribuite ce posedă o capacitate naturală de a învăţa, modul lor de operare fiind mai de grabă de tip buttom-up. De aceea, pentru implementarea unor aplicaţii cu caracter cognitiv, cea mai bună soluţie ar fi de a construi un 15
puternic model structural conexionist, care să îmbine puterea ambelor direcţii din AI: AI tradiţional şi reţelele neuronale. Astfel, am fi în stare să combinăm trăsăturile pozitive ale reţelelor neuronale adaptivitate, robusteţe, uniformitate, cu cele ale AI simbolic - reprezentare, inferenţă şi universalitate. Un astfel de hibrid poate fi eficient dacă reuşim să stabilim cu precizie domeniile de eficienţă a celor două constituente: • AI simbolic este mai eficient pentru procesarea limbajului, planificare sau gândire explicită; • reţelele neuronale sunt mai eficiente în cadrul proceselor perceptuale, recunoaşterea formelor şi memorie asociativă.
I.2. Calculul neuronal în cadrul AI Calculul neuronal reprezintă o alternativă viabilă faţă de metodele de calcul tradiţional, care timp de câţiva zeci de ani au dominat ştiinţele cognitive şi domeniul AI , cu toate că modelele matematice generate cu ajutorul calculului neuronal rămân încă controversate. Calculul neuronal se bazează pe o serie de modele matematice inspirate din neurobiologie, numite modele conexioniste sau reţele neuronale. Reţelele neuronale pot fi caracterizate prin trei trăsături computaţionale generale: - straturi distincte de unităţi de calcul interconectate; - reguli recursive de modificare a "tăriei" conexiunilor dintre unităţile de calcul; - unităţi de calcul simple şi omogene. Utilizând doar aceste trei trăsături se pot construi şi modela sisteme deosebit de puternice şi elegante, corespunzătoare memoriei, percepţiei, categorizării, controlului motric, recunoaşterii formelor şi chiar pentru gândirea umană. În acest capitol vom încerca să răspundem la întrebările: ce este calculul neuronal? ce îl face să fie diferit de alte metode de calcul? la ce poate fi utilizat? care sunt implicaţiile tehnologice ale calcului neuronal? cum s-a dezvoltat istoric calculul neuronal? care este stadiul actual de dezvoltare al calculului neuronal? Pentru a răspunde la aceste întrebări vom prezenta două din cele mai importante modele conexioniste care stau la baza calcului neuronal: perceptronul simplu şi perceptronul multistrat, împreună cu elementele lor definitorii.
16
I.3. Ce este calculul neuronal? Creierul uman este cel mai complex sistem de calcul. Capacitatea creierului uman de a gândi, memora, de a rezolva probleme complexe au tentat în ultima perioadă de timp un mare număr de cercetători, în încercarea de a modela modul său de operare. Aceste încercări de a crea un sistem de calcul care să cuprindă trăsăturile fundamentale ale creierului uman, au generat o nouă direcţie de cercetare, care poate fi numită pe scurt calcul neuronal. Oricine poate sesiza faptul că creierul uman este de departe superior oricărui calculator digital, aproape în orice domeniu. Un exemplu elocvent: un copil de 1 an de zile este mult mai rapid şi mai precis în recunoaşterea obiectelor şi a persoanelor decât cel mai avansat sistem de inteligenţă artificială, rulând pe cel mai puternic supercalculator. Creierul uman are numeroase trăsături care s-au dorit a fi modelate cu ajutorul unor sisteme de calcul artificiale [54]: •
este robust şi tolerant la deteriorări; celulele nervoase din creier mor zilnic fără a afecta performanţele sale;
•
este flexibil, putându-se adapta la un nou mediu prin "învăţare", pentru aceasta nu trebuie să fie programat într-un limbaj de programare (Pascal, C, Fortran, Lisp etc.);
•
poate prelucra informaţii incomplete, inconsistente, probabilistice;
•
este un sistem cu un înalt grad de paralelism;
•
este de dimensiuni mici, compact, disipând o foarte mică cantitate de energie.
Doar în activităţi de calcul bazate pe operaţii algebrice putem spune că un sistem de calcul electronic (un computer) depăşeşte performanţele creierului uman. Trăsăturile de mai sus ale creierului uman constituie o motivaţie reală pentru necesitatea studiului calculului neuronal. Calculul neuronal, aşa cum am mai precizat, reprezintă o alternativă viabilă la metodele de calcul tradiţional, bazate pe programarea unei secvenţe de instrucţiuni, indiferent dacă modul de procesare este serial sau paralel [99]. Calculul secvenţial a fost introdus de von Neumann [201], constituind baza tuturor echipamentelor de calcul existente astăzi. Calculul neuronal are ca sursă de inspiraţie cunoştinţele acumulate de ştiinţele neurologice, cu toate că nu întotdeauna elementele folosite sunt plauzibile din punct de vedere biologic. În această carte dorim să prezentăm un nou model de calcul, neglijând până la o limită plauzibilitatea biologică, noi fiind interesaţi de alte trăsături ale modelului de calcul neuronal.
I.4. Istoric al dezvoltării calculului neuronal Putem considera anul 1943, momentul de naştere a calculului neuronal când microbiologistul W. McCullogh şi matematicianul W. Pitts, publică lucrarea fundamentală "A Logical Calculus of Ideas Immanent in Nervous Activity" [138]. Modelul de neuron artificial aparţine acestor cercetători. Această lucrare a constituit punctul de pornire a trei domenii de cercetare: •
Calculatoare digitale. John von Neumann a caracterizat această lucrare ca o schemă funcţională a unui creier electronic. 17
•
Inteligenţă Artificială. Marvin Minsky, unul din cei mai importanţi cercetători ai domeniului Inteligenţei Artificiale, a fost inspirat de ideea inteligenţei macroscopice conţinută în lucrarea de referinţă [144], ducând la dezvoltarea primelor sisteme expert.
•
Calcul neuronal. Un mare număr de cercetători, începând cu F. Rosenblatt, au dezvoltat bazele acestui model de calcul, având la bază o arhitectură inspirată de modelele neurologice biologice, reţelele neuronale.
Următorii 50 de ani de la lucrarea lui McCullogh şi Pitts cunosc un efort considerabil în domeniul cercetării logicii discrete şi a modului de operare al reţelelor neuronale. Reţelele neuronale au fost concepute ca sisteme universale de calcul, existând o analogie cu maşinile cu stări finite [144]. La extremitatea opusă logicii discrete, au fost dezvoltate o serie de cercetări având la bază aspectul continuu. Cunoscut sub numele de neuro-dinamică sau teoria câmpului neuronal, aceste teorii utilizează ecuaţii diferenţiale pentru a descrie activitatea nervoasă cerebrală [3], [18], [164], [208], [210]. Aproximativ în jurul anului 1960, întâlnim unul din momentele de vârf ale cercetării calculului neuronal, prin activitatea desfăşurată de un grup de cercetători conduşi de F. Rosenblatt. Ţelul activităţii lor l-a reprezentat problema determinării prin învăţare a tăriilor sinaptice, relativ la o problemă dată. Pentru aceasta au construit modelul de reţea neuronală numit Perceptron, constituit din neuroni grupaţi pe straturi succesive, cu o propagare directă a informaţiei, de la stratul de intrare către stratul de ieşire. Perceptronul prezintă o mare importanţă, nu numai din punct de vedere istoric, ci şi prin prisma faptului că din perceptron au evoluat aproape toate celelalte modele de reţele neuronale. De asemenea, perceptronul este unica reţea neuronală pentru care s-a reuşit demonstrarea convergenţei unei legi de învăţare. Din momentul în care s-a cunoscut teorema de convergenţă, calculul neuronal a căpătat un statut de cercetare aparte, o armată întreagă de cercetători dedicându-i-se şi fiindu-i alocate importante resurse financiare. Entuziasmul nu a durat prea mult deoarece s-a înţeles că teorema de convergenţă a legii de învăţare a perceptronului simplu (perceptron cu un singur strat) are un caracter limitat. Acest lucru a fost pus în evidenţă de M. Minsky şi S. Papert, în cartea lor Perceptrons [145]. Cam în aceeaşi perioadă, modele simple de reţele neuronale au fost construite de cercetătorii Widrow şi Hoff [207], model numit Adaline (Adaptive Linear Neuron), iar mai târziu Madaline (Multiple Adaptive Linear Neuron). Aceste reţele neuronale reprezentau implementarea cu ajutorul calculului neuronal a unei clase de funcţii liniare adaptive. M. Minsky şi S. Papert au arătat folosind argumente geometrice, că un perceptron simplu este capabil să reprezinte doar probleme pentru care spaţiul datelor de intrare este liniar separabil. Celebrul exemplu XOR (SAU EXCLUSIV), problemă care nu poate fi rezolvată cu un perceptron simplu, aparţine celor doi cercetători. Era clar că perceptronul simplu are o capacitate de reprezentare limitată la clasa funcţiilor liniar separabile. Limitarea putea fi înlăturată prin adăugarea de straturi ascunse la topologia perceptronului simplu, obţinându-se perceptronul multistrat (multylayered perceptron). Din păcate, în acea perioadă nu s-a putut descoperi o lege de învăţare pentru perceptronul multistrat. M. Minsky şi S. Papert chiar şi-au manifestat îndoiala că o astfel de lege de învăţare ar exista, propunând abandonarea calculului neuronal în favoarea altor metode ale Inteligenţei Artificiale. A urmat o perioadă de aproape 20 de ani, în care doar câţiva cercetători temerari au continuat să mai lucreze în acest domeniu. Tema majoră abordată de aceştia o reprezintă cercetările legate de memoriile asociative, bazate pe corespondenţa dintre vectorii de intrare, când aceştia au un grad suficient de mic de similaritate. De fapt, acest subiect al memoriilor asociative fusese abordat mai înainte de 18
Taylor [192] şi Steinbuch [187], Anderson [7], Willshaw [209], Marr [133], Kohonen [114] [115]. Grossberg [87] redefineşte problema generală a învăţării într-o reţea neuronală. O altă direcţie de dezvoltare este datorată lui Cragg şi Temperlay [36], care au reformulat modelul McCullogh-Pitts ca un sistem de spin magnetic, după modelul fizic. În acest model s-a considerat că memoria constă din histerezisul formei domeniului aşteptat la un astfel de sistem. Caianiello [29] construieşte o teorie statistică, folosind idei ale mecanicii statistice. Aceleaşi preocupări le regăsim la Little [129] şi la Hopfield [101]. Lui Hopfield i se datorează conceptul foarte important de funcţie energetică ataşată reţelei neuronale şi cea de memorie privită prin prisma unor atractori dinamici stabili [100]. Hinton şi Sejnowski [98], Peretto [156] dezvoltă ideea de neuron stohastic care se comportă aproximativ ca un neuron McCullogh-Pitts, în funcţie de o anumită probabilitate analogă temperaturii fizice din mecanica statistică. Amit [4] dezvoltă teoria sistemelor magnetice aleatoare, numite spin glasses, care constituie preludiul implicării puternice a mecanicii statistice în domeniul calculului neuronal. Totuşi, cel mai important moment al dezvoltării calcului neuronal îl reprezintă momentul descoperirii unei legi de învăţare pentru perceptronul multistrat, lege de învăţare numită Propagare-Înapoi (BackPropagation). Idea de bază aparţine lui Werbos [204], dar este reformulată independent şi adusă în atenţia lumii ştiinţifice de Rumelhart, Hinton şi Williams [172]. Din acest moment se pune în evidenţă caracterul universal al calculului neuronal, construindu-se şi un mare număr de aplicaţii practice, lumea ştiinţifică acordându-i o justificată atenţie. O analiză mai detaliată a aspectului istoric a dezvoltării calculului neuronal se poate găsi în lucrarea [6].
I.5. Concluzii Tot ceea ce am prezentat în acest capitol reprezintă o pledoarie în favoarea calculului neuronal. Din punct de vedere teoretic problemele sunt deosebit de atractive şi bine fundamentate; din punct de vedere practic aplicarea calculului neuronal şi prin urmare construcţia unei reţele neuronale trebuie să fie precedată de răspunsuri date la următoarele întrebări: Care este arhitectura optimală? Câte straturi sunt necesare? Câţi neuroni sunt necesari în fiecare strat? Câte conexiuni sinaptice sunt necesare şi cum trebuie organizate acestea? Ce fel de funcţie de activare trebuie să folosim? Ce lege de învăţare este mai eficientă? Trebuie să folosim o lege de învăţare sincronă sau asincronă, deterministă sau stohastică? Câte exemple trebuie să prezentăm reţelei neuronale pentru a învăţa ceea ce dorim noi? De câte ori trebuie să-i prezentăm aceste exemple? E nevoie ca procesul de învăţare să fie supervizat sau poate fi doar reîntărit? Ce poate efectua de fapt o reţea neuronală construită pentru o anumită problemă? Câte probleme poate ea rezolva? Cât de bine? Cât de repede? Cât de robustă este reţeaua neuronală faţă de date incorecte, deteriorări sau eliminări de neuroni? Poate reţeaua neuronală generaliza cu succes? Ce fel de clase de funcţii poate reprezenta?
19
Cum poate fi implementată din punct de vedere software şi hardware reţeaua neuronală? Care sunt avantajele şi dezavantajele diferitelor implementări hardware posibile, ce performanţe au în raport cu simularea software? Bineînţeles, aceste întrebări nu trebuie privite individual, ci în contextul aplicaţiei ce urmează a fi rezolvată. Răspunsul la o întrebare, ca de exemplu, ce arhitectură trebuie să folosim, este cunoscut, atrăgând în mod automat răspunsuri la o serie de alte întrebări. Acest capitol introductiv, a vrut să pună în evidenţă faptul că problema abordată, a calculului neuronal, este suficient de complexă, dar că se pare că este şi va fi o metodă foarte importantă atât din punct de vedere teoretic, cât şi practic.
În finalul acestui capitol voi încerca o definiţie formală a calculului neuronal, preluată din lucrarea [2]:
Calculul neuronal este studiul unor reţele celulare care au capacitatea naturală de a stoca cunoştinţe pe baza experienţei acumulate. Un astfel de sistem ce are la bază calculul neuronal este comparabil cu creierul uman în sensul că cunoştinţele sunt acumulate prin antrenament şi nu prin programare, fiind stocate prin intermediul unor modificări a unor noduri funcţionale. Cunoştinţele îmbracă forma unor stări stabile sau cicluri de stări relativ la o mulţime de operaţii. O proprietate principală a unor astfel de reţele este de a reconstrui aceste stări sau cicluri de stări ca răspuns şi la stimuli incompleţi sau zgomotoşi.
20
21
II Noţiuni generale
II.1. Elemente de bază ale calculului neuronal Cercetările actuale în domeniul calculului neuronal sunt motivate de dorinţa de a construi reţele neuronale artificiale. Deşi, după cum şi numele de reţele neuronale o implică, la început scopul a fost modelarea matematică a reţelelor neuronale biologice, astăzi gama aplicabilităţii lor este aproape universală. Din punct de vedere neuro-fiziologic, modelele construite cu ajutorul reţelelor neuronale artificiale sunt extrem de simplificate, ele au totuşi suficiente trăsături care surprind cele mai importante trăsături ale "calculului" biologic.
II.1.1. Neuronul biologic Unitatea celulară fundamentală a sistemului nervos, şi în particular a creierului, este neuronul. Creierul uman este constituit din aproximativ 1011 neuroni, fiecare neuron fiind interconectat cu aproximativ 104 alţi neuroni. În Fig. 1.1. este reprezentat schematic un neuron biologic. Neuronul biologic este constituit din trei părţi fundamentale [89]: •
Arborele dendritic care colectează semnalele de intrare de la alţi neuroni.
•
Soma care transformă în anumite condiţii semnalele de intrare în semnale de ieşire.
•
Axonul care transmite semnalul de ieşire către alţi neuroni prin intermediul arborelui axonic.
Neuronii sunt interconectaţi prin intermediul unor legături numite sinapse, care reprezintă punctele de contact dintre ramurile arborelui axonic ale unui neuron pre-sinaptic şi ramurile arborelui dendritic ale unui neuron post-sinaptic. Neuronii comunică între ei prin intermediul unor semnale electrice, numite potenţiale de acţiune sau impulsuri, care sunt propagate de-a lungul axonului, prin păstrarea amplitudinii şi formei semnalului electric, până când întâlnesc legătura sinaptică. La sinapsă o substanţă chimică, numită neuro-transmiţător, este stocată într-un număr mare de vezicule. Potenţialul de acţiune eliberează conţinutul anumitor vezicule către cleştele sinaptic. Moleculele neuro-transmiţătorului ajung la membrana neuronului post-sinaptic, unde recepţia acestor molecule induc un potenţial de acţiune post-sinaptic (PSP). PSP-urile generate în diferite puncte ale arborelui dendritic difuzează prin atenuare către soma, unde ele sunt integrate. Dacă suma totală a PSP-urilor integrate în limita unui scurt interval de timp depăşeşte un anumit prag (threshold) de aproximativ câteva zecimi de minivolţi, numit nivel de activare, neuronul va deveni activ, generând un potenţial de acţiune de-a lungul axonului.
22
Contribuţia unui semnal de intrare la PSP caracterizează mărimea numită tărie sinaptică sau eficienţă sinaptică. Un astfel de semnal de intrare are o valoare de aproximativ 1 minivolt, putând fi un semnal excitator sau un semnal inhibitor, în funcţie de influenţa pozitivă sau negativă pe care o are în a face un neuron ca să devină activ. Trebuie să subliniem faptul că PSP-ul nu este unic determinat de semnalul de intrare. Diferite surse de zgomot, în relaţie cu fluctuaţiile de cantitate de neuro-transmiţător chimic, eliberată la conexiunea sinaptică, implică o relaţie de intrare-ieşire de tip probabilistic. Intervalul de timp dintre momentul emisiei unui semnal la soma neuronului presinaptic şi momentul emisiei unui semnal indus de către neuronul post-sinaptic, este de aproximativ 1-2 msec. De aici rezultă că un neuron poate avea o emisie maximală de circa 500-1000 semnale pe secundă, care într-o reţea neuronală este redusă de circa 3-5 ori. Din aceste considerente de dinamică a activităţii neuronale, se poate observa faptul că neuronul biologic este un dispozitiv biologic lent în comparaţie cu dispozitivele electronice construite de om - acestea pot fi chiar de sute de mii de ori mai rapide decât un neuron biologic. Cu toate acestea, orice sistem de calcul bazat pe dispozitive electronice are performanţe inferioare creierului uman constituit din neuroni. Concluzia evidentă este că puterea de calcul al creierului uman nu este datorată vitezei de procesare a neuronilor constitutivi, ci largii interconectări a unor dispozitive biologice lente - neuronii, care efectuează operaţii simple: integrarea semnalelor sosite de-a lungul arborelui dendritic şi emisia unui semnal de-a lungul axonului, dacă semnalul de intrare integrat depăşeşte nivelul de activare.
Fig. 2.1.: Reprezentarea schematică a neuronului biologic. 1 - Arborele dendritic; 2 - Soma (corpul celular); 3 - Nucleul celulei neuronale; 4 - Axonul; 5 - Arborele axonic; 6 - Conexiuni sinaptice. 23
Modificarea tăriei sinaptice este rezultatul unui proces de “învăţare” [148]. Legătura sinaptică şi modul de procesare a semnalelor de către neuron formează mecanismul de bază al capacităţii de memorare al creierului.
II.1.2. Neuronul artificial Într-o reţea neuronală artificială, unitatea analogă neuronului biologic este o unitate de procesare simplă, care va fi numit neuron artificial, sau mai simplu neuron. Un neuron artificial are mai multe căi de intrare care corespund arborelui dendritic. Celei de-a i-a cale de intrare în neuronul al j-lea îi corespunde o valoare numerică reală xi, echivalentul semnalului electric din modelul biologic al neuronului. Fiecare mărime de intrare xi este ponderată valoarea numerică reală wji, echivalentul tăriei sinaptice din modelul biologic al neuronului. Produsul xiwji reprezintă al i-lea semnal de intrare dentritic în al j-lea neuron artificial. Aceste valori sunt integrate (sumate), pe baza unui proces similar celui realizat de soma neuronului biologic. Suma ponderată
∑x i
i
⋅ w ji reprezintă argumentul unei funcţii, numită funcţie de
activare care va determina valoarea de ieşire axonică yj din neuron. Cele mai utilizate funcţii de activare sunt: - funcţia liniară: f : R → R, f ( x) = x
(2.1)
⎧1, x ≥ 0 - funcţia treaptă (Heaviside): f : R → {0,1}, f ( x) = ⎨ ⎩0, x < 0
(2.2)
⎧ 1, x ≥ 1 ⎪ - funcţia rampă: f : R → [−1,1], f ( x) = ⎨ x ∈ (−1,1) ⎪− 1, x < −1 ⎩
(2.3)
- funcţia sigmoidală: f : R → (0,1), f ( x) =
1 1 + e −x
- funcţia tangentă hiperbolică: f : R → (−1,1), f ( x) = tanh( x) = ⎧ 1, x ≥ 0 - funcţia signum: f : R → {−1,1}, f ( x) = sgn( x) = ⎨ ⎩− 1, x < 0
(2.4) e x − e−x e x + e −x
(2.5)
(2.6)
Acestea sunt exemple de funcţii de activare care sunt cel mai frecvent utilizate în aplicaţiile practice. Funcţia de activare depinde de modelul de reţea neuronală ales şi de tipul problemei pe care dorim să o rezolvăm, alegerea sa nefiind constrânsă de nici o condiţie, decât eventual de analogia cu modelul biologic. Valoarea obţinută prin aplicarea funcţiei de activare este propagată pe căile de ieşire, echivalente arborelui axonic din modelul biologic. 24
În Fig. 2.1. avem reprezentarea schematică a neuronului artificial. În concluzie, neuronul artificial efectuează următoarele operaţii: n
Integrare (Sumare): I j = ∑ w ji ⋅ x i
(2.7)
i=0
n
Activare (Transfer): y j = f ( I j ) = f ( ∑ w ji ⋅ x i )
(2.8)
i=0
În cele ce urmează vom considera nivelul de activare implicit sau explicit, în funcţie de necesităţi, fără ca aceasta să influenţeze într-un fel generalitatea rezultatelor obţinute.
x0
wj0
x1
wj1
xi
wji
xn
Sumare Ij
Activare f(Ij)
yj
wjn
Fig. 2.2.: Reprezentarea schematică a neuronului artificial. Indicele j reprezintă al j-lea neuron din reţeaua neuronală artificială.
Obs.2.1.: Termenul xo se numeşte bias, având o valoare constantă xo = +1 sau xo = -1. Rolul termenului bias este de a permite includerea implicită sau explicită a nivelului de activare θi , care reprezintă pragul de activare al neuronului artificial. De exemplu, presupunând că avem funcţia de activare signum, ⎧1, x ≥ 0 f (x) = ⎨ , ⎩0, x < 0
atunci putem avea una dintre situaţiile: a). Nivel de activare θi explicit: n
• Integrare: I j = ∑ w ji ⋅ x i ≥ θ j i =1
25
• Activare: y j = f ( I j )
b). Nivel de activare θi implicit: notând w j 0 = θ j , x0 = -1 n
• Integrare: I j = ∑ w ji ⋅ x i ≥ 0 i=0
• Activare: y j = f ( I j ) Acest model matematic al neuronului artificial, propus pentru prima dată de McCullogh şi Pitts [138], deşi foarte simplu, reprezintă o unitate de calcul foarte puternică. McCullogh şi Pitts au demonstrat că un ansamblu de neuroni artificiali interconectaţi este capabil, în principiu, să efectueze orice calcul, cu condiţia alegerii corespunzătoare a tăriilor sinaptice wji. Acest lucru înseamnă că un ansamblu de neuroni artificiali interconectaţi într-un ansamblu numit reţea neuronală, poate efectua orice calcul pe care poate să-l efectueze un sistem de calcul clasic, chiar dacă nu întotdeauna la fel de repede sau convenabil.
II.1.3. Diferenţe între neuronul biologic şi neuronul artificial Neuronul biologic comportă totuşi multe alte elemente care în modelul simplu al neuronului artificial au fost cu bună ştiinţă omise [96]. Cele mai semnificative diferenţe sunt următoarele: •
Neuronul biologic răspunde la semnalele de intrare într-un mod continuu şi nu discret, ceea ce se numeşte răspuns gradual. Dar relaţia neliniară dintre semnalul de intrare şi semnalul de ieşire la un neuron biologic este o trăsătură universală, care apare şi la neuronul artificial prin intermediul funcţiei de activare.
•
Neuronii biologici nu au toţi acelaşi moment fix de activare şi nici nu acţionează sub controlul central al unui tact generat de un ceas.
•
Cantitatea de substanţă neuro-transmiţătoare eliberată de sinapsă poate varia într-un mod impredictibil. Acest efect poate fi modelat, considerând o generalizare stohastică a dinamicii modelului determinist McCullogh-Pitts.
Chiar dacă uneori vom face apel la realismul biologic, vom fi interesaţi de trăsăturile şi capacitatea de calcul ale modelului de reţea neuronală artificială şi nu de aplicabilitatea directă în modelarea creierului. Legătura dintre reţelele neuronale biologice şi artificiale nu este importantă la nivelul modelării detaliate, ci la nivelul reprezentării şi la nivelul algoritmic [138]. Deşi implementările biologice şi artificiale ale algoritmilor sunt diferite, totuşi există numeroase trăsături comune la nivel algoritmic.
II.2. Reţele neuronale artificiale Reţelele neuronale artificiale sunt constituite din numeroşi neuroni artificiali interconectaţi între ei. Neuronii constituenţi sunt de obicei organizaţi în mulţimi distincte numite straturi (layers). Există şi cazuri de reţele neuronale particulare, având o topologie specială, când neuronii nu sunt organizaţi pe straturi bine definite, ci pe anumite submulţimi 26
de neuroni. O reţea neuronală clasică constă dintr-o secvenţă de straturi de neuroni, cu conexiuni totale sau aleatore între neuronii conţinuţi în straturi succesive. Întotdeauna vom avea pentru o reţea neuronală, cel puţin două straturi de neuroni, ce au rolul de a comunica cu mediul exterior:
un strat de intrare: care are rolul de a prelua datele de intrare xi, i = 0, …, n cu termen bias (vezi Obs. 1.1) sau x0 = ±1, i = 1, …, n fără termen bias. Vectorul x = (x0, x1, ..., xn) sau x = (x1, x2, ..., xn) va fi numit vector de intrare al reţelei neuronale.
un strat de ieşire: unde se obţin rezultatele yj, j = 1, …, m furnizate de reţeaua neuronală, ca răspuns la vectorul de intrare prezentat la stratul de intrare şi al propagării acestor date de la stratul de intrare către stratul de ieşire. Vectorul y = (y1, y2, ..., ym) se numeşte vector de ieşire al reţelei neuronale.
toate celelalte straturi ale reţelei neuronale, dacă există, diferite de stratul de intrare şi de stratul de ieşire, vor fi denumite straturi ascunse (hidden layers).
Neuronii din stratul de intrare au întotdeauna ca şi funcţie de activare funcţia liniară, rolul lor fiind doar de-a propaga către stratul succesor vectorul de intrare. De aceea, stratul de intrare are doar rolul unui zone tampon, de preluare a datelor de intrare fără a efectua nici o procesare a cestora. Ceilalţi neuroni, din celelalte straturi, pot avea orice funcţii de activare. Obs. 2.2.: Când vom spune despre o reţea neuronală că are n straturi, nu vom lua în calcul şi stratul de intrare, ceea ce înseamnă că vom avea n - 1 straturi ascunse + stratul de ieşire.
Straturi ascunse x1
y1
x2
y2
xi
yj
xn
ym Strat de intrare
Strat de ieşire
Fig. 2.3.: Arhitectura generală a unei reţele neuronale.
27
II.3. Modul de operare al reţelelor neuronale Vom considera în cele ce urmează reţele neuronale directe (feed-forward) [70], la care propagarea informaţiilor se face de la stratul de intrare către stratul de ieşire, fără a exista conexiuni de tip feedback între neuroni dintr-un acelaşi strat sau către neuronii situaţi într-un strat predecesor. Reţelele neuronale care conţin legături sinaptice între neuroni conţinuţi în acelaşi strat sau între neuronii unui strat oarecare şi neuronii unui strat predecesor se numesc reţele neuronale recurente (feedback). Vom presupune că avem o reţea neuronală cu l straturi (vezi Obs.2.2), cu următoarea configuraţie: n neuroni în stratul de intrare. nj neuroni în cel de-al j-lea strat ascuns, j = 1, ..., l - 1 . m neuroni în stratul de ieşire. w (jik ) tăria sinaptică dintre neuronul al i-lea situat în stratul k - 1 şi neuronul al j-lea situat pe stratul k. fk funcţiile de activare corespunzătoare stratului k, k = 1, 2,..., l.
Modul de operare al reţelei neuronale directe este următorul:
pentru stratul de intrare (stratul 0): prezentarea vectorului de intrare •
x = ( x0 , x1 ,K, xn ) ;
pentru stratul 1: n
• Integrare: I (j1) = ∑ w (ji1) ⋅ xi , j = 1,2,..., n1 ; i =0
n
(1) (1) • Activare: y (1) j = f1 ( I j ) = f1 ( ∑ w ji ⋅ x i ), j = 1,2,..., n1 ; i=0
pentru stratul ascuns k, k = 2,...,l-1: nk −1
• Integrare: I (j k ) = ∑ w (jik ) ⋅ y i( k −1) , j = 1,2,..., nk ; i=0
• Activare:
nk −1
y (jk ) = f k ( I (j k ) ) = f k ( ∑ w (jik ) ⋅ y i( k −1) ), j = 1,2,..., nk ; i=0
pentru stratul de ieşire l: nl −1
• Integrare: I (j l ) = ∑ w (jil ) ⋅ y i( l −1) , j = 1,2,..., m ; i=0
28
nl −1
• Activare: y (jl ) = f l ( I (j l ) ) = f l ( ∑ w(jil ) ⋅ y i( l −1) ), j = 1,2,..., m ; i=0
Pentru a putea implementa o problemă folosind calculul neuronal, respectiv pentru a construi o reţea neuronală relativ la acea problemă, vom avea de luat în considerare două etape principale [70]: •
Învăţare (Antrenament);
•
Generalizare (Testare).
Învăţarea (antrenamentul). Reprezintă procesul de modificare a tăriilor sinaptice ca răspuns la vectorul de intrare prezentat la stratul de intrare al reţelei neuronale (uneori şi a vectorului ţintă prezentat la stratul de ieşire al reţelei neuronale), în scopul configurării reţelei neuronale pentru a executa acţiunea dorită. Generalizarea (testarea). După ce reţeaua neuronală a fost învăţată pe baza unui număr suficient de exemple, ea va fi capabilă să inducă o relaţie completă de interpolare sau extrapolare a exemplelor învăţate. Generalizarea reprezintă faza de răspuns a reţelei neuronale, când prezentându-i-se vectori de intrare noi care nu au fost prezentaţi în faza de antrenare, vectorul de ieşire va fi cel aşteptat, cu o posibilă eroare foarte mică. Calitatea răspunsurilor în faza de generalizare reprezintă ţelul fazei de învăţare - trebuie să învăţăm reţeaua neuronală până când va generaliza suficient de bine. Modul de operare al reţelei neuronale poate fi influenţat de modul de operare al neuronilor dintr-un strat, pe baza a două operaţii posibile: •
Normalizarea. Reprezintă procesul de scalare a vectorului de ieşire al unui strat al reţelei neuronale, astfel încât suma totală a componentelor acestui vector să fie constantă. Acest lucru este întâlnit şi la reţelele neuronale biologice, unde neuronii de pe un strat sunt conectaţi la ceilalţi neuroni ai aceluiaşi strat, făcând posibil ca fiecare neuron să-şi auto-ajusteze semnalul de ieşire în concordanţă cu semnalul total de ieşire a stratului. Rezultatul operaţiei de normalizare este că păstrează un nivel constant de activitate la nivelul unui strat de neuroni.
•
Competiţia (concurenţa). Reprezintă procesul de interacţiune al unui neuron de pe un strat al reţelei neuronale, cu ceilalţi neuroni de pe acelaşi strat. Neuronul sau un grup de neuroni care generează valori de ieşire maximale, vor fi declaraţi “câştigători”, fiind singurii a căror valoare de ieşire va fi propagată mai departe.
Reţelele neuronale ce conţin straturi cu mod de operare competitiv, le vom numi reţele neuronale competitive, iar cele care nu conţin straturi competitive le vom numi reţele neuronale pasive.
II.4. Taxonomia reţelelor neuronale Având în vedere caracteristicile unei reţele neuronale prezentate în paragraful precedent, şi anume [90]: • funcţii de activare liniare vs. funcţii de activare neliniare; • mod de operare direct (feedforward) vs. mod de operare recurent; 29
• lege de învăţare supervizată vs. lege de învăţare nesupervizată; • straturi concurente vs. straturi pasive. Putem prezenta o privire de ansamblu asupra realizărilor de până acum în domeniul calculului neuronal, şi anume o taxonomie a reţelelor neuronale. Fără a avea pretenţia de a cuprinde în totalitate diversa clasă de reţele neuronale existentă, totuşi cele patru caracteristici de mai sus permit o încadrare a majorităţii reţelelor neuronale.
Clasificarea reţelelor neuronale: - liniare - directe - învăţare nesupervizată Asociator liniar: - Anderson (1976) [7]; - Willshaw (1977) [209]; - învăţare supervizată Regresii liniare multiple: - Kohonen (1990) [117]; - recurente - învăţare supervizată - competitiv Art - Adaptive Resonance Theory: - Grossberg (1987) [86]; - pasiv Boltzmann, Recurrent Back-Propagation, Jordan Nets: - Ackley, Hinton & Sejnowski (1985); - Pineda (1989); - Jordan (1986); - învăţare nesupervizată - competitiv Art - Adaptive Resonance Theory: - Grossberg (1987) [86]; - pasiv BSB - Brain State in a Box, Hopfield Nets, Interactive Activation: 30
- neliniare - directe - învăţare nesupervizată - competitiv Feature Maps: - Kohonen (1983) [116]; - pasiv Infomax: - Linsker (1987) [128]; - învăţare supervizată - competitiv Competitive Learning: - Rumelhart & Zipser (1986) [172][173][174]; - pasiv Perceptron, Delta-Rule, Back-Propagation: - Rosenblatt (1962) [170]; - Widrow & Hoff (1960) [207]; - Rumelhart & al. (1986) [172];
- recurente - la fel ca la reţele neuronale liniare-recurente.
II.5. Calculul neuronal versus Inteligenţa artificială şi calculul algoritmic Folosind termeni de informatică, am putea descrie creierul ca un sistem de calcul paralel, compus din aproximativ 1011 procesoare. Folosind modelul simplu McCullogh-Pitts, rezultă că fiecare procesor execută un program foarte simplu: integrare şi activare (II.1.2). Faza de activare reprezintă generarea unui semnal de ieşire, reprezentat printr-un număr real y, semnal care este propagat către alte "procesoare" (neuroni), care la rândul lor efectuează un calcul similar. Diferenţa dintre acest mod de procesoare al informaţiilor şi procesarea clasică von Neumann este evidentă. În calculul neuronal avem un număr mare de procesoare, fiecare 31
executând un calcul simplu (integrare-activare), spre deosebire de calculul tradiţional unde unul sau câteva procesoare execută secvenţe complexe de calcule.
II.5.1. Programare versus învăţare Spre deosebire de sistemele expert dezvoltate ca elemente de Inteligenţă Artificială, unde baza de cunoştinţe este explicitată sub forma unui set de reguli implementate de un programator folosind un anumit limbaj de programare, calculul neuronal, respectiv reţelele neuronale îşi generează propriile seturi de reguli din învăţarea exemplelor învăţate. Învăţarea este realizată pe baza unei legi de învăţare care ajustează tăriile sinaptice ale reţelei neuronale ca răspuns la exemplele de antrenament. Pentru ca reţeaua neuronală să execute task-ul dorit, nu este nevoie să scriem nici un fel de program. Trebuie doar să învăţăm reţeaua, prin prezentarea unui număr suficient de exemple relevante, cu scopul de a ajunge la o generalizare performantă. Dacă într-un model de calcul tradiţional - program, sistem expert - apar cereri de informaţii noi sau cereri de a modifica informaţiile existente, setul de reguli care implementează baza de cunoştinţe nu este capabil să interpoleze răspunsul dorit. Programatorul, expertul, va trebui să construiască noi reguli, folosind instrucţiunile unui limbaj de programare, testând interacţiunea acestor noi reguli cu cele vechi implementate. Putem defini principalul neajuns al sistemelor tradiţionale de calcul: imposibilitatea de a genera reguli noi sau de a le modifica automat pe cele vechi, reguli ce reprezintă baza de cunoştinţe a task-ului ce se doreşte a fi rezolvat.
II.5.2. Memorii asociative distributive O caracteristică importantă a calcului neuronal este modul de stocare a datelor de către reţeaua neuronală. Unitatea de memorare o reprezintă tăria sinaptică. Starea curentă de cunoştinţe a reţelei neuronale va fi caracterizată de valorile numerice reale ce corespund în acel moment tăriilor sinaptice. O dată de intrare în reţeaua neuronală nu va fi stocată într-o poziţie unică, ci va fi distribuită în reţeaua neuronală, împărţind spaţiul de memorare şi cu alte date de intrare. Reţelele neuronale pot fi utilizate şi ca memorii asociative. Acest lucru înseamnă că după ce am antrenat reţeaua neuronală, dacă îi prezentăm o dată distorsionată din mulţimea de antrenament, reţeaua neuronală va genera un răspuns similar cu cel al datei nedistorsionate. Un caz particular îl reprezintă reţelele neuronale auto-asociative, unde vectorul de intrare coincide cu vectorul de ieşire. Prezentându-i-se un vector de intrare distorsionat, la stratul de ieşire vom obţine vectorul restaurat.
32
II.5.3. Toleranţa la deteriorări Sistemele de calcul tradiţionale sunt inutilizabile la apariţia celui mai minor defect la unitatea de memorie. Este suficientă deteriorarea unui singur bit de memorie pentru ca datele memorate să se altereze. La reţelele neuronale, deteriorarea unor neuroni sau a unor tării sinaptice, nu atrage după sine o deteriorare abruptă a performanţelor. Cu cât avem un grad mai mare de degradare al reţelei neuronale, cu atât se deteriorează performanţele reţelei neuronale, fără ca aceasta săşi înceteze funcţionarea. Toleranţa la deteriorări a reţelei neuronale este datorată modului distribuit de stocare a datelor. Toleranţa la deteriorări este o caracteristică fundamentală a reţelelor neuronale biologice. În sistemul nervos, zilnic se degradează câteva mii de neuroni, fără ca aceasta să afecteze, cel puţin până la o anumită vârstă, funcţionalitatea şi robusteţea activităţii sale. Acest fenomen poate fi privit ca o trăsătură fundamentală a evoluţiei inteligenţei [96].
II.5.4. Recunoaşterea formelor (Pattern Recognition) Sistemele de calcul neuronal sunt deosebit de eficiente în acţiuni legate de recunoaşterea formelor. Reţelele neuronale s-au dovedit a fi mult superioare sistemelor statistice tradiţionale sau sistemelor expert. Un exemplu elocvent de recunoaştere a formelor este însăşi abilitatea de a translata simbolurile de pe această pagină în cuvinte, propoziţii, fraze pline de conţinut. Recunoaşterea formelor este o acţiune care necesită capabilitatea de a cuprinde simultan o mare cantitate de informaţii şi de a emite răspunsuri generale. Recunoaşterea formelor necesită sisteme de calcul capabile să "înţeleagă" date parţiale sau deformate [42]. Reţelele neuronale posedă capacitatea de a învăţa şi de a construi structuri unice relative la o problemă dată, fiind din acest motiv deosebit de eficiente în recunoaşterea formelor. Capacitatea reţelelor neuronale de a selecta combinaţii de trăsături pertinente pentru o anumită problemă le face să fie superioare sistemelor statistice. De asemenea, capacitatea reţelelor neuronale de a deduce aceste trăsături pertinente, prin însăşi modul lor de acţiune şi nu prin intervenţia deliberată a unui programator, le face să fie superioare şi sistemelor expert.
II.5.5. Sinteză Problema învăţării reţelelor neuronale, este echivalentă din multe puncte de vedere cu problema aproximării şi interpolării unei funcţii continue. În această analogie, a învăţa reţeaua neuronală cu ajutorul unei legi de învăţare supervizate, înseamnă a determina acea funcţie parametrică f w pentru care: y = F ( x, w )
unde w reprezintă mulţimea tăriilor sinaptice ale reţelei neuronale. S-a demonstrat faptul că reţelele neuronale sunt aproximatori universali, fiind capabile să aproximeze arbitrar de bine orice aplicaţie continuă [44], [57]. Această capacitate a reţelelor neuronale artificiale de a 33
sintetiza funcţii continue complexe, este analogă cu abilitatea reţelelor neuronale biologice de a învăţa mişcări coordonate complexe, ca de exemplu de a folosi unelte, de a face sport.
II.5.6. Calculul neuronal versus calculul algoritmic Un algoritm reprezintă descrierea unei secvenţe de instrucţiuni şi ordinea de execuţie a acestor instrucţiuni, care au ca scop atingerea unui ţel. Evident această definiţie nu cuprinde nici pe departe trăsăturile fundamentale ale calculului algoritmic. De aceea, cea mai bună cale de a caracteriza calculul neuronal este de a enumera caracteristicile echipamentelor pe care algoritmul se implementează, adică calculatorul von Neumann: •
singură unitate centrală (CPU);
•
efectuarea calculelor în ordine secvenţială;
•
mulţime mare de instrucţiuni prin care se descrie algoritmul;
•
instrucţiunile pentru descrierea algoritmului sunt stocate în memorie;
•
operanzii folosiţi în calcule, precum şi rezultatele obţinute sunt stocate în memorie, în locaţii bine stabilite;
•
Datele necesare algoritmului sunt localizate.
Descrierea de mai sus corespunde tipului de calcul secvenţial, cunoscut sub numele de SISD (Single Instruction Single Datastream) [99]. Variaţiile invocate în cadrul calculului paralel nu reprezintă altceva decât variante ale SISD: •
SIMD (Single Instruction Multiple Datastream): fiecare instrucţiune operează pe mai multe date.
•
MISD (Multiple Instruction Single Datastream): mai multe instrucţiuni operează în paralel asupra unor date, o instrucţiune pe dată, dar mai multe instrucţiuni simultan. Denumirea consacrată este de arhitectură pipeline.
•
MIMD (Multiple Instruction Multiple Datastream): mai multe operaţii operează pe mai multe date simultan. Acest lucru se reduce de obicei la mai multe maşini SISD interconectate.
Chiar dacă aceste variante de sisteme de calcul pot implementa calculul algoritmic paralel, ceea ce duce la o eficientizare a vitezei de calcul, trăsătura fundamentală rămâne procesarea secvenţială a datelor. Din cele prezentate până acuma să încercăm să caracterizăm calculul neuronal: •
există un număr mare de elemente de procesare (neuroni);
•
fiecare element de procesare efectuează un număr mic de calcule simple (adunări, înmulţiri, comparaţii);
•
fiecare element de procesare este conectat la multe alte elemente de procesare;
•
numărul de conexiuni dintre elementele de procesare este mult mai mare decât al elementelor de procesare;
34
•
tăria legăturii dintre elementele de procesare este variabilă, şi ceea ce este foarte important, este faptul că reţeaua neuronală îşi modifică singură tăria acestei legături;
•
dacă la un sistem de calcul von Neumann, instrucţiunile care se execută de elementul de procesare caracterizează deplin acţiunea de executat, la o reţea neuronală elementele de procesare efectuează calcule simple, independente de acţiunea de executat;
•
reţeaua neuronală învaţă cum să execute acţiunea dorită prin antrenament (experienţă); de aceea ea nu este programată prin intermediul unui set de reguli descrise a priori;
•
informaţia este distribuită în reţeaua neuronală, fiind stocată în tăriile legăturilor sinaptice dintre neuroni.
Comparaţia dintre calculul algoritmic şi calculul neuronal scoate în evidenţă următoarea concluzie: ♦
Calculul algoritmic necesită programare, adică stabilirea unui set de reguli care să caracterizeze a priori calculul ce urmează a fi implementat pe calculator;
♦
Reţelele neuronale învaţă, “absorb” experienţă, modificându-şi structura internă în scopul efectuării acţiunii dorite.
II.6. Domenii de utilizare ale reţelelor neuronale Din cele prezentate până acum, rezultă faptul că reţelele neuronale sunt utile într-o gamă foarte diversificată de aplicaţii. Dacă studiem literatura de specialitate relativ la domeniul aplicativ al reţelelor neuronale, vom găsi aplicarea lor în toate domeniile activităţii umane. Pornind de la artă, ştiinţe naturale, ştiinţe sociale, industrie, agricultură, mergând până la sport, divertisment, aproape că nu existe domeniu în care să nu găsim aplicaţii ale calculului neuronal. Acest lucru nu este de mirare, deoarece analizând trăsăturile calculului neuronal (I.2) deducem caracterul său universal. Totuşi, cea mai adecvată utilizare a calculului neuronal o reprezintă domeniile apropiate percepţiei şi gândirii umane.
II.6.1. Procesarea limbajului Conversii text-limbaj
T. Sejnowski şi C. Rosenberg [183] au aplicat sistemele de calcul neuronal în domeniul translatării unui text scris în limbaj vorbit. Proiectul lor, numit Nettalk, a avut la bază o reţea neuronală directă cu două straturi, învăţată pe baza unei legi de învăţare supervizată. După cum se vede în Fig.2.4, reţeaua neuronală Nettalk cuprinde un strat de intrare cu 7 neuroni, valorile admisibile de intrare fiind caracterele alfabetului englez şi semnele de punctuaţie. Stratul ascuns este constituit din 80 de neuroni, iar stratul de ieşire din 26 de neuroni, fiecare corespunzând unei unităţi fonetice, numită fonemă. Reţeaua neuronală a fost antrenată cu ajutorul unui dicţionar de 1024 cuvinte. După 10 şedinţe de antrenament s-a 35
obţinut o pronunţie inteligibilă, iar după circa 50 de şedinţe de antrenament s-a obţinut o acurateţe de 95% în pronunţie. S-a constatat faptul că reţeaua neuronală a reuşit să extragă din datele învăţate o serie de trăsături esenţiale procesului de vorbire. Astfel, neuronii din stratul ascuns răspund diferenţiat, prin valori de activare mai mari sau mai mici, la vocale sau consoane. Analizânduse structura internă şi modul de stocare a datelor în reţea, s-a regăsit însăşi structura fonologică a limbii engleze. Deteriorări premeditate ale reţelei neuronale Nettalk, au dus la o degradare continuă şi lentă a performanţelor sale, dar nu catastrofală, deteriorare imediat recuperată printr-o nouă fază de re-antrenare.
\z\ Stratul de ieşire (Foneme)
Strat ascuns
T h i
s
i
s
t
h e input
Fig.2.4.: Arhitectura generală a reţelei neuronale Nettalk.
Un produs similar de conversie text scris-text pronunţat, având la bază un sistem expert, produs de firma DEC şi numit DecTalk, a necesitat un efort uriaş de programare al unei echipe de 35 specialişti, timp de 2 ani de zile, fără a obţine un produs superior reţelei neuronale Nettalk. Aceeaşi arhitectură ca la reţeaua Nettalk a fost aplicată de Qian şi Sejnowski [163] la determinarea structurii secundare a proteinelor, în scopul de a transcrie secvenţe de DNA pentru coduri de proteine.
Procesarea limbajelor naturale
D. Rumelhart şi J. McClelland [174] au introdus reţelele neuronale în domeniul procesării limbajului natural. Prin procesare a unui limbaj natural vom înţelege studiul modului de construcţie a regulilor unui limbaj. D. Rumelhart şi J. McClelland au studiat acest proces cu ajutorul unei reţele neuronale capabile să înveţe timpul trecut (Past Tense) al limbii engleze. Învăţând reţeaua neuronală, ea a progresat din faza unui începător care face greşeli de tipul bring-bringed, până la o fază de specialist în care era capabilă de a determina timpul trecut pentru verbe neregulate. Abilitatea reţelei neuronale de a generaliza pe baza unor date incomplete şi de a se auto-organiza, au permis ca reţeaua neuronală să genereze răspunsuri corecte când i s-a prezentat un verb nou sau necunoscut. 36
II.6.2. Comprimarea datelor G.W. Cottrell, D.Zipser şi P. Munro [33] au utilizat reţelele neuronale în scopul de a comprima eficient informaţii corespunzătoare unor imagini grafice. Imaginile grafice ocupă, în funcţie de rezoluţia de reprezentare şi de numărul de culori folosit, un spaţiu de memorare foarte mare, ajungând până la ordinul mega-octeţilor. Compresia imaginilor reprezintă o necesitate practică, deoarece spaţiul de memorare este foarte costisitor, şi în acelaşi timp timpul de transfer al unei imagini este evident influenţat de dimensiunea spaţiului de memorare necesar pentru respectiva imagine. Sistemul de calcul neuronal conceput de Cottrell, Munro şi Zipser are la bază o reţea neuronală cu trei straturi, capabilă a comprima o imagine, şi bineînţeles capabilă şi de a o decomprima fără distorsiuni. Este importantă de menţionat legea de învăţare nesupervizată folosită pentru a învăţa reţeaua neuronală, care a permis ca ea să se auto-configureze, fără intervenţia specialiştilor. Cu această reţea neuronală s-a reuşit comprimarea datelor la un factor de 8:1, cu o decomprimare ireproşabilă a imaginii originale.
II.6.3. Recunoaşterea caracterelor Un domeniu important de utilizare a reţelelor neuronale îl reprezintă domeniul interpretării vizuale şi al clasificării simbolurilor. •
Recunoaşterea scrisului de mână. Cercetători ai companiei Nestor Inc. din SUA, au dezvoltat un sistem de calcul neuronal care are ca şi dispozitiv de intrare a datelor o tabletă digitizoare, pe care se poate scrie cu ajutorul unui Light-Pen. Reţeaua neuronală a fost antrenată cu diferite scrisuri de mână, ea fiind capabilă să interpreteze un scris de mână oarecare cu o înaltă acuitate. Există un mare număr de sisteme de recunoaştere optică a caracterelor, numite OCR (Optical Character Recognition). Ceea ce diferenţiază reţelele neuronale faţă de sistemele OCR tradiţionale este flexibilitatea. După învăţare, reţeaua neuronală este capabilă să recunoască o mare diversitate de scrieri şi să facă presupuneri pertinente relativ la caracterele confuze. Cercetătorii companiei Nestor au construit o reţea neuronală pentru scrierea japoneză (Kanji). Prin folosirea reţelelor neuronale în acest domeniu, s-a făcut posibilă eliminarea dificultăţilor de a cuantifica elementele specifice ale unui limbaj.
•
Prelucrarea imaginilor. K. Fukushima [72], [73] a elaborat un sistem de calcul neuronal pentru recunoaşterea imaginilor, cu aplicabilitate practică în domeniul recunoaşterii caracterelor. Reţeaua neuronală construită, are la bază un sistem performant de recunoaştere a formelor, numit Neocognitron. Neocognitronul este de fapt o reţea neuronală cu mai multe straturi ce simulează modul de prelucrare a imaginilor de către cortexul uman. Straturile ascunse succesive de neuroni ale Neocognitronului au rolul de a extrage trăsături definitorii ale imaginii fără a fi influenţate de orientare sau distorsiuni. La nivelul stratului de intrare formele sunt unic determinate, o dată cu propagarea informaţiei către stratul de ieşire, activându-se doar anumiţi neuroni, care corespund unor trăsături definitorii ale imaginii. 37
II.6.4. Probleme combinatoriale Reţelele neuronale au fost folosite cu succes la rezolvarea problemelor NP-complete (Non Polynomial). Este cunoscut faptul că problemele combinatoriale NP-complete necesită timpi de calcul care cresc exponenţial cu numărul de date de intrare. Ca un test (benchmark), celebra problemă a comis-voiajorului care trebuie să străbată un număr dat de oraşe, folosind drumul cel mai scurt, reprezintă un test de măsură a performanţelor unor reţele neuronale. Literatura de specialitate conţine un număr impresionant de soluţii ale acestei probleme, majoritatea bazate pe o arhitectură particulară de reţea neuronală, numită reţea neuronală de tip Hopfield. Cercetătorii J. Hopfield şi D. Tank [101], au fost primii care au aplicat calculul neuronal în domeniul rezolvării problemelor combinatoriale NP-complete. Ei au construit o reţea neuronală pentru a rezolva problema comis voiajorului, ataşându-i o funcţie energetică dependentă de starea neuronilor constituenţi. Minimul funcţiei energetice, corespunde unei stări stabile a neuronilor, drumul minim fiind astfel regăsit. H. Szu [191] a îmbunătăţit reţeaua neuronală construită de Hopfield şi Tank, utilizând o funcţie energetică care conduce la stări mai stabile şi prin urmare la soluţii mai performante.
II.6.5. Recunoaşterea formelor Clasificarea formelor După cum am arătat, în domeniul recunoaşterii formelor (pattern recognition), sistemele de calcul neuronal au performanţe superioare sistemelor expert sau sistemelor clasice de calcul [199]. Există o gamă foarte diversificată de aplicabilitate a sistemelor de calcul neuronal în acest domeniu. Unul din exemplele semnificative, îl reprezintă aplicarea reţelei neuronale de tipul BP (BackPropagation) în clasificarea ţintelor radar. R. Gorman şi T. Sejnowski [84] au construit o reţea neuronală tip BP cu două straturi; stratul de intrare conţine un număr de 60 de neuroni, corespunzând la cele 60 benzi de frecvenţă necesare detectării unei ţinte radar, stratul de ieşire al reţelei neuronale, conţine un număr de neuroni corespunzând la numărul de ţinte radar; stratul ascuns are un număr de 12 neuroni. După faza de antrenament, reţeaua neuronală s-a comportat ca un operator radar supercalificat. Control industrial Rezultate foarte bune s-au obţinut aplicând reţelele neuronale tip BP la recunoaşterea imaginilor furnizate de camere video, pentru a conduce un robot. D. Glover [83] a folosit pentru digitalizarea imaginilor video un procesor optic Fourier, care lucrează în timp real. Reţeaua neuronală era constituită din 2 straturi: stratul ascuns cu un număr de 20-40 neuroni, iar stratul de ieşire un număr corespunzător de neuroni de comandă pentru robot. Aplicând această reţea neuronală în domeniul controlului industrial, s-au obţinut rezultate interesante. În cadrul cercetării conduse de Glover, s-a pus în evidenţă pentru prima dată fenomenul de supra-antrenament (overtraining), adică faptul că prezentarea unui număr prea mare de exemple de antrenament poate duce la distrugerea datelor memorate până atunci. Acest lucru se explică prin faptul că reţeaua neuronală se auto-configurează iniţial în 38
concordanţă cu tendinţa statistică a datelor de antrenament, prezentarea unor noi date irelevante producând deviaţii de la tendinţa statistică generală. Fenomenul de supra-antrenament este unul din principalele neajunsuri ale legilor de învăţare supervizate care încearcă să înveţe date eronate sau irelevante, implicând modificări semnificative asupra tăriilor sinaptice, faţă de ajustări minore ale tăriilor sinaptice provocate de datele corecte, care generează erori minime.
II.6.6. Prelucrarea semnalelor Predicţie După cum se ştie, problemele de predicţie pentru serii haotice sunt dificil de rezolvat dacă utilizăm metode convenţionale liniare sau polinomiale. Lapedes şi Farbes [125] au construit o reţea neuronală pentru predicţia unei serii haotice, reprezentând soluţiile numerice ale unei ecuaţii diferenţiale, cunoscută sub numele de ecuaţia Mackey-Glass [131]: dx 0.2 ⋅ x ( t − α ) = −01 . ⋅ x(t ) + dt 1 + x 10 ( t − α )
(2.9)
unde α reprezintă un factor de întârziere. Ideea de bază constă în a antrena reţeaua neuronală cu o mulţime de date de forma: x ( t ), x ( t − Δ ), x( t − 2Δ ),..., x( t − ( n − 1)Δ )
(2.10)
iar ca date ţintă, date cunoscute de forma x ( t + T ) . Parametrul α controlează haoticitatea rezultatelor numerice. Reţeaua neuronală construită de Lapedes şi Farbes are trei straturi, 2 straturi ascunse, un strat de ieşire constituit dintr-un singur neuron liniar (cu funcţie de activare liniară). Ceea ce s-a constatat la această reţea neuronală este aparenta sa capabilitatea de a reprezenta în straturile ascunse legea de generare a unei astfel de serii haotice. Modelarea sistemelor, filtrarea semnalelor Aceeaşi autori, Lapedes şi Farbes, au obţinut rezultate interesante în domeniul modelării unor sisteme. Încercarea lor s-a bazat pe modelarea funcţiei corespunzătoare sistemului: ⎛ dx ⎞ x(t ) − ⎜ ⎟ ⎝ dt ⎠
2
(2.11)
Reţeaua neuronală conţinea în stratul de intrare doi neuroni, corespunzând valorilor dx . Reţeaua x ( t ) şi x ( t − 0.001) , iar stratul de ieşire un singur neuron corespunzând valorii dt neuronală avea două straturi ascunse, fiecare strat având câte 10 neuroni. Învăţarea reţelei s-a făcut cu ajutorul unor date corespunzând unor semnale cu bandă unică limitată, ca o sumă de 20 de sinusoide. Deşi, învăţarea reţelei neuronale s-a făcut relativ la ecuaţia (2.11), ea a învăţat de fapt forma generală a mecanismului de modelare, comportându-se satisfăcător la semnale arbitrare prezentate la stratul de intrare. Reţelele neuronale au fost folosite şi în aplicaţii de filtrare a semnalelor, cu scopul de a elimina zgomotul perturbator. S-au construit în acest fel reţele neuronale aplicate în domeniul 39
medicinii [148], pentru a elimina zgomotul produs de imperfecţiunea aparatelor de măsură EKG, EEG etc. Reţelele neuronale sunt folosite şi în domeniul telecomunicaţiilor, pentru a elimina zgomotul şi interferenţa semnalelor.
II.6.7. Modelare economică şi financiară Modelarea sistemelor economice şi financiare cu scopul de a permite analize şi prognoze eficiente, este de o foarte mare importanţă. Determinarea unor elemente de tendinţă economico-financiară cum ar fi consum, preţ, inflaţie, volum de vânzări, necesar de aprovizionat etc., sunt în general greu de abordat datorită numărului mare de parametri şi a imprevizibilăţii variaţiei lor [48]. Reţelele neuronale au căpătat în acest domeniu o recunoaştere semnificativă. Mari companii, cum ar fi Boeing, Volvo, Philips, folosesc sisteme de calcul neuronal în domeniul managementului firmei [148].
II.6.8. Servo-control Deosebit de dificilă este problema controlului şi conducerii unor sisteme complexe servo-mecanice (roboţi). Dificultatea constă în a găsi metode computaţionale acceptabile pentru a compensa variaţiile fizice din sistem [88]. Deşi uneori este posibil a construi formule matematice care să descrie erori provocate de variaţii fizice - erori provocate de alinierea axelor, deviaţii ale organelor în mişcare - două probleme sunt de luat în considerare: •
Prima problemă: de cele mai multe ori este aproape imposibil să măsurăm cu acurateţe variaţiile fizice.
•
A doua problemă: complexitatea computaţională necesară pentru a rezolva problemele variaţiilor fizice poate fi nefezabilă din punct de vedere economic, necesitând o putere de calcul uriaşă şi echipamente speciale.
Cu toate acestea există numeroase modele de calcul neuronal care stau la baza conducerii unor roboţi. Un exemplu semnificativ este robotul comandat de o reţea neuronală folosit pentru conducerea unui vehicul. D. Pomerleau [160] a construit în acest scop o reţea neuronală cu două straturi. Stratul de intrare constă dintr-o imagine digitizată de 30x32 pixeli şi 8x32 pixeli de la un sistem video de proximitate. Stratul ascuns conţinea 29 de neuroni, iar stratul de ieşire 45 de neuroni dispuşi liniar. Neuronii din centrul stratului de ieşire corespundeau pentru direcţia înainte, cei din stânga şi dreapta pentru viraj stânga, respectiv dreapta. După ce reţeaua neuronală a fost antrenată cu un număr de 1200 de imagini simulate, ea a fost capabilă să conducă un automobil cu o viteză de 25 km/h. Viteza limitată era datorată mai ales faptului că echipamentul de calcul utilizat pentru a implementa reţeaua neuronală, un microsistem Sun-3, nu avea viteză de calcul mare.
40
II.6.9. Teoria aproximării Putem considera o reţea neuronală ca o implementare a unei reguli de calcul ce ne permite să obţinem un vector de ieşire m-dimensional, cunoscând vectorul de intrare ndimensional corespunzător. Această regulă implementată de reţeaua neuronală corespunde de fapt unei clase de funcţii f : R n → R m . De fapt, în această carte vom prezenta rezultate care dovedesc că reţelele neuronale sunt din multe puncte de vedere superioare metodelor de aproximare-interpolare polinomiale. În aceste paragrafe am prezentat doar o parte a domeniului de aplicare a reţelelor neuronale, fără a avea pretenţia de a epuiza în totalitate posibilităţile de aplicare a calcului neuronal. După cum am mai menţionat, reţelele neuronale sunt modul de implementare a calculului neuronal, care este practic un instrument universal, cu avantaje şi dezavantaje faţă de metodele de calcul clasic sau cele bazate pe sistemele expert.
II.7. Clasificare Pentru a avea o imagine de ansamblu asupra modelelor de calcul neuronal construite până în prezent, vom prezenta o clasificare a reţelelor neuronale din punct de vedere al domeniului de utilizare.
Domeniul de utilizare
Legea de învăţare
1. Predicţie
Supervizată
2. Clasificare
Supervizată
3. Asociere de date
Supervizată
4. Conceptualizare de date
Nesupervizată
5. Filtrări de date
Nesupervizată
6. Optimizare
Nesupervizată
Vom prezenta în continuare reţelele neuronale existente pentru fiecare domeniu de utilizare. 1. Reţele neuronale pentru predicţie Delta Bar Delta (DBD)
Fiecare tărie sinaptică are propriul coeficient de învăţare auto-ajustabil.
Direct Random Search (DRS)
Similar cu BP, încorporând un aspect aleatoriu, ce ţine cont de învăţarea cu succes a unor date.
Extended Delta Bar Delta (EDBD)
Fiecare tărie sinaptică are propriul coeficient de învăţare şi propriul coeficient inerţial auto-ajustabil. 41
Back-Propagation (BP)
Back-Propagation (BP_RCIRC)
with
Modificarea tăriilor sinaptice se face prin propagarea înapoi a erorii dintre vectorul de ieşire şi vectorul ţintă, de la stratul de ieşire către stratul de intrare. Recirculation La fel ca pentru BP, dar este o reţea neuronală auto-asociativă (II.2.2).
Digital Neural Network Architecture Reţea neuronală cu o lege de învăţare (DNNA) specială, care permite implementarea reţelei pe un chip siliconic produs de firma Neural Semiconductor din SanDiego. Self-Organizing Map Propagation (SOM_BP)
into
Back- Reţea neuronală hibridă ce foloseşte prima dată o lege de învăţare nesupervizată, pentru a separa conceptual datele de intrare, înainte de a fi folosite pentru predicţie.
Cascade Corelation (Cascade)
O variantă a modelului BP, unde neuronii din straturile ascunse sunt adăugaţi unul câte unul la arhitectura reţelei, testânduse la fiecare adăugare performanţele reţelei neuronale.
Adaptive Linear Network (Adaline)
Reţeaua neuronală cea mai simplă, constituită dintr-un singur neuron boolean. De interes istoric [206].
Muliple Adaline Network (Madaline)
Reţea neuronală cu mai multe straturi, neuronii fiind elemente de procesare de tip Adaline.
Simple Perceptron (PS)
Reţea neuronală directă cu un singur strat.
Multy-Layer Perceptron (PMS)
Reţea neuronală directă cu două sau mai multe straturi.
2. Reţele neuronale pentru clasificare La baza acestor reţele neuronale stă metoda de auto-organizare dezvoltată de T. Kohonen [117]. Categorial Learning (Catlrnn)
Fiecare categorie de ieşire are propriul set de noduri pentru învăţarea punctelor centrale ale datelor de intrare, având un strat tip Kohonen fără funcţie de atracţie.
Counterpropagation (Cntrprop)
Se învaţă relaţia existentă între stratul de ieşire şi stratul tip Kohonen. Stratul Kohonen nu are funcţie de atracţie.
Learning Vector Quantization (LVQ)
Fiecare categorie de ieşire are propriul set de noduri. Stratul Kohonen are un 42
mecanism activ, bazat pe o funcţie de atracţie şi o metodă de limitare. Probabilistic Neural Networks (PNN)
Sunt generate funcţii probabilistice empirice de probabilitate, utilizând reţele neuronale pentru a implementa clasificatori Bayesieni.
Self-Organizing Map into Categorization Reţea neuronală hibridă ce utilizează un (SOM_CAT) strat Kohonen bidimensional, cu un mecanism activ de separare a datelor de intrare, înainte de a fi categorizate.
3. Reţele neuronale pentru asocieri de date Bidirectional (BAM)
Associative
Boltzmann (Boltzcmp)
Pattern
Memory Reţeaua neuronală învaţă perechi de vectori (A1, B1), (A2, B2), .... Când i se prezintă o versiune distorsionată a lui Ai, reţeaua neuronală va genera perechea potrivită Bi. Completion Reţeaua neuronală învaţă o serie de vectori de date de intrare. Când i se prezintă un vector de intrare distorsionat, reţeaua va genera vectorul restaurat.
Boltzmann Input-Output (Boltz-IO)
Reţea neuronală având un mod de operare similar cu reţelele tip Hopfield, apărând în plus o lege de învăţare specială numită revenire simulată (simulated annealing).
Hamming Network (Hamming)
Un vector de intrare este comparat cu ceilalţi vectori memoraţi, determinânduse distanţa minimă la aceştia pe baza unei distanţe specifice, numită distanţă Hamming.
Hamming Network Inhibition (Hamlatin)
with
Hopfield Network (Hopfield)
Spatio-Temporal (SPR)
Pattern
Lateral Mod de operare similar cu cel al reţelei neuronale tip Hamming, dar selectarea unui vector se face printr-un proces similar cu cel biologic, numit inhibiţie laterală, de tip competitiv. Similar cu modelul de reţea neuronală tip Hamming, însă foloseşte o altă metodă de a determina distanţa dintre doi vectori.
Recognition O serie de vectori predefiniţi sunt memoraţi iniţial, fiind folosiţi în continuare ca o bază de clasificare a vectorilor de intrare următori. Reţeaua permite acordarea sa pentru a detecta vectori variabili în timp. 43
4. Reţea neuronală pentru conceptualizare Adaptive Resonance Theory I Reţea neuronală care creează categorii ale datelor (Art I) de intrare. Un factor de vigilenţă urmăreşte şi regularizează numărul de categorii formate. Self-Organizing Map (SOM)
Datele de intrare sunt proiectate într-o manieră similară cu cea întâlnită la sistemele biologice, într-un strat bi-dimensional.
5. Filtrarea datelor Recirculation (recirc)
Datele de intrare sunt netezite prin comprimare după care sunt restaurate. Reţeaua neuronală se comportă ca un filtru pentru joasă frecvenţă, a cărui punct de tranziţie este determinat de numărul de straturi ascunse.
6. Optimizare Hopfield Network (Hopfield)
Similar cu modelul de reţea neuronală tip Hamming, însă foloseşte o altă metodă de a determina distanţa dintre doi vectori.
II.8. Tehnologii implicate în dezvoltarea calculului neuronal Din cele prezentate, rezultă că aplicarea calculului neuronal este puternic influenţată de dezvoltarea unor tehnologii corespunzătoare, care să ducă la o răspândire generală a calculului neuronal. Există la ora actuală aproximativ 750 de firme [165], care au ca obiect de activitate dezvoltarea de sisteme de calcul neuronal, fără a mai pune la socoteală marile universităţi, institute de cercetări, mari companii, unde există departamente distincte de cercetare teoretică şi aplicativă în domeniul calculului neuronal.
II.8.1. Simulatoare software Am subliniat în repetate rânduri faptul că trăsăturile calculului neuronal îl fac pe acesta să fie diferit de calculul tradiţional (von Neumann), totuşi cea mai accesibilă metodă de a construi reţele neuronale îl reprezintă simulatoarele software, care rulează pe calculatoare clasice secvenţiale sau paralele. Această idee nu este prea fericită, pentru că în fond răpeşte însăşi ideea fundamentală a calculului neuronal, calculul distribuit, trăsătură care se păstrează doar la nivelul de concepţie, nu însă şi la cel de execuţie. Lista simulatoarelor software existente pe piaţa comercială este impresionantă. Din cele mai importante merită să amintim Neural Works Professional II/Plus al firmei Neural Ware Inc. din Pittsburgh [148], BrainMaker al firmei California Scientific Software, Neural Network Utility (NNU) al firmei IBM, Neural-Desk al firmei Neural Computer Sciences, MacBrain al firmei Neurix, NeuroWindows al firmei Ward Systems Group [165]. 44
II.8.2. Acceleratoare hardware O îmbunătăţire adusă performanţelor reţelelor neuronale implementate prin intermediul simulatoarelor software pe calculatoare secvenţiale sau paralele, îl reprezintă utilizarea acceleratoarelor hardware. Acceleratoarele hardware sunt circuite electronice specializate implementării metodei calculului neuronal, degrevând unitatea centrală de un mare număr de operaţii. Ele se ataşează la calculatoarele clasice, transformându-le în sisteme de calcul foarte rapide, care permit aplicaţii de calcul neuronal în timp real. Vom prezenta cele mai importante realizări în acest domeniu: pentru o documentaţie mai completă se poate consulta [55]: •
Mark III, Mark IV: produse de firma TRW din SUA, reprezintă procesoare de uz general pentru o mare gamă de aplicaţii în domeniul calcului neuronal. Conţin un număr de circa 417 000 legături sinaptice, putând fi ataşate ca un echipament periferic la un calculator din familia VAX;
•
NEP (Network Emulation Processor): dezvoltat de firma IBM, reprezintă un accelerator hardware având la bază un procesor VLSI. Cu ajutorul acceleratorului NEP se pot rula aplicaţii complexe de calcul neuronal, fiind de obicei utilizat ca un emulator pentru PAN (Parallel Associative Network) al firmei IBM. NEP conţine o serie de interfeţe locale de mare viteză, putând fi conectat în cascadă la alte acceleratoare NEP, permiţând reţele neuronale de foarte mari dimensiuni;
•
Anza, Anza Plus: acceleratoare hardware special construite pentru simularea modului de funcţionare a reţelelor neuronale pe un mediu de calcul secvenţial. Anza este capabil de a realiza o putere de calcul de 150 000 de interconexiuni pe secundă. Această unitate de măsură, număr de interconexiuni pe secundă, este factorul de măsură a performanţelor computaţionale ale unei reţele neuronale;
•
Delta II: Procesor în virgulă mobilă, are o capacitate de calcul de 11 000 000 interconexiuni pe secundă, admiţând o arhitectură de cuplare în cascadă. Firma producătoare SAIC livrează o dată cu acceleratorul hardware şi un mediu de dezvoltare de aplicaţii având la bază calculul neuronal. Pentru o documentaţie mai completă se poate consulta lucrarea [55].
II.8.3. Procesoare neuronale În ultima perioadă s-au dezvoltat şi implementat sisteme de calcul neuronal pe chipuri siliconice. Prezentăm câteva realizări semnificative, o lista mai completă putând fi găsită în [68], [165], [185]: •
ENN (Electronic Neural Network): Chip siliconic elaborat de firma AT&T, având un număr de 256 neuroni şi mai mult de 100 000 legături sinaptice. ENN este curent utilizat în domeniul compresiei imaginilor, cu scopul de a transmite imagini de mari dimensiuni în timp real pe linii telefonice.
•
Silicon Retina, Silicon Ear: Chipuri care implementează elementele senzoriale ale văzului şi auzului uman. Domeniul lor de aplicabilitate, mai ales în servo-control, biologie, medicină. 45
•
80170NX ETANN (Electrically Trainable Analog Neural Network): chip neuronal care permite un strat de intrare cu maximum 128 neuroni, putând efectua 64 de operaţii de integrare la fiecare trei milisecunde. Firma producătoare Intel Neural Network Group.
II.8.4. Procesoare optice Procesoarele optice reprezintă o soluţie care a dat foarte bune rezultate în domeniul calculului neuronal [5], [185]. Aceste procesoare optice posedă multe trăsături comune cu sistemele de calcul neuronal, fiind constituite din matrice de procesoare simple, analoge neuronilor din reţeaua neuronală. De asemenea, modul de operare al procesoarelor optice conţine o largă scală de paralelism. Ca şi realizări deosebite în utilizarea procesoarelor optice în calculul neuronal, menţionăm: •
firma Hitachi din Japonia a construit un procesor optic corespunzând unei memorii autoasociative cu două straturi, având topologia: 32-neuroni în stratul de intrare, 29 neuroni în stratul ascuns, 26 neuroni în stratul de ieşire. Procesorul optic conţinea circa 1 000 neuroni/cm2;
•
firma japoneză Mitsubishi a creat unul din cele mai puternice procesoare optice dinamice, având o densitate de 2 000 de neuroni/cm2., cu un număr de 4 straturi de neuroni cu topologie variabilă.
46
47
III. Procesul de învăţare III.1. Noţiuni generale În capitolul precedent am analizat o serie de proprietăţi ale calculului neuronal, respectiv ale reţelelor neuronale. Cea mai semnificativă proprietate o reprezintă fără nici o îndoială capacitatea reţelelor neuronale de a învăţa din mediul înconjurător şi de a-şi îmbunătăţi performanţele pe baza acestui proces de învăţare. Reţeaua neuronală învaţă pe baza unui proces iterativ de ajustare a tăriilor sinaptice şi eventual al nivelului de activare. Dacă procesul de învăţare decurge bine, atunci reţeaua neuronală acumulează tot mai multe informaţii, la fiecare iteraţie. Evident că atunci când folosim termenul de "proces de învăţare" ne situăm într-o terminologie mult prea largă, care este dependentă de mai mulţi factori. Fără a încerca să teoretizăm prea mult putem să observăm foarte simplu că termenul de "proces de învăţare" este folosit în maniere total diferite de un psiholog sau de un profesor atunci când predă. De aceea trebuie să încercăm să fim mai riguroşi în definirea "învăţării" şi a "procesului de învăţare", deoarece vom folosi de acum încolo foarte des aceste noţiuni. Pentru aceasta vom defini, în contextul calculului neuronal, "învăţarea", în felul următor [50]: Def. 3.1: Învăţarea este un proces prin care parametri reţelei neuronale sunt adaptaţi permanent prin intermediul unor stimuli proveniţi de la mediul înconjurător căruia îi aparţine reţeaua neuronală. Tipul de învăţare este determinat de forma de modificare a parametrilor reţelei neuronale. Definiţia de mai sus conţine următoarea secvenţă de evenimente [93]: •
Evenimentul 1: Reţeaua neuronală primeşte stimuli de la mediul înconjurător;
•
Evenimentul 2: Reţeaua neuronală se modifică ca răspuns la stimuli;
•
Evenimentul 3: Ca urmare a acestor modificări permanente, care afectează structura sa internă, reţeaua neuronală răspunde de fiecare dată într-un nou mod mediului de la care vin stimuli.
Să încercăm să dăm o formulare matematică acestui proces descris mai sus. Pe baza celor prezentate mai sus şi în capitolul anterior, am văzut că ceea ce se modifică în cadrul procesului de învăţare este tăria sinaptică. De aceea, avem formularea matematică cea mai generală a procesului de învăţare exprimat prin formula:
w ji ( t + 1) = w ji ( t ) + Δw ji ( t )
(3.1)
•
wji(t + 1) şi wji(t) reprezintă noua şi vechea valoare a tăriei sinaptice wji care uneşte axonul neuronului i de o dendrită a neuronului j.
•
Δw ji ( t ) reprezintă ajustarea aplicată tăriei sinaptice wji(t), la momentul t, obţinându-se
valoarea wji(t + 1) la momentul t + 1, în urma procesului de ajustare. 48
Ecuaţia (3.1) conţine în mod evident efectele Evenimentelor 1, 2 şi 3 prezentate mai sus. Ajustarea Δw ji ( t ) este obţinută ca urmare a unor stimuli ai mediului înconjurător (Evenimentul 1), iar valoarea modificată a tăriei sinaptice wji(t + 1) defineşte schimbarea din reţeaua neuronală, ca un rezultat al stimulilor prezentaţi reţelei neuronale (Evenimentul 2). Din momentul (t + 1) reţeaua neuronală răspunde într-un mod nou mediului înconjurător, deoarece tăria sinaptică s-a modificat, devenind wji(t + 1) (Evenimentul 3). Def. 3.2: Vom numi algoritm de învăţare, un set de reguli predefinite care soluţionează problema "învăţării". Evident, pentru o anumită reţea neuronală nu există un unic algoritm de învăţare. Mai degrabă există o mulţime de legi de învăţare, fiecare dintre ele având o serie de avantaje şi de dezavantaje. Ceea ce face ca algoritmii de învăţare să fie diferiţi este modul de calcul al ajustării tăriei sinaptice Δw ji ( t ) . Un alt factor important relativ la procesul de învăţare este modul de raportare a unei reţele neuronale la mediul înconjurător [181]. În acest context putem defini: Def. 3.3: Vom numi paradigmă de învăţare, un model al mediului înconjurător în care are loc procesul de învăţare al reţelei neuronale. Pe această bază, putem formula taxonomia fundamentală a procesului de învăţare: Procesul de învãtare Algoritmi de învãtare Învãtare pe baza minimizãrii unei functii eroare
Învãtare Boltzmann
Învãtare Hebbianã
Paradigme de învãtare Învãtare competitivã
Învãtare supervizatã
Învãtare nesupervizatã
Învãtare întãritã
Fig. 3.1.: Taxonomia fundamentală a procesului de învăţare.
III.2. Algoritmi de învăţare III.2.1. Învăţare pe baza minimizării unei funcţii eroare
În capitolul anterior am introdus noţiunile: •
x µ = ( x1µ , x 2µ ,K, x nµ ), µ = 1,K, P - al µ - lea vector (dată) de intrare din mulţimea de
antrenament; •
y µ = ( y1µ , y 2µ , K, y mµ ), µ = 1, K, P - al µ - lea vector (dată) de ieşire generat de reţeaua
neuronală când la stratul de intrare a fost prezentat vectorul xµ. Să introducem următoarea notaţie: 49
•
(
)
z µ = z1µ , z 2µ ,K , z mµ , µ = 1,K , P pentru al µ - lea vector (dată) ţintă, care reprezintă rezultatul dorit a se obţine la stratul de ieşire atunci când la stratul de intrare a fost prezentat vectorul xµ.
Vectorul xµ reprezintă stimulul mediului înconjurător, iar vectorul yµ este răspunsul reţelei neuronale la stimulul de intrare xµ. În cursul procesului de învăţare, vectorii yµ şi zµ sunt diferiţi. Diferenţa dintre cei doi vectori reprezintă vectorul eroare e µ = ( e1µ , e2µ ,K, e mµ ), µ = 1,K, P , definit matematic de formula: ekµ = z kµ − y kµ , k = 1, K, m, µ = 1,K, P
(3.2)
Scopul procesului de învăţare ce are la bază un algoritm de învăţare pe baza minimizării unei funcţii eroare este, după cum îi spune şi numele, minimizarea unei funcţii eroare (cost) ce este construită din semnalul de eroare ekµ , k = 1,K, m, µ = 1,K, P . Prin
aceasta, într-o interpretare statistică, vectorul de ieşire yµ tinde către vectorul ţintă zµ. Astfel, procesul de învăţare se transformă într-o problemă de optimizare obişnuită. Cea mai des utilizată funcţie de eroare este funcţia abatere medie pătratică MSE (Mean Square Error), definită astfel: 2⎤ ⎡1 m MSE µ = E ⎢ ∑ (e kµ ) ⎥, µ = 1, K, P 2 ⎣ k =1 ⎦
(3.3)
unde am notat cu E operatorul de medie statistică. După cum se vede din formula de mai sus, MSEµ reprezintă funcţia eroare relativ la prezentarea celui de-al µ - lea vector (dată) de intrare din mulţimea de antrenament. Evident, putem defini o funcţie eroare generală, care ţine cont de diferenţa dintre vectorii de ieşire yµ şi vectorii ţintă zµ relativ la toată mulţimea de antrenament. Putem scrie:
⎡1 P m 2⎤ MSE = E ⎢ ∑∑ ekµ ⎥ 2 ⎦ ⎣ µ =1 k =1
( )
(3.4)
Procesul de minimizare al funcţiei eroare MSE în raport cu parametrii reţelei neuronale, deci şi procesul de învăţare, este o metodă de optimizare cunoscută, numită metoda gradientului descendent [30]. În sine, metoda de optimizare nu prezintă probleme, dar din punct de vedere al calculului neuronal, această minimizare este echivalentă cu procesul de învăţare, fiind necesare informaţii despre caracteristicile statistice ale procesului de învăţare. Putem evita acest lucru, considerând o soluţie aproximativă a problemei de optimizare, şi anume, suma pătratelor erorilor dintre vectorului de ieşire yµ şi vectorului ţintă zµ: MSE µ =
1 m µ 2 ∑ ( ek ) , µ' = 1,K, P 2 k =1
50
(3.5)
Procesul de învăţare va consta în minimizarea funcţiei eroare (3.5), în raport cu tăriile sinaptice wji, pe baza metodei gradientului conjugat. Obţinem ajustarea tăriei sinaptice pe baza relaţiei: Δw µji = −η
∂MSE µ = ηe µj x iµ ∂w µji
(3.6)
Constanta reală η reprezintă rata de învăţare. Formula de mai sus este cunoscută în calculul neuronal sub numele de regula delta. Din regula delta se poate observa că ajustarea tăriilor sinaptice în procesul de învăţare este proporţională cu produsul dintre stimulul (semnalul) de intrare şi semnalul de eroare. Dacă am reprezenta graficul funcţiei eroare în raport cu tăriile sinaptice wji ce caracterizează reţeaua neuronală, am obţine o hiper-suprafaţă, numită suprafaţă eroare. Putem întâlni două cazuri distincte în studiul suprafeţei eroare, şi anume: •
dacă reţeaua neuronală este constituită doar din neuroni ce au ca funcţie de activare funcţia liniară (2.1), atunci funcţia eroare este o funcţie cvadratică în raport cu tăriile sinaptice, iar suprafaţa eroare are un punct unic de minim.
•
dacă reţeaua neuronală este constituită din neuroni ce au ca funcţie de activare funcţii neliniare (2.2), (2.3), (2.4), (2.5), (2.6) atunci suprafaţa eroare are un punct de minim global şi numeroase alte minime locale.
În oricare situaţie, procesul de învăţare sau de minimizare a funcţiei eroare constă din pornirea dintr-un punct arbitrar al suprafeţei eroare (ce se obţine din valorile de iniţializare ale tăriilor sinaptice ale reţelei neuronale) şi din deplasarea pas cu pas către punctul de minim global. Evident, nu este posibil ca să atingem acest punct al suprafeţei eroare în orice context, deoarece procesul de deplasare se poate bloca în punctele de minim local.
III.2.2. Învăţare Hebbiană Denumirea de învăţare Hebbiană se datorează Postulatului lui Hebb, care în lucrarea sa The Organization of Behaviour [94], emite una din cele mai faimoase ipoteze din neuropsihologie: "Când un axon al celulei nervoase A este suficient de aproape de faza de excitare a unei celule nervoase B, şi în mod repetat sau persistent ia parte la activarea sa, un anumit proces de creştere sau de modificare metabolică are loc într-una sau în ambele celule nervoase, astfel încât eficienţa celulei nervoase A este mărită din punct de vedere al contribuţiei la activarea celulei B". Pe baza acestui postulat, Hebb a propus un model celular de învăţare asociativă, care are ca rezultat o modificare de durată în activitatea unor "ansambluri de celule nervoase" spaţial distribuite. Să nu uităm că postulatul lui Hebb este făcut într-un context neurobiologic. De aceea, vom încerca să analizăm şi să interpretăm acest postulat prin prisma noastră de interes, şi anume a calculului neuronal [188]:
51
•
dacă doi neuroni aflaţi de o parte şi alta a unei sinapse sunt activaţi simultan (sincron), atunci tăria sinaptică se măreşte;
•
dacă doi neuroni aflaţi de o parte şi alta a unei sinapse sunt activaţi asincron (un neuron activ şi celălalt inactiv), atunci tăria sinaptică se micşorează sau este eliminată.
Atunci, putem să definim ceea ce înseamnă o legătură sinaptică privită din acest punct de vedere [93], şi pe care o numim sinapsă Hebbiană: Def. 3.4: O sinapsă Hebbiană este o sinapsă care utilizează un mecanism dependent temporal, cu un puternic caracter local şi interactiv, cu scopul de a mări tăria sinaptică ca o funcţie de corelaţie dintre activitatea presinaptică şi postsinaptică. Conceptul de învăţare Hebbiană poate fi generalizat dacă luăm în considerare că pe de o parte o activitate pozitiv corelată produce mărirea tăriei sinaptice, şi pe de altă parte că activitatea necorelată sau negativ corelată produce micşorarea tăriei sinaptice. Mergând mai departe, putem să clasificăm modificările sinaptice ca fiind [153]: •
modificări sinaptice Hebbiene;
•
modificări sinaptice anti-Hebbiene;
•
modificări sinaptice non-Hebbiene.
Formularea matematică generală a postulatului lui Hebb, se face în felul următor:
(
)
Δw µji = f x iµ , y µj , i = 1,K, n, j = 1, K, m
(3.7)
unde f(⋅ , ⋅) este o funcţie de două variabile, prima variabilă reprezentând activitatea presinaptică xiµ , iar a doua variabilă reprezentând activitatea postsinaptică y iµ .
III.2.3. Învăţare competitivă Învăţarea competitivă se bazează pe un proces concurenţial între neuronii din stratul de ieşire, existând un neuron "câştigător", în detrimentul celorlalţi neuroni. Dacă în ceilalţi algoritmi de învăţare prezentaţi până acum, toţi neuronii din stratul de ieşire puteau genera valori de ieşire mai mari sau mai mici, în algoritmul de învăţare competitivă, doar neuronul de ieşire "câştigător" este activ (generează o valoare nenulă), ceilalţi neuroni de ieşire devenind inactivi (generează valoarea zero). Conform cu [173] există trei elemente fundamentale într-un proces de învăţare bazat pe un algoritm de învăţare competitiv: •
există o mulţime de neuroni identici, cu singura excepţie a existenţei unor tării sinaptice distribuite aleator între neuroni, care vor provoca un răspuns distinct la o mulţime dată de stimuli de intrare;
•
există o limitare a tăriei sinaptice dintre oricare doi neuroni; 52
•
există un mecanism care permite competiţia dintre neuroni, competiţie ce are ca rezultat faptul că doar un neuron (sau un grup de neuroni) este declarat câştigător, mecanismul permiţându-i câştigătorului să devină activ, ceilalţi neuroni învinşi devenind inactivi.
Să explicităm în cele ce urmează modelul general matematic al învăţării competitive. În acest algoritm de învăţare se consideră că fiecărui neuron i se alocă o "cantitate fixă" de tărie sinaptică. Pe această bază, avem relaţia normalizată:
∑w i
ji
= 1, j = 1,2,...
(3.8)
Când un anumit neuron învaţă, înseamnă că îşi va modifica starea, încercând să-şi apropie vectorul tăriei sinaptice w către vectorul de intrare x. Atunci, conform cu legea de învăţare competitivă standard avem relaţia matematică: ⎧η (x − w ji ), dacă neuronul j este câstigător Δw ji = ⎨ i 0, dacă neuronul j este învins ⎩
(3.9)
III.2.4. Învăţare Boltzmann Algoritmul de învăţare Boltzmann are la bază o metodă probabilistică derivată din teoria termodinamicii şi din teoria informaţională [97]. Vom prezenta în cele ce urmează elementele generale ale algoritmului de învăţare Boltzmann. O reţea neuronală Boltzmann este constituită dintr-o structură neuronală recurentă, neuronii constituenţi operând într-o manieră binară: fie sunt activi, starea lor fiind reprezentată prin valoarea +1, fie sunt inactivi, starea lor fiind reprezentată prin valoarea -1. Reţeaua neuronală Boltzmann este caracterizată printr-o funcţie energetică E, a cărei valoare este determinată de starea particulară a fiecărui neuron individual aparţinând reţelei neuronale. Funcţia energetică este definită astfel: E=−
1 ∑ ∑ w ji s j si 2 i j ,i ≠ j
(3.10)
unde si reprezintă starea neuronului i, sj reprezintă starea neuronului j, iar wji reprezintă tăria sinaptică dintre neuronii i şi j. Relaţia i ≠ j pune în evidenţă faptul că nici un neuron nu are conexiune către el însuşi. Modul de operare al reţelei neuronale Boltzmann: •
la un anumit pas din cadrul procesului de învăţare se alege în mod aleator un neuron, fie acesta neuronul j, şi se modifică starea acestuia: sj → - sj
(3.11)
53
la o anumită "temperatură" T 1 ce caracterizează procesul de învăţare, cu probabilitatea:
(
)
1
P sj → −sj =
1+ e
−
ΔE j
(3.12)
T
unde ΔEj reprezintă modificarea energetică a reţelei neuronale ca urmare a transformării sj → - sj. •
dacă această regulă se aplică repetat reţeaua neuronală va atinge un punct de echilibru termic.
Reţeaua neuronală Boltzmann este constituită din două tipuri de neuroni: •
neuroni vizibili - reprezintă neuronii care interfaţează reţeaua neuronală cu mediul înconjurător în care operează;
•
neuroni invizibili - care au un mod de operare liber.
Reţeaua neuronală Boltzmann are două moduri de operare: •
condiţii impuse - toţi neuronii vizibili sunt setaţi la o stare specifică determinată de mediul înconjurător;
•
condiţii libere - toţi neuronii, vizibili şi invizibili sunt lăsaţi să opereze liber.
Vom nota cu: •
c +ji corelaţia condiţională dintre stările neuronilor i şi j, aflaţi în condiţii impuse;
•
c −ji corelaţia necondiţională dintre stările neuronilor i şi j, aflaţi în condiţii
libere. Ambele corelaţii c +ji şi c −ji sunt luate ca medii ale tuturor stărilor posibile ale reţelei neuronale, când aceasta se găseşte în punctul de echilibru termic. Atunci putem să definim matematic:
c +ji = ∑ ∑ Pαβ+ s j αβ si αβ
(3.13)
c −ji = ∑ ∑ Pαβ− s j αβ si αβ
(3.14)
α
α
β
β
unde am notat: •
si αβ - starea neuronului i, dacă neuronii vizibili se găsesc în starea α şi neuronii
invizibili se găsesc în starea β; •
Pαβ+ - probabilitatea condiţională ca neuronii vizibili să se găsească în starea α iar
toţi neuronii invizibili în starea β, dacă reţeaua neuronală este în modul de operare impus; 1
T nu reprezintă temperatura fizică, ci un parametru ce caracterizează starea reţelei neuronale.
54
•
Pαβ− - probabilitatea condiţională ca neuronii vizibili să se găsească în starea α
iar toţi neuronii invizibili în starea β, dacă reţeaua neuronală este în modul de operare liber. Atunci regula de învăţare Boltzmann poate fi definită matematic astfel:
(
)
Δw ji = η c +ji − c −ji , i ≠ j
(3.15)
parametrul η ∈ R reprezintă rata de învăţare.
III.3. Paradigme de învăţare III.3.1. Învăţare supervizată Modificarea tăriilor sinaptice este făcută pe baza comparaţiei dintre vectorul de ieşire y µ = ( y1µ , y 2µ ,..., y mµ ) , μ = 1,....,P obţinut la stratul de ieşire şi vectorul ţintă z µ = ( z1µ , z 2µ ,..., z mµ ), µ = 1,..., P , ce reprezintă rezultatul dorit a se obţine la stratul de ieşire,
când la stratul de intrare s-a prezentat vectorul de intrare x µ = ( x0µ , x1µ ,..., xnµ ), µ = 1,..., P din mulţimea de antrenament. Vectorul ţintă z µ este furnizat de un profesor (antrenor-supervizor), de unde şi denumirea de învăţare supervizată. Învăţarea supervizată presupune prezentarea de către un antrenor a unor perechi de date de forma (x µ , z µ ), µ = 1,..., P ce formează o mulţime de date, numită mulţime de antrenament: T=
{( x
µ
}
, z µ ) µ = 1,2,K, P
(3.16)
Diferenţa dintre răspunsul obţinut y şi răspunsul dorit z, reprezintă eroarea şi este folosită pentru a modifica tăriile sinaptice, pe baza unui algoritm specific, numit lege de învăţare. Putem reprezenta învăţarea supervizată cu ajutorul următoarei diagrame [93]:
55
Antrenor z Mediul înconjurător
y
Σ
Reţea neuronală
e Fig. 3.2.: Diagrama învăţării supervizate.
Se observă din această diagrama echivalenţa paradigmei de învăţare supervizată cu algoritmul de învăţare bazat pe minimizarea funcţiei eroare [16].
III.3.2. Învăţare nesupervizată În cadrul învăţării nesupervizate nu există profesor (antrenor) [64]. Reţeaua neuronală trebuie să fie în stare să “descopere” singură modele, trăsături, corelaţii sau categorii în mulţimea datelor de intrare şi să le codifice sub forma unor date de ieşire [176], [177]. Neuronii şi conexiunile reţelei neuronale trebuie să reprezinte un anumit grad de autoorganizare (self-organization). Învăţarea nesupervizată poate fi utilizată doar atunci când în mulţimea datelor de intrare există redundanţă. Fără redundanţă este imposibil de a descoperi vreun model (patern) sau trăsătură în mulţimea datelor de intrare. Din acest punct de vedere redundanţa asigură cunoaşterea [13]. În diagrama de mai jos este reprezentată paradigma învăţării nesupervizate:
Mediul înconjurător
Reţea neuronală
Fig. 3.3.: Diagrama învăţării nesupervizate.
În cadrul învăţării nesupervizate nu avem la dispoziţie exemple ale funcţiei ce trebuie învăţată de către reţeaua neuronală. Mai degrabă avem informaţii despre o măsură a calităţii reprezentării la care trebuie să ajungă reţeaua neuronală prin procesul de învăţare, iar parametri acesteia vor fi optimizaţi în raport cu această măsură. O dată ce procesul de învăţare s-a terminat şi reţeaua neuronală a fost acordată la trăsăturile statistice ale datelor de intrare, 56
ea va fi capabilă să formeze reprezentări interne care să codifice trăsăturile datelor de intrare şi să creeze în mod automat noi clase. Pentru ca o reţea neuronală să poată efectua o învăţare nesupervizată putem utiliza un algoritm de învăţare Hebbiană sau un algoritm de învăţare competitivă.
III.3.3. Învăţare întărită (reinforcement) Învăţarea întărită poate fi definită ca fiind învăţarea on-line a unei relaţii de intrareieşire (input-output) prin intermediul unui proces de încercări şi erori desemnate să maximizeze un index scalar de performanţă numit semnal de întărire (reinforcement signal). Ideea de învăţare întărită are la origine [140] studiile psihologice efectuate asupra învăţării animalelor (dresaj). Definiţia care pare a fi cea mai potrivită a fost dată de Sutton [189] şi de Barto [14]: Def. 2.5: Dacă în urma acţiunii unei reţele neuronale se obţine o stare caracterizată ca fiind pozitivă, atunci tendinţa reţelei neuronale de a produce acelaşi rezultat va creşte sau va fi întărită. Altfel, celelalte acţiuni care au ca rezultat efecte negative vor descreşte tendinţa reţelei neuronale de a produce acel rezultat. Conform clasificării lui Sutton [190] paradigma învăţării întărite poate fi: •
învăţare întărită neasociativă - reţeaua neuronală are rolul de a selecta o unică acţiune optimală, în loc de a face asocierea diferitelor acţiuni cu diferiţi stimuli;
•
învăţare întărită asociativă - mediul înconjurător
•
pune la dispoziţie informaţii adiţionale, altele decât semnalul de întărire, prin care o relaţie de forma stimul-acţiune trebuie învăţată. Întărire primară Mediul înconjurător
Critic Întărire euristică Element de învăţare
Bază de cunoştinţe
Acţiuni
Element de prelucrare Sistem de învăţare
Fig. 3.4.: Diagrama învăţării întărite. 57
În diagramă, avem un element numit critic care are rolul de a transforma semnalele primare de întărire, recepţionate de la mediul înconjurător, într-un semnal de calitate numit semnal euristic de întărire. Ambele semnale de întărire sunt codificate prin intermediul unor scalari reali. Sistemul de învăţare este constituit din cele trei componente normale pentru orice sistem AI (Artificial Intelligence): •
elementul de învăţare este responsabil de toate modificările ce trebuie operate în baza de cunoştinţe;
•
elementul de prelucrare este responsabil de selectarea unor acţiuni aleatoare pe baza unei distribuţii, care la rândul ei este determinată de cunoştinţele stocate în baza de cunoştinţe şi de mediul înconjurător de care aparţine sistemul de învăţare.
Pe baza stimulilor de intrare de la mediul înconjurător şi de la baza de cunoştinţe, elementul de prelucrare va determina relaţia: intrare → distribuţia relaţiei acţiunilor de ieşire Sistemul descris mai sus este capabil să înveţe şi în condiţii de întărire temporală, adică, sistemul de învăţare poate observa o secvenţă temporală de stimuli de intrare care generează semnalul de întărire euristică.
III.4. Natura statistică a procesului de învăţare
III.4.1. Generalităţi Să considerăm un fenomen descris printr-un vector x ∈ Rn ce reprezintă o mulţime de variabile independente, şi un scalar real2 z ∈ R ce reprezintă o variabilă dependentă. Elementele vectorului x pot fi considerate ca având interpretări fizice diferite [162]. Să presupunem de asemenea, că avem o mulţime de N măsurători (observaţii) ale variabilei x, şi anume: x1, x2, x3, ..., xN
(3.17)
şi o mulţime corespunzătoare de scalari z, notată: z1, z2, z3, ..., zN
(3.18)
În mod obişnuit, nu posedăm informaţiile necesare despre relaţia exactă dintre variabilele x şi z. De aceea, vom nota această relaţie astfel:
2
Pe baza unor observaţii anterioare efectuate în Cap. II, am văzut că studiul unei reţele neuronale cu m neuroni în stratul de ieşire poate fi redus la studiul a m reţele neuronale cu un unic neuron în stratul de ieşire. De aceea, nu reducem deloc generalitatea când considerăm că z ∈ R , în loc de z ∈ Rm.
58
z = f ( x) + ε
(3.19)
unde f este o funcţie de variabila x, iar ε este eroarea reprezentată sub forma unei variabile aleatoare. Eroarea ε semnifică eroarea pe care o facem în estimarea dependenţei funcţionale dintre variabilele x şi z. Ecuaţia (3.19) de mai sus este un model statistic [93], numit model regresiv, putând fi reprezentat ca în figura de mai jos:
x
f(x)
Σ
z
ε Fig. 3.5: Modelul statistic regresiv corespunzător ecuaţiei (3.19).
Conform cu [205], putem defini funcţia f a modelului regresiv ca fiind: f ( x ) = E[ z x ]
(3.20)
unde E este operatorul de medie statistică [67]. E[ z x ] reprezintă media condiţională [21], semnificând faptul că vom obţine, în medie, valoarea z, dacă avem o realizare particulară a lui x. În particular, dacă relaţia funcţională dintre variabilele x şi z este cunoscută cu exactitate, vom avea în modelul regresiv eroarea ε = 0, ceea ce este un caz ideal ce nu se prea întâlneşte în practică. Să analizăm proprietăţile modelului regresiv: •
Fiind dată o realizare a variabilei aleatoare x, valoarea medie a erorii ε este nulă, adică: E[ε x ] = 0
•
(3.21)
Eroarea ε este necorelată cu funcţia f(x), adică: E[ε ⋅ f ( x ) ] = 0
(3.22)
Ultima relaţie este cunoscută în statistică sub numele de principiul ortogonalităţii, semnificaţia sa fiind faptul că toate informaţiile noastre despre variabila aleatoare x au fost codificate în funcţia de regresie f. De fapt, esenţa acestui model este de a predicţiona pe z pe baza lui x. Prin modelul regresiv statistic am luat în considerare o interpretare pur matematică. Să vedem cum se încadrează în această interpretare calculul neuronal. O reţea neuronală reprezintă de fapt un mecanism fizic pentru a implementa acest obiectiv: predicţionarea lui z pe baza lui x. Acest lucru se realizează prin codificarea 59
informaţiei conţinută în mulţimea de antrenament T = {(x i , z i ) i = 1,2, K, N} în tăriile sinaptice. Este evidentă interpretarea, din punct de vedere al calcului neuronal, dată celor două mărimi x şi z: x reprezintă vectorul (stimulul) de intrare în reţeaua neuronală, iar z reprezintă valoarea ţintă, dorită a se obţine la stratul de ieşire al reţelei neuronale. Să notăm cu w vectorul tăriilor sinaptice a reţelei neuronale, care va avea rolul de a aproxima modelul regresiv exprimat prin ecuaţia (3.19) şi reprezentat grafic în Fig. 3.5. Conform cu notaţiile introduse în capitolul anterior, vom nota cu y valoarea de ieşire generată de reţeaua neuronală. Atunci, prin propagarea valorii de intrare x de la stratul de intrare către stratul de ieşire, unde obţinem valoarea y, putem scrie corespondenţa:
y = F ( x, w )
(3.23)
De asemenea, datorită faptului că mulţimea de antrenament conţine şi vectori ţintă, care sunt furnizaţi de un antrenor, este evidentă analogia cu paradigma învăţării supervizate. De aceea, modificarea vectorului tăriilor sinaptice se va face printr-un proces iterativ, ca răspuns la semnalul eroare: e= z−y
(3.24)
Dacă ar fi să reprezentăm grafic modelul regresiv (3.19), sub noua sa interpretare dată de calculul neuronal, am obţine diagrama de mai jos:
y x
F(x,w)
z
Σ e
Fig. 3.6: Modelul corespunzător calculului neuronal.
Conform celor prezentate în III.3.1., modificarea vectorului tăriilor sinaptice, se face folosind un algoritm de învăţare de tip corecţie a erorii MSE (3.3) sau (3.4). Putem atunci scrie: E( w ) =
[
1 1 1 2 2 E e 2 = E ( z − y) = E ( z − F( x, w ) ) 2 2 2
[ ]
[
]
]
(3.25)
Optimizarea reţelei neuronale înseamnă minimizarea funcţiei eroare. Pentru aceasta relaţia (3.25) devine:
E( w ) =
[
]
1 2 E ( z − f ( x ) + f ( x ) − F( x, w ) ) = 2
60
[ [
] [
1 2 E ( z − f ( x ) ) + E ( z − f ( x ) )( f ( x ) − F( x, w ) ) + 2 1 1 1 2 2 2 + E ( f ( x ) − F( x, w ) ) = E ( z − f ( x ) ) + E ( f ( x ) − F( x, w ) ) 2 2 2 =
]
]
[
]
[
] (3.26)
În ecuaţia de mai sus s-au folosit următoarele relaţii:
[
]
[
]
E ( z − f ( x ) )( f ( x ) − F( x, w ) ) = E ε ⋅ ( f ( x ) − F( x, w ) ) = = E[ε ⋅ f ( x ) ] − E[ ε ⋅ F( x, w )] E[ ε ⋅ F( x, w )] = 0
(3.27)
(3.28)
Deoarece primul termen al ecuaţiei (3.26) depinde de vectorul tăriilor sinaptice w0, care este vectorul care minimizează funcţia eroare E (w ) , rezultă că acesta va minimiza de asemenea şi integrala:
[
E ( f ( x ) − F ( x, w ) )
2
]=∫
Rn
g( x )( f ( x ) − F( x, w ) ) dx 2
(3.29)
unde g(x) reprezintă funcţia de densitate probabilistică a lui x. Putem concluziona că w0 este vectorul tăriilor sinaptice care are proprietatea că F(x, w0) este aproximarea MSE a funcţiei de medie condiţională f ( x ) = E[ z x ] . Aceasta reprezintă natura statistică a procesului de învăţare, pus în evidenţă prin intermediul măsurii performanţei MSE. Din relaţiile (3.20) şi (3.26) obţinem: E( w ) ≥
[
2 1 E ( z − E[ z x ]) 2
]
(3.30)
care ne arată că din toate funcţiile, modelul regresiv este cea mai bună estimare a răspunsului dorit (ţintă) z, dacă se cunoaşte vectorul de intrare x. Termenul de "cea mai bună" trebuie considerat în sensul optimizării MSE. Măsura (performanţele) mediului înconjurător sunt reprezentate prin intermediul funcţiei de densitate probabilistică g(x), având un rol determinant în determinarea vectorului tăriilor sinaptice optim w0. O reţea neuronală optimizată (antrenată) în acest fel va genera, în medie, erori minime pentru valori ale vectorului de intrare x, care sunt cel mai probabil să fie prezentate reţelei neuronale [58]. De aceea, o reţea neuronală ce are vectorul tăriilor sinaptice w0 nu va avea performanţe asemănătoare într-un alt mediu înconjurător, caracterizat printr-o funcţie de densitate probabilistică diferită de g(x).
61
III.4.2. Contradicţia dintre varianţă şi bias Din paragraful anterior, am văzut că pe baza modelului regresiv, distanţa dintre funcţia de aproximat f(x) şi funcţia aproximantă F(x,w) - reţeaua neuronală, poate fi definită astfel:
( f ( x) − F( x, w) ) 2 = ( E[ z x] − F( x, w) )
2
(3.31)
Deoarece avem disponibile informaţiile ţintă (dorite a se obţine la stratul de ieşire al reţelei neuronale), am amintit deja despre necesitatea existenţei în acest caz a unei paradigme de învăţare supervizate. De aceea, avem dreptul să introducem noţiunea şi notaţia de mulţime de antrenament: T = {(x i , z i ) i = 1,2, K, N}
(3.32)
Informaţia conţinută în mulţimea de antrenament va fi transferată, pe baza procesului de minimizare a funcţiei eroare (3.26), tăriilor sinaptice w. În acest fel, funcţia aproximantă F(x,w) (adică reţeaua neuronală) este evident dependentă de mulţimea de antrenament T. Pentru a pune clar în evidenţă această dependenţă vom nota funcţia aproximantă F(x,w) cu F(x,w,T). Să notăm operatorul de medie relativ la toate elementele mulţimii de antrenament T, cu ET. Atunci distanţa dintre funcţia de aproximat f ( x ) = E[ z x ] şi funcţia aproximantă F(x,w,T), se poate scrie:
[ ]= E [( E[ z x ] − E [ F( x, w, T ) ] + E [ F( x, w, T ) ] − F( x, w, T ) ) ] = = ( E [ F( x, w, T ) ] − E[ z x ]) + E [( F( x, w, T ) − E [ F( x, w, T ) ]) ] ET ( E[ z x ] − F( x, w, T ) )
2
2
T
T
T
2
T
(3.33)
2
T
T
Să analizăm relaţia de mai sus. Observăm ca distanţa dintre funcţia de aproximat f ( x ) = E[ z x ] şi funcţia aproximantă F(x,w,T) poate fi descrisă ca suma a doi termeni: •
primul termen: ET [ F( x, w, T ) ] − E[ z x ] reprezintă Bias-ul aproximantei F(x,w,T),
•
media globală ET ( F( x, w, T ) − ET [ F( x, w, T ) ])
măsurat în raport cu funcţia regresivă (de aproximat) f ( x ) = E[ z x ] .
[
aproximante F(x,w,T).
2
]
reprezintă varianţa funcţiei
Dacă, funcţia aproximantă F(x,w,T) este, în medie, diferită de funcţia de aproximat f ( x ) = E[ z x ] , atunci spunem că avem de-a face cu un aproximator Bias a lui f(x). Pe de altă parte, dacă avem: 62
E T [ F ( x , w, T ) ] = f ( x )
(3.34)
atunci spunem că avem un aproximator fără Bias a lui f(x). O aproximantă F(x,w,T) fără Bias a lui f(x) poate avea totuşi o eroare MSE mare, dacă varianţa aproximantei F(x,w,T) este mare. De aceea cele mai bune rezultate le putem obţine atunci când aproximanta F(x,w,T) (adică reţeaua neuronală) are atât Biasul, cât şi varianţa mică. Din păcate, în aplicaţiile practice, deoarece dimensionalitatea mulţimii de antrenament este finită, obţinem un Bias mic cu preţul unei varianţe mari. Doar în situaţii teoretice, când avem de-a face cu mulţimi de antrenament infinit dimensionale, putem spera la un Bias şi la o varianţă mică. Astfel, suntem puşi în faţa unei "contradicţii", a cărei efect îl reprezintă o slabă convergenţă a procesului de învăţare. Cum putem totuşi face faţă acestei "contradicţii" bias / varianţă ? Soluţia poate fi introducerea voluntară a bias-ului, ceea ce va avea ca efect reducerea varianţei. Evident trebuie să facem în aşa fel încât introducerea bias-ului să nu "dăuneze" reţelei neuronale care are rolul de funcţie aproximantă. Pentru aceasta, trebuie să subliniem că bias-ul nu este "dăunător" doar dacă contribuţia sa la eroarea MSE este semnificativă doar în acele regiuni care nu aparţin clasei anticipate. Aceasta va presupune însă includerea bias-ului în însăşi arhitectura reţelei neuronale, adică constrângerea arhitecturii reţelei neuronale. Această soluţie va fi de fapt şi strategia noastră ulterioară, în tentativa de a construi reţele neuronale cu performanţe deosebite din punct de vedere a teoriei aproximării.
III.4.3. Modelul general al procesului de învăţare
Din studiul statistic al procesului de învăţare am văzut echivalenţa problemei aproximării unei funcţii descrise cu ajutorul unei mulţimi de antrenament T = {( x i , z i ) i = 1,2,K, N} cu procesul de învăţare al unei reţele neuronale pe baza aceleaşi mulţimi de antrenament T = {( x i , z i ) i = 1,2,K, N} . De asemenea, modelele de aproximare prezentate corespundeau paradigmei de învăţare supervizată. Conform cu [198], un model de învăţare supervizată are trei componente reprezentabile astfel:
63
Mediul înconjurător X descris de distribuţia P(x)
Antrenor (Profesor)
x1,x2,...,xN
T = {( x i , z i ) i = 1,2, K , N }
Reţea neuronală: w∈W
x
F(x,w) ≈ z Fig. 3.7: Modelul Vapnik al învăţării supervizate.
Cele trei componente sunt: • Mediul înconjurător X - care transmite stimulul x ∈ X, generat de o distribuţie probabilistică oarecare fixată P(x); • Antrenorul - care furnizează răspunsurile ţintă z3, ce se doresc a se obţine la ieşirea reţelei neuronale, pentru orice vector de intrare x, în concordanţă cu distribuţia probabilistică fixă P( z x ) . Vectorii x şi z sunt legaţi prin relaţie funcţională necunoscută f:
z = f ( x)
(3.35)
• Reţeaua neuronală F(x, w) - este capabilă să implementeze relaţia funcţională dintre x şi z, descrisă prin relaţia:
y = F ( x, w )
(3.36)
Problema învăţării constă în selectarea, pe baza unei mulţimi de antrenament T = {( x i , z i ) i = 1,2,K, N} cunoscută a priori, a funcţiei F(x,w) ce aproximează vectorul ţintă
z, furnizat de antrenor. Selecţia funcţiei F(x,w) se bazează deci, pe cele N elemente ale mulţimii de antrenament T, care sunt independent şi identic distribuite. Problema învăţării: Problema fundamentală a învăţării supervizate este dacă mulţimea de antrenament T = {( x i , z i ) i = 1,2,K, N} conţine suficiente informaţii pentru a putea construi o funcţie aproximantă F(x, w), deci o reţea neuronală, capabilă să înveţe cât mai bine datele de antrenament şi în plus să aibă capacitatea de generalizare.
3
Revenim la cazul general când vectorul ţintă z este considerat un vector z ∈ Rm şi nu un scalar.
64
Proprietatea de generalizare reprezintă capabilitatea unei reţele neuronale de a răspunde la date de intrare ce nu au făcut parte din mulţimea de antrenament. Este evident faptul că scopul învăţării unei reţele neuronale trebuie să fie obţinerea unei bune capacităţi de generalizare. Generalizarea poate fi privită, dacă considerăm reţeaua neuronală ca o aplicaţie între spaţiul datelor de intrare şi spaţiul datelor de ieşire (obţinute la stratul de ieşire), ca fiind abilitatea de interpolare a aplicaţiei respective [186]. Să presupunem că după ce o reţea neuronală a efectuat faza de învăţare, dorim să extragem o lege care să definească comportamentul ei. Vom reprezenta schematic modul de extragere a unei legi în Fig.3.8.
X
R T
G
Fig.3.8.: Reprezentarea schematică a modului de extragere a unei legi (după [40]).
Să explicăm schema din figura de mai sus. X reprezintă spaţiul tuturor datelor de intrare, perechi de forma (vectori de intrare, vectori ţintă), date ce sunt consistente cu o anumită lege R. În procesul de învăţare, o submulţime a legii R, notată T, şi care reprezintă mulţimea de antrenament, este folosită pentru a învăţa o reţea neuronală. După ce procesul de învăţare s-a terminat, testăm capacitatea de generalizare a reţelei, cu ajutorul unei submulţimi G ⊂ R, disjunctă de T. Putem deci concluziona că performanţele reţelei neuronale, relative la submulţimea T ⊂ R, reprezintă capacitatea de memorare a reţelei, iar performanţele relative la submulţimea G ⊂ R, reprezintă capacitatea de generalizare a reţelei neuronale. De obicei T şi G sunt alese aleator din mulţimea R, ambele fiind generate de aceeaşi lege de distribuţie. De fapt, în procesul de învăţare, reţeaua neuronală învaţă doar elementele submulţimii T, fără a şti nimic despre G şi R. De aceea, este natural ca această reţea neuronală, să fie capabilă de a generaliza orice mulţime de date de intrare care este consistentă cu T. Acest lucru este reprezentat în Fig.3.9.
65
U
G2 G1 G3
T
Fig.3.9: Reprezentarea schematică a capacităţii de generalizare a unei reţele neuronale (după [40]).
Problema generalizării poate fi îngreunată dacă saturăm procesul de învăţare a reţelei neuronale printr-un număr prea mare de date de antrenament. În această situaţie capacitatea de generalizare a reţelei neuronale este slabă. Ca un exemplu, în Fig.3.10. se prezintă problema generalizării datorită suprasaturării procesului de învăţare, privită prin prisma interpolării datelor de antrenament.
(a)
(b)
Fig.3.10. :Reprezentarea schematică a problemei generalizării, unde avem: ο - date de antrenament; • - date pentru generalizare; (a) Învăţare reuşită, generalizare bună; (b) Învăţare saturată, generalizare slabă.
Aceste elemente referitoare la capacitatea de generalizare a reţelei neuronale, sugerează posibilitatea de a cuantifica estimativ capacitatea reţelei neuronale de a generaliza, în funcţie de arhitectura sa şi de dimensiunea mulţimii de antrenament. Pentru aceasta, vom selecta din numeroasele posibilităţi de cuantificare a generalizării, următoarele [96]: •
Numărul mediu de posibilităţi de generalizare în raport cu o mulţime de antrenament.
•
Probabilitatea ca reţeaua neuronală antrenată să genereze, în medie, răspunsuri corecte pentru date de intrare alese aleator din spaţiul datelor de intrare.
•
Probabilitatea ca reţeaua neuronală antrenată să genereze, în medie, răspunsuri incorecte pentru date de intrare alese aleator din spaţiul datelor de intrare. 66
Răspunsul la Problema învăţării poate fi obţinut dacă privim această problemă prin prisma teoriei aproximării, adică studiem învăţarea unei reţele neuronale ca o problemă de aproximare: să găsim funcţia F(x,w) care aproximează cel mai bine funcţia dorită f(x) [196] . Să notăm cu d eroarea dintre vectorul ţintă z, ce se doreşte a se obţine pentru vectorul de intrare x, şi răspunsul generat de reţeaua neuronală, exprimat prin funcţia aproximantă F(x,w). Definim această eroare cu ajutorul distanţei Euclidiene: d ( z; F( x, w ) ) = z − F( x, w )
2
(3.37)
Vom defini funcţionala risc [196] ca fiind media erorii definite mai sus: R( w ) = ∫ d ( z; F( x, w ) )dP( x, z)
(3.38)
Integrala de mai sus este considerată în sens Riemann-Stieljes, iar P(x,z) reprezintă distribuţia probabilistică a vectorului de intrare x şi a vectorului ţintă z. În noua formulare, Problema învăţării devine Problema minimizării: Problema minimizării: Să se minimizeze funcţionala risc (3.38) în raport cu clasa de funcţii aproximante F(x,w), când w ∈ W. Problema minimizării este complicată [93] datorită faptului că distribuţia probabilistică P(x,z) este necunoscută, după cum se vede şi din relaţia de mai jos:
P(x, z) = P(z, x)P( x)
(3.39)
Singura informaţie disponibilă este cea conţinută în mulţimea de antrenament T = {( x i , z i ) i = 1,2,K, N} . De aceea, vom face apel la principiul inductiv al minimizării riscului empiric dezvoltat de Vapnik [197]. Ideea fundamentală a principiul inductiv al minimizării riscului empiric este de a utiliza un set independent de date de antrenament T = {( x i , z i ) i = 1,2,K, N} pentru funcţia aproximantă F(x,w), cu scopul de a defini funcţionala risc empiric:
Remp ( w ) =
1 N ∑ d (z i ; F(x i , w)) N i =1
(3.40)
Funcţionala risc empiric nu mai este în acest moment dependentă de distribuţia probabilistică P(x,z). Teoretic, la fel ca şi funcţionala risc R(w) (3.38), funcţionala risc empiric Remp(w) (3.40) poate fi minimizată în raport cu parametrul w, care corespunde tăriilor sinaptice ale reţelei neuronale. Să facem notaţiile: • wemp - vectorul tăriilor sinaptice care minimizează funcţionala risc empiric Remp(w); 67
• F(x,wemp) - funcţia aproximantă (reţeaua neuronală) corespunzătoare lui wemp; • w0 - vectorul tăriilor sinaptice care minimizează funcţionala risc R(w); • F(x,w0) - funcţia aproximantă (reţeaua neuronală) corespunzătoare lui w0. Problema învăţării, respectiv problema minimizării devine în această abordare: În ce condiţii funcţia aproximantă F(x,wemp) este "suficient de aproape" de aproximantă dorită F(x,w0) ? Condiţia de apropiere va fi măsurată prin diferenţa dintre riscul empiric Remp(w) şi riscul R(w). Pentru orice valoare fixată w* a vectorului tăriilor sinaptice, funcţionala risc R(w*) determină media următoarei variabile aleatoare:
(
Aw ∗ = d z; F( x, w ∗ )
)
(3.41)
Pe de altă parte, funcţionala risc empiric Remp(w*) reprezintă media aritmetică a variabilei aleatoare Aw∗ . Pe baza unor elemente clasice de teoria probabilităţilor, dacă
dimensionalitatea mulţimii de antrenament T = {( x i , z i ) i = 1,2,K, N} tinde la infinit, atunci media aritmetică a variabilei aleatoare Aw∗ va converge către media sa. Această remarcă ne dă
dreptul, din punct de vedere teoretic, să utilizăm în locul funcţionalei risc R(w), funcţionala risc empiric Remp(w). Dar nu trebuie să ne aşteptăm ca vectorul tăriilor sinaptice ce minimizează funcţionala risc empiric Remp(w) să minimizeze de asemenea şi funcţionala risc R(w). Pentru aceasta vom aplica principiul minimizării riscului empiric [197] , formulat astfel: •
în locul funcţionalei risc R(w) vom construi funcţionala risc empiric Remp(w) conform formulei (3.40), utilizând mulţimea dată de antrenament T = {( x i , z i ) i = 1,2,K, N} ;
•
fie wemp vectorul tăriilor sinaptice care minimizează funcţionala risc R(w) relativ la spaţiul tăriilor sinaptice W. Dacă dimensionalitatea N a mulţimii de antrenament tinde la infinit şi dacă funcţionala risc empiric Remp(w) va converge uniform către funcţionala risc R(w), atunci funcţionala risc empiric Remp(w) va converge în probabilitate către cea mai mică valoare posibilă a funcţionalei risc R(w), w ∈ W. Uniform convergenţa se defineşte astfel:
⎧ ⎫ Prob ⎨ sup R( w ) − Remp ( w ) > ε ⎬ → 0, dacã N → ∞ ⎩w∈W ⎭
(3.42)
Ultima relaţie reprezintă condiţia necesară şi suficientă pentru valabilitatea principiul minimizării riscului empiric.
68
III.4.4. Capacitatea de generalizare Vom urma o idee prezentată în [96], pentru a studia prin prisma acestor elemente, capacitatea de generalizare a unei reţele neuronale. Fie o mulţime de reţele neuronale cu o arhitectură dată fixată, specificată prin numărul de straturi, numărul de neuroni din fiecare strat, conexiuni sinaptice, funcţii de activare. Fiecărei reţele neuronale îi corespunde o mulţime de tării sinaptice, pe care o vom nota w. O mulţime de tării sinaptice w poate fi interpretată ca un punct în spaţiul tăriilor sinaptice posibile, spaţiu pe care-l vom numi tot spaţiul tăriilor sinaptice W. Când vom considera media în raport cu mulţimea reţelelor neuronale, ea va reprezenta media în raport cu spaţiul tăriilor sinaptice, medie calculată în raport cu o densitate probabilistică a priori, notată ρ(w). Putem defini volumul disponibil V0 al spaţiului tăriilor sinaptice: V0 = ∫ dwρ( w)
(3.43)
Orice punct w din spaţiul tăriilor sinaptice, reprezintă o reţea neuronală ce implementează funcţia F(x,w), funcţie corespunzătoare valorilor generate de neuronii din stratul de ieşire, când la stratul de intrare se prezintă vectorul de intrare x. Astfel, spaţiul tăriilor sinaptice este partiţionat într-o mulţime de submulţimi disjuncte, câte una pentru fiecare funcţie f(x), pe care mulţimea de reţele neuronale o poate implementa. Volumul subspaţiului care implementează o funcţie particulară f este:
unde:
V0 ( f ) = ∫ dwρ ( w) ⋅ θ f ( w)
(3.44)
⎧1, F( x,w ) = f ( x ), (∀) x ∈ X θ f (w) = ⎨ 0, altfel ⎩
(3.45)
Fracţia din spaţiul tăriilor sinaptice, care implementează o funcţie dată f, sau probabilitatea de a obţine funcţia f, când alegem tării sinaptice aleatoare, conform distribuţiei ρ(w) este: R0 ( f ) =
V0 ( f ) V0
(3.46)
Însumând în raport cu mulţimea tuturor funcţiilor, putem defini entropia informaţională: S 0 = − ∑ R0 ( f ) ⋅ log 2 R0 ( f ) f
69
(3.47)
S0 reprezintă diversitatea funcţională a arhitecturii reţelelor neuronale. Dacă S0 are o valoare mare, avem nevoie de mai multă informaţie pentru a specifica o funcţie particulară. În cazul în care avem K funcţii posibile, de volum egal V0(f), obţinem: ⎧⎪ 1 , dacã f ∈ celor K functii de volum egal V0 ( f ) = ⎨ K ⎪⎩ 0, altfel
Atunci obţinem: S 0 = log 2 K sau 2 S0 = K
(3.48)
(3.49)
Să considerăm o paradigmă de învăţare supervizată, în care se prezintă perechi de date ( x i , z i ) , ce corespund unei aplicaţii ţintă: z i = f ( x i ), i = 1, K, N
(3.50)
Presupunând că reţeaua neuronală a învăţat cu succes (funcţia eroare converge către zero), punctul w ce corespunde acestei reţele neuronală, va fi localizat într-un subspaţiu al tăriilor sinaptice ce este compatibil cu datele de antrenament ( x i , z i ) . Presupunând că mulţimea de antrenament conţine N perechi de date ( x i , z i ) , atunci volumul subspaţiului rămas este: N
VN = ∫ dwρ( w )∏ I ( F, x i )
(3.51)
⎧1, F( x i , w ) = f ( x i ) I ( F, x i ) = ⎨ altfel ⎩ 0,
(3.52)
i =1
unde:
VN va conţine subspaţiul corespunzător funcţiei ţintă f , împreună cu alte subspaţii corespunzătoare altor funcţii ce coincid cu f pe mulţimea datelor de antrenament. Evident, cu cât N este mai mare, mulţimea funcţiilor ce coincid cu f pe mulţimea datelor de antrenament este mai mică. De aici rezultă că procesul de învăţare poate fi privit ca un proces de reducere continuă a spaţiului admisibil al tăriilor sinaptice, adică:
V0 ≥ V1 ≥ V2 ≥... ≥ VN
(3.53)
Partea din spaţiul tăriilor sinaptice ce corespunde unei funcţii particulare f, se modifică după învăţarea a N exemple, de la R0(f) (3.46) la: RN ( f ) =
VN ( f ) VN
(3.54)
VN(f) reprezintă volumul spaţiului tăriilor sinaptice consistent atât cu funcţia f, cât şi cu exemplele de învăţat ( x i , z i ) . Avem:
70
P
P
i =1
i =1
VN ( f ) = ∫ dwρ ( w )θ f ( w )∏ I ( F, x i ) = V0 ( f )∏ I ( F, x i )
(3.55)
Entropia corespunzătoare este:
S N = − ∑ RP ( f ) ⋅ log 2 RN ( f )
(3.56)
f
SN reprezintă o măsură a numărului de funcţii implementabile, ce sunt compatibile cu mulţimea de antrenament. SN - SN-1 reprezintă cantitatea de informaţie obţinută prin învăţarea datei xN. Dacă învăţarea s-a desfăşurat cu succes, obţinem: SN = S0 - N
(3.57)
În acest fel putem să ne gândim la o limită a numărului necesar de date de antrenament pentru a învăţa o aplicaţie particulară f sau putem să ne gândim la estimarea eficienţei procesului de învăţare [40]. Utilizarea factorului I ( f , x i ) în relaţia (3.55) introduce o discriminare puternică între tăriile sinaptice consistente sau inconsistente cu data de antrenament xi. De aceea, mai ales atunci când mulţimea valorilor de ieşire este o submulţime a lui R (mulţimea numerelor reale - ceea ce înseamnă că avem o funcţie de activare liniară sau sigmoidală sau tangenta hiprbolică), trebuie să relaxăm această discriminare. Acest lucru se poate face înlocuind factorul I ( f , x i ) cu un factor neted, şi anume −βε
e µ , unde β reprezintă parametrul ce controlează descreşterea funcţiei exponenţiale de mai sus de la valoarea 1, unde nu există eroare, la valoarea 0, unde există erori mari, iar εµ reprezintă eroarea generată la stratul de ieşire de data de antrenament xi. Să presupunem că avem o mulţime de antrenament x1, x2,..., xN aleasă aleator cu ajutorul unei distribuţii P(x), fiecare xi, i=1,…,N fiind independent. Atunci, fiecare factor I ( f , x i ) este independent de ceilalţi, ceea ce ne permite să considerăm o medie în raport cu mulţimea tuturor datelor de antrenament. Vom folosi pentru această medie notaţia , obţinând: VN ( f ) = V0 ( f ) ⋅
N
∏ I( f , x ) i
µ =1
= V0 ( f ) ⋅ g N ( f )
(3.58)
Media este relativă la x1, x2,..., xN , cu tăriile sinaptice corespunzătoare P(xi), şi avem: g( f ) = I ( f , x ) = Prob( f ( x ) = f ( x ))
(3.59)
reprezentând: •
probabilitatea ca o funcţie particulară f să fie egală cu funcţia ţintă f în punctul x, punct ales aleator de distribuţia P(x); 71
•
g(f) se numeşte abilitatea de generalizare a lui f, specificând de fapt cât de mult f se apropie de f . g(f) ∈ [0,1] fiind independentă de mulţimea de antrenament.
Să notăm cu PN(f) probabilitatea ca o funcţie f să implementeze, după învăţarea a N exemple de antrenament, funcţia ţintă f . Atunci: V (f) VN ( f ) ≈ P VN VP
PN ( f ) =
(3.60)
Aproximarea de mai sus se bazează pe ipoteză că VN nu variază mult în raport cu o mulţime de antrenament, deci VN ≈ VN pentru orice mulţime de antrenament. Cu ajutorul formulei (3.60) putem calcula distribuţia abilităţii de generalizare în raport cu toate funcţiile posibile f: ρ N ( g) ≡ ∑ PN ( f ) ⋅ δ ( g − g( f )) ∝ ∑ VN ( f ) ⋅ δ ( g − g( f )) = f
f
= g N ∑ V0 ( f ) ⋅δ ( g − g( f )) ∝ g N ρ 0 ( g)
(3.61)
f
Prin normalizare obţinem: ρ N ( g) =
g N ⋅ ρ 0 ( g)
∫ (g
* N
) ρ 0 ( g * ) ⋅ dg *
(3.62)
Deoarece distribuţia iniţială ρ 0 ( g) = V0−1 ∑ V0 ( f ) ⋅ δ ( g − g( f )) depinde doar de f
arhitectura reţelei neuronale şi de restricţia a priori încorporată în ρ(w), rezultă din (3.62) următorul rezultat remarcabil: Putem calcula distribuţia ρP(w) după N exemple de antrenament, dacă cunoaştem distribuţia abilităţii de generalizare, înainte de faza de învăţare. Putem să considerăm şi valoarea medie a abilităţii de generalizare: 1
1
G( N ) = ∫ g ⋅ ρ N 0
∫g ( g)dg = ∫g 0
N +1
1
0
N
ρ 0 ( g)dg
ρ 0 ( g)dg
(3.63)
Reprezentând grafic G(N) în raport cu N-numărul de date de antrenament, obţinem curba de învăţare. G(N) poate fi folosit pentru a determina N în scopul învăţării reţelei neuronale la un nivel corespunzător de performanţă. Comportamentul asimptotic a lui ρN(g) şi deci şi a lui G(N), când N → ∞, este determinat de forma distribuţiei iniţiale ρ0(g) în jurul punctului g = 1. Avem două posibilităţi: 72
• Există o tranziţie abruptă de lungime ε între g = 1 şi următoarea valoare g = g0, pentru care ρ0(g0). Atunci avem: 1 − G( N ) ∝ e
−
N ε
(3.64)
• Dacă nu există tranziţii abrupte la ρ0(g), atunci avem: 1 − G( N ) ∝
1 N
(3.65)
Aceste rezultate deosebite prezentate în acest paragraf au o mare importanţă teoretică: Putem calcula media probabilistică a abilităţii de generalizare corectă, când reţeaua neuronală a fost antrenat utilizând o mulţime de antrenament cu N elemente, dacă cunoaştem în principiu o funcţie ce poate fi calculată înainte de începerea fazei de antrenare. Practic însă e dificil să exploatăm aceste rezultate, deoarece un calcul analitic al distribuţiei a priori ρ0(g) este posibil doar pentru probleme simple. De asemenea, utilizarea abilităţii de generalizare medie, în raport cu subspaţiile spaţiului tăriilor sinaptice, consistente cu mulţimea de antrenament, nu este foarte potrivită, deoarece în practică legea de învăţare poate favoriza unele subspaţii în raport cu altele. În fond, o procedură de învăţare reprezintă un drum în spaţiul tăriilor sinaptice, drum ce reprezintă ajustarea graduală a tăriilor sinaptice cu scopul minimizării funcţiei eroare şi nu o alegere aleatoare a tăriilor sinaptice restricţionate de mulţimea de antrenament. Densitatea probabilistică iniţială ρ(w) încorporează într-un fel acest efect, dar nu în totalitate. De aceea, vom încerca să studiem abilitatea de generalizare în cel mai rău caz şi nu în cel mediu. Pentru a simplifica analiza noastră, vom considera problema clasificării binare, care corespunde unei reţele neuronale ce are în stratul de ieşire un singur neuron cu funcţie de activare sgn(x). Ne interesează g(f) pentru funcţia f pe care o implementează reţeaua neuronală, pentru a şti cât de bine aproximează funcţia f, funcţia ţintă f . Să considerăm o mulţime de antrenament, constituită din P perechi de puncte ( x i , z i ) , i = 1,…,N, cu z i = f ( x i ), i = 1, K, N . Fie g N ( F ) numărul de mulţimi de antrenament, de dimensionalitate N, corect clasificate de funcţia F(⋅,w), implementată de reţeaua neuronală. Scopul legii de învăţare este de a ajusta tăriile sinaptice, astfel încât să maximizăm g N ( F ) , adică g N ( F ) = 1, în condiţiile unei învăţări perfecte. Diferenţa dintre g(f) şi g N ( f ) este datorată faptului că g(f) reprezintă cât de bine aproximează funcţia f funcţia ţintă f , în timp ce g N ( f ) reprezintă cât de bine aproximează funcţia f funcţia ţintă f , ca o medie relativă la o mulţime de antrenament cu N elemente. Cu alte cuvinte g N ( f ) reprezintă o aproximantă a lui g(f) , în condiţii ideale: 73
g N ( f ) → g ( f ),
N →∞
(3.66)
În practică însă, avem relaţia:
g N ( F ) > g( f )
(3.67)
pentru funcţia F(⋅,w) obţinută ca urmare a procesului de învăţare. Dacă însă vom considera o funcţie arbitrară f din mulţimea funcţiilor pe care reţeaua neuronală le poate implementa şi o funcţie F(⋅,w) asociată mulţimii de antrenament, vom fi în stare să estimăm cât de “proastă” poată fi aproximarea funcţiei ţintă f de către f, în cel mai rău caz. Cum acest “cel mai rău caz” este aplicabil oricărei funcţii f implementabile de reţeaua neuronală, obţinem rezultatul: Prob(max g N ( f ) − g( f ) > ε ) ≤ 4 ⋅ m(2 N ) ⋅ e
−
ε 2 ⋅N 8
(3.68)
unde m(N) este o funcţie ce depinde de dimensionalitatea N a mulţimii de antrenament, fiind numită funcţie de creştere şi reprezintă numărul maxim de funcţii diferite (binare în cazul nostru) care pot fi implementate de reţeaua neuronală pe baza unei mulţimi de antrenament cu N elemente. Foarte importanta relaţie (3.68) a fost obţinută de Vapnik şi Chervonenkis [196]. Membrul stâng al relaţiei de mai sus reprezintă probabilitatea ca cea mai slabă aproximare să depăşească o limită ε, pentru orice funcţie implementabilă de către reţeaua neuronală. Dacă de exemplu ε = 0.01, vom şti cu probabilitatea de 99% că g N ( f ) şi g(f) sunt la distanţa de cel mult ε una de alta, pentru orice funcţie f implementabilă de reţeaua neuronală. Dacă procesul de învăţare s-a desfăşurat cu succes, obţinând un rezultat perfect, adică g N ( F ) = 1, atunci vom şti cu o probabilitate foarte mare că:
g( f w ) > 1 - ε
(3.69)
Dacă funcţia de activare este funcţia sgn(x) sau funcţia treaptă, avem un număr total de 2N funcţii binare diferite, deci, în general: m(N) ≤ 2N
(3.70)
Limitările funcţiei de creştere pot fi generate şi de arhitectura reţelei neuronale. De exemplu dacă tăriile sinaptice pot lua valori doar într-o mulţime de valori cu k valori distincte, atunci: m(N) ≤ k|w|
(3.71)
unde |w| reprezintă numărul total de conexiuni sinaptice ale reţelei neuronale. Vapnik şi Chervonenkis au demonstrat că forma funcţiei de creştere este întotdeauna ca cea din Fig.3.11. 74
log 2m
P d VC Fig.3.11.: Graficul funcţiei de creştere m(N) (Conform [196]).
Astfel m(N) = 2N pentru N ≤ dVC şi m(N) ≈ constant pentru N > dVC. Punctul dVC se numeşte dimensiunea Vapnik-Chervonenkis, sau mai simplu dimensiunea VC. În situaţia când dimensiunea VC este finită, ea verifică inegalitatea: m( N ) ≤ N dVC + 1
75
(3.72)
IV. Perceptroni IV.1. Perceptronul simplu Perceptronul simplu reprezintă unul din primele modele de calcul neuronal construite, fiind de departe cea mai studiată şi analizată reţea neuronală. De aceea, interesul de a studia perceptronul simplu nu este numai de factură istorică ci şi ştiinţifică, proprietăţile sale putând fi regăsite la orice reţea neuronală. Perceptronul simplu învăţă cu ajutorul unei legi de învăţare supervizate. Arhitectura perceptronului simplu constă din stratul de intrare şi stratul de ieşire, neexistând straturi ascunse. Vom studia diferite tipuri de perceptroni simpli, legea de învăţare, capacitatea de generalizare şi capacitatea de stocare a informaţiilor. Vom folosi în cele ce urmează notaţia prescurtată PS pentru perceptronul simplu.
IV.1.1. Modul de operare al PS În Fig. 4.1. avem un exemplu de PS, cu n neuroni în stratul de intrare (eventual n + 1 dacă termenul Bias este explicit reprezentat, vezi Obs.2.1) şi m neuroni în stratul de ieşire.
Bias x0
y1
x1 x2
yj
xi
ym
xn Fig. 4.1.: PS cu n neuroni (+1 termen Bias - opţional) şi m neuroni în stratul de ieşire.
Modul de operare al PS: n
Integrare: I j = ∑ w ji ⋅ x i , j = 1,..., m
(4.1)
i=0
n
Activare: y j = f (∑ w ji ⋅ x i ), j = 1,..., m i=0
76
(4.2)
Legea de învăţare supervizată a PS:
Faza de învăţare constă din prezentarea PS a unor (x µ , z µ ), µ = 1, K, P dintr-o mulţime de antrenament cu P elemente.
perechi
de
date
•
x µ = ( x 0µ , x1µ ,..., x nµ ), µ = 1,..., P , reprezintă mulţimea vectorilor de intrare;
•
z µ = ( z1µ , z 2µ ,..., z mµ ), µ = 1,..., P reprezintă mulţimea vectorilor ţintă;
•
y µ = ( y1µ , y 2µ ,..., y mµ ), µ = 1,..., P reprezintă mulţimea vectorilor de ieşire care se obţin la stratul de ieşire, ca rezultat la prezentarea vectorului de intrare x µ , µ = 1,..., P la stratul de intrare.
Scopul fazei de învăţare este minimizarea diferenţelor: y µj − z µj , j = 1,..., m, µ = 1,..., P
(4.3)
învăţarea optimă reprezentând următoarea relaţie: y µj = z µj , j = 1,..., m, µ = 1,..., P sau
(4.4)
n
z µj = f (∑ w ji ⋅ x iµ ), j = 1,..., m, µ = 1,..., P
(4.5)
i=0
IV.1.2. PS cu funcţie de activare f(x) = sgn(x) Vom considera la început cel mai simplu caz, cel al perceptronului deterministic, cu funcţia de activare f(x)=sgn(x), cu mulţimea de valori pentru vectorii de intrare şi vectorii ţintă {-1,+1}. În scriere vectorială relaţia (4.5) devine: z µ = sgn( w ⋅ x µ ), µ = 1,..., P
(4.6)
Interpretarea acestei relaţii: Procesul de învăţare trebuie să determine mulţimea tăriilor sinaptice w în aşa fel încât orice vector de intrare x µ să aibă proiecţia pe vectorul tăriilor sinaptice w de semn egal cu vectorul ţintă z µ . Frontiera dintre regiunile spaţiului n +1 dimensional (sau n dimensional dacă nu explicităm termenul Bias), pentru care vectorul de intrare x µ are proiecţie negativă sau pozitivă pe vectorul w, este un hiperplan de ecuaţie: w⋅x = 0
(4.7)
Acest hiperplan trece prin originea sistemului de axe şi este perpendicular pe vectorul tăriilor sinaptice w. Condiţia ca PS să înveţe corect este ca hiperplanul (4.7) să dividă vectorii de intrare x µ în două clase corespunzând la vectori ţintă z µ = −1 sau z µ = +1 .
77
IV.1.2.1. Liniar separabilitatea Din cele menţionate mai înainte, rezultă că PS poate învăţa cu succes o anumită problemă dacă aceasta este liniar separabilă, adică dacă există un hiperplan în spaţiul datelor de intrare care să separe vectorii (punctele de intrare) x µ după criteriul: x µ ∈ Semiplan1 ⇔ z µ = −1 x µ ∈ Semiplan2 ⇔ z µ = +1 Un astfel de hiperplan trebuie găsit pentru fiecare neuron de ieşire. În caz contrar problema este nerezolvabilă cu ajutorul PS. În scriere vectorială relaţia (4.2) poate fi rescrisă astfel:
y = sgn( w ⋅ x − w 0 )
(4.8)
Condiţia ca PS să poată învăţa problema formulată cu mulţimea datelor de antrenament (x µ , z µ ), µ = 1, K , P este ca în spaţiul n-dimensional al datelor de intrare ( x1 , x 2 ,..., x n ) regiunile corespunzătoare valorilor z µ = +1 şi z µ = −1 să fie separate de un hiperplan n-1 dimensional, de ecuaţie:
w ⋅ x = w0
(4.9)
Exemplul 4.1. Să considerăm problema AND (ŞI LOGIC), dată prin tabela de adevăr: x1 0 0 1 1
x2 0 1 0 1
z -1 -1 -1 +1
În Fig. 4.2. avem reprezentarea geometrică a problemei AND şi un exemplu de PS care o rezolvă. Dacă considerăm din nou aceeaşi problemă AND, reprezentând implicit termenul Bias, obţinem reprezentarea geometrică din Fig.4.3. (a) x2
(b) (1,1)
(0,1)
y1
w
1
1.5 1
(0,0)
(1,0)
x1 x0=-1
x1
x2
Fig. 4.2: (a) Reprezentarea geometrică a problemei AND, soluţia fiind dată de hiperplanul (dreapta) ce separă punctele de intrare în planul ( x1 , x 2 ) ; (b) Un exemplu de PS ce implementează funcţia AND. 78
x2
w
x3
x1 Fig 4.3.: Reprezentarea geometrică a problemei AND, termenul Bias fiind reprezentat explicit, ca o nouă dimensiune a spaţiului de intrare. Vectorul tăriilor sinaptice w = (1.5, 1, 1) este perpendicular pe planul ce separă punctele de intrare şi trece prin origine.
Exemplul 4.2.: Să considerăm problema XOR (SAU EXCLUSIV), dată prin tabela de adevăr: x1 0 0 1 1
x2 0 1 0 1
z -1 +1 +1 -1
Aplicând relaţia (4.10) pentru problema XOR, obţinem sistemul: ⎧ w1 + w2 − w0 < 0 ⎪− w − w − w < 0 ⎪ 1 2 0 ⎨ w w w − − 2 0 > 0 ⎪ 1 ⎪⎩ − w1 + w2 − w0 > 0 Combinând inecuaţiile 1 şi 4 obţinem w1 < 0 , iar din inecuaţiile 2 şi 3 obţinem w1 > 0 , ceea ce evident este imposibil. În Fig. 4.4. se observă că nu putem duce un hiperplan (dreaptă) care să separe punctele (vectorii) de intrare corespunzătoare vectorilor ţintă z µ = +1 şi z µ = −1 . Problema XOR este un exemplu clasic de problemă care nu este liniar separabilă, lucru pus în evidenţă de Minsky şi Papert în [145], deci nu poate fi implementată cu un PS, indiferent ce fel de lege de învăţare folosim.
79
x2
(1,1)
(0,1)
x1 (0,0)
(1,0) Fig.4.4.: Reprezentarea geometrică a problemei XOR.
IV.1.2.2. Legea de învăţare
Vom considera în cele ce urmează probleme liniar separabile, încercând să construim un algoritm de determinare a tăriilor sinaptice. Cea mai simplă alegere este bazată pe legea lui Hebb [94] care specifică faptul că o legătură sinaptică este întărită atunci când atât semnalul pre-sinaptic, cât şi post-sinaptic sunt mari. Conform acestei legi vom considera o modificare a tăriilor sinaptice proporţională cu produsul dintre valoarea pre-sinaptică şi post-sinaptică, adică în cazul nostru: w jk = w jk + Δw jk , j = 1, K, m, k = 0, K, n
(4.10)
⎧2 ⋅ η ⋅ z µj ⋅ ⋅ x kµ , z µj ≠ y µj Δw jk = ⎨ , j = 1, K, m, k = 0, K, n altfel ⎩ 0,
(4.11)
Δw jk = η ⋅ ( z µj − y µj ) x kµ , j = 1, K, m, k = 0, K, n
(4.12)
sau:
η ∈ R se numeşte rata de învăţare, controlând mărimea ajustării sinaptice. De obicei se consideră η ∈( 0,1) .
IV.1.2.3. Convergenţa legii de învăţare Vom presupune că avem de-a face cu o problemă rezolvabilă, adică liniar separabilă, pentru care există un PS care să o implementeze. Vom demonstra că legea de învăţare (4.12) va genera soluţia corectă, adică va determina vectorul w al tăriilor sinaptice, într-un număr finit de paşi. Demonstraţia se bazează pe ideile cuprinse în [6].
80
Demonstraţie: Fiecare pas al procesului de învăţare comportă prezentarea unui vector de intrare u µ , tăriile sinaptice fiind modificate conform relaţiei (4.12). Uneori putem avea Δwik = 0 , când relaţia (4.4) este satisfăcută. Fie M µ numărul care exprimă de câte ori vectorul x µ a generat modificări ale tăriilor sinaptice, adică Δw ≠ 0 în cadrul procesului de învăţare. Atunci folosind o scriere matricială avem: W = η ⋅ ∑ M µ ⋅uµ (4.13) µ
presupunând că la Pasul 0 am avut toate tăriile sinaptice iniţializate cu zero. Fie M = ∑ M µ numărul total al paşilor efectuaţi în cadrul procesului de învăţare şi µ
1 D(w ) = min w ⋅ x µ [96]. w µ
Avem: w ⋅ w ∗ = η ⋅ ∑ M μ ⋅ u μ ⋅ w ∗ ≥ η ⋅ M ⋅ min u μ ⋅ w ∗ = η ⋅ M ⋅ D(w ∗ )⋅ | w ∗ | η
μ
(4.14)
Să calculăm variaţia tăriei sinaptice, la prezentarea unui singur vector de intrare uα : Δ | w | 2 = (w + η ⋅ u α ) 2 − w 2 = η 2 ⋅ (u α ) 2 + 2η ⋅ w ⋅ u α ≤ η 2 ⋅ (u α ) 2 + 2η ⋅ nγ (4.15)
şi cum u kα = ±1, k = 1, n ⇒ (u α ) 2 = n . Din relaţia (4.13) avem: Δ | w | 2 ≤ η 2 ⋅ n + 2η ⋅ n ⋅ γ = n ⋅η ⋅ (η + 2γ )
(4.16)
Sumând inegalitatea (4.16) pentru M paşi obţinem: | w | 2 ≤ M ⋅ n ⋅ η ⋅ (η + 2γ )
(4.17)
Din relaţia (4.14), prin ridicare la pătrat avem: w 2 ⋅ (w ∗ ) 2 ≥ η 2 ⋅ M 2 ⋅ D(w ∗ ) 2 | w ∗ | 2 ⇒
η 2 ⋅ M 2 D(w ∗ ) 2 w 2 ⋅ (w ∗ ) 2 ≥ ∗ 2 2 | w | ⋅| w | | w |2
(4.18)
Folosind relaţia (4.17) obţinem:
w 2 ⋅ (w ∗ ) 2 η 2 ⋅ M 2 D(w ∗ ) 2 η ⋅ MD(w ∗ ) 2 ≥ = n ⋅ (η + 2γ ) | w | 2 ⋅ | w ∗ | 2 Mn ⋅ η ⋅ (η + 2γ )
(4.19)
Membrul stâng al acestei inegalităţi reprezintă produsul scalar normalizat al vectorilor w şi w *, care este pătratul cosinusului unghiului dintre cei doi vectori. Obţinem: 81
w 2 ⋅ (w ∗ ) 2 η ⋅ MD(w ∗ ) 2 ≥ 2 ∗ 2 n ⋅ (η + 2γ ) | w | ⋅| w | η + 2γ M ≤n 2 D (w ) ⋅η
1 ≥ cos 2 Φ =
(4.20) (4.21)
Membrul drept al relaţiei de mai sus, reprezintă un număr finit, aşa că am obţinut faptul că legea de învăţare a PS converge într-un număr finit de paşi M la soluţia dorită. În relaţia (4.21) este demn de remarcat că numărul M necesar de paşi pentru convergenţă, este proporţional cu dimensionalitatea datelor de intrare, nedepinzând de cardinalitatea mulţimii de antrenament. Acest rezultat este adevărat din punct de vedere teoretic, dar nu şi practic, căci într-o fază de învăţare se prezintă toate datele de antrenament.
IV.1.3. PS cu funcţie de activare liniară Vom considera în acest paragraf PS cu funcţie de activare liniară, f ( x ) = x . PS cu funcţie de activare liniară prezintă avantajul că putem să-i ataşăm o funcţie cost, E ( w ) , numită funcţie eroare sau funcţie energetică ce măsoară eroarea produsă la stratul de ieşire a PS, ca o funcţie derivabilă în raport cu tăriile sinaptice.
IV.1.3.1. Modul de operare. Soluţii explicite
Fie x µ = ( x 0µ , x1µ ,..., x nµ ), µ = 1,..., P mulţimea vectorilor de intrare. Atunci valoarea de ieşire obţinută la al j-lea neuron al stratului de ieşire, relativ la al µ-lea vector de intrare este: n
y µj = ∑ w jk ⋅ x kµ , j = 1, m
(4.22)
k =0
Relaţia care dorim să fie satisfăcută în urma procesului de învăţare, dacă z µ reprezintă vectorul ţintă, este: n
z µj = ∑ w jk ⋅ x kµ , j = 1, K, m, µ = 1, K, P
(4.23)
k =0
Fie Q ∈ M P× P (R) o matrice pătratică de ordinul P, numită matrice de covarianţă, definită astfel: 1 n qαβ = ∑ x iα ⋅ x iβ (4.24) n i=0 Dacă matricea Q este nesingulară avem:
82
w ji =
1 P P μ −1 ∑ ∑ z j (q ) μχ xiχ , j = 1, m, i = 0, n n μ =1 χ =1
(4.25)
Într-adevăr, pentru această alegere a tăriilor sinaptice avem satisfăcută condiţia: n
I jμ = ∑ w ji x iμ = i=0
P
P
P P 1 n P P μ −1 1 n z j (q ) μχ x iμ x iχ = ∑ ∑ z μj (q −1 ) μχ ( ∑ x iμ x iχ ) = ∑ ∑ ∑ n i = 0 μ =1 χ =1 n i=0 μ =1 χ =1 P
= ∑ ∑ z μj (q −1 ) μχ q μχ = ∑ z μj δ μχ = z μj , μ =1 χ =1
j = 1, K, m, μ = 1, K, P
μ =1
⎧1, μ = χ unde δ μχ = ⎨ reprezintă simbolul lui Kroenecker. Atunci: ⎩0, μ ≠ χ y µj = f ( I jµ ) = I jµ = z µj , µ = 1, K, P, j = 1, K, m
Alegerea tăriilor sinaptice w în conformitate cu (4.25) este posibilă doar dacă matricea Q este nesingulară, ceea ce este echivalent cu condiţia ca vectorii de intrare x µ = ( x 0µ , x1µ ,..., x nµ ), µ = 1,..., P să fie liniar independenţi. Condiţia de liniar independenţă a vectorilor de intrare este suficientă, dar nu şi necesară. Putem găsi soluţia PS şi în cazul când vectorii de intrare nu sunt liniar independenţi, dar prin altă metodă. Mulţimea vectorilor de intrare x µ = ( x 0µ , x1µ ,..., x nµ ), µ = 1,..., P poate fi liniar independentă doar dacă P ≤ n , ceea ce evident este o restricţie severă asupra capacităţii de memorare a PS. IV.1.3.2. Legea de învăţare gradient descendentă Metoda prezentată în paragraful anterior este aplicabilă practic doar dacă matricea de covarianţă Q este nesingulară, ceea ce este o restricţie foarte puternică. Presupunând însă că Q este nesingulară, utilizarea formulei (4.25) este dificilă, deoarece dacă avem un număr mare de date de antrenament, adică P este mare, avem de inversat o matrice de mare dimensiune. De aceea, suntem interesaţi să determinăm o lege iterativă de învăţare, bazată pe modificări succesive ale tăriilor sinaptice, pornind de la valori arbitrare. Ataşăm PS o măsură a erorii prin intermediul unei funcţii cost, numită funcţie eroare, definită astfel:
E( w) =
n 1 m P µ 1 m P ( z i − yiµ ) 2 = ∑ ∑ ( z iµ − ∑ w ik x kµ ) 2 ∑ ∑ 2 i =1 µ =1 2 i =1 µ =1 k =0
(4.26)
Funcţia eroare E (w ) este dependentă de tăriile sinaptice şi de datele de antrenament ( x µ , z µ ), µ = 1, K, P . Când tăriile sinaptice se apropie de soluţia dorită (4.23), atunci E( w) → 0 . Considerând reprezentarea geometrică a funcţiei eroare în spaţiul tăriilor sinaptice w, vom folosi cunoscutul algoritm gradient descendent. Acest algoritm presupune modificarea tăriilor sinaptice wik cu o cantitate proporţională cu gradientul lui E( w) : 83
Δw ik = −η ⋅
P ∂E = η ⋅ ∑ ( z iµ − y iµ ) ⋅ x kµ , i = 1, K, m, k = 0, K, n ∂w ik µ =1
(4.27)
Notând eroarea obţinută la neuronul al i - lea din stratul de ieşire, relativ la al µ - lea vector de intrare cu: δ iµ = z iµ − y iµ , i = 1, K, m,
(4.28)
Δw ik = η ⋅ δ iµ ⋅ x kµ , i = 1, K, m, k = 0, K, n
(4.29)
obţinem:
Formula de mai sus este numită regula delta sau legea Adaline sau legea WidrowHoff [207] sau legea LMS (Least Mean Square) [172]. În lucrarea [68] se studiază în detaliu, convergenţa legii de învăţare a PS, bazată pe metoda gradient descendentă [20].
IV.1.4. PS cu funcţie de activare neliniară În acest paragraf vom studia PS cu funcţie de activare neliniară, derivabilă de tipul celor prezentate în II.1.1.2.
IV.1.4.1. Modul de operare
Dacă x µ = ( x 0µ , x1µ ,..., x nµ ), µ = 1,..., P reprezintă vectorii de intrare, neuronii din stratul de ieşire vor genera următoarele valori: n
y µj = f ( I jµ ) = f (∑ w jk ⋅ x kµ ), j = 1, K, m, µ = 1, K, P
(4.30)
k =0
Relaţia care dorim să fie satisfăcută după faza de învăţare este: z µj = y µj , j = 1, K, m, µ = 1, K, P
(4.31)
sau n
z µj = f (∑ w jk ⋅ x kµ ), j = 1, K, m, µ = 1, K, P k =0
84
(4.32)
IV.1.4.2. Legea de învăţare gradient-descendentă
Ataşăm PS funcţia de eroare:
E ( w) =
n 1 m P µ 1 m P ( z i − y iµ ) 2 = ∑ ∑ [ z iµ − f (∑ w ik x kµ )] 2 ∑ ∑ 2 i =1 µ =1 2 i =1 µ =1 k =0
(4.33)
Aplicând algoritmul gradientului descendent obţinem: Δwik = −η ⋅
∂E = ∂wik
P
n
n
µ =1
k =0
k =0
(4.34)
= η ⋅ ∑ [ ziµ − f (∑ wik ⋅ xkµ )] ⋅ f ' (∑ wik ⋅ xkµ ) ⋅ xkµ , i = 1, K m,k = 0, K n
Corecţia Δwik ce se aplică unei tării sinaptice după prezentarea vectorului de intrare x µ este: Δw ik = η ⋅ δ iµ ⋅ x kµ , i = 1, K, m, k = 0, K, n
(4.35)
n
δ iµ = ( z iµ − yiµ ) ⋅ f ' (∑ wik ⋅ x kµ )
unde:
(4.36)
k =0
Este convenabil să utilizăm pentru PS funcţii de activare de tipul:
f1( x ) = tanh( x ), f 2 ( x ) =
1 1 + e−x
(4.37)
Deoarece: 2
f1' ( x ) = 1 − tanh 2 ( x ) = 1 − f1 ( x ), f 2' ( x ) =
e− x 1 ⋅ = f 2 ( x )( 1 − f 2 ( x )) 1 + e− x 1 + e− x
(4.38)
ceea ce elimină necesitatea de a mai calcula derivate. Condiţiile de existenţă a unei soluţii sunt aceleaşi ca şi în cazul PS cu funcţie de activare liniară, adică liniar independenţa vectorilor de intrare x µ , deoarece soluţia problemei noastre este echivalentă cu soluţia problemei PS liniar, când valorile ţintă sunt f −1 ( z µj ), j = 1, K, m . Problema care apare la PS cu funcţie de activare neliniară este dacă legea de învăţare având la bază algoritmul gradient-descendent, converge la soluţia optimală, când soluţia există. Se poate întâmpla ca pentru anumite probleme, suprafaţa eroare, corespunzând funcţiei eroare, să prezinte o formă neregulată cu o mulţime de văi, care vor avea puncte de minim local pe lângă posibilul minim global. În aceste puncte de minim local algoritmul gradientului descendent se poate împotmoli, generând o soluţie incorectă.
85
IV.1.5. PS stohastic Să încercăm să găsim o justificare a comportamentului stohastic [121] al neuronilor şi implicit al reţelei neuronale din care fac parte. În reţelele neuronale biologice (II.1.1.1.), neuronii generează semnale de mărime variabilă, existând anumiţi factori de întârziere în legătura sinaptică, fluctuaţii aleatoare datorate eliberării substanţei neuro-transmiţătoare de către vezicule şi alte asemenea elemente cu comportament aleator. Aceste efecte pot fi considerate în cazul modelelor de neuroni artificiali, respectiv reţelelor neuronale artificiale, ca un zgomot [211] reprezentabil cu ajutorul unei fluctuaţii termice [178]. Introducerea parametrului temperatură în studiul reţelelor neuronale nu trebuie privit prin prisma temperaturii fizice; temperatura va reprezenta un parametru de control al zgomotului din date sau parametrul de control al momentului, când comportamentul deterministic al reţelei neuronale este depăşit. Pentru a înţelege mai bine modelul stohastic al PS, va trebui să studiem analogia dintre reţelelor neuronale şi sistemele fizice magnetice. IV.1.5.1. Sisteme magnetice O descriere simplă a unui material magnetic constă dintr-o mulţime de atomi magnetici, aranjaţi într-o matrice care reprezintă structura cristalină a materialului. Aceşti atomi magnetici sunt numiţi spini. Un spin poate fi orientat în diferite direcţii, numărul de posibilităţi depinzând de tipul atomului considerat. Cel mai simplu model este aşa numitul model atomic spin 1 2 , în care doar două direcţii sunt posibile. Modelul spin 1 2 este reprezentat într-o matrice corespunzătoare, numită modelul Ising, având ataşată o variabilă y j = ±1 în fiecare punct al matricei.
Fig.4.5: Modelul simplificat al unui material magnetic, descris cu ajutorul modelului Ising.
Analogia cu un PS cu funcţia de activare f(x) = sgn(x) este evidentă. Un neuron va lua valoarea +1 sau -1 după cum spinul din materialul magnetic este orientat în “sus” sau “jos”. Modelul Ising nu este deplin specificat până când nu se cunoaşte dinamica şi interacţiunile dintre spini. Într-un material magnetic, fiecare spin este influenţat de către câmpul magnetic I j existent în acel punct. Câmpul magnetic I j este constituit din două mărimi: 86
I j = I ext + I int j
(4.39)
unde: • •
I ext reprezintă câmpul magnetic extern aplicat de mediul exterior materialului magnetic; reprezintă câmpul magnetic intern produs de către ceilalţi spini ai materialului I int j magnetic.
Vom obţine astfel următoarea relaţie matematică: n
I j = ∑ w ji ⋅ y i + I ext , j = 1, n
(4.40)
i =1
•
n
termenul
∑w i =1
•
ji
⋅ y i reprezintă câmpul magnetic intern al spinului al j-lea, ca o sumă a
contribuţiilor câmpurilor magnetice ale celorlalţi spini; w ji reprezintă tăria interacţiunii de schimb, adică influenţa spinului Si asupra câmpului magnetic al spinului Sj.
Câmpul magnetic I j al spinului al j-lea controlează dinamica sa. La temperaturi joase un spin tinde să se alinieze paralel cu câmpul său magnetic I j , acţionând asupra lui în aşa fel încât să-l facă să satisfacă relaţia:
y j = sgn( I j ), j = 1, n
(4.41)
La temperaturi mai ridicate, apare fenomenul fluctuaţiei termice care face ca spinii să oscileze între cele două direcţii corespunzătoare lui +1 şi -1. Întotdeauna vor fi prezente două tendinţe: • câmp magnetic - care tinde să alinieze spinii; • fluctuaţie termală - tinde să distrugă alinierea spinilor. Pentru a descrie matematic fenomenul fluctuaţiei termice în modelul Ising, ne vom folosi de dinamica Glauber [82]. În dinamica Glauber, regulile deterministe sunt înlocuite de următoarea regulă stohastică:
⎧ + 1, Pr ob( f ( I j )) yj = ⎨ , j = 1,2, …, n ⎩− 1, Pr ob(1 − f ( I j ))
(4.42)
care reprezintă legea de modificare a valorii unui spin. Funcţia f, care este echivalentul funcţiei de activare a neuronului artificial, se alege de obicei ca fiind funcţia sigmoidală Glauber:
f (I ) = fβ (I ) =
1 1 + e − 2 βI
(4.43)
Parametrul β este dependent de temperatura absolută T, prin relaţia: β=
1 , k β = 1.38 ⋅ 10 −16 erg / K kβ ⋅ T 87
(4.44)
Constanta kβ este constanta Boltzmann. Putem rescrie relaţia (4.42) sub forma: Prob(y j = ±1) = f β (± I j ) =
1 1+ e
m 2⋅β ⋅I j
(4.45)
Temperatura controlează panta sigmoidei în jurul valorii I j = 0 . Când T → 0 ( β → ∞) atunci f β se comportă ca o funcţie treaptă (Heaviside), iar când T → ∞ ( β → 0) atunci f β se comportă aleator. Aplicând dinamica Glauber asupra unui material magnetic constituit dintr-un singur spin, nu mai intervine influenţa câmpului intern generat de ceilalţi spini, ci doar câmpul magnetic extern. Putem calcula media magnetizării, notată 〈 y 〉 astfel: 〈 y〉 = Pr ob(+1) ⋅ (+1) + Pr ob(−1) ⋅ (−1) = e βI e − βI 1 1 − = − = 1 + e − 2 βI 1 + e 2 βI e βI + e − βI e βI + e − βI e βI − e − βI = βI = tanh( β I ) e + e − βI =
(4.46)
Dacă considerăm un material magnetic constituit din mai mulţi spini, înlocuind fluctuaţia termică reală cu valoarea sa medie, metodă cunoscută sub numele de Teoria Câmpului Mediu (Mean Field Theory), vom avea: n
I j = ∑ w ji ⋅ yi + I ext
(4.47)
i =1
Înlocuind în relaţia (4.46) obţinem: n
y j = tanh( β ⋅ I j ) = tanh( β ⋅ ∑ w ji ⋅ yi + β ⋅ I ext )
(4.48)
i =1
IV.1.5.2. Mod de operare. Legea de învăţare
Într-un PS stohastic vom avea pe baza relaţiei (4.45): Prob(y μj = ±1) = f β (± I μj ) =
1 1+ e
m 2⋅β ⋅I µj
, j = 1, m, µ = 1, P
(4.49)
unde: n
I µj = ∑ w ji ⋅ xiµ , j = 1, m, µ = 1, P i =1
Pe baza Teoriei Câmpului Mediu vom avea:
88
(4.50)
n
〈 y µj 〉 = tanh( β∑ w ji ⋅ x iµ ), j = 1, m
(4.51)
i =1
unde 〈 y µj 〉 va reprezenta valoarea medie a lui y µj relativ la un anumit număr de date de intrare. Legea de învăţare, poate fi similară cu legea de învăţare a PS cu funcţie de activare f(x) = sgn(x). Δw ji = ηδ jµ ⋅ xiµ , j = 1, m, i = 1, n, μ = 1, P
(4.52)
δ jµ = z µj − 〈 y µj 〉, j = 1, m
(4.53)
unde: Legea de învăţare (4.52) va descreşte valoarea medie a funcţiei eroare ataşată PS stohastic: E ( w) =
1 2
n
P
∑∑ ( z i =1 µ =1
µ i
− yiµ ) 2
(4.54)
Deoarece z iµ , y iµ ∈ {−1,+1} putem rescrie relaţia de mai sus sub forma: n
P
E ( w) = ∑∑ (1 − ziµ yiµ )
(4.55)
i =1 µ =1
de unde obţinem valoarea medie a funcţiei eroare: n
P
〈 E (w )〉 = ∑∑ (1 − z iµ 〈 y iµ 〉 ) = i =1 µ =1
m ⎡ ⎤ = ∑∑ ⎢1 − z iµ ⋅ tanh( β ⋅ ∑ wik x kµ )⎥ i =1 µ =1 ⎣ k =1 ⎦ n
P
(4.56)
Variaţia erorii, relativ la modificarea tăriilor sinaptice, devine:
i =1
n m P ∂ (tanh( βI µj )) ∂ 〈 E ( w)〉 ⋅ Δw ji = −∑∑∑ Δw ji ⋅ z iµ = ∂w ji ∂w ji j =1 i =1 j =1 µ =1
n
m
n
m
Δ〈 E (w )〉 = ∑∑
P
= −∑∑∑η[1 − ziµ ⋅ tanh( βI iµ )] ⋅ β ⋅ sec h 2 ( βI iµ )
(4.57)
i =1 j =1 µ =1
∂ (tanh( x)) = sec h 2 ( x) . ∂x Deoarece tanh(x) < 1, rezultă că Δ〈 E( w )〉 < 0 , deci legea de învăţare micşorează permanent funcţia eroare. Am folosit formula (4.56) şi
89
IV.1.6. Capacitatea de memorare a PS
Problemele pentru care dorim să găsim un răspuns sunt următoarele: •
Câte perechi de date aleatoare (vectori de intrare, vectori ţintă) putem stoca într-un PS, având o arhitectură dată?
•
Câte perechi de date aleatoare (vectori de intrare, vectori ţintă) pot fi învăţate de un PS, utilizând o anumită lege de învăţare supervizată?
Răspunsul la prima întrebare va defini capacitatea maximală Pmax pe care un PS o poate atinge pe baza unui legi de învăţare. Pentru un PS având funcţie de activare liniară sau neliniară capacitatea maximală este simplu de determinat ca urmare a condiţiei de liniar independenţă a datelor de intrare. Având P vectori de intrare aleatori x µ , µ = 1, K , P de dimensiune n, o condiţie necesară pentru liniar independenţă este P ≤ n , de unde rezultă Pmax = n. Problema determinării capacităţii maximale Pmax pentru un PS având ca funcţie de activare funcţia f(x) = sgn(x) este mult mai dificil de tratat, implicând un studiu relativ la liniar separabilitatea vectorilor de intrare x µ , µ = 1,K , P . Utilizând o serie de rezultate obţinute de Mitchinson şi Durbin [146], vom demonstra că in cazul unui PS având ca vectori de intrare, P vectori aleatori n-dimensionali, x µ , µ = 1, K , P , şi ca funcţie de activare f(x)=sgn(x), rezultatul este: Pmax = 2n
(4.58)
Relaţia de mai sus este valabilă în limita lui n foarte mare, pentru n mic fiind doar o relaţie aproximativă. Deoarece neuronii din stratul de ieşire sunt independenţi unul de altul, putem simplifica studiul capacităţii maximale luând în considerare doar un singur neuron în stratul de ieşire, fără ca generalitatea rezultatelor să fie afectată. După cum am văzut în Cap. IV.1.3 liniar separabilitatea vectorilor de intrare x µ , µ = 1, K , P constă în a determina un hiperplan (care trece prin origine dacă nivelul de activare este zero) care să separe în două semiplane distincte mulţimile de puncte: S+1 = {x µ | z µ = +1, µ ∈{1,2,..., P}} şi S−1 = {x µ | z µ = −1, µ ∈{1,2,..., P}}
unde S+1 ∩ S-1 = Φ
(4.59)
Să notăm cu C(P,n) numărul de moduri în care putem determina un hiperplan care să separe liniar P puncte aleatoare din spaţiul n-dimensional al vectorilor de intrare x µ , µ = 1,K , P . Pentru valori mici ale lui P, rezultatul aşteptat trebuie să fie: C( P , n ) = 2 p 90
(4.60)
deoarece în această situaţie vom găsi întotdeauna un hiperplan care să separe liniar punctele (vectorii) de intrare x µ , µ = 1, K , P . •
Dacă P are o valoare mare, rezultatul aşteptat va verifica relaţia: C( P , n ) ≤ 2 p
(4.61)
deoarece în acest caz nu vom putea determina întotdeauna un hiperplan care să realizeze liniar separabilitatea punctelor de intrare x µ , µ = 1, K , P . Vom calcula în cele ce urmează C(P,n) prin inducţie. Prima dată vom avea nevoie de o serie de informaţii preliminare: • • •
Distribuţia aleatoare a punctelor de intrare x µ , µ = 1, K , P nu este necesară, ci este doar o garanţie a generalităţii rezultatelor. Vom spune că mulţimea punctelor de intrare x µ , µ = 1, K , P este în poziţie generală, dacă nu există două puncte care să fie situate pe o dreaptă ce trece prin origine. Vom numi soluţie un hiperplan care realizează liniar separabilitatea punctelor de intrare x µ , µ = 1, K , P , deci C(P,n) reprezintă numărul de soluţii.
Să pornim de la un număr de P puncte de intrare x µ , µ = 1, K , P de dimensiune n. Adăugând un nou punct x P+1 la mulţimea punctelor de intrare, obţinem relaţia de recurenţă [146]: C( P + 1, n ) = C( P , n ) + C( P , n − 1 ) (4.62) Iterând relaţia de recurenţă pentru P , P − 1, P − 2,...,2,1 obţinem: C( P , n ) = CP0−1 ⋅ C( 1, n ) + CP1 −1 ⋅ C( 1, n − 1 )+ ...+ CPP−−11 ⋅ C( 1, n − P + 1 )
⎧ 2, P ≤ m unde C( 1, m ) = ⎨ ⎩0, P > m, m ≤ 0
(4.63) (4.64)
Atunci putem rescrie (4.63) sub forma: n −1
C( P , n ) = 2∑ CPi−1
(4.65)
i=0
De aici obţinem următorul grafic reprezentat în Fig.4.6 [96]: P = 2, putem trage concluzia că Observând tranziţia abruptă care apare în punctul n Pmax=2n. Cu cât n este mai mare, tranziţia este mai abruptă, ajungând să devină asimptotică. Acest rezultat grafic, poate fi dovedit şi analitic, deoarece: C (2n, n) = 2 P −1
⇒
C (2n, n) 1 = 2 2P
adică, graficul funcţiei C(P,n)/2P trece într-adevăr prin punctul de coordonate (2, 0.5). 91
C(P,n)/2P
1 0.5
P/n 0
1
2 P
Fig.4.6. Graficul funcţiei C(P,n)/2 în raport cu P/n. Graficul reprezintă media cazurilor când n = 2, 3,..., 1000.
De remarcat valabilitatea rezultatului obţinut pentru P ≤ n. În această situaţie avem: n −1
n −1
i=0
i=0
C( P , n ) = 2∑ CPi−1 = 2∑ CPi−11P−1+i1i = 2( 1 + 1 ) P−1 = 2 ⋅ 2 P−1 = 2 P
(4.66)
IV.1.7. Interpretarea geometrică a PS Vom studia, din punct de vedere geometric, funcţia eroare ataşată PS. Vom lua în considerare un PS având ca funcţie de activare o funcţie continuă şi derivabilă. După cum am menţionat în II.1.1.2. ca şi funcţii de activare, cea mai utilizată este funcţia sigmoidă sau funcţia tangent hiperbolică. De exemplu considerăm funcţia sigmoidă ⎧0, x < 0 1 , β ∈ R , dacă β → ∞ atunci f β → f ( x) = ⎨ (funcţia treaptă), dacă f β ( x) = − βx 1+ e ⎩1, x ≥ 0 β → 0 atunci f β → funcţie liniară. În acest fel, rezultatele deduse pentru funcţia de activare sigmoidă rămân valabile, ca şi un caz particular, pentru funcţia de activare signum, treaptă, liniară. Fie f funcţia de activare neliniară continuă şi derivabilă a unui PS, pentru care considerăm doar un singur neuron de ieşire, folosind motivaţia de simplificare a notaţiei. La neuronul de ieşire vom obţine valoarea: n
n
k =0
k =1
y µ = f (∑ wk xkµ ) = f (∑ wk xkµ + w0 ), µ = 1, P
92
(4.67)
Hiperplanul de ecuaţie w1 x1 + w2 x 2 + ...+ wn x n + w0 = 0 reprezintă hiperplanul ce trebuie să realizeze liniar separabilitatea punctelor de intrare x µ , µ = 1, P . Să considerăm spaţiul conjugat al spaţiului punctelor de intrare. Corespondenţa dintre spaţiul punctelor de intrare X ⊆ R n şi spaţiul conjugat, stabileşte o corespondenţă de tipul punct-hiperplan. Fie w1 x1 + w2 x 2 + ...+ wn x n + w0 = 0 ecuaţia unui hiperplan din spaţiul de intrare. În spaţiul conjugat acestui hiperplan îi va corespunde un punct de coordonate ( w1 , w2 ,..., wn ) . În mod similar, toate hiperplanele ce trec printr-un punct dat ( x1* , x2* ,..., xn* ) satisfac relaţia w1 x1* + w2 x*2 + ...+ wn x*n + w0 = 0 , ceea ce reprezintă ecuaţia unui hiperplan în spaţiul conjugat.
x2
w2 2
d1
2
1
3
3 d1 1
x1
w1
0
0
Fig.4.7.: Reprezentarea grafică a corespondenţei punct-hiperplan dintre spaţiul punctelor de intrare şi spaţiul conjugat.
Deoarece spaţiul conjugat este raportat la tăriile sinaptice ale PS, vom numi de acum înainte spaţiul conjugat, spaţiul tăriilor sinaptice (weight space). Pe baza corespondenţei punct-hiperplan, punctelor de intrare x µ , µ = 1, P le vor corespunde hiperplane în spaţiul conjugat al tăriilor sinaptice, care vor partiţiona spaţiul tăriilor sinaptice. Vom avea în spaţiul tăriilor sinaptice: n −1
C( P , n ) = 2∑ CPi−1 - regiuni nelimitate
CPn−1
i=0
- regiuni limitate
(4.68)
Un punct care aparţine unei regiuni din spaţiul conjugat al tăriilor sinaptice reprezintă un hiperplan în spaţiul punctelor de intrare, care separă liniar punctele de intrare. Mutând un punct în spaţiul conjugat al tăriilor sinaptice, dintr-o regiune în altă regiune adiacentă, hiperplanul conjugat corespunzător spaţiului punctelor de intrare este deplasat relativ la un punct de intrare. Fiecare punct x µ , µ = 1, P al spaţiului de intrare poate fi etichetat în două moduri, în funcţie de vectorul ţintă, şi anume: 93
x µ → + ⇔ z µ = +1 x µ → − ⇔ z µ = −1, µ = 1, P
(4.69)
Această etichetare introduce o orientare corespunzătoare a hiperplanelor conjugate din spaţiul conjugat al tăriilor sinaptice. De aceea fiecare regiune a spaţiul tăriilor sinaptice va avea ataşată o etichetă P dimensională de simboluri “+” şi “-”. Conform acestei interpretări, PS va avea o soluţie liniar separabilă dacă în spaţiul tăriilor sinaptice vom găsi o regiune etichetată doar cu “--...-”. Cu cât o regiune din spaţiul tăriilor sinaptice va avea mai multe simboluri “-”, ea va fi mai apropiată de soluţia optimală. Soluţia optimală a unui PS cu funcţie de activare continuă şi derivabilă se obţine aplicând o lege de învăţare tip gradient descendent, care să minimizeze diferenţa dintre vectorul de ieşire y şi vectorul ţintă z. Funcţia eroare în spaţiul conjugat al tăriilor sinaptice corespunde numărului de puncte de intrare care generează o valoare de ieşire eronată în raport cu valoarea ţintă. În fiecare regiune a spaţiul tăriilor sinaptice funcţia eroare este constantă, având valoarea E=i, dacă în eticheta ataşată acelei regiuni vom avea un număr de i simboluri de “+”. Dacă PS are soluţie, deci datele sunt liniar separabile, suprafaţa funcţiei eroare este regulată, având o formă parabolică. Dacă însă PS nu are soluţie, suprafaţa regulată a funcţiei eroare este “spartă” de o mulţime de suprafeţe ce corespund minimelor locale, neexistând o regiune cu eticheta “----...-”. Să încercăm să determinăm numărul mediu al minimelor locale ale suprafeţei eroare pentru o problemă solvabilă cu ajutorul unui PS. Acest calcul are importanţă din punctul de vedere al înţelegerii complexităţii problemei şi a adoptării unei strategii de învăţare corespunzătoare, în scopul evitării blocajului în puncte de minim local. Pentru cazul bidimensional n = 2, avem [27]:
n( n − 1 ) numărul regiunilor în spaţiul tăriilor sinaptice; 2 2 E = n numărul segmentelor sau semidreaptelor ce delimitează aceste regiuni. R = n +1+
În medie, putem considera că o regiune va avea un număr de S = 2 E / R linii de frontieră. Condiţia necesară şi suficientă pentru ca o regiune să fie o regiune de minim relativ pentru funcţia eroare este ca, după ce traversăm orice linie frontieră, să găsim o valoare mai mare pentru funcţia eroare. Atunci numărul mediu de minime relative este: Număr mediu minime relative =
R 2S
(4.70)
În cazul general n ≥ 3, vom avea: 1 C ( P + 1, n + 1) 2 1 E = n ⋅ C ( P, n) 2 R=
94
(4.71)
de unde, pe baza aproximaţiei S =
2E ≈ 2n , putem obţine numărul mediu al minimelor R
relative pentru funcţia eroare: Număr mediu minime relative =
R . 22n
(4.72)
IV.2. Perceptronul multistrat (PMS) Minsky şi Papert [145] au subliniat limitele PS, care este capabil să reprezinte doar funcţii liniar separabile. Puterea de reprezentare a PMS a fost intuită cu mult timp înainte, dar nu s-a putut găsi o lege de învăţare decât în ultimii ani. Această lege de învăţare, bazată tot pe un algoritm de optimizare tip gradient descendent, este numit propagare înapoi (BP - Back Propagation). Descoperirea BP a constituit unul din momentele cruciale ale dezvoltării calculului neuronal. Cu ajutorul unui PMS se poate reprezenta orice funcţie continuă pe un interval compact [62], [63], [65].
IV.2.1. Legea de învăţare BP Să considerăm un PMS având o arhitectură generală ca cea din Fig.2.3. Vom folosi următoarele notaţii: • număr total de straturi : l = ( l − 1 ) straturi ascunse + 1 strat de ieşire. •
w kji , k = 1, K, l - tăria sinaptică corespunzătoare conexiunii dintre neuronul al i-lea din
stratul ( k − 1 ) şi neuronul al j-lea din stratul k . Stratul de intrare este considerat ca fiind stratul cu numărul 0, iar stratul de ieşire este stratul cu numărul l. •
n k , k = 1, K, l - numărul de neuroni ai stratului al k-lea. Stratul de intrare este considerat ca având n0 = n neuroni, iar stratul de ieşire are nl = m neuroni.
•
I jk , k = 1, K, l, j = 1, K, n k - valoarea de intrare pentru neuronul al j-lea din stratul al k-lea.
•
y kj , k = 1, K, l, j = 1, K, n k - valoarea de ieşire din neuronul al j-lea al stratului k. Valoarea
de ieşire a neuronilor din stratul de ieşire este: y j = y lj , j = 1, K, m . Termenul Bias va fi reprezentat implicit. Funcţia de activare folosită pentru PMS va fi neliniară, derivabilă şi mărginită, cele mai des folosite funcţii folosite fiind funcţia sigmoidală şi funcţia tangentă hiperbolică: f1 ( x ) =
1 ex − e−x , f 2 ( x ) = tanh( x ) = x −x 1+ e e + e− x
95
În cele ce urmează, pentru a simplifica notaţia, vom evita scrierea indicelui superior µ, care indică al µ-lea vector (punct) de intrare al mulţimii de antrenament, atunci când nu există pericol de confuzie. Modul de operare al PMS poate fi exprimat matematic astfel: nk − 1
• Integrare: I jk = ∑ w ji yik −1 , k = 1, K, l, j = 1, K, n k , I j0 = x j , j = 1, K, n
(4.73)
i =1
• Activare:
nk −1
nk − 1
nk − 2
n
i =1
i1 =1
i2 =1
ik =1
y = f ( I jk ) = f (∑ w kji y ik −1 ) == f (∑ w kji1 f ( ∑ w kji−2 1 f (...( f (∑ w 1jik x ik )... ), k j
(4.74)
k = 1, K, l, j = 1, K, n k
PMS va genera la stratul de ieşire valorile: nl − 1
nl − 2
n
i1 =1
i2 =1
il =1
y j = f (∑ w lji1 f (∑ w lji−21 f (...( f (∑ w 1jil x ik )... ), j = 1, K, m
(4.75)
Considerăm funcţia eroare E(w) ca o măsură a performanţelor PMS, exprimată ca pătratul diferenţei dintre vectorii ţintă şi valoarea obţinută la stratul de ieşire: E (w ) = =
1 P m ∑∑ ( z µj − y µj ) 2 = 2 µ =1 j =1
nl − 2 nl − 1 n 1 P m µ ( z j − f (∑ w lji1 f (∑ w lji−21 f (...( f (∑ w 1jil x ik )... )) 2 , j = 1, K , m (4.76) ∑ ∑ 2 µ =1 j =1 i2 =1 il =1 i1 =1
Funcţia eroare E(w) este continuă şi derivabilă în raport cu tăriile sinaptice. Algoritmul gradientului descendent, corespunzător legii de învăţare BP, pornind de la stratul de ieşire către stratul de intrare, este: Δw lji = −η
P ∂E = η ∑ ( z µj − y µj ) ⋅ f ' ( I jl −1 ) ⋅ y il −1 , j = 1, K, m, i = 1, K, nl −1 l ∂w ji µ =1
(4.77)
sau notând: δ lj = f ' ( I lj −1 ) ⋅ y il −1 , j = 1, K, m,
(4.78)
obţinem: P
Δw lji = η ∑ δ lj y il −1 j = 1, K, m, i = 1, K, nl −1
(4.79)
µ =1
Ecuaţia (4.79) se numeşte regula delta-generalizată. Pentru tăriile sinaptice, corespunzătoare conexiunilor dintre stratul k-1 şi stratul k, k ≥ 1, vom propaga eroarea δ kj obţinută la stratul k înapoi către stratul k-1, utilizând algoritmul gradientului descendent: 96
P
Δw kji = η ∑ δ kj y ik −1 , k = 1, K, l − 1, j = 1, K, n k , i = 1, K, n k −1
(4.80)
µ =1
nk + 1
unde:
δ kj = f ' ( I jk −1 ) ⋅ ∑ w ijk +1δ ik −1 , j = 1, K, n k , k = 1, K, l − 1
(4.81)
i =1
În general, formula de modificare a tăriilor sinaptice are forma: P
Δw kji = η ∑ δ kj y ik −1 , k = 1, K, l − 1, j = 1, K, n k , i = 1, K, n k −1
(4.82)
µ =1
formulă reprezentată grafic în Fig.4.8. Pe baza acestor relaţii matematice, să descriem legea de învăţare BP a PMS, utilizând o descriere algoritmică: Pasul 1: Iniţializăm tăriile sinaptice cu valori aleatoare mici (din intervalul (-1, 1)): w kji ∈(0,1), j = 1, K, n k , i = 1, K, n k −1 , k = 1, K, l .
Iniţializăm µ = 1. Pasul 2: Aplicăm la stratul de intrare, vectorul de intrare xµ, iniţializând: y 0j = x µj , j = 1, K, n
Pasul 3: Propagăm vectorul de intrare xµ, către stratul de ieşire, utilizând formulele: nk − 1
y kj = f ( I jk ) = f (∑ w kji yik −1 ), k = 1, K, l, j = 1, K, n k i =1
Dacă k = l obţinem valorile de ieşire ale PMS: nl − 1
y lj = f ( I lj ) = f (∑ w lji y il −1 ), j = 1, K, m i =1
Pasul 4: Calculăm erorile δ lj relativ la stratul de ieşire: δ lj = f ' ( I lj ) ⋅ ( z µj − y µj ), j = 1, K, m
Pasul 5: Propagăm erorile δ lj de la stratul de ieşire către stratul de intrare: nk + 1
δ kj = f ' ( I jk ) ⋅ ∑ w ijk +1δ ik +1 , j = 1, K, n k , k = l − 1, l − 2,..,2,1 i =1
Pasul 6: Actualizăm tăriile sinaptice pe baza formulelor: 97
Δw kji = ηδ kj y ik −1 w kji = w kji + Δw kji , k = 1, K, l, j = 1, K, n k , i = 1, K, n k −1
Pasul 7: Dacă µ ≤ P SAU E(w) < ε atunci µ = µ + 1 şi Goto Pasul 2, altfel STOP. δk1
δk2 1
δkj 2
δknk j
nk
Stratul k
wjik
Neuronul i
Stratul k-1
k
k
k
Fig.4.8.: Reprezentarea schematică a modului de propagare înapoi a erorii δ 1 , δ 2 ,..., δ nk din k
stratul k către stratul k-1, pe baza căreia se modifică tăriile sinaptice Δw ji .
IV.2.2. Variante ale legii de învăţare BP pentru PMS
Legea de învăţare BP a constituit obiectul a numeroase încercări de îmbunătăţire, în special din punct de vedere al vitezei de convergenţă, care în această formă clasică este prea lent. Există de fapt un număr mare de parametrii care pot fi variaţi în cadrul legii de învăţare BP pentru PMS. Dintre aceşti parametri putem aminti: arhitectura PMS (număr de straturi, număr de neuroni în fiecare strat, conexiuni sinaptice), dimensiunea mulţimii de antrenament şi natura sa, legea de învăţare etc. Nu vom încerca să răspundem la toate aceste probleme, deoarece fiecare dintre ele constituie direcţii de cercetare distincte în domeniul calculului neuronal. IV.2.2.1. Diferite tipuri de funcţii eroare
1 P m ∑∑ ( z µj − y µj ) 2 folosită de legea de învăţare 2 µ =1 j =1 BP nu este singura alegere posibilă. În general factorul pătratic ( z µj − y µj )2 poate fi înlocuit cu
Funcţia cvadratică eroare E (w ) =
98
orice funcţie continuă şi derivabilă F ( z µj , y µj ) . În această situaţie, singurul lucru care se modifică în cadrul legii de învăţare BP este: Pasul 4:
δ lj = f ' ( I lj ) ⋅ ( z µj − y µj ), j = 1, K, m, µ=1,…,P se modifică în
δ lj =
1 f ' ( I lj ) F' ( z µj , y µj ), j = 1, K, m,. μ = 1, K P 2
(4.83)
Dacă particularizăm funcţiile de activare, pentru f ( x) = tan( x) obţinem următoarele modificări pentru Pasul 4 al legii de învăţare BP: Pasul 4:
δ lj = z µj − y µj , j = 1,K , m, μ = 1,K , P
(4.84)
Observăm că în acest caz nu mai apare factorul f ' ( I lj ) , ceea ce înseamnă că atunci când I este într-o vecinătate a lui zero şi suprafaţa corespunzătoare funcţiei eroare are o curbură pronunţată, nu vom avea fenomene divergente sau oscilatorii, asigurând paşi mici descendenţi pe suprafaţă. l j
În lucrarea lui Fahlman [71] întâlnim următoarea alegere pentru legea de învăţare BP: Pasul 4:
δ lj = [ f ' ( I lj ) +
1 ]( z µj − y µj ), j = 1, K, m, μ = 1, K, P 10
(4.85)
Această alegere aduce ca îmbunătăţire faptul că δ lj ≠ 0 chiar şi atunci când I lj este mare, contribuind şi în această situaţie la modificarea tăriilor sinaptice. Altă variantă propusă tot de Fahlman [71], modifică erorile δ lj în aşa fel încât variaţiile mari ale diferenţei z µj − y µj să fie atenuate. Pentru aceasta Pasul 4 se modifică astfel: Pasul 4:
1 δ lj = arctan⎛⎜ ( z µj − y µj )⎞⎟ , j=1,…,m,μ=1,…,P ⎝2 ⎠
(4.85)
O altă metodă, se bazează pe netezirea suprafeţei generate de funcţia eroare, pentru a evita blocarea în puncte de minim relativ. Acest lucru se face cu preţul pierderii temporare a unor trăsături a datelor, care pe parcurs vor fi restaurate, până când algoritmul BP ajunge în regiunea potrivită din spaţiul tăriilor sinaptice. Acest lucru este realizat prin metoda revenirii simulate (simulated annealing), metodă care adaugă un anumit zgomot la datele de intrare, prin intermediul parametrului temperatură [55], după care temperatura este scăzută gradual, sistemul stabilizându-se într-o configuraţie energetică minimală. Ca un exemplu în acest sens putem menţiona [157], unde s-a considerat următoarea funcţie eroare: ⎧ P m µ µ 2 µ µ ⎪⎪ ∑∑ γ ( z j − y j ) , sgn( z j ) = sgn( y j ) µ =1 j =1 E (w ) = ⎨ P m (4.86) ⎪∑∑ ( z µj − y µj ) 2 , sgn( z µj ) = − sgn( y µj ) ⎪⎩ µ =1 j =1
99
unde γ este un parametru ce este mărit gradual de la 0 la 1. Acest lucru va implica faptul că prima dată vom fi interesaţi să obţinem semnul potrivit pentru y µj relativ la z µj , abia după aceea interesându-ne mărimea absolută a lui y µj .
IV.2.2.2. Termeni inerţiali
Legea de învăţare BP a PMS este puternic influenţată de alegerea valorii parametrului η - rata de învăţare. O valoare mare a lui η poate duce la fenomene oscilatorii şi chiar la divergenţă, în timp ce valori mici ale lui η determină viteze reduse de convergenţă. De aceea, a apărut idea de a adăuga la tăriile sinaptice w kji din ecuaţia deltageneralizată (4.79) un termen inerţial, numit momentum, cu rolul de a elimina oscilaţiile algoritmului de învăţare şi de a evita blocarea în puncte de minim relativ. Termenul momentum va forţa ca direcţia de modificare să fie media direcţilor cele mai descendente pe suprafaţa funcţiei eroare. Termenul momentum ne va permite să facem “paşi mari” pe suprafaţa funcţiei eroare, în procesul de învăţare, fără pericolul oscilaţiilor divergente. Termenul momentum este implementat ca şi o contribuţie a iteraţiei anterioare în modificarea tăriilor sinaptice [157]: Δw kji (t + 1) = −η
∂E + αΔw kji (t ), ∂w kji
(4.87)
Coeficientul α este numit coeficient momentum, α ∈(0,1) , cea mai bună valoare, determinată prin experimente practice, fiind α = 0.9. Efectul ecuaţiei (4.87) este următorul: dacă ne găsim pe o regiune plată a suprafeţei ∂E va avea o valoare aproximativ constantă la fiecare iteraţie, iar tăriile funcţiei eroare, ∂w kji sinaptice vor converge către: Δw kji ≈ −
unde rata de învăţare a devenit
η ∂E , 1 − α ∂w kji
(4.88)
η . 1−α
Pe de altă parte, în situaţii oscilatorii, Δw kji răspunde doar cu coeficientul η la 1 ∂E , ceea ce va accelera tendinţele pe termen lung cu factorul fără a fluctuaţiile lui ∂w kji 1−α amplifica oscilaţiile.
IV.2.2.3. Modificarea adaptivă a ratei de învăţare
În paragraful precedent, am subliniat importanţa alegerii corespunzătoare a parametrului η - rata de învăţare. Alegerea sa este dificilă, fiind bazată îndeosebi pe 100
considerente practice decât pe considerente teoretice. Chiar dacă alegerea iniţială a lui η s-a dovedit a fi inspirată, pe parcursul avansării fazei de învăţare, se poate întâmpla ca η să nu mai aibă o valoare corespunzătoare. De aceea s-a luat în considerare posibilitatea modificării adaptive a ratei de învăţare, o dată cu procesul de învăţare. Pentru aceasta vom verifica influenţa modificării unei tării sinaptice asupra funcţiei eroare. Dacă funcţia eroare nu descreşte, putem micşora rata de învăţare η. Pe de altă parte, ne putem aştepta să întâlnim situaţii când avem descreşteri prea mari ale funcţiei eroare, care pot influenţa negativ învăţarea ulterioară şi prin urmare va trebui să mărim rata de învăţare η. Aceste considerente pot fi implementate matematic prin relaţia: ⎧a, a > 0 ⇔ ΔE < 0, | ΔE | mare ⎪ Δη = ⎨ − bη , ⇔ ΔE > 0 , a, b, c ∈ R ⎪ 0, altfel ⎩ η ≡ η + Δη
(4.89)
unde ΔE reprezintă variaţia funcţiei eroare. Există în literatura de specialitate un mare număr de lucrări consacrate acestei teme, putând menţiona ca fiind de interes [107], [200].
IV.2.2.4. Algoritmi de minimizare a funcţiei eroare
Legea de învăţare BP s-a dovedit în practică destul de ineficientă: convergenţă destul de lentă, blocarea în puncte de minim relativ. De aceea s-au propus, pe baza unor metode de optimizare din analiza numerică, şi alţi algoritmi de minimizare a funcţiei eroare. Dintre numeroasele metode luate în considerare, rezultate foarte bune s-au obţinut cu metoda gradientului conjugat [161]. Metoda gradientului conjugat, construieşte o mulţime de n direcţii de căutare, fiecare fiind conjugată una faţă de alta, în aşa fel încât minimizarea de-a lungul unei direcţii ui nu distruge minimizarea produsă de o direcţie anterioară ui-k, cu alte cuvinte, direcţiile nu interferează. Să încercăm să determinăm minimul absolut al funcţiei eroare E(w) ataşată PMS. Vom aproxima E(w) cu ajutorul dezvoltării sale în serie Taylor în punctul w0 din spaţiul tăriilor sinaptice: E (w ) = E (w 0 ) + ∑ i
1 ∂E 0 ∂ 2E (w ) ⋅ wi + ∑ ( w 0 ) ⋅ wi ⋅ w ⋅ j +... ≈ 2 i , j ∂wi ∂w j ∂wi
1 ≈ w⋅H⋅w −b⋅w + c 2
• • •
(4.90)
unde am renumerotat tăriile sinaptice w ji ↔ wk în aşa fel încât să folosim doar un indice, din considerente de simplificare a notaţiei. produsul “.“ reprezintă produsul scalar a doi vectori. ∂2f c = E (w 0 ), b = −∇E (w 0 ), ( H ) ij = (w 0 ) (4.91) ∂wi ∂w j 101
Matricea H, este o matrice pătratică de ordinul n, pozitiv ( ∀y ≠ 0, y ⋅ H ⋅ y > 0 ) şi reprezintă Hessiana lui E în punctul w0. Avem relaţia: ∇E = H ⋅ w − b
definită
(4.92)
ceea ce implică faptul că la o variaţie a variabilei w cu cantitatea δw, va genera o variaţie a gradientului, de forma: δ (∇E ) = H ⋅ (δw )
(4.93)
Să presupunem că E a fost minimizată de-a lungul unei direcţii ui, într-un punct unde gradientul -gi+1 a lui E este perpendicular pe direcţia ui, adică: u i ⋅ g i +1 = 0
(4.94)
Căutăm o nouă direcţie de minimizare ui+1. Cu scopul de a păstra minimizarea lui E de-a lungul direcţiei ui, vom impune condiţia ca gradientul lui E să rămână perpendicular pe ui, adică: u i ⋅ g i +1 = 0
(4.95)
altfel va trebui să minimizăm din nou, într-o direcţie care este o componentă a direcţiei anterioare ui. Combinând (4.94) şi (4.95) obţinem: 0 = u i ⋅ (g i +1 − g i + 2 ) = u i ⋅ δ (∇E ) = u i ⋅ H ⋅ u i +1
(4.96)
Vectorii ui şi ui+1 care satisfac relaţia (4.96) se numesc vectori conjugaţi. Pornind dintr-un punct arbitrar w0 din spaţiul conjugat, prima direcţie de minimizare aleasă este: g 0 = −∇E (w 0 )
(4.97)
de unde va rezulta alegerea unui nou punct w1. Pentru i ≥ 0 calculăm direcţiile: u i +1 = g i +1 + γ i u i
(4.98)
unde parametrul γ i este ales astfel încât u i ⋅ A ⋅ u i +1 = 0 şi toţi gradienţii succesivi perpendiculari, adică: γi =
g i +1 ⋅ g i +1 , g k = −∇f (w k ), k ≥ 0 gi ⋅ gi
(4.99)
Calculăm noul punct de minimizare: w i + 2 = w i +1 + λi +1u i +1
(4.100)
unde coeficientul λI+1 este astfel ales încât să minimizeze E(wi+2). Direcţiile ui construite în acest fel sunt două câte două conjugate. Acest algoritm de minimizare este numit algoritmul Fletches-Reeves. 102
În cadrul algoritmului Fletches-Reeves, deoarece apar erori de aproximare şi rotunjire a datelor în virgulă mobilă, trebuie să reluăm de mai multe ori cele n direcţii, care teoretic ar trebui să fie suficiente pentru convergenţa la soluţia optimală. De aceea, vom avea nevoie de direcţii de repornire un+1 = gn+1. Powell [161] a îmbunătăţit algoritmul Fletches-Reeves, îmbunătăţiri pe care le vom prezenta în continuare: a). Valoarea coeficienţilor γI La fiecare etapă de minimizare, unghiul θi dintre vectorii gi şi ui poate fi definit astfel: u i = sec θ i g i
(4.101)
γ i u i = tan θ i +1 g i +1
(4.102)
sau înlocuind i cu i+1 avem:
Putem elimina ||ui|| din (4.101) şi (4.102), obţinând:
tan θ i +1 = sec θ i
g i +1 gi
> tan θ i
g i +1
(4.103)
gi
Înlocuind în (4.99) valoarea lui γi cu noua valoare: γ i=
g i +1 (g i +1 − g i ) gi ⋅ gi
(4.104)
astfel încât: γ i≤
g i +1 g i +1 − g i gi
2
i
şi tan θ i +1 ≤ sec θ i
g i +1 − g i gi
(4.105)
deci θi+1 ≤ θi iar ui+1 este îndreptat către cea mai abruptă direcţie descendentă. b). Procedura de repornire Repornirea cu un+1 = gn+1 este ineficientă în practică, de aceea o metodă care să ţină seama de valorile derivatei de ordinul doi este de dorit. Fie ut o direcţie descendentă arbitrară de repornire. Presupunând că E(w) este cvadratică, ceea ce este adevărat în majoritatea aplicaţiilor practice, căutăm o nouă direcţie ui+1 care să fie o combinaţie liniară a vectorilor ut şi gt, gt+1 ,..., gi+1, astfel încât ut, ut+1,... sunt vectori conjugaţi doi câte doi. O expresie care asigură suficienţa acestei condiţii este: u i +1 = g i +1 + γ i ⋅ u i + γ i* ⋅ u t
(4.106)
unde γi este calculat în aşa fel încât ui+1 să fie conjugat cu ui: γ i=
g i +1 (g i +1 − g i ) u i (g i +1 − g i ) 103
(4.107)
iar γI* asigură conjugarea lui ui+1 cu ut: γ i* =
g i +1 (g t +1 − g t ) u i (g t +1 − g t )
(4.108)
Pentru a fi siguri că direcţia rezultată este descendentă şi nu ascendentă pe suprafaţa funcţiei eroare, impunem condiţia: u i ⋅ g i > 0, (∀) i > t
(4.109)
În continuare, trebuie să asigurăm după repornire ortogonalitatea vectorilor gi-1 şi gi, pentru a preveni ca aproximarea să tindă către o limită nenulă. Pentru aceasta impunem condiţia:
g i −1 ⋅ g i ≤ 0.2 ⋅ g i
2
(4.110)
De asemenea, noua direcţie trebuie să fie suficient de descendentă, de aceea vom avea condiţia:
− 1 .2 ⋅ g i
2
≤ u i ⋅ g i ≤ −0.8 ⋅ g i
2
(4.111)
Dacă condiţiile (4.110) şi (4.111) nu sunt satisfăcute, vom reporni cu i = t - 1. În Fig.4.9 am reprezentat rezultatele legi de învăţare pentru un PMS ce implementează problema XOR, considerând algoritmul clasic BP şi algoritmul gradientului conjugat.
1
Funcţia eroare E(w)
BackPropagation
0.5
Gradient conjugat 0 0
200
100
300
număr iteraţii -8
10 -2
10
Fig. 4.9.: Legea de învăţare BP şi legea de învăţare bazată pe gradientul conjugat. 104
IV.2.3. Interpretarea geometrică a PMS În IV.1.6 am studiat PS din punct de vedere al capacităţii de memorare, utilizând o serie de argumente geometrice, pentru a deduce rezultatul foarte important Pmax ≅ 2n. Pentru a simplifica analiza noastră, vom porni de la un PMS cu două straturi, cu următoarea arhitectură: • stratul de intrare cu n neuroni; • stratul ascuns cu h neuroni; • stratul de ieşire cu un singur neuron; • funcţia de activare poate fi funcţia signum, funcţia treaptă sau funcţia sigmoidală cu parametrul β mare. Neuronii din stratul de intrare conectaţi la un neuron al stratului ascuns constituie un PS. De asemenea, neuronii din stratul ascuns împreună cu neuronul din stratul de ieşire constituie un alt PS.
PS
PS
Fig.4.10.: Reprezentarea PS care pot fi consideraţi la un PMS: strat de intrare-neuron din stratul ascuns; strat ascuns-neuron de ieşire.
În IV.1.6 am dedus relativ la un PS că avem un număr de C(P,n) funcţii diferite implementabile (4.65), (4.66). Cum în stratul ascuns avem h neuroni, rezultă că din stratul de intrare şi stratul ascuns vom avea C(P,n)h funcţii implementabile diferite. Acest număr, reprezintă numărul maxim de funcţii implementabile, care de obicei în problemele practice nu este atins, deoarece nu orice implementare este demnă de luat în considerare. De exemplu, cazul în care toţi neuronii din stratul de ascuns generează ca valoare de ieşire valoarea zero, nu transmit nici o informaţie către stratul de ieşire, o astfel de implementare fiind evident neviabilă. Introducem următoarele noţiuni [26]: Def.4.1. Vom numi problemă, una din cele 2P posibilităţi distincte de a partiţiona mulţimea celor P date de intrare în două clase distincte. Def.4.2. Vom numi funcţie reţea, o funcţie ce corespunde legii implementate de un PMS particular. Două funcţii reţea sunt diferite, când relativ la aceeaşi arhitectură a PMS, aplicaţia implementată este diferită. 105
Pot exista PMS diferiţi care să implementeze aceeaşi funcţie reţea. Mulţimea partiţionărilor posibile ale celor P puncte de intrare, realizate de toate funcţiile reţea, o vom numi mulţimea problemelor solvabile. Mulţimea problemelor solvabile este o submulţime a mulţimii problemelor. Def.4.3. Vom numi soluţie, orice funcţie reţea ce realizează partiţionarea spaţiului datelor de intrare, conform problemei date. Să reprezentăm intuitiv aceste concepte, considerând un PMS cu n=h=2. Reprezentarea geometrică o avem in Fig.4.11. În Fig 4.11.a. avem reprezentarea spaţiului datelor de intrare ce corespund stratului de intrare, partiţionat de cele două drepte x şi y ce corespund celor doi neuroni ai stratului ascuns. Toate punctele de intrare conţinute într-unul din cele patru regiuni etichetate 00, 01, 10, 11, vor fi aplicate prin intermediul funcţiei de activare într-un unic punct, corespunzător spaţiului datelor stratului ascuns. Fiecare punct din spaţiul corespunzător stratului ascuns este partiţionat de dreapta z (Fig.4.11.b) ce corespunde neuronului din stratul de ieşire. În acest fel cele patru puncte 00, 10, 11 respectiv 01 vor fi aplicate prin intermediul funcţiei de activare în punctul 0, respectiv 1, ale stratului datelor de ieşire (Fig.4.11.c). În cazul PMS putem avea mai multe soluţii la aceeaşi problemă. Considerând de exemplu, relativ la spaţiul datelor de intrare, alte două drepte x şi y care să realizeze partiţionarea punctelor de intrare, obţinem altă soluţie. Să calculăm probabilitatea PS, ca alegând aleator o problemă, ea să aibă cel puţin o soluţie: PS =
numãr _ probleme _ solvabile numãr _ probleme _ solvabile = numãr _ probleme 2P
Deoarece nu ştim să calculăm numărul de probleme solvabile, vom încerca să deducem o margine superioară a acestui număr, bazându-ne pe inegalitatea:
PS =
numãr _ probleme _ solvabile numãr _ functii _ retea ≤ 2n 2n
106
x2
01
(a)
11 00 10
y x1
x Spatiul corespunzător punctelor de intrare
(b)
y 0
z 1
01
11
x 00
10
Spatiul corespunzător stratului ascuns
0
1
(c) Spatiul corespunzător stratului de iesire Fig.4.11.: Reprezentarea geometrică a datelor corespunzătore diferitelor straturi ale PMS: strat de intrare (a), strat ascuns (b), strat de ieşire (c).
Pentru cazul PS inegalitatea de mai sus devine egalitate. Să notăm cu m numărul de puncte în care sunt aplicate cele P puncte n-dimensionale ale stratului de intrare, de către cei h neuroni ai stratului ascuns: m ∈{1,2,..., R( h, n )} unde R(h,n) este definit în IV.1.6, reprezentând numărul de regiuni în care spaţiul n-dimensional de intrare este partiţionat de h hiperplane. Fie Bm(P,n,h) numărul funcţiilor reţea care realizează corespondenţa celor P puncte de intrare din spaţiul n-dimensional la exact m puncte h-dimensionale corespunzătoare spaţiului datelor stratului ascuns. Atunci: 107
R( h ,n )
∑B
m
m=1
( P , n , h ) = C( P , n )h
Conform cu (4.71), R( h, n ) =
(4.112)
1 C( h + 1, n ) . Dacă h ≤ n (lucru care se întâmplă în 2
practică), vom avea: R(h,n) = 2h, pentru h ≤ n
(4.113)
Luând în considerare şi PS format din stratul ascuns şi neuronul stratului de ieşire, vom avea numărul total de funcţii reţea: R( h ,n )
∑B
m
m=1
( P , n , h ) ⋅ C( m, h )
(4.114)
Generalizarea pentru un PMS cu mai multe straturi ascunse este imediată. Obţinem formula generală pentru numărul total de funcţii reţea: R( n1 ,n ) R( n2 ,n1 )
∑ ∑
m1 =1
m2 =1
...
R( nl −1 ,nl − 2 )
∑B
ml −1 =1
m1
( P , n , n1 ) ⋅ Bm2 ( m, n1 , n2 )⋅...⋅Bml −1 ( ml −2 , nl −2 , nl −1 ) ⋅ C( ml −1 , nl −1 )
Să calculăm o valoare aproximativă pentru Bm(P,n,h). Vom folosi pentru aceasta o construcţie combinatorială [27]. Să notăm cu RbP numărul de aranjamente a P puncte în Rb regiuni. Fie Am(P) numărul de moduri în care putem dispune P puncte în exact m regiuni distincte, fără a lăsa vreo regiune vidă. Atunci avem: Rb
RbP = ∑ CRmb ⋅ Am ( P )
(4.115)
m=1
Utilizând principiul includerii-excluderii obţinem: m
Am ( P ) = ∑ ( −1 )k Cmk ⋅ ( m − k ) P
(4.116)
k =0
Presupunând în continuare că punctele sunt etichetate diferit, numărul de moduri în care putem aranja punctele în cele P regiuni, fără a amesteca puncte cu etichete diferite, este un număr mai mic decât RbP . În total, putem să etichetăm şi să le aranjăm în regiuni, într-un număr de ( 2Rb )m moduri. Atunci numărul de aranjamente a punctelor cu etichete diferite, în cele RbP regiuni este: Rb
n ∗ = ∑ CRmb ⋅ Am ( P ) ⋅ 2 m ≤ ( 2 ⋅ Rb ) P
(4.117)
m=1
Putem considera pentru Bm(P,n,h) valoarea aproximativă CRmb Am ( P0 ) unde P0 reprezintă numărul de puncte pentru care numărul total de funcţii din (4.112) trebuie să fie egal cu numărul total de regiuni R(h,n). Atunci P0 va satisface ecuaţia: 108
R( h, n ) P0 = C( P , n )h
(4.118)
Prin logaritmare obţinem:
P0 =
h ⋅ log 2 C( P , n ) log 2 R( h, n )
(4.119)
În condiţiile satisfacerii condiţiei (4.112) avem:
P0 = log 2 C( P , n )
(4.120)
Astfel avem aproximarea: Bm ( P , n , h ) ≈ CmR( h ,n ) ⋅ Am ( P0 )
(4.121)
iar n* devine: n∗ =
1 2P
R( h ,n )
∑C m=1
m R( h ,n )
⋅ Am ( P0 ) ⋅ 2 m
(4.122)
1 reprezintă factorul de mediere relativ la toate posibilităţile de etichetare a 2P punctelor de intrare. unde factorul
Cu aproximarea (4.121), numărul mediu de funcţii care realizează o partiţionare corectă a punctelor de intrare în spaţiul punctelor corespunzătoare stratului ascuns, este: 1 2P
R( h ,n )
∑B m=1
m
( P, n , h ) ⋅ 2 m
(4.123)
Utilizând cele deduse mai sus avem: 1 C( P , n )h ≤ P P 2 2
R( h ,n )
∑ Bm ( P, n , h ) ⋅ 2 m ≤ m=1
C( P , n )h R( h ,n ) ⋅2 2P
(4.124)
C( P , n )h (4.125) 2P Din formula (4.125) obţinem valoarea aproximativă a capacităţii maximale a PMS PS ≤ 2 R( h ,n ) ⋅
[27]:
nh (4.126) log 2 Rezultatul de mai sus este valabil în limita P, n, h foarte mari fiind similar cu cel dedus în (4.65). Pmax ≈
109
V. Învăţarea activă V.1. Introducere
În formele clasice de învăţare supervizată pe baza unei mulţimi de exemple, datele de antrenament sau exemplele sunt de obicei alese conform unei distribuţii arbitrare fixate necunoscute. În acest sens, antrenorul este pur şi simplu un recipient pasiv de informaţii despre funcţia de învăţat (funcţia ţintă). Problema care ne interesează este dacă antrenorul poate avea un rol mai activ, adică pe lângă a indica răspunsul dorit să încerce să indice şi care date de antrenament trebuie selectate pentru a obţine performanţe cât mai bune. Există desigur nenumărate moduri în care antrenorul poate fi mai activ. Să considerăm, de exemplu, cazul extrem unde cel care învaţă, pune întrebări pur şi simplu pentru a afla informaţiile de care are nevoie. Pentru analiza noastră, ne vom concentra atenţia asupra situaţiei în care antrenorului i se permite să-şi aleagă singur exemplele, pentru aproximarea funcţiilor. Cu alte cuvinte, antrenorului i se poate permite să decidă de unde să ia eşantioane pentru a putea aproxima funcţia ţintă. Să observăm că acest lucru este în contrast direct cu cazul pasiv când antrenorului i se prezentau aleator exemple din domeniul de definiţie sau exemplele erau alese conform unei distribuţii uniforme (în spaţiul unidimensional real R aceasta coincide cu date echidistante). În analiza noastră vom păstra neschimbaţi ceilalţi parametri care influenţează procesul de învăţare şi vom compara învăţarea activă cu cea pasivă, care diferă doar prin modul de alegere a exemplelor [56]. O întrebare importantă este dacă aceste moduri de alegere activă a exemplelor îi permit antrenorului să înveţe cu un număr mai mic de exemple. Există principii de alegere a exemplelor? Vom dezvolta un cadru general pentru alegerea exemplelor pentru aproximarea (învăţarea) funcţiilor reale. Vom aplica aceste principii de alegere a exemplelor pe nişte clase specifice de funcţii. Am obţinut limite teoretice pentru numărul de exemple necesare pentru învăţarea funcţiilor reale din aceste clase, la învăţarea activă şi pasivă şi vom face o serie de simulări experimentale pentru a demonstra superioritatea învăţării active.
V.2. Un cadru general pentru aproximarea activă V.2.1. Preliminarii
În cele ce urmează vom avea nevoie să introducem o serie de noţiuni: •
Fie F clasa funcţiilor definite pe D cu valori în Y, unde Y ⊆ R.
{
}
F = f : D ⊆ Rn → Y ⊆ R 110
(5.1)
Din această clasă de funcţii F face parte şi funcţia ţintă f care trebuie aproximată cu ajutorul unei scheme de aproximare. •
Mulţimea de antrenament T este un set de date constituit din perechi formate din puncte ale domeniului D şi valorile funcţiei f în aceste puncte. Astfel:
T = {(x i , yi ) x i ∈ D, yi = f (x i ), i = 1,2,..., N} •
(5.2)
Fie H o schemă de aproximare. Aceasta este o clasă de funcţii (definite pe mulţimea D cu valori în Y) din care va fi aleasă funcţia care încearcă să aproximeze funcţia ţintă f ∈ F. Vom folosi notaţia H nu numai pentru a ne referi la clasa funcţiilor aproximante (funcţiile care încearcă să aproximeze funcţia ţintă), dar şi la algoritmul după care antrenorul alege o funcţie aproximantă: h ∈ H pe baza setului de date T. Cu alte cuvinte, H denotă o schemă de aproximare care este de fapt un cuplu 〈H, A〉, unde A este un algoritm care are ca date de intrare mulţimea T şi ca rezultat de ieşire o funcţie h ∈ H.
Exemplul 5.1 : Dacă considerăm funcţiile definite pe Rn cu valori în R, exemple tipice pentru H sunt: clasa funcţiilor polinomiale de un ordin dat, clasa funcţiilor spline de un anumit ordin, Radial Basis Functions cu un număr limitat de noduri etc. •
Fie dC o metrică pentru a determina cât de bună este aproximarea făcută de către antrenor. Mai precis, metrica dC măsoară eroarea pe submulţimea C ⊆ D. Putem să facem următoarele observaţii: •
pentru orice submulţimi C1 şi C2 ale lui D astfel încât C1 ⊂ C2 , d C1 ( f1 , f 2 ) ≤ d C2 ( f1 , f 2 ) ;
•
dD (f1, f2) reprezintă distanţa aproximării pe întregul domeniu; aceasta reprezintă criteriul de bază pentru aprecierea corectitudinii aproximării.
Exemplul 5.2: Pentru funcţii reale definite pe Rn cu valori în R, un exemplu de metrică este p
p
1
metrica LC definită astfel: d C ( f1 , f 2 ) = ( ∫ f1 − f 2 dx ) p . C
•
Fie mulţimea C o partiţie a domeniului D. Presupunem că punctele din domeniul D, alese pentru reprezentarea funcţiei f, partiţionează domeniul D într-un set de submulţimi N disjuncte Ci ∈ C astfel încât U C = D . i i =1 Exemplul 5.3: Pentru funcţii definite pe intervalul [0, 1] cu valori în R şi setul de date D, un mod natural de a partiţiona intervalul [0, 1] este în intervale de forma [xi, xi+1). Mulţimea C poate fi mulţimea tuturor intervalelor (închise, deschise, semi-închise sau semi-deschise) [a, b]⊂ [0, 1]. Scopul antrenorului (operând cu o schemă de aproximare H) este de a furniza o funcţie aproximantă h ∈ H (care este aleasă pe baza exemplelor din mulţimea de antrenament T) ca o aproximantă a unei funcţii necunoscute f ∈ F.
111
Va trebui însă să formulăm un criteriu pentru aprecierea competenţei antrenorului. În literatura de specialitate, se foloseşte criteriul PAC (Probably Approximatevily Correct) [195], [15] drept criteriu de apreciere a algoritmilor de învăţare. Am adaptat aici pentru scopurile noastre un criteriu PAC pentru a determina eficacitatea schemei de aproximare descrisă mai sus. Def. 5.1: O schemă de aproximare se spune că învaţă P-PAC o funcţie f ∈ F dacă pentru orice ε > 0 şi orice 1 > δ > 0 şi pentru P o distribuţie arbitrară pe D, alege setul de date D şi calculează o funcţie aproximantă h ∈ H astfel încât dD (h, f) < ε cu o probabilitate mai mare decât 1 - δ. Clasa de funcţii F este învăţabilă P-PAC dacă schema de aproximare poate învăţa P-PAC orice funcţie f ∈ F. Clasa F este PAC învăţabilă dacă schema de aproximare poate învăţa P-PAC clasa pentru orice distribuţie P [149]. Trebuie să facem o clarificare a definiţiei de mai sus. Să observăm că distanţa d este arbitrară. Nu e nevoie ca aceasta să fie legată de distribuţia P în conformitate cu care sunt alese datele din mulţimea D, ceea ce nu este valabil pentru distanţele folosite în formulările clasice ale PAC.
V.2.2. Algoritmi de alegere a exemplelor În paragrafele anterioare am introdus bazele învăţării pasive. Aceasta corespunde unui antrenor pasiv care îşi alege exemplele în conformitate cu distribuţia probabilistică P definită pe domeniul D. Dacă un astfel de antrenor pasiv îşi alege exemplele şi produce o funcţie aproximantă h astfel încât dC (h, f) < ε şi cu probabilitatea mai mare decât 1 - δ, acesta înseamnă că a învăţat P-PAC funcţia f. Def. 5.2: Numărul exemplelor de care are nevoie antrenorul pentru a învăţa funcţia f se numeşte complexitatea mulţimii de antrenament. O alternativă a învăţării pasive, o reprezintă existenţa posibilităţii de a permite antrenorului de a-şi alege exemplele, adică învăţarea activă [56]. La început, mulţimea de antrenament îi va furniza antrenorului câteva informaţii privitoare la funcţia ţintă; în particular, probabil îl informează despre regiunile “interesante” sau dificil de învăţat ale funcţiei, sau regiunile unde eroarea de aproximare este mare şi are nevoie de exemple suplimentare. Pe baza acestui tip de informaţii (alături de alte informaţii despre clasa de funcţii în general) antrenorul trebuie să fie capabil să decidă de unde va fi ales următorul exemplu (dată de antrenament). Putem formaliza această noţiune în felul următor: notăm cu T = {(x i , yi ) x i ∈ D, yi = f (x i ), i = 1,2,..., N} mulţimea de antrenament, setul de date (conţinând N puncte) la care antrenorul are acces. Schema de aproximare acţionează asupra acestui set de date şi alege o funcţie h ∈ H (care se potriveşte cel mai bine cu datele conform algoritmului A ce corespunde schemei de aproximare). Să notăm cu Ci , i = 1, K ( N ) 5, o partiţie a domeniului D şi notăm cu: 5
Numărul de regiuni K(N,) în care se împarte domeniul D de către N puncte date, depinde de geometria spaţiului D şi de schema de partiţionare folosită. Pentru axa reală R partiţionarea se face în intervale ca şi în exemplul dat, iar K(N) = N + 1.
112
FT = { f ∈ F f (x i ) = yi , ∀(x i , yi ) ∈ T}
(5.3)
mulţimea tuturor funcţiilor din F care trec prin punctele din mulţimea de antrenament T. Funcţia ţintă poate fi orice funcţie din mulţimea FT. Să definim mai întâi un criteriu de eroare [149]: eC (H, T, F) = sup dC (h, f), unde f ∈ FT
(5.4)
eC este o măsură a erorii maxime pe care poate să o aibă schema de aproximare (pe regiunea C). Aceasta, evident depinde de date, de schema de aproximare şi de clasa de funcţii care trebuie aproximată. Ea nu depinde de funcţia ţintă (cu excepţia indirectă, în sensul că datele sunt generate de funcţia ţintă, dar această dependenţă este deja evidenţiată în expresia de mai sus). Avem astfel o schemă de măsurare a incertitudinii (eroarea maximă posibilă) pe diferite regiuni ale spaţiului D. O posibilă strategie [56] pentru a selecta noi exemple poate fi ca pur şi simplu să luăm noi exemple în regiunea Ci , unde eroarea este cea mai mare. Să presupunem că avem o procedură P care face acest lucru. P poate alege exemplul din regiunea C în centrul regiunii sau să-l aleagă după orice altă metodă. Acest lucru poate fi descris algoritmic astfel [52]: Algoritm activ A 1. [Iniţializare] Se alege un exemplu (x1, y1) ∈ T în acord cu procedura P. 2. [Obţinerea de noi partiţii] Se împarte domeniul D în regiuni C1,..., Ck(1) pe baza acestui exemplu. 3. [Se calculează incertitudinea] Se calculează eCi , pentru fiecare i. 4. [Actualizarea generală şi condiţia de oprire] Presupunem că la pasul j, domeniul D este partiţionat în regiunile Ci , i = 1,..., K(j). Se calculează eCi pentru fiecare i şi în regiunea cu eroarea cea mai mare se alege încă un exemplu în conformitate cu procedura P. Acesta este punctul (xj+1, yj+1). Acest punct re-partiţionează domeniul D. Dacă eroarea maximă eD pe întregul domeniu D este mai mică decât ε atunci algoritmul se opreşte; altfel se reia de la Pasul 2. Algoritmul de mai sus este o posibilă strategie activă. Oricum, acesta poate fi optimizat pentru a ne da localizarea precisă a următorului exemplu. Să ne imaginăm pentru un moment, că antrenorul întrebă care este valoarea funcţiei în punctul x ∈ D. Valoarea obţinută aparţine mulţimii: FT(x) = { f ( x ) f ∈FT } . Să presupunem că valoarea este y ∈ FT(x). De fapt, antrenorul are acum un nou exemplu, perechea (x, y) pe care o poate adăuga la setul de date de antrenament T pentru a obţine un nou set mai larg de date T * = T U (x, y ) . Schema de aproximare H poate aplica noul set de date la o nouă funcţie aproximantă h′. Se poate calcula: eC (H, T′, F) = sup (h′, f), unde f ∈ FT’ 113
(5.5)
Evident eD(H, T′, F) măsoară acum eroarea maximă posibilă privitor la noul set de date. Aceasta depinde de (x, y). Pentru un x fixat noi nu ştim valoarea lui y pe care ar trebui să o cunoaştem dacă alegem punctul ca un nou exemplu. Prin urmare, un gând firesc ar fi să alegem cel mai nefavorabil caz, să presupunem că luăm cea mai “nefavorabilă” valoare pentru y şi să continuăm cu această valoare algoritmul. Aceasta ne va produce cea mai mare eroare posibilă pe care o putem obţine alegându-l pe x ca nou exemplu. Astfel eroarea (pe întregul domeniul de definiţie D) este: sup e D ( H , T' , F ) = sup e D ( H , T U {x, y}, F )
y ∈FT ( x )
y ∈FT ( x )
(5.6)
Am dori să avem posibilitatea de a obţine punctul x cu care se minimizează eroarea maximă. Astfel, pe baza acestui argument, exemplul optim este: x new = arg min sup e D ( H , T U {x, y}, F ) x ∈D y ∈F ( x ) T
(5.7)
Aceasta reprezintă strategia principală de alegere a noului exemplu. Următorul algoritm este un algoritm optimal de învăţare activă: Algoritmul activ B (Optimal) 1. [Iniţializare] Se alege un exemplu (x1, y1) în conformitate cu procedura P. 2. [Calculul noului exemplu] Se aplică expresia (5.7) şi se obţine un punct nou x2. Calculăm valoarea funcţiei în acest punct obţinem y2 şi obţinem un nou exemplu (x2, y2) care se adaugă mulţimii de date de antrenament. 3. [Regula de actualizarea generală şi condiţia de oprire a algoritmului] Să presupunem că la pasul j avem mulţimea de date de antrenament Tj (constând din j exemple). Se calculează xj+1 conform expresiei (5.7) şi calculând valoarea funcţiei în punctul xj+1 obţinem un nou exemplu (xj+1, yj+1) şi astfel un nou set de date şi o nouă funcţie aproximantă. În general, ca şi în algoritmul A, algoritmul se opreşte atunci când eroarea totală eD (H, Tk, F) este mai mică decât precizia ε. Conform procesului de calcul, este clar că dacă alegem un alt exemplu decât cel obţinut prin regula (5.7), obţinem o valoare y şi o funcţie consistentă cu toate punctele din setul de date (inclusiv cu noua dată), ceea care ar forţa antrenorul să facă o eroare mai mare decât dacă antrenorul ar alege punctul xnew (conform (5.7)). În acest sens algoritmul B este optimal. El diferă de asemenea, de algoritmul A prin faptul că nu are nevoie de o schemă de partiţionare sau de o procedură P de alegere a unui exemplu într-o anumită regiune a spaţiului. Oricum, calculul lui xnew inerent în algoritmul B este mai costisitor din punct de vedere computaţional decât cel din algoritmul A. Merită să observăm că, pentru formularea noastră important este calculul erorii eD (H, T, F). Astfel, am notat mai devreme că aceasta este o măsură a erorii maxime posibile pe care schema de aproximare este forţată să o facă în aproximarea funcţiei din F folosind setul de date T. Dacă dorim o schemă de aproximare independentă, aceasta se poate obţine minimizând eD relativ la mulţimea tuturor schemelor posibile: 114
inf ( H , D, F )
(5.8)
H
Orice schemă de aproximare poate să genereze o eroare cel puţin tot atât de mare ca cea din expresia de mai sus. O altă limitare este cea impusă erorii eD ca să fie independentă de mulţimea de date. Astfel, având o schemă de aproximare H, dacă setul de date T este ales arbitrar, se poate calcula probabilitatea: P{eD (H, T, F) > ε}
(5.9)
Dacă avem o într-o schemă de aproximare independentă de date:
{
P inf ( H , T , F ) > ε H
}
(5.10)
V.3. Învăţare activă. Aproximarea funcţiilor continue monoton crescătoare şi mărginite
R:
Să considerăm următoarea clasă de funcţii definite pe intervalul [0, 1] ⊂ R cu valori în F = { f 0 ≤ f (x ) ≤ M , ∀x ∈ R, f ( x) ≥ f ( y ) ∀x ≥ y}
(5.11)
Pe baza celor prezentate în paragraful anterior va trebuie să specificăm termenii H, dC şi procedura P pentru partiţionarea domeniului D = [0, 1]. Pentru început vom presupune că schema de aproximare H este metoda spline de ordinul I [31]. Această metodă determină funcţia monotonă care interpolează liniar datele din setul de date D. O cale naturală de partiţionare a domeniul D este împărţirea lui în intervale: [0, x1), [x1, x2),..., [xi, xi+1),..., [xn , 1]
(5.12)
Metrica dC pe care o vom considera este metrica Lp dată de relaţia: d C ( f1 , f 2 ) =
(∫
1
0
p
f1 − f 2 dx
)
1 p
(5.13)
Interesul nostru este de a compara complexitatea mulţimii de antrenament în învăţarea pasivă şi activă. Vom face acest lucru luând în considerare o distribuţiei uniformă, adică antrenorul pasiv îşi va alege exemplele uniform din domeniul său [0, 1]. Pe de altă parte, vom arăta cum rezultatele generale din paragraful precedent se transformă într-un algoritm activ specific de alegere a exemplelor şi vom obţine limite pentru calculul complexităţii mulţimii de antrenament.
115
V.3.1. Limita inferioară pentru învăţarea pasivă Teorema 5.1: Orice algoritm de învăţare pasiv (mai exact, orice schemă de aproximare care îşi extrage exemplele uniform şi interpolează datele pentru orice funcţie mărginită arbitrară) p
1⎛M ⎞ ⎛1⎞ ⎜ ⎟ ⋅ ln⎜ ⎟ exemple pentru a învăţa P-PAC clasa de funcţii, 2 ⎝ 2ε ⎠ ⎝δ ⎠ unde P este o distribuţie uniformă.
va avea nevoie de cel puţin
Demonstraţie: Să considerăm distribuţia uniformă pe [0, 1] şi o subclasă de funcţii care este nulă pe intervalul A = [0,1 − (2ε / M ) p ] ∈ F. Să presupunem că antrenorul pasiv extrage uniform l exemple oarecare. Atunci toate exemplele vor fi extrase din intervalul A cu probabilitatea (1 - (2ε / M)p)l. Rămâne să arătăm că pentru subclasa considerată, oricare ar fi funcţia ţintă furnizată de antrenor, se poate genera o eroare mai mare. Presupunem că antrenorul consideră că funcţia aproximantă este h. Să notăm cu:
(∫
p
(1− ( 2 ε / M ) p ,1)
h( x ) dx
)
1 p
=χ
(5.14)
Avem relaţia evidentă: 0 ≤ χ ≤ (Mp(2ε/M)p)1/p = 2ε. Dacă χ < ε atunci se poate considera că funcţia ţintă este:
⎧0, x ∈[0, 1 − (2ε / M ) p ] g( x ) = ⎨ p ⎩ M, x ∈[1 − (2ε / M ) , 1]
(5.15)
Pe de altă parte, dacă χ ≥ ε atunci se poate considera că funcţia ţintă este g = 0. În primul caz din inegalitatea triunghiului rezultă: d (h, g ) =
(∫
[ 0 ,1]
p
g − h dx
)
1 p
1
p p g − h dx ⎞⎟ ≥ ≥ ⎛⎜ ∫ ⎝ [1−( 2ε / M ) p ,1] ⎠
1
1
(5.16)
p p p M p dx ⎞⎟ − ⎛⎜ ∫ h dx ⎞⎟ = 2ε − χ > ε ≥ ⎛⎜ ∫ ⎠ ⎝ (1−( 2ε / M ) p ,1) ⎠ ⎝ (1−( 2ε / M ) p ,1)
În al doilea caz avem: d (h, g ) =
(∫
[ 0 ,1]
p
g − h dx
)
1 p
1
p p ≥ ⎛⎜ ∫ 0 − h dx ⎞⎟ = χ > ε ⎝ (1−( 2ε / M ) p ,1) ⎠
(5.17)
Trebuie să aflăm cât de mare trebuie să fie l, astfel încât evenimentul ca toate exemplele să fie extrase din A să aibă o probabilitate mai mică decât δ. Pentru ca să avem (1 − (2ε / M ) p ) l > δ trebuie ca l < 116
1 ⎛1⎞ ln⎜ ⎟ . p − ln(1 − (2ε / M ) ) ⎝ δ ⎠
Avem inegalitatea cunoscută: 1 1 1 , ≤ 2 2α − ln(1 − α ) folosind această inegalitate şi considerând α = (2ε/M)p obţinem că pentru
pentru α < 1
p
M ⎛1⎞p 1⎛M ⎞ 1 ⎛1⎞ ε< ⋅ ⎜ ⎟ avem ⎜ ⎟ ln( δ1 ) < ⋅ ln⎜ ⎟ . 2 ⎝ 2ε ⎠ 2 ⎝2⎠ − ln(1 − (2ε / M ) p ) ⎝ δ ⎠ p
1 ⎛ M⎞ ⎛ 1⎞ ⎜ ⎟ ⋅ ln⎜ ⎟ , probabilitatea ca toate exemplele să ⎝ ⎠ ⎝δ ⎠ 2 2ε fie extrase din A este mai mare decât δ. Prin urmare, antrenorul pasiv este obligat să facă o eroare de cel puţin ε, cu o probabilitatea mai mare decât δ, astfel încât învăţarea PAC nu poate avea loc.
Deci, în afara cazului când l >
V.3.2. Algoritmul învăţării active (AIA) În secţiunea anterioară am calculat limita inferioară pentru învăţarea PAC pasivă a clasei de funcţii considerate, relativ la o distribuţie uniformă. În cele ce urmează, vom obţine o strategie pentru învăţarea activă care va alege exemplele pe baza informaţiilor despre funcţia ţintă din exemplele anterioare. Vom determina formal o limită superioară a numărului de exemple pe care-l cere învăţarea PAC a clasei de funcţii. Cât timp limita superioară este cazul cel mai nefavorabil, numărul efectiv de exemple pe care le cere această strategie diferă, depinzând în mare măsură de funcţia de aproximat. Vom demonstra empiric performanţa acestei strategii pentru diferite tipuri de funcţii pentru a pune în evidenţă această diferenţă. Să considerăm o schemă de aproximare de felul celei descrise mai înainte care se încearcă să aproximeze funcţia ţintă f ∈ F pe baza setului de date D.
yi+1 yi
0
xi+1
xi
Fig. 5.1: Mulţimea FD constă din toate funcţiile conţinute în dreptunghiurile reprezentate şi care trec prin punctele de antrenament (de exemplu funcţiile reprezentate cu linie punctată). Funcţia aproximantă h este reprezentată cu linie continuă. 117
Putem presupune, fără a pierde generalitatea, că cunoaştem valoarea funcţiei în punctele x = 0 şi x = 1. Punctele {xi,| i = 1,2,...,N} împart domeniul în N + 1 intervale Ci (i = 1,2,...,N) unde Ci = [xi, xi+1] (x0 = 0, xN +1 = 1). Monotonia funcţiilor din F ne permite să obţinem nişte dreptunghiuri care delimitează valorile pe care funcţia ţintă le poate lua în punctele din domeniul său de definiţie. Mulţimea tuturor funcţiilor care se încadrează în aceste dreptunghiuri este FT. Să calculăm mai întâi eCi(H, T, F) pentru un interval Ci. Pe acest interval funcţia este constrânsă să se încadreze în dreptunghiul corespunzător. În Fig. 5.2. este reprezentat la o scară mărită un astfel de dreptunghi. (xi+1, yi+1)
h
A
(xi, yi) B 0
Fig. 5.2: Desenul mărit al intervalului Ci = [xi, xi+1]. Eroarea maximă pe care o poate avea schema de aproximare este indicată de zona haşurată. Aceasta se întâmplă atunci când considerăm că funcţia ţintă are valoarea yi pe tot intervalul.
Eroarea maximă pe care schema de aproximare o poate avea (indicată de zona haşurată) este dată de relaţia: 1
⎛⎜ ⎝ ∫Ci
1
⎛ B⎛ A ⎞p ⎞ p AB p h − f ( xi ) dx ⎞⎟ = ⎜ ∫ ⎜ x ⎟ dx ⎟ = 1 ⎟ ⎜ 0 ⎝B ⎠ ⎠ ⎠ ⎝ ( p + 1) p p
1 p
(5.18)
unde A = f (xi+1) - f (xi) iar B = (xi+1 - xi). Evident eroarea pe întregul domeniu este: N
e Dp = ∑ eCpi
(5.19)
i =0
Calculul lui eC este necesar pentru a implementa o strategie activă motivată de algoritmul A, prezentat anterior. Pentru aceasta trebuie să alegem un exemplu din intervalul cu eroarea cea mai mare; adică avem nevoie de o procedură P pentru a determina cum să obţinem un nou exemplu în acest interval, şi anume, alegem noul exemplu în mijlocul intervalului cu eroarea cea mai mare obţinând următorul algoritm: 118
Algoritmul de alegere a exemplelor şi de învăţare activă 1. [Pasul iniţial] Aflăm valorile funcţiei ţintă în punctele x = 0 şi x = 1. La acest pas, domeniul [0,1] este compus dintr-un singur interval: [0,1]. 1 1 (1 − 0) p ⋅ f (1) − f (0) . Calculăm E1 = 1 ( p + 1) p Fie T1 = E1. Dacă T1 < ε Atunci STOP şi funcţia aproximantă este funcţia liniară care interpolează datele; Altfel considerăm mijlocul intervalului [0,1] şi partiţionăm domeniului în două intervale ⎡0, 1 ⎞ ⎛ 1 ,1⎤ . ⎢⎣ 2 ⎟⎠ ⎜⎝ 2 ⎥⎦ 2. [Actualizarea generală şi condiţia de oprire a algoritmului] Presupunând că la pasul al klea, partiţia intervalului [0,1] este [x0 = 0, x1), [x1, x2),..., [xk-1, xk = 1], calculăm eroarea 1 1 (xi − xi −1 ) p f ( xi ) − f ( xi −1 ) , i = 1, 2, …, k. Mijlocul intervalului normalizată Ei = 1 p ( p + 1) care are eroarea Ei maximă este luat în considerare pentru alegerea noului exemplu. Se 1
⎛ k ⎞p calculează eroarea totală normalizată Tk = ⎜ ∑ E ip ⎟ , procesul se termină când Tk ≤ ε. ⎝ i =1 ⎠ Funcţia aproximantă h pentru fiecare pas la este o interpolare liniară a datelor alese până atunci, iar funcţia aproximantă finală h este obţinută după terminarea întregului proces. Să ne imaginăm că alegem ca nou exemplu punctul x ∈ Ci = [xi, xi+1] şi obţinem valoarea y ∈ FT(x) (adică y este în dreptunghiul corespunzător) cum este reprezentat în Fig. 5.3.
(xi+1,yi+1) yi+1 y
yi (xi,,yi)
xi
x
xi+1 Ci2
Ci1 Ci
Fig. 5.3: Situaţia când alegem din intervalul Ci un nou exemplu. Acesta împarte intervalul Ci în două sub-intervale şi cele două zone haşurate indică noile restricţii ale funcţiei. 119
Acesta adaugă un nou interval prin împărţirea intervalul Ci în două sub-intervale C i1 şi C i2 unde C i1 = [xi, x) şi C i2 = [x, xi+1]. Mai obţinem, de asemenea, două dreptunghiuri mai mici
în interiorul celui iniţial în care funcţia este acum constrânsă să se încadreze. Eroarea măsurată prin eC poate fi recalculată luând în considerare acestea. Obs. 5.1: Adăugarea unui nou exemplu (x, y) nu schimbă valoarea erorii pe nici un alt interval. Ea are efect doar asupra intervalului Ci care a fost partiţionat. Eroarea totală pe tot acest interval se exprimă prin relaţia: 1
⎛ 1 ⎞p ⎟⎟ ( x − xi )( y − f ( xi )) p + ( xi +1 − x) + eCi (H , D' , F ) = ⎜⎜ ⎝ p +1⎠
(
)
1
+ (( f ( xi +1 ) − f ( xi )) − y ) ) p = p
p
p
= G ( zr + ( B − z )( A − r ) )
(5.20)
1` p
unde am folosit notaţiile: z = x - xi; r = y - f (xi); A = f(xi+1) - f(xi) şi B = xi+1 - xi. Evident 0 ≤ z ≤ B şi 0 ≤ r ≤ A. Să considerăm lema: 1 B = arg min z∈[ 0, B ] sup r∈[ 0, A] G zr p + ( B − z )( A − r ) p p 2 Demonstraţie: Fie z∈[0, B]. Există trei cazuri care trebuie luate în considerare:
(
Lema 5.1:
)
Cazul 1: z > B/2, atunci fie z = B/2 + α unde α > 0. Obţinem:
(
sup r∈[ 0, A] G zr p + ( B − z )( A − r ) p
(
(
)
1 p
= sup r∈[ 0, A] G zr p + ( B − z )( A − r ) p
(
)
=
))
1 p
sup r∈[ 0, A] G zr p + ( B − z )( A − r ) p =
(
)
p
= sup r∈[ 0, A] G ( B / 2 + α )r + ( B / 2 − α )( A − r ) p = p
p
p
= G sup r∈[ 0, A] B / 2(r + ( A − r ) ) + α (r − ( A − r ) p )
Pentru r = a expresia căreia i s-a aplicat supremum devine: B / 2(r p + ( A − r ) p ) + α (r p − ( A − r ) p ) = (B/2 + α) ⋅ Ap.
Pentru orice alt r ∈ [0, A] trebuie să arătăm că: B / 2(r p + ( A − r ) p ) + α (r p − ( A − r ) p ) ≤ (B/2 + α) ⋅ Ap
sau B / 2((r / A) p + (1 − (r / A)) p ) + α ((r / A) p − (1 − (r / A)) p ) ≤ (B/2 + α)
Fie β =
r (evident β ∈ [0,1]) şi să observăm că (1 - β) p ≤ 1 - β p şi β p - (1 - β) p ≤ 1, A 120
inegalitatea de mai sus fiind demonstrată). 1
1
Prin urmare: sup r∈[ 0, A] G ( zr p + ( B − z )( A − r ) p ) p = G ( B / 2 + α ) p ⋅ A Cazul 2: Fie z = B/2 - α pentru α > 0. Analog ca în Cazul 1 se arată că: 1
1
sup r∈[ 0, A] G ( zr p + ( B − z )( A − r ) p ) p = G ( B / 2 + α ) p ⋅ A
Cazul 3: Fie z = B/2. Atunci: 1
sup r∈[ 0, A] G ( zr p + ( B − z )( A − r ) p ) p = 1
1
= G ( B / 2) p ⋅ sup r∈[ 0, A] (r p + ( A − r ) p ) p
În acest caz, expresia de mai sus se reduce la GA(B/2)1/p. Considerând aceste trei cazuri, lema este demonstrată. Lema de mai sus împreună cu Obs.5.1 dovedeşte că alegerea optimală a noului punct din intervalului Ci este mijlocul intervalului. În particular, avem: min x∈[xi , xi +1 ] sup y∈[ f ( xi ), f ( xi +1 )] eCi (H , T U ( x. y ), F ) = 1
1
⎛ 1 ⎞ p ⎛ xi +1 − xi ⎞ p ⎟⎟ ⎜ = ⎜⎜ ⎟ ( f ( xi +1 ) − f ( xi )) = 2 ⎠ ⎝ p + 1⎠ ⎝ eC ( H , T , F ) = i 1
(5.21)
2p Cu alte cuvinte, dacă antrenorul este obligat să-şi aleagă următorul exemplu în intervalul Ci , acesta va asigura minimizarea erorii. În particular, dacă eroarea pe intervalul Ci este eCi , eroarea pe această regiune este redusă după alegerea exemplului în mijlocul acestui 1
interval şi poate avea valoarea maximă: eCi / 2 p . Care este însă intervalul din care trebuie să alegem un nou exemplu pentru a minimiza eroarea maximă posibilă pe întreg domeniul D? Să observăm că dacă antrenorul alege următorul exemplu în intervalul Ci atunci: 1
min x∈Ci sup y∈FT
⎛ N eCp (H , T , F ) ⎞ p ⎟ e D (H , T U (x. y ), F ) = ⎜ ∑ j =0, j ≠i eCp j (H , T , F ) + i ⎟ ⎜ 2 ⎠ ⎝
Din descompunerea de mai sus, este clar că exemplul optimal conform cu algoritmul B, este mijlocul intervalului Cj care are eroarea maximă eCj(H, T, F) pe baza datelor de antrenament T. Astfel putem enunţa următoarea teoremă [56]: Teorema 5.2: Algoritmul AIA (Algoritmul Învăţării Active) este un algoritm optimal relativ la clasa de funcţii monotone şi mărginite. 121
Ne vom concentra atenţia asupra determinării numărului de exemple de care are nevoie algoritmul AIA pentru a învăţa funcţia ţintă necunoscută cu precizia ε. Pentru aceasta să considerăm următoarea teoremă [56]: p
⎛M ⎞ Teorema 5.3: Algoritmul AIA converge în cel mult ⎜ ⎟ paşi. ⎝ε ⎠
Demonstraţie: Vom da o schiţă a demonstraţiei acestei teoreme. Mai întâi, să considerăm o grilă uniformă de puncte distincte aparţinând domeniului [0, 1]. Acum să ne imaginăm că antrenorul activ lucrează exact aşa cum a fost descris mai sus, dar cu o mică deosebire, el nu poate să aleagă decât puncte aflate pe grilă. Astfel la al k-lea pas, în loc de a alege mijlocul intervalului cu cea mai mare eroare, va alege punctul din grilă care este cel mai apropiat de mijloc. Evident, intervalele obţinute la pasul k sunt de asemenea separate de punctele din grilă. Dacă antrenorul a ales toate punctele din grilă, atunci eroarea maximă posibilă pe care o poate face este mai mică decât ε. Pentru a dovedi această ultimă aserţiune, fie α = ε/M şi să considerăm mai întâi un interval: [kα, (k+1)α]. Ştim că următoarele relaţii sunt adevărate pe acest interval: f (kα) = h(kα) ≤ f (x), h(x) ≤ f ((k +1)α) = h((k +1)α) Astfel: | f (x) - h(x) | ≤ f ((k + 1)α) - f (kα) şi
∫
( k +1)α
kα
p
f ( x) − h( x) dx ≤ ∫
( k +1)α
kα
( f ((k + 1)α ) − f (kα ) ) p dx
≤ ( f ((k + 1)α ) − f (kα ) ) ⋅ α p
Deci:
∫
[ 0 ,1]
p
f − h dx = ∫
[ 0 ,α )
p
f − h dx + K + ∫
[1−α ,1]
p
f − h dx ≤
≤ α (( f (α ) − f (0)) p + ( f (2α ) − f (α )) p + K + ( f (1 − α ) − f (1 − 2α )) p + + ( f (1) − f (1 − α )) p ) ≤ α ( f (α ) − f (0) + f (2α ) − f (α ) + K + + f (1) − f (1 − α )) p ≤ α ( f (1) − f (0)) p ≤ αM
p
Dacă α = (ε/M)p eroarea după norma Lp poate fi cel mult
(∫
[ 0 ,1]
p
f − h dx
)
1 p
≤ε .
Astfel antrenorul activ trece de la un pas la altul alegând exemple din grila de puncte. Convergenţa poate apare la orice pas, dar evident că după ce s-au luat în considerare toate valorile funcţiei ţintă necunoscute în toate punctele grilei, eroarea este probabil mai mică decât ε şi algoritmul se poate opri în acest moment.
V.3.3. Simulări experimentale şi alte investigaţii Obiectivul nostru este să caracterizăm performanţele algoritmului AIA ca o strategie de învăţare activă. Să ne reamintim că algoritmul AIA este o strategie adaptivă de alegere a 122
exemplelor şi numărul de exemple de care are nevoie pentru a converge depinde de natura specifică a funcţiei ţintă. Am calculat deja limita superioară a numărului de exemple de care are nevoie în cel mai nefavorabil caz. Vom încerca în cele ce urmează să analizăm modul în care strategie diferă de alegerea aleatoare şi echidistantă a exemplelor (echivalentă cu învăţarea pasivă) faţă de alegerea exemplelor cu ajutorul algoritmului AIA (echivalentă cu învăţarea activă). Am efectuat simulări pe funcţii monoton crescătoare arbitrare pentru a caracteriza mai bine condiţiile în care strategia activă poate să depăşească ambele strategii pasive cu alegerea exemplelor aleator şi cea cu alegerea uniformă a exemplelor. Distribuţia punctelor selectate cu algoritmul AIA Aşa cum s-a menţionat anterior, punctele selectate de algoritmul AIA depind de specificul funcţiei ţintă. De observat felul în care se aleg exemplele. În regiunile unde funcţia se schimbă mai mult (astfel de regiuni pot fi considerate ca având o mai mare densitate informaţională şi prin urmare mai “greu de învăţat”), algoritmul AIA alege mai multe exemple. În regiunile unde funcţia nu se schimbă prea mult (corespunzând zonelor de densitate de informaţională mică “mai uşor de învăţat”), algoritmul AIA alege mai puţine exemple. De fapt, densitatea punctelor par să urmeze derivata funcţiei ţintă aşa cum se vede din Fig. 5.4.
Fig. 5.4.: Linia mai deschisă indică densitatea datelor alese pentru un exemplu de funcţie monoton crescătoare. Linia neagră indică derivata aceleaşi funcţii.
V.4. Învăţare activă. Aproximarea funcţiilor derivabile cu derivata mărginită Fie familia de funcţii derivabile, cu derivata mărginită: ⎧ ⎫ df ≤ d⎬ F = ⎨ f : [0,1] → R | f ( x) este derivabila si dx ⎩ ⎭ 123
(5.22)
Să observăm câteva lucruri despre această clasă. Mai întâi nu există nici o restricţie directă referitor la valorile pe care le pot lua funcţiile din clasa F. Cu alte cuvinte, ∀M > 0, ∃f ∈ F , x ∈ [0,1] pentru care f (x) > M. Oricum derivata întâi este mărginită, ceea ce înseamnă că o funcţie oarecare care aparţine lui F nu poate avea variaţii mari. Vrem să investigăm în continuare posibilitatea producerii unei strategii de învăţare activă a acestei clase. Mai întâi să deducem limita inferioară a numărului de exemple de care are nevoie un antrenor (indiferent dacă este pasiv sau activ) pentru a învăţa această clasă cu o precizie ε. De asemenea, vom deduce de asemenea limita superioară a numărului de exemple pe care le alege algoritmul activ. Să specificăm câteva elemente necesare pentru această clasă de funcţii. Schema de aproximare H este o schemă de aproximare spline de ordinul I, domeniul D = [0, 1] este partiţionat în intervale de către datele din conţinute în intervalele : [xi, xi+1], iar metrica dC este o metrică L1 dată de relaţia d C ( f 1 , f 2 ) = ∫ f 1 ( x) − f 2 ( x) dx C
Rezultatele din această secţiune pot fi extinse la o normă Lp dar ne mărginim la o metrică L1 pentru a simplifica prezentarea.
V.4.1. Limita inferioară a numărului de exemple Teorema 5.4: Orice algoritm de învăţare (indiferent dacă este pasiv sau activ) trebuie să aleagă cel puţin Ω(d / ε) exemple (indiferent dacă sunt alese aleator, uniform sau alese cu o strategie activă) pentru a învăţa PAC clasa F. Demonstraţie: Prezentăm în cele ce urmează o schiţă a demonstraţiei [149]. Să presupunem că antrenorul alege m exemple (pasiv, în conformitate cu o distribuţie, sau activ). Antrenorul poate să obţină o eroare mai mare sau egală cu ε dacă alege mai puţin de Ω(d/ε) exemple. Să presupunem că în fiecare din cele m puncte care au fost alese de către antrenor, funcţia are valoarea 0. Astfel, antrenorul este constrâns să genereze o funcţie aproximantă aparţinând lui F şi care aproximează funcţia ţintă cu precizia ε. Cele m puncte alese de antrenor împart regiunea [0, 1] în (cel mult) m + 1 intervale diferite. Fie lungimile acestor intervale: b1, b2,..., bm+1. Avem următoarea Lemă: Lema 5.2: Există funcţii f ∈ F astfel încât f interpolează datele şi kd ∫[0,1] f dx > 4(m + 1) unde k este o constantă arbitrară aproape de 1. Demonstraţie: Să considerăm Fig. 5.5. Funcţia f este indicată de linia continuă. Aşa cum se vede, f îşi schimbă semnul în fiecare punct x = xi. Fără a pierde generalitatea să considerăm un interval [xi, xi+1] de lungime bi. Fie mijlocul intervalului z = (xi + xi+1)/2. Pe acest interval funcţia ia valoarea: 124
⎧ ⎪ d ( x − xi ), pentru x ∈ [ xi , z − α ] ⎪ f ( x) = ⎨ − d ( x − xi +1 ), pentru x ∈ [ z + α , xi +1 ] ⎪ d ( x − z ) 2 d (bi − α ) , pentru x ∈ [ z − α , z + α ] + ⎪ 2 ⎩ 2α
Prin calcule simple obţinem:
∫
xi +1
xi
(
2
2
2 ⎛ b −α ⎞ ⎛ b − α ⎞ d bi − α f dx > d ⎜ i ⎟ + αb⎜ i ⎟= 4 ⎝ 2 ⎠ ⎝ 2 ⎠
xi
)
xi+1
0
z
1
bi
Figura 5.5:. Construcţia funcţiei care satisface lema.
Evident, α poate fi ales mic, astfel încât să avem:
∫
xi +1
xi
f dx >
kdbi 2 4
unde k este aproape de 1 aşa cum am dorit. Considerând funcţia pe întregul interval [0,1] obţinem: 1
∫
0
f dx >
kd 4
m +1
∑b i
2
i
Acum considerăm următoarea lemă pe care nu o demonstrăm deoarece demonstraţia este elementară, folosindu-se principiul inducţiei.
125
Lema 5.3: Pentru o mulţime de numere reale b1,..., bm astfel încât b1 + b2 + ... + bm = 1 este adevărată următoarea inegalitate: b12 + b22 +K+ bm2 ≥
1 m
Să presupunem că antrenorul alege o funcţie aproximantă h. Fie ∫ h dx = χ . Dacă χ > ε, se poate considera funcţia ţintă f = 0. În cazul acesta [ 0 ,1]
1
∫
0
f − h dx = χ > ε . Pe de altă parte, dacă χ < ε, putem considera pe f (ca mai sus). În acest
caz,
1
∫
0
1
1
0
0
f − h dx ≥ ∫ f dx − ∫ h dx =
kd −χ. 4(m + 1)
Evident, dacă m < (kd/8ε) - 1, antrenorul va alege o aproximantă cu o eroare mai mare decât ε. În orice situaţie antrenorul este obligat să aleagă o aproximantă cu o eroare egală sau mai mare cu ε, dacă sunt alese mai puţin de Ω(d / ε) exemple (indiferent cum sunt alese aceste exemple).
V.4.2. Obţinerea unei strategii optimale de alegere a exemplelor În Fig. 5.6. am reprezentat o mulţime date de antrenament conţinând informaţii despre o funcţie ţintă necunoscută. Se ştie că funcţia are derivata întâi mărginită de d, deci este clar că funcţia ţintă este obligată să fie cuprinsă în paralelogramele prezentate în figură. Pantele laturilor sunt d respectiv -d. Astfel, FT conţine toate funcţiile care sunt conţinute în interiorul paralelogramelor şi interpolează setul de date. Putem acum să calculăm eroarea schemei de aproximare pe orice interval C (dată de relaţia eC(H, T, F)) pentru acest caz. Să amintim că schema de aproximare H este o schemă spline de ordinul I, şi că setul de date de antrenament T constă din puncte de forma (x, y). Fig. 5.7. prezintă situaţia pe un interval particular Ci = [xi, xi+1]. Eroarea maximă pe care schema de aproximare H o poate avea pe acest interval este dată de jumătate din aria paralelogramului (deci de aria zonei haşurate). eCi(H, T, F) = sup f ∈FT
∫
Ci
h − f dx =
unde Ai = | f (xi+1) - f (xi)| şi Bi = xi+1 - xi.
126
d 2 Bi2 − Ai2 4d
(5.23)
yi+1
yi
xi
0
xi+1
Fig. 5.6: O descriere a situaţiei pentru un o mulţime de date de antrenament oarecare. Setul de funcţii FT constă din toate funcţiile care se cuprind în paralelogramele prezentate şi trec prin punctele mulţimii de antrenament (de exemplu funcţiile reprezentate cu linie întreruptă). Funcţia de aproximat (ţintă) este reprezentată cu linie continuă.
yi+1
h
A
yi 0
B xi
xi+1
Ci
Fig. 5.7:.Versiunea mărită a intervalului Ci. Eroarea maximă pe care o poate avea schema de aproximare este indicată de zona haşurată.
Evident, eroarea maximă pe care schema de aproximare o poate avea pe întreg domeniul de definiţie D este dată de: eD(H, T, F) = sup f ∈FT
n
∑∫ j =0
Cj
n
h − f dx = ∑ e C j
(5.24)
j =0
Calculul erorii eC este foarte important pentru elaborarea unei strategii active de alegere a exemplelor. Să ne imaginăm că alegem punctul x din intervalul Ci ca un nou 127
exemplu, valoarea y aparţinând deci lui FT(x). Acesta adaugă încă un interval şi împarte intervalul Ci în două intervale C i1 şi C i2 , cum este prezentat în Fig.5.8. Obţinem, de asemenea, două paralelograme corespunzătoare mai mici, în interiorul cărora este cuprinsă funcţia ţintă.
(xi+1,yi+1)
(xi,yi)
0
Ci1
x
Ci2
Ci
Fig. 5.8.: Situaţia când în intervalul Ci este ales un nou exemplu. Acesta împarte intervalul în două sub-intervale şi cele două zone haşurate indică noile constrângeri ale funcţiei.
Adăugarea noului punct la setul de date T ' = T U ( x, y ) ne cere să refacem funcţia aproximantă. De asemenea, se cere actualizarea erorii eC, adică acum trebuie să calculăm eC (H, T′, F). Mai întâi observăm că adăugarea noului punct la setul de date nu afectează eroarea pe nici un alt interval, în afara celui divizat de către acesta, Ci. Să observăm că paralelogramele (a căror arie dau eroarea pe fiecare interval) nu sunt afectate de noul punct. Astfel: eC j (H, T′, F) = eCi (H, T, F) = 1/(4d)(d2Bj2 - Aj2) pentru ∀ j ≠ i.
(5.25)
Pentru intervalul Ci, eroarea totală este calculată acum astfel: jumătate din suma ariilor celor două paralelograme (paralelogramele haşurate în Fig.5.8.): eCi (H, T′, F) = (1/4d)((d2u2 - v2) + (d2(Bi - u)2 - (Ai - v)2)) = = 1/(4d)((d2u2 + d2(Bi - u)2) - (v2 + (Ai - v)2)) (5.26) unde u = x - xi, v = y - yi. Să observăm că u∈[0, Bi] pentru xi ≤ x ≤ xi+1. Oricum, fiind un punct x fixat (acesta fixează valoarea lui u), valorile posibile pe care v le poate lua sunt constrânse de geometria paralelogramului. În particular, v se poate afla 128
doar în interiorul paralelogramului. Pentru un x fixat, ştim că FT(x) reprezintă mulţimea valorilor posibile pentru y. Deoarece v = y - yi este clar că v ∈ FT(x) - yi. Evident, dacă y < yi obţinem v < 0, şi Ai - v > Ai. Analog, dacă y > yi+1 obţinem că v > Ai. Să enunţăm următoarea lemă:
B = arg min u∈[0,B] sup v∈{ℑT ( x ) − yi } H 1 (u , v) 2 unde H1(u,v) = ((d2u2 + d2(B - u)2) - (v2 + (A - v)2))
Lema 5.4:
1 2 2 d B − A 2 = min u∈[0,B] sup v∈{ℑT ( x )− yi } H 2 (u, v) 2 unde H2(u,v) = ((d2u2 + d2(B - u)2) - (v2 + (A - v)2)).
(
)
(5.27)
(5.28)
Folosind lema de mai sus în ecuaţia (5.26), observăm că: minx∈Ci sup y∈FT ( x ) eCi(H, T ∪ (x, y), F) = 1/(8d)(d2Bi2 - Ai2) = = 1/2 eCi(H, T, F) Cu alte cuvinte, alegând mijlocul intervalului Ci ca nou exemplu avem garantată reducerea erorii la jumătate. Aceasta ne permite să formulăm un algoritm de învăţare activă care este optimal în sensul implicat în formularea noastră.
V.4.3. Algoritmul de învăţare activă (AIA) 1. [Pasul iniţial] Se află valorile funcţiei în punctele x = 0 şi x = 1. La acest pas domeniul D = [0,1] este compus dintr-un singur interval: C1 = [0,1]. Calculăm eroarea 1 2 eC1 = d 2 − f (1) − f ( 0) şi eD = eC1 . 4d Dacă eD < ε, atunci STOP şi funcţia de aproximare este interpolarea liniară a punctelor; altfel calculăm mijlocul intervalului pentru a partiţiona domeniul în două sub-intervale [0, 1/2), [1/2, 1]. 2. [Actualizarea generală a datelor şi condiţia de oprire a algoritmului] La pasul k, presupunem că intervalului [0, 1] este partiţionat astfel: [x0 = 0, x1), [x1, x2),..., [xk-1, xk = 1] Pentru fiecare i = 1,2,…,k calculăm eroarea: eCi = 1/(4d)(d2(xi - xi-1)2 - |yi - yi-1|2) Mijlocul intervalului cu eroarea cea mai mare va fi utilizat pentru a alege noul punct.
(
)
k
Eroarea totală e D = ∑ eCi este calculată la fiecare pas; procesul se termină când eD < ε. i =1
Funcţia de aproximare h la fiecare pas este o interpolare liniară a tuturor punctelor din setul de date, iar aproximanta finală se obţine după terminarea întregului proces.
129
Să arătăm că există o limită superioară a numărului de exemple de care are nevoie algoritmul AIA pentru a învăţa o clasă de funcţii. Teorema 5.5: Algoritmul AIA va învăţa PAC clasa de funcţii o eroare mai mică decât ε d + 1 exemple. utilizând cel mult 4ε Demonstraţie: Să presupunem că avem o grilă cu n puncte echidistante, aflate la distanţa de 1/(n-1) unul de celălalt. Antrenorul nu poate alege puncte doar de pe grilă. Astfel, la pasul k, în loc să se aleagă mijlocul intervalului cu eroarea cea mai mare, se va alege punctul de pe grilă cel mai apropiat de acest mijloc. Să presupunem că au fost alese în acest fel toate punctele de pe grilă: avem astfel n-1 intervale şi conform argumentelor aduse mai sus, eroarea maximă pe fiecare interval este limitată de: 2 2 1 ⎛ 2⎛ 1 ⎞ 1 2⎛ 1 ⎞ 2⎞ d ⎜ ⎟ ⎟ − yi − yi −1 ⎟ ≤ ⎜d ⎜ 4 d ⎝ ⎝ n − 1⎠ ⎠ 4 d ⎝ n − 1⎠ Dacă există (n-1) de astfel de intervale atunci eroarea totală este limitată de: (n − 1)
2
1 2⎛ 1 ⎞ 1 ⎛ 1 ⎞ d ⎜ ⎟ = ⎜ ⎟ ⎝ ⎠ n −1 4d 4 d ⎝ n − 1⎠
Este uşor de arătat că pentru n > d / (4ε) +1, eroarea maximă este mai mică decât ε. Astfel, antrenorul nu are nevoie să aleagă mai mult de d / (4ε) +1 exemple pentru a învăţa funcţia cu precizia ε. De menţionat că antrenorul va identifica funcţia ţintă cu precizia ε cu probabilitatea 1, urmând strategia descrisă de algoritmul activ AIA. Acum avem o limită inferioară şi una superioară a numărului de exemple necesare pentru învăţarea PAC a clasei de funcţii.
V.4.4. Distribuţia exemplelor selectate Algoritmul activ AIA alege exemplele adaptiv pe baza exemplelor selectate anterior. Astfel distribuţia exemplelor din domeniul D al funcţiei depinde de funcţia ţintă arbitrară. Să observăm că algoritmul alege (exemple mai puţine în locurile în care funcţia ţintă este dreaptă şi mai multe în locurile unde funcţia ţintă are o pantă mai abruptă. Cu alte cuvinte, dacă funcţia are valori apropiate în punctele xi şi în xi+1, atunci ea poate avea orice valori între aceste puncte. Oricum, dacă f(xi+1) este mult mai mare (sau mult mai mică) decât f(xi), atunci, datorită mărginirii derivatei funcţiei de constanta d, funcţia ar creşte sau descreşte constant pe întregul interval. Deci, densitatea exemplelor este invers proporţională cu magnitudinea derivatei întâi a funcţiei ţintă.
130
131
VI. Învăţarea nesupervizată VI.1. Generalităţi Învăţarea reprezintă procesul de modificare ale tăriilor sinaptice a reţelei neuronale, ca răspuns al acesteia la datele de antrenament prezentate la stratul de intrare şi uneori la stratul de ieşire - în cadrul învăţării supervizate - cu scopul configurării reţelei neuronale pentru a executa acţiunea dorită [59]. În cadrul învăţării nesupervizate nu există profesor (antrenor). Reţeaua neuronală trebuie să fie în stare să "descopere" singură modele, trăsături, corelaţii sau categorii în mulţimea datelor de intrare şi să le codifice sub forma unor date de ieşire. Neuronii şi conexiunile reţelei neuronale trebuie să reprezinte un anumit grad de auto-organizare (selforganization). Învăţarea nesupervizată poate fi utilizată doar atunci când în mulţimea datelor de intrare există redundanţă. Fără redundanţă este imposibil de a descoperi vreun model (patern) sau trăsătură în mulţimea datelor de intrare. Din acest punct de vedere redundanţa asigură cunoaşterea [96]. Tipurile de modele detectabile de către o reţea neuronală cu învăţare nesupervizată depind de arhitectura reţelei neuronale. Analizând posibilităţile a ceea ce pot reprezentă datele de ieşire ale unei astfel de reţele neuronale, avem următoarele cazuri [96]: 1. Similaritate. Valoarea de ieşire reală generată de unicul neuron de ieşire al stratului de ieşire al reţelei neuronale ne poate furniza informaţii relativ la gradul de similaritate al unei noi date de intrare relativ la un model mediu prezentat reţelei neuronale în trecut. Reţeaua neuronală va învăţa treptat ceea ce reprezintă un model mediu. 2. Analiza componentei principale (PCA - Principal Component Analysis) [109]. Extinzând cazul precedent la situaţia reţelei neuronale cu mai mulţi neuroni de ieşire în stratul de ieşire, ajungem la construcţia unei mulţimi de axe de-a lungul cărora se măsoară gradul de similaritate relativ la date de antrenament prezentate anterior. Este folosită ca o metodă inspirată din statistică, numită Analiza Componentei Principale, în care se iau în considerare direcţiile vectorilor proprii ale matricei de corelaţie ale datelor de intrare. 3. Clustering. O reţea neuronală cu valori de ieşire binare, având un unic neuron de ieşire activ (generând valoare binară 1) iar ceilalţi neuroni de ieşire inactivi (generând valorile binare 0), va desemna cărei categorii aparţine un vector de intrare. Apartenenţa la o anumită categorie trebuie efectuată de reţeaua neuronală pe baza informaţiilor de corelare a vectorilor de intrare. Vectorii de intrare similari sau asemănători vor constitui o mulţime numită cluster (nor), fiind clasificaţi în aceeaşi clasă de ieşire, mai precis, acelaşi neuron din stratul de ieşire va fi activat. 4. Prototipuri. În acest caz reţeaua neuronală va forma categorii ca şi în cazul clusteringului, dar valoarea de ieşire nu va fi o unică valoare binară 1, ci un prototip sau exemplar reprezentativ al clasei sau categoriei corespunzătoare. Reţeaua neuronală se comportă în acest caz şi ca o memorie asociativă. 5. Codificare. Valoarea de ieşire al unei reţele neuronale poate să reprezinte versiunea codificată a datelor de intrare prezentate la stratul de intrare al reţelei neuronale, 132
codificare făcută folosind un număr cât mai mic de biţi, păstrând cât mai mult din relevanţa informaţiei originale. O astfel de codificare este necesară pentru o compresie a datelor, preliminară transmisiei acestora printr-un canal de transmisie cu bandă limitată (presupunând că la celălalt capăt al canalului de transmisie există o reţea neuronală decodificatoare, cu funcţie inversă reţelei neuronale de codificare). 6. Hărţi de trăsături (Feature Mapping). Această situaţie apare în cazul când stratul de ieşire al reţelei neuronale posedă o arhitectură geometrică fixă (ca de exemplu o matrice bidimensională) şi doar câte un neuron de ieşire este activ la un moment dat. În acest fel, vectorii de intrare prezentaţi la stratul de intrare al reţelei neuronale sunt aplicaţi la diferite puncte din schema (harta) reprezentată de stratul de ieşire, obţinându-se o hartă topografică a vectorilor de intrare, vectorii de intrare asemănători fiind întotdeauna aplicaţi unor puncte apropiate ale hărţii de trăsături reprezentată de stratul de ieşire. Aceste cazuri nu sunt în mod necesar distincte, putând fi combinate în diferite alte cazuri. De exemplu, cazul de codificare poate fi executat cu ajutorul cazului analizei componentei principale, sau a cazului de clustering, această metodă fiind denumită în acest context cuantificare vectorială (vector quantization) [155]. De asemenea, analiza componentei principale poate fi folosită pentru aşa numita reducere dimensională (dimensionality reduction) a datelor de intrare, înainte de a fi aplicat clusteringul sau hărţile de trăsături. Reducerea dimensională este necesară mai ales atunci când căutăm modele într-o mulţime de date necunoscută - un spaţiu de date de mare dimensionalitate având un număr mic de exemple. Trebuie să subliniem că învăţarea nesupervizată poate fi utilă chiar în situaţii unde este posibilă şi învăţarea supervizată, ca de exemplu: •
BackPropagation pentru un PMS este un algoritm de învăţare lent, deoarece valorile tăriilor sinaptice dintr-un strat depind de tăriile sinaptice ale celorlalte straturi. Acest lucru poate fi evitat până la o anumită limită prin utilizarea unor algoritmi de învăţare nesupervizată sau a unor algoritmi de învăţare hibrizi supervizaţi-nesupervizaţi.
•
Uneori, chiar şi după faza de antrenament al unei reţele neuronale cu un algoritm de învăţare supervizat este util a aplica reţelei neuronale şi o fază de învăţare nesupervizată, astfel ca reţeaua neuronală să reuşească o adaptare graduală la datele de intrare.
•
În general arhitectura reţelelor neuronale antrenate nesupervizat, este simplă: cele mai multe dintre ele sunt alcătuite dint-un singur strat, cu propagarea directă a informaţilor de la stratul de intrare către stratul de ieşire(cu excepţia modelului ARTAdaptive Resonance Theory);
•
stratul de ieşire al acestor reţele neuronale conţine un număr mult mai mic de neuroni decât stratul de intrare, excepţie făcând cazul hărţilor de trăsături.
•
arhitectura acestor reţele neuronale este mult mai apropiată de modelele neurobiologice naturale decât orice altă arhitectură de reţea neuronală.
Vom considera în acest capitol o serie de tehnici de învăţare bazate pe o regulă Hebb modificată [69], [94]. De asemenea, vectorii de ieşire ce se obţin la stratul de ieşire îi vom considera cu valori reale continue, fără a li se aplica metoda “winner-take-all” (neuronul din stratul de ieşire cu cea mai mare valoare de ieşire este declarat “învingător”, fiind singurul neuron considerat activ). Scopul principal îl va reprezenta gradul de similaritate al datelor de intrare sau proiecţia acestora de-a lungul componentelor principale.
133
VI.2. Învăţarea nesupervizată Hebbiană simplă VI.2.1. Modelul liniar simplu
Să facem următoarele convenţii: •
avem o mulţime de vectori de intrare x µ = ( x1µ ,..., x nµ ), µ = 1, K, P 6, obţinută cu ajutorul unei distribuţii probabilistice P(x);
•
componentele xi ale vectorului de intrare x le considerăm ca având valori continue reale sau discrete booleene {-1,+1};
•
fiecare pas din faza de învăţare presupune: generarea unui vector de intrare x din distribuţia probabilistică P(x), aplicarea vectorului de intrare x la stratul de intrare al reţelei neuronale;
• după ce reţeaua neuronală a învăţat “destul”, ea va trebui să fie capabilă să ne măsoare conformitatea unui vector de intrare oarecare cu distribuţiei probabilistică P. Să considerăm cel mai simplu caz al unei reţele neuronale de tip PS, (Perceptron Simplu), cu un singur neuron în stratul de ieşire, cu funcţie de activare liniară, model pe care-l vom numi pe scurt Model Liniar Simplu MLS.
y
w1
x1
w2
x2
w3
wi
x3
wn
xi
xn
Fig. 6.1.: Arhitectura unui MLS. Neuronul de ieşire are funcţia de activare liniară.
Deoarece funcţia de activare a neuronului din stratul de ieşire este liniară, putem să scriem:
6
Din considerente de simplificare a scrierii vom renunţa la termenul Bias indicele superior µ care reprezintă indexul mulţimii de antrenament.
134
x0µ şi atunci când nu există pericol de confuzie şi la
n
y = ∑ w j ⋅ x j = wT ⋅ x = x T ⋅ w
(6.1)
j =1
unde x T înseamnă transpusa vectorului coloană x, iar produsul "" reprezintă produsul matricial. Dorinţa noastră, după cum am mai amintit, este ca neuronul de ieşire să genereze o valoare de ieşire y care să reprezinte o măsură scalară a gradului de familiaritate: cu cât un vector de intrare are o probabilitate mai mare cu atât valoarea de ieşire generată y trebuie să fie mai mare. Acest lucru reprezintă chiar strategia de învăţare Hebbiană, exprimabilă matematic prin relaţia: Δwi = η ⋅ y ⋅ xi
(6.2)
unde η reprezintă rata de învăţare. Mărimea de ieşire y capătă valori din ce în ce mai mari, pe măsură ce prezentăm vectori de intrare stratului de intrare. Vectorii de intrare cu frecvenţa cea mai mare vor avea evident cea mai mare influenţă în procesul de învăţare, producând şi cea mai mare valoare de ieşire y. Acest lucru însă prezintă şi un inconvenient: tăriile neuronale au valori din ce în ce mai mari, ceea ce implică faptul că procesul de învăţare nu se opreşte niciodată. De aceea vom încerca o analiză mai detaliată a relaţiei (6.2). Să presupunem că la un moment dat există un punct de echilibru stabil pentru tăriile sinaptice w. După ce procesul de învăţare a evoluat suficient, vectorul w trebuie să se găsească într-o vecinătate V a punctului de echilibru stabil, fluctuaţiile în jurul acestui punct fiind proporţionale cu rata de învăţare η, în medie, poziţia sa însă coincide cu punctul de echilibru stabil. Cu alte cuvinte, dorinţa noastră este ca media modificărilor tăriilor sinaptice să fie zero, adică:
Δw i = y ⋅ x i =
n
∑w j =1
n
j
x j x i = ∑ C ij w j = C ⋅ w = 0
(6.3)
j =1
unde notaţia reprezintă media în raport cu distribuţia probabilistică P(x), iar C matricea de corelaţie, definită astfel:
C ij = xi x j
(6.4)
C = x ⋅ xT
(6.5)
sau în notaţie matricială:
Obs.6.1: a). Matricea C nu reprezintă exact matricea de covarianţă în sensul teoriei probabilităţilor, unde, matricea de covarianţă este reprezentată ca fiind ( xi − xi ) ⋅ ( x j − x j ) .
135
b). Matricea de covarianţă C este simetrică: c ij = c ji . De aceea, ea are toate valorile proprii reale, iar vectorii proprii pot fi consideraţi ortogonali. c). Matricea de covarianţă C este pozitiv semi-definită: u T ⋅ C ⋅ u = u T ⋅ x ⋅ x T ⋅ u = u T ⋅ x ⋅ x T ⋅ u = ( x T ⋅ u) 2 ≥ 0 ( ∀) u
(6.6)
deci toţi vectorii săi proprii sunt mai mari sau egali cu zero. Revenind la relaţia (6.5), punctul ipotetic de echilibru stabil w reprezintă un vector propriu al matricei de covarianţă C cu valoarea proprie 0. Dar acesta nu poate fi stabil, căci în mod necesar matricea de covarianţă C are şi valori proprii strict pozitive, de aceea orice fluctuaţie de-a lungul direcţiei date de un vector propriu cu valoare proprie strict pozitivă va creşte exponenţial. Astfel, direcţia cu cea mai mare valoare proprie λmax relativ la matricea C, va deveni dominantă, w va tinde gradual către vectorul propriu ce corespunde la valoarea proprie λmax . Din cele prezentate până acuma rezultă următoarea concluzie: Legea de învăţare Hebbiană (6.2) are doar puncte fixe w instabile.
VI.2.2. Regula lui Oja Pentru ca să prevenim fenomenul de divergenţă ce apare în învăţarea Hebbiană, trebuie să limităm creşterea valorilor vectorului tăriilor sinaptice w. În literatura de specialitate există mai multe variante [96] ale aceleaşi idei: - renormalizarea vectorilor tăriilor sinaptice după fiecare pas al procesului de învăţare w ' = α w ⋅ , alegând α astfel încât |w'| = 1. În lucrarea [150], Oja prezintă o metodă mai eficientă, modificând legea de învăţare Hebbiană (6.2), astfel încât vectorii tăriilor sinaptice să tindă către o valoare constantă |w| = 1, fără a mai fi necesară o renormalizare manuală după fiecare pas al procesului de învăţare. Vectorul tăriilor sinaptice w va tinde către un vector propriu al matricei de covarianţă C, ce are valoarea proprie maximală λmax . Acest vector propriu este numit vector propriu maximal. Regula lui Oja [151], constă în a aduna un termen reductiv, proporţional cu y2, la legea de învăţare Hebbiană (6.2):
Δw i = ηy( x i − yw i )
(6.7)
Să observăm analogia dintre regula lui Oja şi legea de învăţare Delta (3.6); deoarece factorul de modificare al tăriilor sinaptice Δw depinde de diferenţa dintre vectorul de intrare xi şi valoarea de ieşire propagată înapoi ywi, regula de învăţare a lui Oja seamănă cu o lege de învăţare Delta inversă. Să arătăm că într-adevăr legea de învăţare Oja face ca vectorul tăriilor sinaptice w să tindă către un vector unitar sau către un vector propriu maximal. Pentru aceasta să analizăm comportamentul unui proces de învăţare nesupervizat bazat pe regula lui Oja. 136
Se prezintă la stratul de intrare al reţelei neuronale vectori de intrare x, generaţi de o distribuţie Gaussiană bidimensională; am considerat cazul unei reţele neuronale cu doi neuroni în stratul de intrare, deci vectorul de intrare şi vectorul tăriilor sinaptice au câte două componente: x = (x1, x2) şi w = (w1, w2). Iniţial, vectorul tăriilor sinaptice a fost iniţializat cu valori aleatoare mici, actualizând acest vector pentru fiecare vector de intrare prezentat la stratul de intrare al reţelei neuronale conform cu regula lui Oja (6.7). În Fig.6.2 liniile subţiri arată că vectorul tăriilor sinaptice |w| creşte în primele faze ale procesului de învăţare, ajungând ca după ce acest proces evoluează, să se stabilizeze la o valoare constantă 1, iar în continuare să fluctueze pe un arc de cerc ce corespunde cercului |w| = 1. În aceeaşi figură se observă că convergenţa la cercul unitar (cu centrul în origine şi raza egală cu 1) a fost mult mai rapidă în cazul (b) decât în cazul (a). Vectorii reprezentaţi cu ajutorul unor săgeţi reprezintă vectorii medii ai tăriilor sinaptice. Interpretarea poziţiei lor este următoarea: •
deoarece suntem în cazul modelului liniar simplu, şi neuronul de ieşire are ataşată o funcţie de transfer liniară, valoarea de ieşire y reprezintă componenta vectorului de intrare x de-a lungul direcţiei vectorului tăriilor sinaptice w.
•
în cazul (a), datele generate de distribuţia probabilistică P(x) au o medie aproximativ nulă, valoarea de ieşire y va avea de asemenea, în medie, o valoare aproximativ nulă, indiferent de direcţia vectorului tăriilor sinaptice w, având totuşi o magnitudine mai mare pentru direcţia găsită în urma procesului de învăţare.
•
în cazul (b), valoarea medie a lui y este maximizată relativ la direcţia găsită în urma procesului de învăţare.
Fig.6.2.: Exemplu relativ la legea de învăţare nesupervizată Oja. Punctele reprezintă 1000 de date de învăţare generate de distribuţia probabilistică P(x). Săgeţile reprezintă vectorul mediu al tăriilor sinaptice după un număr mare de actualizări efectuate de procesul de învăţare. Liniile subţiri reprezintă traiectoriile vectorului tăriilor sinaptice w în timpul procesului de învăţare: (a) pentru 2500 de paşi de învăţare; (b) pentru 1000 de paşi de învăţare.
În ambele cazuri (a) şi (b) direcţia “găsită” de legea de învăţare nesupervizată bazată pe regula lui Oja determină valori de ieşire y mai mari decât orice altă direcţie, când procesul de învăţare se bazează pe vectori de intrare generaţi de distribuţia probabilistică originală. Pentru vectori de intrare generaţi de altă distribuţie probabilistică “nefamiliară” cu procesul 137
de învăţare, aceştia vor tinde să genereze valori mai mici pentru |y|, chiar dacă aceste valori au în medie o magnitudine mai mare. Astfel, reţeaua neuronală construieşte un index de similaritate relativ la distribuţia probabilistică privită ca un întreg, dar nu şi în mod necesar pentru un vector de intrare particular x. În concluzie, putem afirma faptul că regula lui Oja alege în urma procesului de învăţare, direcţia w de maximizare a valorii y 2 . Pentru date de intrare ca cele din cazul (a) cu medie nulă, aceasta corespunde cazului maximizării varianţei. Să demonstrăm că într-adevăr aplicarea legii de învăţare nesupervizate bazate pe regula lui Oja face ca vectorul tăriilor sinaptice să conveargă la un vector w ce posedă următoarele proprietăţi: n
∑w
2 i
•
Vectorul w este unitar având | w | = 1 sau
•
Direcţia vectorului propriu: w este situat într-o vecinătate a vectorului propriu maximal a matricei de covarianţă C.
•
Maximizarea covarianţei: w are o direcţie ce maximizează y 2 .
i =1
= 1.
Folosind relaţiile (6.1) şi (6.5) avem: y 2 = ( w T x ) 2 = w T xx T w = w T Cw
(6.8)
Pentru un vector al tăriilor sinaptice cu |w| fixat şi pentru o matrice de covarianţă simetrică C, rezultate cunoscute [21] afirmă că forma cvadratică w T Cw este maximizată când vectorul tăriilor sinaptice w are direcţia unui vector propriu maximal a lui C. Astfel, această direcţie maximizează y 2 , deci Proprietatea 3 este o consecinţă simplă a Proprietăţii 2. De aceea, trebuie să demonstrăm doar proprietatea 1 şi proprietatea 2. Conform afirmaţiilor făcute pentru relaţia (6.3), când atingem un punct de echilibru, variaţia medie a modificărilor tăriilor sinaptice trebuie să fie nulă, adică: 0 = Δw i = yx i − y 2 w i =
n
∑w j =1
n
j
n
x j x i − ∑ ∑ w j x j w k x k wi = j =1 k =1
(6.9)
⎡ ⎤ = ∑ Cij w j − ⎢∑ ∑ w j C jk w k ⎥ w i j =1 ⎣ j =1 k =1 ⎦ n
n
n
sau în scriere matricială:
[
]
0 = Δw = Cw − w T Cw w
(6.10)
λ = w T Cw
(6.11)
Dacă notăm:
Atunci într-un punct de echilibru vom avea:
138
0 = Cw − λw sau Cw = λw
(6.12)
2
λ = w T Cw = w T λw = λ w (6.13) Ecuaţia (6.12) arată că un vector al tăriilor sinaptice w ce corespunde unui punct de echilibru, trebuie să fie un vector propriu a matricei de covarianţă C. De asemenea, relaţia (6.13) exprimă faptul că |w| = 1. Singurul lucru ce ne-a mai rămas de demonstrat este că λ = λmax .
Orice vector propriu normalizat a matricei de covarianţă C satisface relaţia (6.10), dar numai vectorul propriu ce corespunde lui λmax este stabil. Pentru a demonstra acest lucru, fie w vectorul tăriilor sinaptice situat într-o vecinătate a unui vector propriu normalizat a matricei de covarianţă C, notat cα. Atunci putem scrie relaţiile:
cu:
w = cα + ε
(6.14)
Ccα = λα c α i c α = 1
(6.15)
Utilizând relaţia (6.9), variaţia medie a lui ε va fi: Δε = Δw = C(c α + ε ) −
[
]
[ (( c ) α
T
)
]
+ ε T C(c α + ε ) (c α + ε ) =
[
]
[
]
= λα c α + Cε − ( c α ) Cc α c α − ε T Cc α c α − (c α ) Cε c α −
[
]
T
− (c α ) Cc α ε + O(ε 2 ) = T
α
[
T
(6.16)
]
= Cε − 2λ ε T c α c α − λα ε + O(ε 2 ).
În continuare, alegem componenta variaţiei lui Δε de-a lungul direcţiei unui alt vector propriu normalizat al matricei de covarianţă C, notat cβ. Pentru aceasta înmulţim la stânga relaţia (6.16) cu (cβ)T, ignorând termenii de ordinul O(ε2):
(c )
β T
[
( )
Δε = λ β c β
T
[
]
( )
ε − 2λα ε T c α δ αβ − λα c β
]( )
= λβ − λα − 2 λα δ αβ c
β T
ε.
T
ε=
(6.17)
unde: (c β ) T c α = δ αβ
(6.18)
datorită ortogonalităţii vectorilor , iar ⎧1 , dacã α = β δ αβ = ⎨ ⎩ 0 , dacã α ≠ β
(6.19)
reprezintă simbolul delta a lui Kroenecker. Să analizăm relaţia (6.17): pentru α ≠ β componenta lui ε de-a lungul vectorului cβ va creşte ceea ce va provoca instabilitatea soluţiei, dacă λα > λβ. Atunci, dacă λα nu este cea mai mare valoare proprie λmax va exista întotdeauna o direcţie instabilă. Pe de altă parte, un vector propriu ce corespunde lui λmax este stabil in orice direcţie, incluzând chiar şi direcţia cα. Adică exact ceea ce trebuia să demonstrăm. 139
Obs.6.2:. Demonstraţia noastră nu a avut reuşit să dovedească convergenţa metodei la o soluţie, ci doar că în medie avem un punct fix al regulii lui Oja. Pentru demonstrarea convergenţei trebuie folosite tehnici mai complexe, ca de exemplu teoria aproximării stohastice [120], [152].
VI.2.3. Alte reguli de învăţare nesupervizată Regula lui Oja (6.8) nu este singura metodă de transformare a regulii de învăţare nesupervizată Hebbiană (6.2) astfel încât tăriile sinaptice să rămână mărginite. Linsker [127], [128] utilizează o tehnică de tăiere (clipping): tăriile sinaptice individuale wi sunt constrânse să satisfacă relaţia:
w− ≤ wi ≤ w+
(6.20)
Yuille et al. [214] au utilizat regula:
(
Δw i = η yx i − w i w
2
)
(6.21)
care face ca vectorul tăriilor sinaptice w să conveargă către acelaşi vector propriu maximal ca şi cel obţinut cu ajutorul regulii lui Oja. Singura diferenţă constă în faptul că nu se mai impune condiţia ca vectorul tăriilor sinaptice să fie de modul unitar ci w = λ max . Regula lui Yuille (6.21) are dezavantajul că, faţă de regula lui Oja, nu este locală - pentru a actualiza o tărie sinaptică wi avem nevoie de informaţii despre toate celelalte tării sinaptice wj ,j≠i. Avem însă avantajul existenţei unei funcţii cost asociate reţelei neuronale, de forma: 2
⎞ 1 n n 1⎛ n 1 1 2 E = − ∑ ∑ Cij w i w j + ⎜ ∑ w i2 ⎟ = − w T Cw − w 2 i =1 j =1 4 ⎝ i =1 ⎠ 2 4
(6.22)
Efectul medierii Δwi în relaţia (6.21) este din punct de vedere matematic echivalent cu aplicarea unei metode gradient descendente relativ la suprafaţa generată de funcţia cost (6.22).
VI.3. Analiza componentei principale
O metodă de analiză a datelor, inspirată din statistică [12], este metoda cunoscută sub denumirea analiza componentei principale (PCA - Principal Component Analysis). Metoda este întâlnită şi în teoria comunicaţilor sub denumirea de transformata Karhunen-Loeve, fiind asemănătoare cu metoda celor mai mici pătrate. După Linsker [128], PCA este echivalentă cu maximizarea conţinutului informaţional al semnalului de ieşire în situaţii unde acest semnal respectă o distribuţie probabilistică Gaussiană. Scopul metodei PCA este de a determina o mulţime de m vectori ortogonali în spaţiul datelor de intrare, astfel încât aceşti vectori să conţină cât mai mult din varianţa acestor date. 140
Proiectând datele din spaţiul original n-dimensional în spaţiul m-dimensional generat de vectorii determinaţi, se realizează o operaţie de reducere dimensională, operaţie care trebuie însă să reţină cea mai mare parte a informaţiei intrinseci a datelor de intrare. De obicei m s ⎝ d j di ⎠
(6.81)
Dacă notăm cu L lăţimea minimă a ferestrei, atunci: s=
1− L 1+ L
(6.82)
Dimensiunea optimă a ferestrei depinde de numărul de date de intrare de antrenamentînvăţare. De asemenea, rata de învăţare η trebuie să aibă o valoare de pornire mică de aproximativ 0.02, urmând a fi micşorată treptat pe parcursul procesului de învăţare, tinzând către valori foarte mici (zero) după aproximativ 10 000 de paşi. 167
D. Învăţarea vectorială cuantificată de tip III (LVQ3) Algoritmul de învăţare LVQ2 s-a bazat pe ideea deplasării frontierei decizionale practice către frontiera teoretică optimă, numită şi frontieră decizională Bayes. Algoritmul nu ia însă în considerare ce se întâmplă pe parcursul proceselor de învăţare lungi, cu poziţionarea vectorilor de codificare wi. În literatura de specialitate au fost puse în evidenţă două tipuri de efecte negative, apărute pe parcursul procesului de învăţare: •
deoarece corecţiile efectuate asupra vectorilor de codificare wi sunt proporţionale cu diferenţa x - wi sau x – wj, corecţia efectuată asupra lui wi (clasa corectă) este de magnitudine mai mare decât cea efectuată asupra lui wj (clasa incorectă); aceasta va conduce la descreşterea monotonă a distanţei w i − w j . Remediul compensării acestui efect nedorit, este de a accepta toţi vectorii de antrenament din "fereastră" şi de a impune doar condiţia ca wi şi wj să aparţină unul la clasa corectă şi celălalt la clasa incorectă.
•
dacă procesul de învăţare (6.80) continuă peste o anumită limită, poate conduce la un punct asimptotic de echilibru al vectorului wi care însă să nu fie optimal. De aceea, este necesar să prevedem anumite corecţii în legea de învăţare, corecţii care să asigure faptul că wi aproximează continuu distribuţia clasei.
Combinând aceste idei, vom obţine un algoritm îmbunătăţit [117], numit LVQ3: Δw i = −η (x − w i ) Δw j = η (x − w j )
(6.82)
unde wi şi wj sunt doi din cei mai apropiaţi vectori de codificare de vectorul x, vectorii x şi wj aparţin aceleiaşi clase, în timp ce x şi wi aparţin la clase diferite, iar x este situat în "fereastră"; Δw k = εη (x − w k ), k ∈ {i, j}
iar x, wi şi wj aparţin aceleiaşi clase. Obs 6.6: a). Valorile folosite în aplicaţiile practice pentru parametrul ε sunt din intervalul 0.2 - 0.5. Valoarea optimală a lui ε este dependentă de dimensiunea ferestrei, fiind mai mică pentru ferestre mai înguste. b). Algoritmul LVQ1 modifică la un pas al procesului de învăţare doar un vector wi, în timp ce algoritmii LVQ2 şi LVQ3 modifică doi vectori de codificare wi şi wj.
VI.6.2. Hărţi de trăsături (feature mapping) VI.6.2.1. Algoritmul Algoritmul de învăţare (6.69) este numit şi algoritmul Kohonen pentru scheme de trăsături (feature extraction). Problemele care apar sunt următoarele: 168
•
ce fel de schemă produce algoritmul ?
•
converge algoritmul de învăţare ?
•
apar probleme cu blocarea algoritmului în stări non-optimale (minime locale)?
•
cum depinde răspunsul la aceste întrebări de forma şi evoluţia în timp a funcţiei de proximitate kernel hik şi a ratei de învăţare η ?
•
sunt valorile acestor parametrii optimale ?
Răspunsul la aceste întrebări este dificil, majoritatea studiilor avînd în vedere doar scheme unidimensionale. Studiul va folosi o funcţie cost (eroare), bazată pe o extensie a învăţării competitive din lucrarea [168]: E (wij ) =
1 ∑ M kµ hik x µj − wij 2 i jk µ
(
)
2
=
1 ∑ hic x µ − w i 2 iµ
2
(6.83)
i = c(µ )
⎧1, dacă M iµ = ⎨ ⎩ 0,
(6.84)
altfel
M iµ reprezintă matricea de apartenenţă la clustering. Relaţia c(μ) vrea să pună în evidenţă faptul că neuronul "învingător" c, depinde de datele de antrenament.
Aplicând metoda gradientului descendent [54] relativ la funcţia cost (6.83) vom obţine: Δwijj = −η
∂E = η ∑ M kµ hik x jµ − wij = η ∑ hic x jµ − wij ∂wij kµ µ
(
)
(
)
(6.85)
Relaţia de mai sus reprezintă algoritmul lui Kohonen (6.69) însumat relativ la mulţimea datelor de antrenament. Astfel, în medie, pentru o rată de învăţare η suficient de mică, algoritmul lui Kohonen provoacă descreşterea funcţiei cost (6.83), până când se atinge un punct de minim, care poate fi însă un punct de minim local. Pentru a obţine un punct de echilibru, vom impune condiţia:
Δwij = 0
(6.86)
de unde vom obţine:
∑h ( x µ
ic
µ j
)
− wij = 0
(6.87)
Această ecuaţie este dificil de rezolvat. În cazul unei distribuţii probabilistice uniforme a vectorilor de intrare xµ, ecuaţia poate fi satisfăcută de o distribuţie uniformă [96] a vectorilor wi în acelaşi spaţiu, cu condiţia ignorării frontierelor. Pentru cazul general, soluţia este de a lua în considerare o aproximare continuă, de forma:
∫h
r − rc (x)
[x − w(r)]P(x)dx = 0 169
(6.88)
Suma discretă
∑
relativă la mulţimea vectorilor de antrenament, se transformă prin
µ
∫ P ( x ) dx .
intermediul aproximării continue în integrala
Aceasta va permite, ca pentru o
distribuţie aleatoare a vectorilor de intrare x, indexul i al vectorului de ieşire să fie considerat un vector de poziţie r. Atunci vom scrie hr − rc (x) în loc de hrrc (x) ; în mod normal se alege o funcţie de proximitate h care să fie dependentă doar de distanţa dintre r şi "învingătorul" rc(x). Pentru o distribuţie probabilistică dată P(x), se cunoaşte o soluţie explicită a ecuaţiei (6.88) doar pentru cazul unidimensional sau pentru anumite cazuri particulare multidimensionale care permit factorizarea într-un produs de cazuri unidimensionale [168]. Soluţia obţinută în această situaţie arată că tăriile sinaptice iau valori constant crescătoare sau descrescătoare, cu o funcţie de densitate probabilistică a neuronilor de ieşire proporţională cu P(x)2/3 în vecinătatea punctului x. Evident, o reprezentare ideală ar trebui să genereze funcţia de densitate probabilistică P(x) în loc de P(x)2/3, ceea ce arată că algoritmul lui Kohonen tinde să subevalueze regiunile cu probabilitate mare şi să supraevalueze regiunile cu probabilitate mică. Vom schiţa în cele ce urmează, calculul care justifică afirmaţia de mai sus, că funcţia de probabilitate probabilistică a neuronilor de ieşire tinde către P(x)2/3 [96]: înlocuind în ecuaţia (6.88) vectorul de poziţie r cu variabila z, şi presupunând că funcţia de proximitate hz − zc (x) este o funcţie mărginită pară, atunci putem exprima termenul de integrat din (6.88) în factori de puteri: = zc(x) - z
(6.89)
termenii mai mici decât 2 vor fi ignoraţi. Prin aceasta vom obţine: • •
hz − zc (x) devine h- , de unde pe baza ipotezei de paritate aceasta va deveni h; x devine w(zc) sau w(z +), şi astfel x-w(z) se expandează în termenul: εw '+ 12 ε 2 w"
•
(6.90)
P(x) devine P(w(zc)) = P(w(z + )), dezvoltându-se în: P(w) + P'(w)w'
•
(6.91)
dx devine dw(x + ), obţinându-se w'(x + ), care se dezvoltă în: (w' + w") d
(6.92)
Înlocuind aceste relaţii în ecuaţia (6.88), grupând după puterile lui şi 2 (restul termenilor de ordin mai mare fiind neglijaţi), obţinem:
∫ h (εw'+ ε w")(P(w) + εP' (w)w')(w'+εw")dε = = ∫ h (εw ' P(w ) + ε w ' ( w" P(w ) + w ' P' (w ) ))dε = = w ' ( w" P(w ) + w ' P' (w ) )∫ h ε dε = 0 1 2
ε
2
ε
3 2
2
2
2
2
3 2
ε
2
170
(6.93)
Termenul în va dispare datorită parităţii funcţiei de proximitate h. Presupunând că w'(z) este nenul, vom avea: 3 2
w" P(w ) + w ' 2 P' (w ) = 0
(6.94)
de unde obţinem: d w" 2 P' (w )w ' 2 d log w ' = =− =− log P(w ) dz w' 3 P(w ) 3 dz w ' ∝ P(w )
− 23
(6.95)
(6.96)
Deoarece funcţia de densitate probabilistică a neuronilor de ieşire în spaţiul w (sau în spaţiul x) este |dz / dw| sau |1 / w'|, relaţia de mai sus reprezintă rezultatul dorit. Obs. 6.7: Ecuaţia diferenţială (6.94) poate fi rezolvată pentru o valoare particulară a distribuţiei probabilistice P(x). De exemplu dacă P(x) ∝ xα atunci rezolvând ecuaţia (6.94) vom obţine w(z) ∝ zβ, unde β = 1 / (1 + 2α / 3).
VI.6.2.2. Convergenţa algoritmului Analiza stabilităţii algoritmului nu ne spune nimic despre problema convergenţei algoritmului, ci doar despre stările sale de echilibru. Evident, algoritmul trebuie să ajungă la o stare de echilibru. În lucrarea [34] se face o analiză detaliată a problemei convergenţei algoritmului lui Kohonen, obţinându-se condiţiile pe care trebuie să le satisfacă rata de învăţare η(t) pentru a sigura convergenţa algoritmului. Analiza se bazează pe considerarea algoritmului lui Kohonen ca un proces Markovian. Problema convergenţei algoritmului se consideră ca având două faze distincte: faza 1: faza de instabilitate şi oscilaţie a algoritmului; faza 2: algoritmul tinde să adapteze tăriile sinaptice, reţeaua generând tot mai precis funcţia de densitate probabilistică P(x). De cele mai multe ori faza de instabilitate este faza cea mai îndelungată a convergenţei algoritmului. Geszti [79] studiază problema convergenţei algoritmului în cazul unidimensional. Studiul se bazează pe observaţia că un şir monoton crescător sau descrescător de tării sinaptice wi rămâne monoton în procesul de învăţare. Acest lucru poate fi pus în evidenţă prin rescrierea legii de învăţare a lui Kohonen: Δw i = ηhic (x − w i )
(6.97)
(w i − x )new = (1 − ηhic )(w i − x )old
(6.98)
sub forma:
171
Distanţa wi - x de la o tărie sinaptică wi la o dată de intrare x este multiplicată cu factorul (1 - ηhic). Acest factor de multiplicare tinde către 1 cu cât ne depărtăm de neuronul "învingător" c. Prin aceasta, ordinea monotonă a valorilor tăriilor sinaptice nu se poate schimba.
În Fig.6.16 se pune în evidenţă tocmai acest fenomen [96]: (a)
wi
(b)
Frontieră
wi
x x
c
i
i
c
Figura 6.16: Scheme Kohonen unidimensionale. (a) Orice regiune monotonă a tăriilor sinaptice rămâne monotonă pe parcursul procesului de învăţare. (b) Frontiera dintre două regiuni monotone poate să se deplaseze cu un pas la un pas al procesului de învăţare.
Fenomenele cele mai interesante apar la frontiera dintre regiunile monoton ordonate. O astfel de frontieră poate sări dintr-o parte în alta aşa cum se vede în Fig. 6.16 (a). De asemenea, frontierele pot să se anuleze la punctele de întâlnire. Dar, în nici într-un caz nu pot apare noi frontiere. În Fig. 6.16 (b) putem înţelege cât timp este necesar pentru ca procesul de învăţare să devină stabil. Abia la sfârşitul procesului de învăţare instabilitatea tinde să difuzeze, ajungând a fi eliminată.
172
173
VII. Proprietatea de aproximantă universală a reţelelor neuronale Caracteristica definitorie a reţelelor neuronale ca şi metode de calcul o reprezintă capacitatea lor de a învăţa. Pentru a rezolva o anumită problemă nu este necesară elaborarea unui algoritm care să descrie succesiunea de operaţii care duc la rezolvarea acelei probleme, ci prezentarea unor exemple pe baza cărora reţeaua neuronale să fie capabilă să se configureze în aşa fel încât rezultatele pe care le va genera la stratul de ieşire să reprezinte soluţii ale problemei învăţate. Procesul de învăţare, privit prin prisma prezentării unor exemple (date de antrenament), cu scopul obţinerii unor rezultate predefinite reprezintă de fapt un proces echivalent cu cel al aproximării unei funcţii de mai multe variabile. Astfel, procesul de învăţare ca şi un proces de aproximare a unei aplicaţii definite pe un spaţiu de intrare cu valori într-un spaţiu de ieşire, poate fi privit şi ca un proces de sinteză a unei memorii asociative, care generează la prezentarea unor exemple învăţate rezultatele dorite, iar la prezentarea unor exemple noi are capacitatea de a generaliza [60]. În ultimii ani, reţelele neuronale ca şi cadru de aplicare al calculului neuronal, s-au dovedit a fi metode eficiente pentru a rezolva probleme dificile care nici măcar nu erau abordabile printr-un calcul algoritmic tradiţional. Acest lucru a făcut ca numeroşi cercetători să efectueze o analiză riguroasă a proprietăţilor matematice care fac ca reţelele neuronale să fie instrumente atât de eficiente. În acest capitol vom pune în evidenţă capacitatea reţelelor neuronale de a fi metode universale de aproximare, studiind prin prisma diferitelor rezultate matematice cum putem pune în evidenţă acest lucru şi cum poate fi exploatat acest lucru în aplicarea practică a calculului neuronal. Proprietatea de aproximantă universală poate fi definită în felul următor: Def.7.1: Fie F o familie de funcţii şi G ⊆ F o subfamilie de funcţii a lui F. Se notează cu d funcţia măsura dintre două elemente arbitrare a lui F (d (f , f) = 0). Vom spune că subfamilia de funcţii G posedă Proprietatea de Aproximantă Universală (PAU) în raport cu F şi d, dacă pentru orice funcţie f ∈ F, există un şir infinit de funcţii gn ∈ G, n ∈ N cu proprietatea:
lim d ( f , g n ) = 0
VII.1. Teorema lui Kolmogorov şi perceptronul multistrat VII.1.1. Preliminarii Reamintim faptul că o reţea neuronală de tip perceptron multistrat, notată pe scurt PMS, este o reţea neuronală cu propagare directă (feedforward) având un strat de intrare cel puţin un strat ascuns şi un strat de ieşire. Deoarece un PMS cu mai mulţi neuroni în stratul de ieşire poate fi considerat ca fiind compus din atâţia PMS cu un unic neuron în stratul de ieşire, câţi are PMS iniţial în startul de ieşire, putem restrânge studiul nostru la un PMS având un neuron unic în stratul de ieşire. 174
De asemenea, deoarece în general datele de intrare aparţin unui mulţimi mărginite, vom restrânge studiul nostru la hiper-cubul n-dimensional In = [0,1] x [0,1] x ... x [0,1]. Funcţiile de activare ale neuronilor vor fi funcţii de tip sigmoidal. Cel mai popular 1 . model de funcţie sigmoidală utilizată în calculul neuronal o reprezintă funcţia σ ( x ) = 1 + e− x În general, o funcţie σ: R→ [0,1] se numeşte funcţie sigmoidală dacă satisface următoarea definiţie: Def.7.2: Funcţia σ: R→ [0,1] se numeşte funcţie sigmoidală dacă satisface următoarele proprietăţi: (S1) Există limitele t + = limσ ( x ) şi t − = lim σ ( x ) , iar t+ ≠ t-. x →∞
x →−∞
(S2) σ este derivabilă şi există c∈R astfel încât σ'(c) ≠ 0. Def.7.3: O funcţie se va numi funcţie de tip PMS(σ) dacă este o combinaţie liniară finită de compuneri ale unor transformări afine a mulţimii numerelor reale cu o funcţie sigmoidală σ, adică funcţii de forma: k
∑w i =1
( 2) i
(
)
σ wi(1) x + wi( 0 ) ,wi( 2 ) , wi(1) , wi( 0 ) ∈ R
(7.1)
Def.7.4: Fie dată funcţia f: In → R. Funcţia ωf: (0,∞) → R se va numi modulul de continuitate al funcţiei f dacă ω f (δ ) = sup{ f ( x1 , x 2 ,..., x n ) − f ( y1 , y 2 ,..., y n ) , ( x1 , x 2 ,..., x n ), ( y1 , y 2 ,..., y n ) ∈ I n , x i − yi < δ , ∀i = 1,2,..., n}
(7.2)
VII.1.2. Teorema fundamentală
La cel de-al II-lea Congres Internaţional de matematică de la Paris din anul 1990, Hilbert, în faimoasa sa lucrare "Matematische Probleme", a enunţat o listă de 23 de probleme, pe care a considerat-o ca fiind de o importanţă deosebită pentru dezvoltarea ulterioară a matematicii. Problema a-13-a, formulată ca o ipoteză concretă minoră, implică aflarea soluţiilor unor ecuaţii polinomiale: pot fi rădăcinile unei ecuaţii algebrice polinomiale exprimate ca radicali, sume şi compuneri de funcţii de o singură variabilă? Hilbert a emis ipoteza că rădăcinile ecuaţiei x7 + ax3 + bx2 + cx + 1 = 0 , ca şi funcţii de coeficienţii a, b, c, nu pot fi reprezentate ca sume şi produse de funcţii de una sau chiar de două variabile. Această ipoteză a fost contrazisă de Arnold [10]. Mai mult chiar, Kolmogorov [118] a enunţat teoremă generală de reprezentare, afirmând că orice funcţie continuă f :In → R, n ≥ 2 poate fi reprezentată sub forma: 2 n +1 ⎛ n ⎞ f ( x1 , x 2 ,..., x n ) = ∑ φ q ⎜ ∑ ψ pq ( x p )⎟ ⎝ p =1 ⎠ q =1
(7.3)
unde: φq, q = 1, 2, ..., 2n+1 sunt funcţii continue de o singură variabilă, fiind dependente de funcţia f. 175
ψpq, p = 1, 2, ..., n, q = 1, 2, ..., 2n+1 sunt funcţii continue de o singură variabilă, fiind independente de funcţia f. Putem formula acum teoremele fundamentale de aproximare derivate din teorema de reprezentare a lui Kolmogorov [124]: Teorema 7.1: Fie n∈N, n ≥ 2, σ : R → [0,1] o funcţie sigmoidală, f ∈ C(In), ε ∈ R+. Atunci există k∈N şi funcţiile φq, ψpq de tip PMS(σ) astfel încât: 2 n +1 ⎛ n ⎞ f ( x1 , x 2 ,..., x n ) − ∑ φ q ⎜ ∑ ψ pq ( x p )⎟ < ε , (∀)( x1 , x 2 ,..., x n ) ∈ I n (7.4) ⎝ p =1 ⎠ q =1
Construcţia lui Kolmogorov este suficient de complicată pentru construcţia funcţiilor de tip PMS(σ), de aceea conform cu [124], vom enunţa o teoremă fundamentală aplicabilă reţelelor neuronale: Teorema 7.2: Fie n ∈ N, n ≥ 2, σ : R → [0,1] o funcţie de tip sigmoidal, f ∈ C([0,1]) şi ε > 0. ε n +k < , iar Atunci pentru orice m ∈ N astfel încât m ≥ 2n + 1 şi m−n f m−n ⎛ 1⎞ ωf⎜ ⎟ z Pentru fiecare i = 1, 2, ..., k fie vix + ui transformarea afină reală ce transformă în mod unic intervalul [yi-1, xi] în intervalul [-z, z]. Să mai notăm cu wi = g(i) - g(i -1). Atunci pentru fiecare x ∈ [xi, yi] şi pentru fiecare j = 1, 2, ..., k vom avea: j
k
k
∑ w σ (u x + v ) − g ( j ) ≤ ∑ w σ (u x + v ) − g ( j ) + ∑ w σ (u x + v ) ≤ i
i =1
i
i
i
i
i
i =1
i
i
i
i = j +1
j −1
≤ ∑ g (i ) σ (ui x + v i ) − σ (ui +1 x + v i +1 ) + g ( j ) σ (u j +1 x + v j ) − 1 + i =1 k
+ ∑ wi σ (ui x + v i ) ≤ Mjε / 2 Mk + M ( k − j )ε / 2 Mk ≤ ε i = j +1
177
(7.8)
Bazându-ne pe Lema de mai sus vom încerca să demonstrăm Teorema 7.2, care reprezintă o teoremă fundamentală a calculului neuronal.
Demonstraţia teoremei 7.2: Folosindu-ne de Lema 7.2 construim următoarea familie de mulţimi de funcţii de tip PMS(σ): {χ iq i ∈ N }, q = 1, 2, ..., m. Pentru fiecare i∈ N şi pentru fiecare q = 1, 2, ..., m definim o familie de subintervale ale intervalului dat [0,1], considerând acele subintervale pe care valorile date sunt aproximate de funcţiile χ iq astfel: q j q −1 ⎧ j −1 ⎫ I iq = ⎨⎡⎢ i + i +1 , i + i +1 ⎤⎥ I [0,1] j = 0,1,...., m i ⎬ m m m ⎦ ⎩⎣ m ⎭ De asemenea, definim următoarele funcţii: j g iq : 0,1,..., m i → R, g iq ( j ) = i m Să alegem următoarele numere reale wpq, p = 1, 2, ..., n, q = 1, 2, ..., m pe care le vom numi întreg-independente dacă satisfac condiţia:
{
}
k
∑w
pq
z p ≠ 0 , oricare ar fi z1,z2,...,zk ∈ Z
(7.9)
p =1
Cu ajutorul lor definim funcţiile ξq: In → R astfel: n
ξ q ( x1 , x 2 ,..., x n ) = ∑ w pq x p
(7.10)
p =1
Mai facem următoarele notaţii: •
vi precizia cu care valorile g iq ( j ) aparţinând intervalelor Aijq ∈ I i j sunt aproximate de către funcţii de tip PMS(σ);
•
Di = { j / mi | j = 0,1,...,mi }, i ∈ N;
Deoarece ξq(Di) este finit pt. orice i∈ N şi orice q = 1, 2, ..., m există un număr real ηi care să aibă proprietatea că distanţa dintre două valori ξq(Di) să fie mai mare decât 2ηi, pentru orice q = 1, 2, ..., m. Funcţiile ξq sunt uniform continue, deci există vi > 0 cu proprietatea că dacă (x1, x2, ..., xn), (y1,y2,...,yn) ∈ In, şi | xp - yp| < vi, p = 1, 2, ..., n atunci: |ξq(x1,x2,...,xn) - ξp(y1,y2,...,yn)| < vi Conform cu Lema 7.2 pentru orice q = 1, 2, ..., m există o funcţie χ iq de tip PMS(σ) cu proprietatea că: j χ iq ( x ) − i < v i , (∀) x ∈ Aijq , j = 0,1,..., m i m Construim m familii de funcţii: n ⎧⎪ q n ⎫ q q n⎪ ⎨ξ i : I → R,i ∈ N ξ i (x1 ,..., x n ) = ∑ w pq χ i ( x p ),( x1 ,..., x n ) ∈ I ⎬ ⎪⎩ ⎪⎭ p =1 178
şi fie Biq familia paralelipipedelor n-dimensionale conţinute în In şi cu vârfurile în mulţimea I iq . Notăm β( B) = B ∩ Din , B ∈ Biq , care este o mulţime formată dintr-un singur punct oricare ar fi q = 1, 2, ..., m. Atunci:
[
ξ iq ( B) ⊆ ξ iq ( β ( B) ) − η i , ξ iq ( β ( B)) + η i
]
Deoarece numerele reale wpq, p = 1,2,...,n, q = 1,2,...,m sunt întreg-independente (7.9) avem: ξ iq ( B1 ) ∩ ξ iq ( B2 ) = ∅,
(∀) B , B 1
2
∈ Biq
Fie funcţia f ∈ C(In). Deoarece m ≥ 2n + 1, există δ > 0 astfel încât: n / (m-n) + δ(1 + n / 2 (n-m)) < 1 În continuare, vom construi prin inducţie, folosind Lema 7.2, o familie de funcţii de tip PMS(σ) {φi | i ∈ N} şi un şir crescător de numere naturale {ki | i ∈ N} astfel încât: || φi || ≤ αi-1 || f ||
(7.11)
şi: m
i
q =1
j =1
f − ∑ ∑ φ j ξ qk j ≤ α i f
(7.12)
Să fixăm următoarele valori: φ0 ≡ 0 (funcţia nulă), şi k0 = 0. Să presupunem că pentru orice j < i, φj şi kj sunt definite. Facem următoarea notaţie: m
i −1
q =1
j =1
hi = f − ∑ ∑ φ j ξ qk j
Deoarece In este o mulţime compactă şi hi sunt funcţii uniform continue, atunci există ki ∈ N cu ki > ki-1 astfel încât diagonalele paralelipipedelor n-dimensionale ξ qk j ( B) sunt mai mici decât δ|| hi || / 2, pentru orice q = 1, 2, ..., m. Pe baza Lemei 7.2 există φi de tip PMS(σ), astfel încât : (∀) q = 1,2,...,m, (∀) B ∈ B kqj , (∀) x ∈ ξ qk j ( β ( B )) − η k j , ξ qk j ( β ( B) ) + η k j să avem:
[
]
| φi - hi (β(B)) / (m - n) | < δ || hi || / 2 (m - n) şi || φi || < || hi || / 2 (m - n) + δ || hi || / 2 (m - n)
Deoarece, || hi || ≤ αi-1 || f || rezultă că avem || φi || ≤ αi-1 || f ||, deci relaţia (7.11) este adevărată. Pentru a verifica relaţia (7.12) este suficient să arătăm că: m
hi − ∑ φ i ξ qk j ≤ α hi
deoarece
q =1
m
i
m
q =1
j =1
q =1
f − ∑ ∑ φ j ξ qk j = hi − ∑ φ i ξ qk j
iar presupunerea inducţiei ne garantează că || hi || ≤ αi-1 || f ||.
179
Oricare ar fi (x1,x2,...,xn) ∈ In există cel puţin m - n valori distincte ale lui q pentru care există un paralelipiped n-dimensional B q ∈ Bkqj cu (x1,x2,...,xn) ∈ Bq. Dacă pentru q = 1, 2, ..., m - n, (x1,x2,...,xn) ∈ Bq, B q ∈ B kqj atunci avem:
φ i ξ qk j ( x1 , ..., x n ) − hi ( β ( B q )) / ( m − n) < δ hi / 2( m − n) şi hi ( x 1 ,..., x n ) − hi ( β ( B q )) < δ hi / 2 Din relaţiile de mai sus avem:
∑ ( h ( x ,..., x
m− n
m− n
q =1
q =1
hi ( x1 ,..., x n ) − ∑ φ i ξ qki ( x1 ,..., x n ) ==
i
1
n
( ( ))) / ( m − n) ≤ δ h
) − h β Bq
i
Pentru q = m-n+1, ..., m, ştim că:
φ i ξ qki ( x1 ,..., xn ) ≤ φ i ≤ hi / (m − n) + δ hi / 2(m − n) de unde se obţine: m
m−n
q =1
q =1
h( x 1 ,..., x n ) − ∑ φ i ξ qki ( x 1 ,..., x n ) ≤ hi − ∑ φ i ξ qk i +
m
∑φ ξ i
q = m − n +1
≤
q ki
≤ (δ + n / (m − n) + δn / 2 (m − n )) hi = α hi
Pentru ε > 0 să considerăm i ∈ N astfel încât αi || f || < ε. Pentru fiecare j = 1, 2, ..., i să notăm ψ pqj = w pq χ qki . Deoarece χ kqi ∈ PMS (σ ) ⇒ ψ pqj ∈ PMS (σ ) . Obţinem: m i ⎛ n ⎞ f ( x 1 ,..., x n ) − ∑ ∑ φ j ⎜ ∑ ψ pqj ( x p )⎟ < ε ⎝ p =1 ⎠ q =1 j =1
(∀) ( x ,..., x ) ∈ I 1
n
n
Din analiza modului de construcţie a demonstraţiei Teoremei 7.2 putem să determinăm o estimare a numărului de neuroni din straturile ascunse: Să considerăm funcţiile χ 1q şi familiile de paralelipipede n-dimensionale B1q , q = 1, 2, ..., m, definite ca în construcţia teoremei de mai sus. Funcţiile χ 1q sunt de forma: m +1
∑ a σ (b qi
qi
i =1
x + cqi )
Ca şi mai sus, construim o funcţie φ1 ce are valori prescrise pe intervale ce conţin imaginile paralelipipedelor n-dimensionale B1q prin funcţiile ξ 1q . Existând m familii şi fiecare familie conţinând (m + 1)n paralelipipede n-dimensionale, rezultă că funcţia φ1 este de forma: ( m +1)n
∑ d σ (v y + u ) j
j
j =1
180
j
Atunci funcţia f poate fi aproximată cu precizia ε de funcţia: m ⎛ m ( m +1) n ⎛ ⎞⎞ ⎛ n ⎞ ⎛ n m +1 ⎞ q φ w χ x = ⎜ ∑ ⎜ d j σ ⎜ ∑ ∑ v j w pq a qi σ (bqi x p + cqi )⎟ + u j ⎟ ⎟ ⎜ ⎟ ∑ ∑ 1 ∑ pq 1 ( p ) ⎝ p =1 ⎠ q =1 ⎝ j =1 ⎝ ⎝ p =1 i =1 ⎠ ⎠⎠ q =1 m
VII.2. Teorema lui Stone-Weierstrass şi perceptronul multistrat
VII.2.1. Introducere În acest subcapitol vom folosi Teorema lui Stone-Weierstrass [111] şi funcţia cosinus sigmoidal a lui Gallant şi White [74] pentru a stabili faptul că PMS cu un singur strat ascuns, ce au ca funcţii de activare funcţii arbitrare de tip sigmoidal, pot aproxima orice funcţie măsurabilă Borel, cu orice precizie dorită, condiţia fiind ca PMS să conţină un număr nelimitat de neuroni în stratul ascuns [103]. Aceste rezultate stabilesc capacitatea reţelelor neuronale de tip PMS de a fi aproximatori universali. Aplicarea practică a considerentelor teoretice ce vor fi prezentate în continuare, poate fi uneori nereuşită datorită unei faze de învăţare nepotrivită, datorită unui număr necorespunzător de neuroni în stratul ascuns sau a prezenţei unei reguli stohastice, şi nu deterministă între datele de intrare şi cele de ieşire. De aceea, în cadrul acestui subcapitol nu vom aborda problema practică a numărului de neuroni necesari pentru a aproxima o funcţie cu o anumită precizie [67].
VII.2.2. Notaţii şi definiţii Fie F = {f | f: E → R} o familie de funcţii reale. Def.7.5: Familia de funcţii F se numeşte algebră dacă F este închisă relativ la operaţiile de adunare, înmulţire şi înmulţire cu un scalar. Def.7.6: Familia de funcţii F se numeşte separabilă pe E dacă oricare ar fi x, y ∈ E, cu x ≠ y, există o funcţie f ∈ F astfel încât f (x) ≠ f (y). Def.7.7: Familia de funcţii F se numeşte nenulă dacă oricare ar fi x ∈ E, există o funcţie f ∈ F astfel încât f (x) ≠ 0. Teorema Stone - Weierstrass: Fie F o algebră de funcţii reale definite pe o mulţime compactă K. Dacă F este separabilă pe K (Definiţia 7.6) şi nenulă pe K (Definiţia 7.7), atunci închiderea uniformă B a mulţimii F constă din mulţimea tuturor funcţiilor continue pe K (altfel spus F este ρK - densă relativ la spaţiul funcţiilor continue pe K). Def.7.8: Mulţimea An = {A : Rn → R | A(x) = wx + b, w, x ∈ Rn, b ∈ R, n ∈ N} se numeşte mulţimea transformărilor afine de la Rn la R. Obs.7.2: Interpretarea definiţiei de mai sus, în contextul reţelelor neuronale este următoarea: 181
• • • •
x ∈ Rn reprezintă vectorul de intrare, prezentat la stratul de intrare al reţelei neuronale; w ∈ Rn reprezintă vectorul tăriilor sinaptice dintre stratul de intrare şi stratul ascuns al reţelei neuronale. b ∈ R reprezintă termenul Bias; wx reprezintă produsul scalar al celor doi vectori n-dimensionali w şi x.
Def.7.9: Pentru orice funcţie măsurabilă (Borel) G : Rn → R, n ∈ N, vom construi următoarea familie de funcţii: ⎧
∑ (G) = ⎨ f : R n
⎩
n
m ⎫ → R f ( x ) = ∑ β i G ( Ai ( x ) ), x ∈ R n , β i ∈ R, Ai ∈ A n , n, m ∈ N ⎬ i =1 ⎭ (7.13)
Obs.7.3: Orice funcţia f ∈ Σn(G) corespunde unui PMS de forma celui din figura de mai de jos:
G x1 G
x2 xn
w
+
f(x)
β G
Fig.7.1: O reţea neuronală de tip PMS având un singur strat ascuns, compusă din: - un strat de intrare cu n neuroni de intrare; - un strat ascuns cu m neuroni având ca funcţie de activare funcţia sigmoidală G; - un strat de ieşire având un singur neuron de ieşire; - stratul de intrare este conectat cu stratul ascuns prin intermediul tăriilor sinaptice wi ∈ Rn; - statul ascuns este conectat cu stratul de ieşire prin intermediul tăriilor sinaptice β ∈ R.
Obs.7.4: Conform cu cele prezentate în [68], modul de operare al PMS cu o arhitectură ca cea al reţelei neuronale din Fig.7.1 de mai sus, este: •
se aplică la stratul de intrare vectorul de intrare x = (x1,x2,...,xn);
•
se calculează pentru fiecare neuron j din stratul ascuns valoarea de integrare: n
I j = ∑ w ji x i + w j 0 = wx + b i =1
• se aplică funcţia de activare (transfer) sigmoidală G, obţinându-se valoarea de ieşire al fiecărui neuron din stratul ascuns j: y j = G( I j ) = G( wx + b) 182
• se propagă valorile generate de neuronii din stratul ascuns yj către stratul de ieşire (compus dintr-un singur neuron), obţinându-se valoarea de ieşire al PMS: m
m
j =1
j =1
y = ∑ β j y j = ∑ β j G (I j )
(7.14)
Evident, orice funcţie f ∈ Σn(G) corespunde unui PMS cu un strat ascuns de tipul celui prezentat în Fig.7.1 de mai sus. În Definiţia 7.2 am văzut modul de definire al unei funcţii sigmoidale. Vom prezenta în cele ce urmează o serie de funcţii sigmoidale [68] folosite în tehnica calculului neuronal, ca şi funcţii de activare al neuronilor din stratul ascuns. Exemplul 4.1: Vom folosi în cele ce urmează funcţia indicator definită astfel: ⎧0, x ∉ A 1 A : R → {0,1},1 A ( x) = ⎨ ⎩1, x ∈ A (i). Funcţia treaptă (Heaviside): σ 1 (x ) = 1{ x ≥ 0} (ii). Funcţia rampă: σ 2 (x ) = x ⋅ 1{ 0≤ x ≤ 1} + 1{ x >1}
(7.15) (7.16)
(iii). Funcţia cosinus sigmoidal: σ 3 (x ) =
1 + cos( x + 3π / 2) 2
⋅ 1{ − π / 2 ≤ x ≤ π / 2} + 1{ x > π / 2}
(7.17)
Definiţia 7.10: Pentru orice funcţie măsurabilă G : Rn → R, n ∈ N, vom construi următoarea familie de funcţii: ⎧⎪
∑ ∏ (G) = ⎨⎪ f : R n
⎩
n
li m ⎫⎪ → R f ( x ) = ∑ β i ∏ G (Aij ( x ) ), x ∈ R n , β i ∈ R, Aij ∈ A n , li , n, m ∈ N ⎬ ⎪⎭ i =1 j =1
(7.18)
Să facem următoarele notaţii: Cn = { f: Rn → R | f funcţie continuă } Mn = { f: Rn → R | f funcţie măsurabilă Borel } Obs.7.4: (i) Oricare ar fi funcţia G măsurabilă Borel rezultă că:
Σn(G) ∈ Mn, ΣΠn(G) ∈ Mn (ii). Oricare ar fi funcţia G continuă rezultă că:
Σn(G) ∈ Cn, ΣΠn(G) ∈ Cn Def.7.10: Fie S o submulţime a spaţiului metric (X, ρ). Vom spune că S este ρ - densă în submulţimea T, dacă pentru orice ε > 0 şi pentru orice t ∈ T, există un element s ∈ S astfel încât ρ(s, t) < ε. 183
Obs.7.5: Definiţia de mai sus arată că un element a mulţimii S poate aproxima cu orice precizie dorită un element al mulţimii T. Def.7.11: Submulţimea S ⊆ Cn se numeşte uniform densă pe un compact în Cn, dacă pentru orice submulţime compactă K ⊂ Rn, S este ρK - densă în Cn, unde: ρK(f, g) =supx ∈ K| f(x) - g(x) | , f, g ∈ Cn. Def.7.12: Un şir de funcţii {fn} converge uniform pe un compact la funcţia f dacă pentru orice compact K ⊂ Rn avem: lim ρK( fn , f ) = 0 n→ ∞
VII.2.3. Teoreme fundamentale şi demonstraţii
Conform cu lucrarea [103], suntem în stare să enunţăm următoarea teoremă: Teorema 7.4 : Fie G: Rn → R o funcţie continuă şi neconstantă. Atunci mulţimea ΣΠn(G) este uniform densă pe un compact în Cn. Demonstraţie: Pentru demonstraţia acestei teoreme ne vom folosi de Teorema lui Stone Weierstass. Fie K ⊂ Rn o mulţime compactă. Este banal de arătat că mulţimea ΣΠn(G) este o algebră pe K. Vom arătă în continuare faptul că mulţimea ΣΠn(G) este separabilă pe K (Definiţia 7.6) şi nenulă pe K (Definiţia 7.7): • separabilă: dacă x, y ∈ K cu x ≠ y atunci există A ∈ An astfel încât G(A(x)) ≠ G(A(y)). Pentru a dovedi această afirmaţie este suficient să alegem două numere reale a, b ∈ R, a ≠ b astfel încât G(a) ≠ G(b). Alegem funcţia A ∈ An astfel încât să satisfacă relaţia: A(x) = a şi A(y) = b. Atunci: G(A(x)) = G(a) ≠ G(b) = (A(y)) şi prin urmare mulţimea ΣΠn(G) este separabilă pe K în sensul Definiţiei 7.6. • nenulă: pentru ca să avem satisfăcută condiţia de ne-nulitate în sensul Definiţiei 7.7 trebuie să arătăm că există o funcţie G(A(⋅)) constantă nenulă. Pentru aceasta fie b ∈ R un număr real cu proprietatea că G(b) ≠ 0. Să alegem funcţia A ∈ An dată prin relaţia: A(x) = 0 ⋅ x + b. Atunci oricare ar fi x ∈ K avem: G(A(x)) = G(b) ≠ 0. Aplicând Teorema lui Stone-Weierstrass rezultă că mulţimea ΣΠn(G) este ρK - densă în spaţiul funcţiilor reale continue pe K, adică ceea ce trebuia demonstrat. Obs.7.6: (i).Teorema de mai sus arată faptul că reţelele neuronale de tip ΣΠ sunt capabile de a aproxima cu orice precizie dorită orice funcţie continuă pe o mulţime compactă. Condiţia ca funcţia să fie definită pe un compact se realizează relativ simplu, căci datele de intrare ale unei reţele neuronale sunt întotdeauna mărginite. (ii). De notat faptul că funcţia de activare G a neuronilor din stratul ascuns poate fi orice funcţie continuă neconstantă, nefiind obligatorie condiţia ca funcţia de activare să fie o funcţie de tip sigmoidal. Evident, majoritatea funcţiilor de activare de tip 184
sigmoidal folosite în practică satisfac condiţia de continuitate, deci sunt o alegere bună. (iii). Reţelele neuronale de tip ΣΠ nu au decât o importanţă teoretică, nu sunt utilizate în aplicaţiile practice. De aceea, aplicarea rezultatelor obţinute pentru acest tip de reţele neuronale poate fi folosit în practică considerând cazul particular al reţelelor neuronale tip ΣΠ cu li =1 pentru orice i, obţinându-se astfel reţele neuronale de tip Σ care sunt exact reţele neuronale de tip PMS cu un singur strat ascuns. Importantul rezultat formulat mai sus sub forma Teoremei 7.4 a fost generalizat de către Hornik, K., Stinchcombe, M., White, H. [103] care enunţă şi demonstrează următoarele teoreme: Teorema 7.5: Pentru orice funcţie continuă neconstantă G, orice număr natural n ∈ N şi orice măsură μ pe Rn, mulţimea ΣΠn(G) este ρK - densă în spaţiul funcţiilor reale măsurabile Mn. Teorema de nai sus, a cărei demonstraţie se găseşte în [103], stabileşte faptul că o reţea neuronală de tip ΣΠ poate aproxima orice funcţie măsurabilă cu orice precizie dorită. Capacitatea de aproximare a reţelei neuronale de tip ΣΠ nu este dependentă de funcţia de activare G a neuronilor din stratul ascuns, nu este dependentă de dimensionalitatea spaţiului de intrare n şi nu este dependentă de spaţiul de intrare a cărui caracteristică este dată de măsura μ. Din toate cele menţionate mai sus putem trage concluzia firească: reţelele neuronale de tip ΣΠ sunt aproximatori universali. Condiţia de continuitate a funcţiei de activare G face ca rezultatele enunţate până acum să nu poată fi aplicate reţelelor neuronale de tip PMS care au ca funcţie de activare funcţia treaptă (Heaviside) σ1. După cum am văzut însă în [66], neuronii biologici au un mod de funcţionare care justifică folosirea funcţiei treaptă. Neuronul sumează semnalele provenite din arborele dendritic, emiţând un semnal axonic când suma semnalelor dendritice a depăşit un prag, numit prag sau nivel de activare. Chiar dacă studiul nostru nu este foarte preocupat de semnificaţia biologică, nu trebuie să uităm faptul că calculul neuronal are ca sursă de inspiraţie modelul biologic al creierului uman, prin urmare trebuie să avem în vedere şi aceste aspecte biologice inspiratoare ale calculului neuronal. De aceea, vom reformula rezultatele obţinute până acum pentru funcţii de activare de tip sigmoidal, deci şi pentru funcţia treaptă, în general condiţia de continuitate a funcţiei de activare nemaifiind necesară. Teorema 4.6: Pentru orice funcţie de activare de tip sigmoidal σ, orice număr natural n ∈ N şi orice măsură μ pe Rn, mulţimea ΣΠn(σ) este uniform densă pe un compact în Cn şi ρK densă în spaţiul funcţiilor reale măsurabile Mn. Evident, conform Observaţiei 7.5 (iii), toate teoremele enunţate relativ la cazul mai general al reţelelor neuronale de tip ΣΠ se pot aplica relativ la cazul particular al reţelelor neuronale de tip Σ care sunt echivalente cu PMS având un singur strat ascuns.
185
VII.3. Aplicaţii ale teoremei lui Stone - Weierstrass la reţele neuronale VII.3.1. Introducere În acest subcapitol ne vom concentra atenţia asupra utilizării Teoremei lui StoneWeierstrass în construirea unor arhitecturi de reţele neuronale care să satisfacă condiţiile teoremei amintite, şi să satisfacă proprietatea de aproximantă universală. Implicând Teorema Stone-Weierstrass în construcţia reţelelor neuronale, vom încerca să arătăm că acestea sunt capabile de a calcula anumite expresii polinomiale. Pentru aceasta, ne vom baza pe principiul enunţat în lucrarea [32]: dacă avem două reţele neuronale care a căror valori de ieşire coincid cu valorile generate de funcţiile date f şi g, atunci combinând cele două reţele neuronale, vom obţine o reţea neuronală mai mare care va genera valori de ieşire corespunzând unei expresii polinomiale în f şi g. Vom da o formulare echivalentă [111], [171] pentru Teorema lui Stone-Weierstrass cu cea enunţată în subcapitolul precedent, diferenţa fiind doar că în această formulare Teorema poate fi mai uşor aplicată în aplicaţii practice. Teorema Stone-Weierstass: Fie D ⊆ Rn un domeniu compact, şi fie familia de funcţii F = { f : D → Rn | f funcţie continue } care satisface următoarele condiţii: (i). Funcţia identică: Funcţia identică 1(x) = x, x ∈ D aparţine mulţimii F. (ii). Separabilitate: Oricare ar fi x1, x2 ∈ D, x1 ≠ x2, există f ∈ F astfel încât f (x1) ≠ f (x2). (iii). Închidere algebrică: Dacă f, g ∈ F, atunci oricare ar fi a, b ∈ R avem f⋅g ∈ F şi af + bg ∈ F. Atunci F este densă în mulţimea C(D) a funcţiilor continue pe D, adică oricare ar fi ε > 0 şi oricare ar fi g ∈ F, atunci există o funcţie f∈ F astfel încât | f (x) - g (x) | < ε, oricare ar fi x ∈ D.
VII.3.2. Exemple de reţele neuronale ce satisfac teorema lui Stone - Weierstrass În cele ce urmează ne va interesa studiul reţelelor neuronale de tip PMS cu un singur strat ascuns10, având o arhitectură de reţea neuronală ca cea din Fig. 7.1. Să analizăm trăsăturile generale ale unei astfel de reţele neuronale din punct de vedere al aplicării Teoremei lui Stone - Weierstrass: - Familia de funcţii care corespunde acestui tip de reţea neuronală este conform Obs.7.4:
10
Am demonstrat în subcapitolul anterior că un PMS cu un singur strat ascuns, având un număr nelimitată de neuroni în stratul ascuns are proprietatea de aproximantă universală. De aceea, purtăm discuţia relativ la un PMS cu un singur strat ascuns fără a restrânge generalitatea.
186
N ⎧⎪ ⎫⎪ ⎛ n ⎞ F = ⎨ f : D ⊆ R n → R f (x1 , x 2 ,..., x n ) = ∑ β i G⎜⎜ ∑ wij x j + b j ⎟⎟,β i , wij , b j ∈ R, n, N ∈ N ⎬ i =1 ⎪⎩ ⎪⎭ ⎝ j =0 ⎠ (7.19)
(i). Funcţia identică: conform Teoremei lui Stone - Weierstrass va trebui să arătăm că funcţia identică aparţine mulţimii F: • • •
să alegem funcţia de activare a neuronilor din stratul ascuns de tip sigmoidal treaptă (7.15): să setăm tăriile sinaptice ale conexiunilor dintre stratul de intrare şi stratul ascuns egale cu zero: wij = 0. să setăm tăriile sinaptice ale conexiunilor dintre stratul ascuns şi stratul de ieşire astfel: βi = 1, i ∈ {1,2,...,N} şi βj = 0, j ∈ {1,2,...,N}, j ≠ i.
Atunci, oricare ar fi x = (x1,x2,...,xn) ∈ D avem: N N N ⎛ n ⎞ f (x1 ,..., x n ) = ∑ β i G ⎜ ∑ x j ⋅ 0 + 0⎟ = ∑ β i G( 0) = ∑ β i ⋅ 1 = 1 ⎝ j=0 ⎠ i=0 i=0 i=0
Astfel, am demonstrat faptul că reţelele neuronale de tip PMS satisfac condiţia de funcţie identică a Teoremei lui Stone - Weierstrass. (ii). Separabilitate: trebuie să arătăm că reţelele neuronale de tip PMS (7.19) au proprietatea de a lua valori distincte pentru date de intrare distincte. Pentru aceasta este suficient ca funcţia calculată de către reţeaua neuronală să fie strict monotonă. Deoarece funcţiile de activare ale neuronilor ascunşi, folosite în practică, sunt de tip sigmoidal şi acestea sunt toate strict monotone, vom avea: oricare ar fi x = (x1,x2,...,xn) ∈ D şi y = (x1,x2,...,xn) ∈ D cu x ≠ y avem: N
N
i =1
i =1
x ≠ y ⇒ G ( x ) ≠ G ( y ) ⇒ ∑ β i G( x ) ≠ ∑ β i G( y ) ⇔ f ( x ) ≠ f ( y )
(iii). Închidere algebrică - aditivă: - fie f ∈ F, atunci : N1 ⎛ n1 ⎞ f (x1 , x 2 ,..., x n ) = ∑ β i G⎜⎜ ∑ wij(1) x j + bi(1) ⎟⎟,β i , wij(1) , bi(1) ∈ R, n1 , N 1 ∈ N i =1 ⎝ j =0 ⎠
- fie g∈ F, atunci : N2 ⎛ n2 ⎞ g (x1 , x 2 ,..., x n ) = ∑ γ i G⎜⎜ ∑ wij( 2 ) x j + bi( 2 ) ⎟⎟,γ i , wij( 2 ) , bi( 2) ∈ R, n2 , N 2 ∈ N i =1 ⎝ j =0 ⎠ - fie a,b ∈ R. Atunci, pentru a arăta că af + bg ∈ F, vom face construi următoarea reţea neuronală:
187
f
a
+
x g
af+bg
b
Fig. 7.2: Arhitectura unei reţele neuronale tip PMS care demonstrează faptul că dacă f, g ∈ F, atunci şi af + bg ∈ F, adică satisfacerea condiţiei de închidere algebrică aditivă.
(iii). Închidere algebrică - multiplicativă: - trebuie să mai arătăm că putem modela cu ajutorul unei reţele neuronale de tip PMS şi produsul a două funcţii f⋅g pentru a putea trage concluzia că putem aplica Teorema lui Stone - Weierstrass acelei familii de reţele neuronale. Datorită faptului că neuronul din stratul de ieşire are o funcţie de activare liniară (funcţia identică), va trebui să putem reprezenta produsul f⋅g ca o sumă de funcţii. Astfel, punctul crucial al aplicării Teoremei lui Stone - Weierstrass la o familie de reţele neuronale este de a găsi funcţiile care transformă produsele în sume. În cele ce urmează vom studia o serie de reţele neuronale care satisfac condiţiile Teoremei lui Stone - Weierstrass, reamintind încă o dată faptul că condiţiile de (i) funcţie identică, (ii) separabilitate şi (iii) închidere algebrică aditivă sunt satisfăcute de toate reţelele neuronale de tip PMS, care constituie obiectul nostru de studiu.
VII.3.2.1. Reţele neuronale de tip exponenţial
Evident, funcţia exponenţială este un candidat natural pentru funcţia căutată ce transformă produsul în sumă. Bazându-ne pe relaţia algebrică: e x e y = e x+y
(7.20)
vom construi prima clasă de reţele neuronale ce satisfac Teorema lui Stone - Weierstrass.
Teorema 7.7: Fie A mulţimea funcţiilor calculabile de reţele neuronale de tip exponenţial: n ⎧ ⎫ − ∑ wij xi N ⎪ ⎪ n j =1 A = ⎨ f : [0,1] → R f ( x1 , x 2 ,..., x n ) = ∑ β i e , β i , wij ∈ R, n, N ∈ N ⎬ (7.21) i =1 ⎪ ⎪ ⎩ ⎭ atunci mulţimea A este densă în mulţimea Lp([0,1]n) unde 1 ≤ p ≤ ∞. Demonstraţie: Fie f şi g ∈ A. Atunci: N
f (x1 , x 2 ,..., x n ) = ∑ β i e i =1
−
n
∑ wij x j j =1
, β i , wij ∈ R, n, N ∈ N 188
M
g (x1 , x 2 ,..., x n ) = ∑ β k e k =1
−
n
∑ wkj x j j =1
, β i , wkj ∈ R, n, M ∈ N
Vom avea: NM
f (x1 , x 2 ,..., x n ) ⋅ g ( x1 , x 2 ,..., x n ) = ∑ β l e
−
n
∑ wlj x j j =1
l =1
unde
, β l , wli ∈ R, n, N , M ∈ N
β l = β i β k , iar wlj = wij + wkj
Atunci f ⋅ g ∈ A, deci A este densă în mulţimea Lp([0,1]n), unde 1 ≤ p ≤ ∞.
VII.3.2.2. Reţele neuronale de tip Fourier
Reţelele neuronale de tip Fourier au fost introduse pentru prima dată de Gallant şi White în lucrarea [74] pentru implementarea seriilor Fourier cu ajutorul reţelelor neuronale. Aceste serii Fourier satisfac Teorema lui Stone - Weierstrass, având la bază următoarea identitate trigonometrică ce transformă produsul în sumă: cos ( a + b ) = cos a cos b - sin a sin b
(7.22)
În [74], se introduce o formă echivalentă a seriilor Fourier, având la bază funcţia cosinus sigmoidal definită în Exemplul 7.1 (7.17), şi scrisă în forma echivalentă: 1 ⎧ x≤− ⎪ 0, 2 ⎪1 + cos 2πx ( ) 1 ⎪ cos ig ( x ) = ⎨ ,− < x 0, există o funcţie g ∈ S astfel încât ρ u , X ( f , g ) < ε . Def.7.15: Submulţimea S ⊆ Cm(Rn) se numeşte uniform m-densă pe compact în Cm(Rn) dacă oricare ar fi f ∈ Cm(Rn), oricare ar fi submulţimea compactă X ⊆ Rn şi oricare ar fi ε > 0, există o funcţie g = g (f, X, ε) ∈ S astfel încât f − g m,u , X < ε . Def.7.16: Se numeşte spaţiu Sobolev ponderat, mulţimea definită astfel:
193
{
( )
C m , p (µ ) = f ∈ C m R n
f
m , p ,u
}
0, există o funcţie g = g (f,ε) ∈ S astfel încât f − g m, p ,u < ε . În continuare vom enunţa teoremele care constituie rezultatele de bază ale acestui subcapitol, inspirate de lucrarea [102]: Teorema 7.12: Dacă funcţia G este mărginită şi neconstantă, atunci mulţimea ℜ n (G ) este densă în Lp ( µ ) , oricare ar fi μ o măsură finită definită pe Rn.
Teorema 7.13: Dacă funcţia G este continuă, mărginită şi neconstantă, atunci mulţimea ℜ n (G ) este densă în C(X), oricare ar fi submulţimea compactă X ⊆ Rn. Teorema 7.14: Dacă funcţia G ∈ Cm(Rn) este mărginită şi neconstantă, atunci mulţimea ℜ n (G ) este uniform m-densă pe compact în Cm(Rn) şi densă în Cm,p(μ) pentru orice măsură μ definită pe Rn cu suport compact. Teorema 7.15: Dacă funcţia G ∈ Cm(Rn) este neconstantă şi toate derivatele sale până la ordinul m sunt mărginite, atunci mulţimea ℜ n (G ) este densă în Cm,p(μ) pentru orice măsură finită μ definită pe Rn.
Demonstraţia acestor teoreme se bazează pe o metodă folosită pentru prima dată de Cybenko [37], care aplică teorema lui Hahn-Banach, precum şi teoremele de reprezentare pentru funcţionale liniare continue pe spaţiile de funcţii luate în discuţie. Pentru detalii relative la demonstraţia acestor teoreme se poate consulta lucrarea [102].
VII.4.3. PMS pentru aproximarea unei funcţii şi a derivatelor sale În capitolele precedente am văzut că o reţea neuronală de tip PMS are capacitatea de a aproxima oricât de bine o funcţie f : Rn → R. În aplicaţiile practice, de o mare însemnătate este nu numai capacitatea de a aproxima o funcţie necunoscută f, ci şi derivatele sale. Astfel, lucrările lui Jordan [110] din domeniul roboticii sugerează ideea că o reţea neuronală este capabilă nu numai de a aproxima o funcţie ci şi derivatele acelei funcţii. Jordan a aplicat o reţea neuronală pentru a învăţa un robot mişcări deosebit de fine, ceea ce a şi reuşit, explicaţia succesului fiind dată de capacitatea reţelei neuronale de a învăţa pe lângă funcţia necunoscută de descriere a mişcării şi matricea Jacobiană a acelei funcţii de mişcare. Cu toate că rezultatele experimentale sugerează această capacitate a reţelelor neuronale de a aproxima o funcţie necunoscută şi derivatele sale, rezultate teoretice care să garanteze această proprietate nu au fost obţinute până în anul 1990, an în care Hornik, Stinchcombe şi White publică lucrarea [104]. Deoarece, se pune problema aproximării nu numai a unei funcţii necunoscute, ci şi a derivatelor sale necunoscute, intuiţia sugerează folosirea unor funcţii de activare derivabile 194
pentru neuronii din stratul ascuns. Evident, justificarea acestei intuiţii nu este imediată. Să considerăm din nou clasa de reţele neuronale de tip PMS cu o arhitectură ca aceea prezentată în Fig.7.1 (n-neuroni în stratul de intrare, m - neuroni în stratul ascuns, un singur neuron în stratul de ieşire, xi ∈ Rn vectorii de intrare, wi ∈ Rn, i = 1, 2, ..., m vectorii tăriilor sinaptice dintre stratul de intrare şi stratul ascuns, ki ∈ R, i = 1, 2, ..., m tăriile sinaptice dintre stratul ascuns şi stratul de ieşire, G funcţia de activare a neuronilor din stratul ascuns): m ⎧ ⎫ Σ(G ) = ⎨ f : R n :→ R f (x) = ∑ k i G (w i x ), w i , x ∈ R n , k i ∈ R, G : R → R ⎬ i =1 ⎩ ⎭
(7.44)
Funcţiile f ∈ Σ(G) au următoarele derivate parţiale de ordinul întâi: ∂f ( x ) m = ∑ k j w ji G' w j x , i = 1,2,..., n ∂x i j =1
(
)
(7.45)
Rezultatele prezentate până acum ne permit să afirmăm existenţa unor tării sinaptice ∂f ( x ) kj, wji ∈ R pentru care funcţia poate aproxima derivata funcţiei necunoscute ∂x i ∂F ( x ) F: R n → R, . ∂x i Problema este că alegerea tăriilor sinaptice kj, wji ∈ R din formula (7.45) pentru ∂F ( x ) aproximarea derivatei nu reprezintă neapărat alegerea potrivită pentru a aproxima ∂x i funcţiei necunoscute F conform formulei (7.44). Ceea ce vom prezenta în cele ce urmează, va dovedi existenţa unor tării sinaptice ale ∂F ( x ) unui PMS capabil de a aproxima atât o funcţie necunoscută F, cât şi derivatele sale . ∂x i Pentru aceasta, ne vom baza pe o serie de rezultate prezentate în lucrarea [104], şi anume vom arăta că pentru o anumită clasă de reţele neuronale de tip PMS, mulţimea Σ(G) este densă în spaţii de funcţii unde distanţa dintre funcţii se măsoară luând în considerare distanţa dintre derivatele funcţiei (inclusiv derivata de ordin zero). Vom introduce o serie de definiţii care stabilesc contextul matematic al teoremelor care vor fi enunţate în acest paragraf, şi care vor stabili riguros ceea ce ne-am propus, adică construcţia unei reţele neuronale de tip PMS care să fie capabile de a aproxima o funcţie necunoscută şi derivatele sale. Def. 7.18: Fie S un spaţiu de funcţii. Funcţia ρ : S → R+ se numeşte distanţă sau metrică dacă satisface proprietăţile: • • •
oricare ar fi f ,g ∈ S, ρ(f , g) ≥ 0; oricare ar fi f ,g, h ∈ S, ρ(f , h) ≤ ρ(f , g) + ρ(g , h); ρ(f , g) = 0 dacă şi numai dacă f = g.
Def. 7.19: Fie S un spaţiu de funcţii. Dacă ρ : S → R + este o metrică pe S atunci cuplul (S, ρ) se numeşte spaţiu metric. Capacitatea mulţimii Σ(G) de a aproxima spaţiul de funcţii S se poate descrie cu ajutorul conceptului de ρ - densitate: 195
Def.7.20: Fie U ⊆ R n, S = { f | f : U → R } şi (S, ρ) un spaţiu metric. Oricare ar fi g ∈ Σ(G), definim restricţia lui g la U astfel: gU(x) = g(x), oricare ar fi x ∈ U şi nedefinit pentru x ∉ U; Dacă oricare ar fi f ∈ S şi oricare ar fi ε > 0 există g ∈ Σ(G) astfel încât ρ(f , gU) < ε, atunci spunem că Σ(G) conţine o submulţime ρ - densă în S. Dacă în plus, gU ∈ S oricare g ∈ Σ(G), atunci spunem că Σ(G) este ρ - densă în S. Reluăm Definiţia 7.15 de m - uniform densitate pe un compact relativ la mulţimea Σ(G). Def.7.21: Fie m, l ∈ {0} ∪ N, 0 ≤ m ≤ l, U ⊂ R n şi S ⊂ Cl(U). Dacă oricare ar fi f ∈ S, ε > 0 şi mulţimea compactă K ⊂ U există g ∈ Σ(G) astfel încât: max sup Dα f (x ) − Dα g (x ) < ε α ≤ m x ∈K
atunci spunem că mulţimea Σ(G) este m - uniform densă pe compact în S. Vom nota cu ρ mK o metrică ρ care induce o convergenţă m - uniformă pe compactul K. Deşi metrica ρ mK este dependentă şi de mulţimea U, din considerente de simplificare a notaţiei nu vom mai specifica şi mulţimea U. Suntem astfel în stare să întrevedem importanţa rezultatelor enunţate până acum: Dacă mulţimea Σ(G) este m - uniform densă pe compact în S, indiferent de alegerea funcţiei f ∈ S, a preciziei ε > 0 şi a mulţimii compacte K ⊂ U întotdeauna există un PMS de tipul celui prezentat în Fig.7.1 cu proprietatea că funcţia g ∈ Σ(G) are toate derivatele de ordin m ale restricţiei sale gU ∈ K la o distanţă mai mică decât ε faţă de derivatele lui f pe compactul K. După ce identifica noţiunilor matematice necesare, vom da teoremele de caracterizare a mulţimilor G şi U care asigură condiţiile ca mulţimea Σ(G) să fie m - uniform densă pe compact în S, deosebit de utilă fiind alegerea S ⊂ Cm(U). Faţă de paragraful anterior unde am introdus spaţiul Lp(μ), vom modifica notaţia acestui spaţiu în aşa fel încât să punem în evidenţă şi mulţimea de definiţie U, astfel: ⎧ L p (U , µ ) = ⎨ f : U → R f masurabila, f ⎩
p ,U , µ
≡
[∫
U
p
f dµ
]
1 p
⎫ < ∞,1 ≤ p < ∞ ⎬ ⎭
(7.46)
Obs.7.8: i).Distanţa dintre două funcţii f,g ∈ Lp(U, μ) se măsoară prin metrica: ρ p ,U ,µ ≡ f − g
p ,U , µ
ii). ρ p,U,µ (f, g) = 0 dacă f şi g diferă pe o mulţime de măsură nulă. Pentru a putea măsura distanţa dintre două funcţii, ţinând cont de distanţa dintre derivatele lor, vom introduce o metrică definită pe un spaţiu de funcţii Sobolev. Vom prelua o serie de elemente definite în paragraful anterior, dezvoltându-le în concordanţă cu scopul nostru. 196
Def. 7.22: Se numeşte spaţiu Sobolev următoarea mulţime de funcţii:
{
S pm (U , μ ) = f ∈ C m (U ) Dα f
p ,U , μ
}
< ∞ , ( ∀) α ≤ m
(7.47)
Obs.7.9: i). Putem să definim norma Sobolev: f
1
⎞p ⎟ p ,U , μ ⎟ ⎠
⎛ ∈⎜⎜ ∑ Dα f ⎝ α ≤m
m , p ,U , μ
p
(7.48)
ii). Putem să definim distanţa (metrica) Sobolev: ρ mp ,µ ( f , g ) = f − g
m , p ,U , µ
,
f , g ∈ S pm (U , μ )
(7.49)
iii). Metrica Sobolev ţine cont în mod explicit de distanţa dintre derivate. Două funcţii din mulţimea S pm (U , µ ) sunt "apropiate" în metrica Sobolev ρ mp ,µ dacă toate 0 ≤ ⏐α⏐ ≤ m sunt "apropiate" în metrica Lp.
derivatele de ordin
Def.7.23: Notăm cu S pm ( loc) spaţiul de funcţii Sobolev:
{
}
( )
S pm (loc ) = f ∈ C m R n (∀)U ⊂ R n ,U deschisă si marginită ⇒ f ∈ S pm (U , λ )
(7.50)
unde λ reprezintă măsura Lebesgue. Pentru a putea defini o metrică pe spaţiul S pm ( loc) să facem notaţia:
{
}
U β = x ∈ R n xi < β , i = 1,2,..., n
(7.51)
Atunci putem defini metrica spaţiului S pm ( loc) astfel: ∞
ρ mp ,loc ( f , g) = ∑ i =1
(
1 min f − g 2i
m , p ,U i ,λ
)
,1 , f , g ∈ S pm ( loc)
(7.52)
Obs.7.10: Două funcţii din mulţimea S pm (U , µ ) sunt "apropiate" în metrica Sobolev ρ mp ,loc dacă toate derivatele de ordin 0 ≤ ⏐α⏐ ≤ m sunt "apropiate" în metrica Lp pe submulţimi deschise şi mărginite din Rn. Spaţiile de funcţii S pm (U , µ ) nu conţin funcţii derivabile peste tot, exceptând mulţimile de măsură nulă (de exemplu funcţii diferenţiabile pe porţiuni - piecewise differentiable). Vom arăta că cu ajutorul reţelelor neuronale de tip PMS, există posibilitatea de a aproxima oricât de bine astfel de funcţii. Pentru a putea aborda această problemă va fi necesar în cele ce urmează să lucrăm cu o noţiune generalizată de derivată. De aceea vom introduce conceptul de distribuţie şi de derivată distribuţională, conform cu Schwartz [182]. Introducem următoarele notaţii: 197
•
supp f = cl { x ∈ U ⏐ f(x) ≠ 0 } unde f ∈ C(U), iar cl (closure) are semnificaţia de închidere a mulţimii;
•
C0(U) = { f ∈ C(U) ⏐ supp f este o mulţime compactă };
•
C 0∞ (U ) = C ∞ (U ) I C 0 (U ) mulţimea funcţiilor indefinit derivabile cu derivatele continue şi suport compact;
Def. 7.24: Se numeşte distribuţie de la U la R o aplicaţie liniară T : C 0∞ (U ) → R, adică ce are proprietatea: T ( aφ1 + aφ2 ) = aT (φ1) + bT (φ2), a, b ∈ R, φ1, φ2 ∈ C 0∞ (U ) . Dacă K ⊂ U este o submulţime compactă, facem notaţia: - spaţiul funcţiilor măsurabile: L1 (K, λ) = { f : U → R ⏐
∫
K
f dλ < ∞ };
- spaţiul funcţiilor local integrabile: L1,loc (U) = ∩ { L1 (K, λ) ⏐ K ⊂ U, K mulţime compactă }; - oricare ar fi f ∈ L1,loc (U) definim distribuţia Tf : C 0∞ (U ) → R în felul următor: T f (φ ) = ∫ fφ dλ , φ ∈ C 0∞ (U )
(7.53)
U
- oricare ar fi distribuţia T putem defini derivata distribuţională ∂αT: C 0∞ (U ) → R astfel:
(
)
∂ α T (φ ) = ( −1) T Dα φ , φ ∈ C 0∞ (U ) α
(7.52)
Obs.7.11: i). ∂αT este de asemenea o aplicaţie liniară de la C 0∞ (U ) la R;
ii). Dacă f ∈ Cm(R) atunci ∂ α T f = TDα f pentru ⏐α⏐ ≤ m. În acest caz, derivata
distribuţională este identică cu derivata clasică. Într-adevăr avem:
(
)
∂ α T f (φ ) = ( −1) T f Dα φ = ( −1) α
α
∫ f ( D φ )dλ = ∫ ( D f )φdλ = T (φ ), φ ∈C (U ) α
α
U
Dα f
U
∞ 0
Chiar dacă derivata clasică nu există, poate exista un element h ∈ L1,loc (U), astfel încât să avem ∂αTf = Th.. În acest caz, putem scrie h = ∂αf, iar ∂αf se numeşte derivata generalizată a lui f. Dacă f ∈ Cm(U), atunci ∂αf = Dαf. Putem acum să definim spaţiul Sobolev ce reprezintă mulţimea funcţiilor ce au derivata generalizată de ordin până la m aparţinând lui Lp(U, μ):
{
}
Wpm (U ) = f ∈ L1,loc (U ) ∂ α f ∈ L p (U , λ ) , 0 ≤ α ≤ m 198
(7.55)
Spaţiul Wpm (U ) include spaţiul S pm (U , µ ) ca şi funcţiile ce nu sunt derivabile în sensul
clasic. Norma şi metrica spaţiului Wpm (U ) generalizează norma şi metrica spaţiului S pm (U , µ ) , astfel:
f
m , p ,U
⎛ = ⎜⎜ ∑ ∂ α f ⎝ α ≤m
ρ mp ( f , g ) = f − g
1
⎞p ⎟ , f ∈Wpm (U ) p ,U ,λ ⎟ ⎠ p
m , p ,U
, f , g ∈Wpm (U )
(7.56)
(7.57)
Două funcţii din spaţiul Sobolev Wpm (U ) sunt "apropiate" în metrica Sobolev ρ mp (7.57) dacă toate derivatele generalizate sunt "apropiate" în metrica Lp(U, λ). Ne interesează să determinăm acele condiţii asupra mulţimilor G şi U care determină ca reţelele neuronale de tip PMS să fie ρ mp - densă în spaţiul Wpm (U ) . Prin aceasta, reţelele neuronale de tip PMS sunt capabile de a aproxima o funcţie necunoscută şi derivatele sale generalizate, cu orice precizie dorită, dacă reţeaua neuronală are în stratul ascuns un număr suficient de neuroni.
Condiţiile pe care trebuie să le satisfacă mulţimea U sunt: (C1): U să fie o submulţime deschisă şi mărginită a lui R n; (C2): mulţimea restricţiilor funcţiilor din C 0∞ R n relativ la U să fie ρ mp - densă în spaţiul W
m p
( )
(U ) ;
Obs.7.12: Motivul existenţei condiţiei (C2) este dată de posibilitatea ca alegerea lui U să fie astfel făcută încât C 0∞ R n să nu fie ρ mp - densă în spaţiul Wpm (U ) , atunci putându-se construi
( )
funcţii care să aparţină spaţiului Sobolev Wpm (U ) şi care nu sunt aproximabile cu o precizie
dată de orice reţea neuronală. Conform cu [104], până în prezent nu se cunosc condiţii necesare şi suficiente asupra mulţimii U în aşa fel încât spaţiul de funcţii C 0∞ R n să fie ρ mp - dens în spaţiul Wpm (U ) . Din
( )
fericire însă există o serie de condiţii suficiente asupra mulţimii U care asigură condiţia ca spaţiul de funcţii C 0∞ R n să fie ρ mp - dens în spaţiul Wpm (U ) . Vom prezenta în cele ce
( )
urmează două astfel de condiţii asupra mulţimii U, şi anume "condiţia de segment" şi "condiţia de formă stelată în raport cu un punct". Să notăm cu U complementara mulţimii U în raport cu Rn şi fie frontiera mulţimii U notată ∂U definită astfel: ∂U = clU I clU
(7.58)
Def.7.25: Mulţimea deschisă U verifică "condiţia de segment" dacă oricare ar fi x ∈ ∂U există o vecinătate Vx a lui x şi yx ∈ Rn, astfel încât dacă z ∈ cl U ∩ Vx, atunci segmentul z + t yx, 0 < t < 1 aparţine mulţimii U.
199
Teorema 7.16: (Adams, [1]) Dacă U verifică "condiţia de segment", atunci spaţiul de funcţii C 0∞ R n este ρ mp - dens în spaţiul Wpm (U ) pentru orice 1 ≤ p < ∞ şi m = 0, 1, 2, ....
( )
Def.7.26: Mulţimea U verifică "condiţia de formă stelată în raport cu un punct" dacă există un punct x ∈ U astfel încât orice segment de dreaptă cu capătul în punctul x are o unică intersecţie cu frontiera ∂U a domeniului U. Teorema 7.17: (Maz'ja [137]) Dacă mulţimea mărginită U verifică "condiţia de formă stelată în raport cu un punct", atunci spaţiul de funcţii C 0∞ R n este ρ mp - dens în spaţiul W
m p
( )
(U ) pentru orice 1 ≤ p < ∞ şi m = 0, 1, 2, ....
( ) (R ) = {f ∈ C (R ) (∀)α , β multi − indici, x
Def.7.26: Notăm cu C ↓∞ R n spaţiul funcţiilor rapid descrescătoare, definit astfel: C
∞ ↓
n
∞
n
β
}
D α f (x) → 0, pt. x → ∞
unde x β = x1β1 x 2β 2 ...x nβ n si x = max xi 1≤ i ≤ n
( )
( )
Obs.4.13: C 0∞ R n ⊂ C ↓∞ R n . Înainte de a formula teoremele fundamentale care ne asigură capacitatea unui PMS de a aproxima o funcţie necunoscută precum şi a derivatelor sale cu orice precizie dorită, să recapitulăm spaţiile de funcţii definite, precum şi metricile definite pe aceste spaţii, metrici care măsoară distanţa dintre funcţii precum şi dintre derivatele lor până la un anumit ordin: (1) C0∞ (R n ) spaţiul funcţiilor rapid descrescătoare;
(C (R ), ρ ) ; ∞ ↓
n
m K
(2) S pm (U , µ ) spaţiul funcţiilor din Cm(U) care au derivatele de ordin m Lp(U, μ) integrabile, pentru U şi μ aleşi corespunzător;
( S (U , μ ), ρ ) ; m p
m p ,µ
(3) S pm ( loc) spaţiul funcţiilor din Cm(Rn) care au derivatele de ordin până la m Lp(U, λ) - integrabile, pentru toate submulţimile mărginite U ⊂ Rn;
( S ( loc), ρ ) ; m p
m p , loc
(4) Wpm (U ) spaţiul funcţiilor care au derivatele generalizate de ordin până la m Lp(U, λ) - integrabile;
(W (U ), ρ ) ; m p
m p
După ce am recapitulat cele mai importante elementele matematice introduse, să definim acele condiţii pe care trebuie să le satisfacă mulţimile G şi U, astfel încât reţelele 200
neuronale de tip PMS să aibă proprietatea de aproximantă universală în aceste spaţii. În acest scop vom urma rezultatele prezentate în [104]. Teorema 7.18: Fie m ∈ Z+ şi G ∈ S1m ( R, λ ) o funcţie nenulă. Atunci mulţimea Σ(G) este m-
( )
uniform densă pe compact în C ↓∞ R n . Demonstraţia se poate găsi în [104], bazându-se pe reprezentarea integrală Fourier a reţelelor neuronale de tip PMS cu un singur strat ascuns, având un număr nelimitat de neuroni în stratul ascuns, propusă prima dată de Irie şi Miyake [106]. Analizând teorema de mai sus, tragem concluzia că dacă funcţia G de activare a neuronilor aparţine spaţiului G ∈ S1m ( R, λ ) ,
( )
atunci Σ(G) poate aproxima orice funcţie ce aparţine spaţiului C ↓∞ R n , precum şi derivatele sale de ordin până la m. Din păcate, condiţia de apartenenţă G ∈ S1m ( R, λ ) este mult prea puternică, mai ales pentru aplicaţii practice, eliminând funcţiile de activare de tip logistic şi tangentă hiperbolică care nu aparţin nici măcar spaţiului S10 (R, λ ) . În general, teorema de mai sus nu este valabilă pentru funcţii de activare G de tip sigmoidal. Din fericire, putem slăbi condiţiile de apartenenţă asupra funcţiei de activare a neuronilor din stratul ascuns G. Pentru acest motiv introducem definiţia de mai jos: Def.7.27: Fie l ∈ Z+. Funcţia de activare G se numeşte l-finită dacă G ∈ Cl(R) şi 0 < ∫ D l G dλ < ∞ . Lema 7.3: Dacă funcţia de activare G este l-finită pentru orice 0 ≤ m ≤ l, atunci există o funcţie de activare H ∈ S1m ( R, λ ) , astfel încât Σ(H) ⊂ Σ(G). Lema de mai sus slăbeşte condiţiile impuse de Teorema 7.18 asupra funcţiei de activare G. Conform cu Lema 7.3, este suficient ca funcţia de activare G să fie l-finită, şi atunci mulţimea Σ(G) va conţine o submulţime Σ(H) care va fi m-uniform densă pe compact în C ↓∞ R n pentru 0 ≤ m ≤ l. Din punct de vedere practic, condiţia este foarte importantă căci funcţiile de activare cele mai importante de tip sigmoidal, ca de exemplu funcţia de activare logistică sau tangentă hiperbolică, satisfac condiţia de l-finitudine. Să analizăm mai în detaliu condiţia ca funcţia de activare G să fie l-finită:
( )
- dacă G ∈ S1m ( R, λ ) , atunci pentru orice 0 ≤ k ≤ m avem - dacă G ∈ Cl+1(R) şi - dacă
∫D
l +1
∫ D G dλ < ∞ , atunci ∫ D l
Gdλ există şi este nenulă, atunci
l +1
∫D
K
Gdλ = 0 ;
Gdλ = 0 ;
∫ D G dλ = ∞ . l
Obs.7.14: Câteva exemple de funcţii care nu satisfac condiţiile Teoremei 7.18:
dacă G = sin atunci G ∈ C∞(R), dar oricare ar fi l atunci
201
∫ D G dλ = ∞ ; l
dacă G este funcţie polinomială de gradul m atunci G ∈ C∞(R), pentru l ≤ m avem ∫ D l G dλ = ∞ , iar pentru l > m avem ∫ D l G dλ = 0;
în general, orice funcţie polinomială sau trigonometrică nu este l-finită;
Din Teorema 7.18 şi din Lema 7.3 obţinem următoarele corolare: Corolarul 7.1: Dacă funcţia de activare G este l-finită, atunci pentru orice 0 ≤ m ≤ l mulţimea Σ(G) este m-uniform densă pe compact în C ↓∞ R n .
( )
Corolarul 7.2: Dacă funcţia de activare G este l-finită, U ⊂ Rn o submulţime deschisă, atunci pentru orice 0 ≤ m ≤ l mulţimea Σ(G) este m-uniform densă pe compact în S pm (U , λ ) , 1 ≤ p
0)
(8.55)
Notaţia 8.1: Vom nota clasa funcţiilor condiţional pozitiv definite de ordinul k pe Rn cu Pk(Rn). Obs. 8.1: Pentru k = 0 mulţimea Pk(Rn) a funcţiilor condiţional pozitiv definite se reduce la mulţimea funcţiilor pozitiv definite [142]. Conform cu [142], o condiţie suficientă de existenţă a unei soluţii de forma (8.52) pentru problema aproximării este ca funcţia h ∈ Pk(Rn), adică funcţia h trebuie să fie 226
condiţional pozitiv definită de ordinul k pe Rn. Din acest motiv, este deosebit de important să fim în stare să dăm o caracterizare cât mai completă acestei clase de funcţii. Def. 8.6: O funcţie f : [0 , ∞) → R se numeşte complet monotonă pe intervalul [0 , ∞) dacă f ∈ C∞(0 , ∞) şi dacă satisface condiţia:
( −1) i
∂i f ( x ) ≥ 0 , ∀x ∈( 0, ∞), ∀i ∈N ∂x i
(8.56)
Notaţia 8.2: Vom nota cu Mk mulţimea funcţiilor a căror derivată de ordinul k este complet monotonă pe intervalul [0 , ∞). Teorema 8.2: Oricare ar fi numărul natural k ∈ N, dacă funcţia h este continuă pe intervalul k k ∂ h [0, ∞) şi ( −1) ( r) este complet monotonă pe intervalul (0 , ∞), atunci avem h(r2) ∈ ∂r k Pk(Rn). Să analizăm implicaţiile acestei teoreme: dacă derivata de ordinul k a funcţiei h este complet monotonă, atunci funcţia F de forma (8.52) poate fi folosită pentru a rezolva 3
problema interpolării (8.51). De exemplu, dacă considerăm funcţiile h(r ) = r 2 şi funcţia 1 g (r ) = r log r avem că h(r), g(r) ∈ M2 şi conform cu Teorema 8.2, rezultă că h(r 2 ) = r 2 2 şi g (r 2 ) = r 2 log r aparţin mulţimii P2. Pe această bază, este posibil să interpolăm orice mulţime dată de puncte utilizând funcţiile h(r2) sau g(r2) ca şi funcţii RBF în construcţia funcţiei F de forma (8.52), unde polinomul folosit are gradul I. Pentru cazul particular k = 0, se obţine ca şi caz particular al Teoremei 8.2 binecunoscuta teoremă a lui Schoenberg [179] relativ la funcţii pozitiv definite. În acest caz, forma funcţiei F (8.52), devine: N
F( x ) = ∑ ci h( x − x i i =1
)
(8.57)
Pentru a determina coeficienţii necunoscuţi ci impunem cele N condiţii de interpolare (8.51): F(x i ) = yi , i = 1,2,..., N .
Aceste condiţii substituite în relaţia (8.57), conduc la sistemul liniar: H⋅c = y
(8.58)
unde avem notaţiile:
(
)
(y)i = yi ; (c)i = ci ; (H)ij = h x i − x j . Teorema 8.2 ne asigură de faptul că sistemul (8.58) are întotdeauna soluţie, deoarece matricea H este inversabilă, fiind condiţional strict pozitiv definită. 227
Obs. 8.2: Teorema 8.2 ne dă doar o condiţie suficientă, ceea ce înseamnă că multe alte funcţii pot fi folosite ca şi funcţii de tip RBF fără a fi condiţional pozitiv definite. O altă teoremă ce ne asigură o condiţie suficientă este următoarea: Teorema 8.3: Fie o funcţie h : [0 , ∞) → R+, având derivata de ordinul I neconstantă dar complet monotonă pe intervalul (0 , ∞). Atunci pentru orice puncte distincte x1, x2, ..., xN ∈ Rn avem relaţia:
(
( −1) N −1 det h x i − x j
2
)>0
(8.59)
Pe baza Teoremei 8.3, putem construi o listă de funcţii ce pot fi folosite pentru a rezolva în practică problema interpolării unei anumite mulţimi de puncte date: h( r ) = e
⎛ r⎞ −⎜ ⎟ ⎝ c⎠
h( r ) =
(c h( r ) = ( c
2
( Gaussian) 1
2
+ r2
2
+ r2
h( r ) = r
) )
α
α>0
β
(8.60)
0< β n si n este par x
2m−n
228
, altfel
(8.63)
În acest caz, spaţiul nul al stabilizatorului Φ[ f ] este spaţiul vectorial al mulţimii polinoamelor de grad mai mic sau egal cu m, de n variabile. Dimensiunea acestui spaţiu vectorial este k = Cnn+ m −1 . Dacă particularizăm pentru m = 2 şi n = 2, obţinem funcţia: G( x ) = x ln x 2
(8.64)
numită funcţia “thin plate” [91], reprezentată grafic în Figura 8.3.
Exemplul 8.2: Spline multidimensional O clasă importantă de stabilizatori se găseşte în lucrarea [139]. Meinguet consideră funcţionale de forma: m
O f
2
=
n
∑∫
i1 ...i m
unde ∂ i1 ...im =
Rn
(
dx ∂ i1 ...im f ( x )
)
2
(8.65)
∂m , m ≥ 1. Acest tip de stabilizator este invariant rotaţional şi ∂x i1 ... ∂x im
translaţional. Mai mult, deoarece operatorul diferenţial implicat este omogen, o transformare scalară a variabilelor are ca efect înmulţirea funcţionalei cu o constantă. Funcţia Green ataşată acestui tip de stabilizator este radială, invariantă translaţional şi satisface următoarea ecuaţie diferenţială distribuţională:
( −1) m ∇ 2 m G( x ) = δ ( x )
(8.66)
unde ∇ 2m reprezintă Laplacianul de ordinul m în spaţiul n-dimensional. Soluţia acestei ecuaţii diferenţiale se obţine utilizând metoda transformării generalizate Fourier [76], fiind: ⎧⎪ x G( x ) = ⎨ ⎪⎩
2m−n
ln x , dacă 2m > n si n este par x
2m−n
,
altfel
(8.67)
Din relaţia de mai sus rezultă că restricţia 2m > n este necesar a fi impusă pentru a obţine o funcţie Green care să nu fie singulară în origine. Să presupunem în continuare că avem condiţia 2m > n satisfăcută. Din teoria funcţiilor spline se ştie că dacă stabilizatorul este de ordinul m, atunci funcţia Green este condiţional pozitiv definită de ordinul m. Pe baza rezultatelor anterioare putem afirma, dacă se cunoaşte m ∈ N, pentru a interpola mulţimea de puncte {(x i , yi ) ∈ R n × R i = 1,2,..., N } putem folosi următoarea funcţie: N
f ( x ) = ∑ ci G( x − x i ) + pm −1 ( x ) i =1
unde pm-1(x) este un polinom de gradul (m – 1). În cazul particular n = m = 2, funcţionala de minimizat este: 229
(8.68)
O2 f
2
⎡⎛ ∂ 2 f ⎞ 2 ⎛ ∂ 2 f ⎞ 2 ⎛ ∂ 2 f ⎞ 2 ⎤ = ∫ 2 dxdy ⎢⎜ 2 ⎟ + ⎜ ⎟ +⎜ 2 ⎟ ⎥ R ⎝ ∂x∂y ⎠ ⎝ ∂y ⎠ ⎥⎦ ⎢⎣⎝ ∂x ⎠
(8.69)
iar funcţia Green ataşată este funcţia h( r ) = r 2 ln r .
Fig. 8.3: Graficul funcţiei RBF G( x ) = x
2
ln x (“thin plate”).
Exemplul 8.3: Gaussian Să considerăm un stabilizator de forma: Φ[ f ] = ∫ n ds e
s2 β
~ 2 f ( s)
R
(8.70)
Parametrul β este un parametru real pozitiv fixat. Rezultatul problemei variaţionale este în acest caz, conform cu [80]: − ~ G( s ) = e
s2 β
(8.71)
Funcţia RBF corespunzătoare este: G( x ) = e
− x
230
L1
(8.72)
Funcţia Gaussiană este pozitiv definită, şi după cum vom vedea, funcţiile pozitiv definite pot defini norme de forma stabilizatorului (8.49). Deoarece acest stabilizator este o normă, spaţiul său nul conţine doar elementul zero, nemai fiind nevoie să adăugăm la soluţia problemei variaţionale (8.39) şi termenul corespunzător spaţiului nul, care termen apare la spline. Comparând funcţia Gaussiană cu spline-ul observăm la prima existenţa parametrului real pozitiv β de care depinde, în timp ce spline-urile fiind funcţii omogene nu depind de nici un parametru de scalare. În Figura 8.4 avem reprezentarea grafică a funcţiei Gaussiene.
Fig. 8.4.: Graficul funcţiei RBF G( x ) = e
− x
2
.
Exemplul 5.4: Alte funcţii RBF
Utilizând diferiţi alţi stabilizatori, conform cu [80], în tehnica calculului neuronal se pot folosi următoarele funcţii de tip RBF:
G( x ) = G( x ) =
x
2
x
2
+ c 2 - funcţia multi-cvuadratică
1 + c2
- funcţia multi-cvadratică inversă
(8.73) (8.74)
De asemenea, din cele două exemple de mai sus avem: G( x ) = x
2n
G( x ) = x
2 n +1
ln x - spline
- spline
(8.75) (8.76)
231
G( x ) = e
− x
L1
- Gaussian
(8.77)
B. Stabilizatori de tip produs tensorial O altă posibilitate de a alege stabilizatorul o constituie produsul tensorial, care este o funcţie de forma: n ~ G( s) = ∏ g~( si )
(8.78)
i' =1
unde si este a i - a coordonată a vectorului n-dimensional s, iar g~ o funcţie de o singură variabilă, corespunzător aleasă. Dacă g este o funcţie pozitiv definită, atunci funcţionala (stabilizatorul) Φ[ f ] este o normă, având spaţiul nul vid [80]. Dacă considerăm funcţia din (8.68) vom obţine stabilizatorul: Φ[ f ] = ∫ n ds R
~ 2 f ( s)
(8.79)
n
∏ g~(si ) i =1
care va conduce la o funcţie Green de forma produs tensorial: n
G( x ) = ∏ g( x i )
(8.80)
i' =1
unde xi este a i - a coordonată a vectorului n-dimensional x, iar funcţia g(x) este transformata Fourier a funcţiei g~ (x). Un exemplu cu aplicaţii practice importante, din punct de vedere al implementării hardware VLSI, este alegerea următoarei funcţii: g~( s) =
1 1 + s2
(8.81)
care conduce la funcţia Green: n
G( x ) = ∏ e
− xi
=e
−
n
∑ xi i =1
=e
− x
L1
(8.82)
i' =1
Calculul normei L1 a vectorului x se face mult mai uşor decât norma Euclidiană L2, de aceea în aplicaţiile practice acest lucru este de preferat. Dar, deoarece funcţia Green G(x) (8.81) nu este suficient de netedă (vezi Fig. 8.5) , performanţele sale nu sunt foarte bune, depinzând de aplicaţia concretă.
232
Fig. 8.5: Graficul funcţiei RBF G( x ) = e
− x
L1
.
C. Stabilizatori aditivi
După cum am văzut mai înainte, putem să derivăm schemele de aproximare de tip produs tensorial în contextul cadrului general al teoriei regularizării, şi deci al calculului neuronal. În cele ce urmează, vom vedea că şi schemele de aproximare aditive se pot încadra în acelaşi cadru general al calculului neuronal. Printr-o schemă de aproximare aditivă vom înţelege o funcţie aproximantă de forma: n
f ( x ) = ∑ fi ( x i )
(8.82)
i =1
unde fi reprezintă funcţii reale de o singură variabilă şi care vor fi denumite în continuare componentele aditive al funcţiei f, iar xi a i - a componentă a vectorului x. Modele aditive de aproximare de forma de mai sus (8.82) sunt întâlnite mai ales în statistică [92]. Aceste modele aditive de aproximare sunt eficiente deoarece, fiind o compunere aditivă de funcţii reale unidimensionale, au o complexitate scăzută, şi o trăsătură foarte importantă, întâlnită de fapt la modelele lineare, şi anume, aceea de a putea studia separat influenţa diferitelor variabile. Pentru a obţine un astfel de model de aproximare aditivă, din punct de vedere al calculului neuronal, va trebui să alegem un stabilizator corespunzător, şi anume:
233
n
G( x ) = ∑ α i g( x i )
(8.83)
i =1
unde αi ∈ R sunt parametrii reali fixaţi. De fapt o astfel de alegere a stabilizatorului va duce la o schemă de aproximare aditivă, ca aceea din (8.82), mai precis de forma: N
(
fi ( x ) = α i ∑ β j G x i − x j j =1
)
(8.84)
Componentele aditive nu sunt independente, deoarece apare o singură mulţime de coeficienţi {β i ∈ R i = 1,2,K , N }. Va trebui să scriem stabilizatorul în forma (8.49), unde ~ funcţia G( s) este transformata Fourier a funcţiei Green G(x). Pentru a simplifica deducţiile să considerăm cazul bidimensional n = 2, urmând a generaliza rezultatele obţinute pentru cazul oarecare. Atunci putem scrie [80]: ~ G( s) = α 1 g~( s1 )δ ( s2 ) + α 2 g~( s2 )δ ( s1 )
(8.85)
Dacă considerăm stabilizatorul (în cazul n = 2): Φ[ f ] = ∫ n ds R
~ 2 ε f ( s) ⎛ s2 ⎞
2
⎛ s1 ⎞
−⎜ ⎟ −⎜ ⎟ α 1 g~( s1 )e ⎝ ε ⎠ + α 2 g~( s2 )e ⎝ ε ⎠
2
(8.86)
Acest stabilizator va conduce la o funcţie Green de forma: G( x, y) = α 1 g( x ) e − ε
2 2
y
+ α 2 g( y) e − ε
2 2
x
(8.87)
Să presupunem că ştim a priori că forma funcţiei de aproximat f este aditivă, adică de forma (8.82). Atunci, vom aplica metoda regularizării prin aplicarea unei restricţii de netezime asupra funcţiei nu ca un tot unitar, ci asupra fiecărei componente aditive, aplicând o funcţională de regularizare de forma: 2
n n ⎞ ⎛ 1 H[ f ] = ∑ ⎜ yi − ∑ f j ( x i )⎟ + λ ∑ α ⎠ i =1 ⎝ j =1 i =1 i N
f i ( s) ∫Rn ds g~( s)
2
(8.88)
unde parametrii αi sunt parametri pozitivi, care permit impunerea a diferite grade de netezime asupra diferitelor componente aditive. Prin minimizarea funcţionalei de mai sus, neluând în considerare eventualii termeni ce corespund spaţiului nul, obţinem: N
f ( x ) = ∑ c i G( x − x i ) i'1
unde: 234
(8.89)
n
(
G( x − x i ) = ∑ α j g x j − x i j =1
)
(8.90)
Introducem pentru coeficienţi notaţia: cij =
ci αj
(8.91)
obţinem pentru o componentă aditivă forma: N
(
fi ( x i ) = ∑ cij g x i − x j j =1
)
(8.92)
Componentele aditive nu sunt independente datorită faptului că coeficienţii αi sunt fixaţi. Evident, independenţa componentelor aditive poate fi obţinută prin anularea condiţiei de fixare impusă coeficienţilor αi.
VIII.3. Proprietatea de cea mai bună aproximantă Problema Aproximării a fost formulată în Definiţia 8.1, ea conţinând următoarea formulare: dacă f(x) este o funcţie continuă şi F(x,w) este o funcţie aproximantă ce depinde continuu de parametrii w ∈ P şi de variabila x, problema aproximării este determinarea parametrilor w*, astfel încât: ρ[ F( w*, x ), f ( x )] ≤ ρ[ F( w, x ), f ( x )] ,
( ∀) w ∈ P
Dacă problema aproximării are soluţie, ea se numeşte cea mai bună aproximantă. După cum vom vedea, existenţa celei mai bune aproximante este determinată de clasa de funcţii căreia îi aparţine funcţia aproximantă F(x,w). Am văzut din cele prezentate până acum că învăţarea unei reţele neuronale pe baza unei mulţimi de exemple de antrenament este echivalentă cu problema aproximării unei funcţii necunoscute f(x) pe baza unei mulţimi de puncte discrete T = (x, f(x)) numită mulţime de antrenament. Pentru a putea caracteriza metodele de aproximare, deci şi reţelele neuronale, trebuie luată în considerare problema fundamentală a reprezentării: Problema reprezentării: care mulţime de funcţii poate fi aproximată de funcţia aproximantă F şi cât de precis poate fi realizată această aproximare? Din rezultatele Cap. VII am văzut că reţele neuronale de tip PMS pot aproxima oricât de bine o funcţie continuă, dacă avem un număr nelimitat de neuroni în stratul ascuns. Din punct de vedere matematic acest lucru înseamnă că mulţimea funcţiilor ce poate fi calculată de acest tip de reţele neuronale este densă. Această proprietate nu este însă caracteristică numai pentru reţelele neuronale ci şi pentru polinoame algebrice, fapt dovedit prin intermediul 235
clasicei Teoreme a lui Weierstrass. Pentru a caracteriza însă "calitatea" unei reţele neuronale nu este suficient ca această să satisfacă Teorema lui Weierstrass. Aproape orice reţea neuronală de tip PMS ca cea din Fig. 7.1, având o funcţie de activare neliniară pentru neuronii stratului ascuns va satisface această proprietate a lui Weierstrass. Deoarece, majoritatea schemelor de aproximare, printre care şi reţelele neuronale, satisfac proprietatea lui Weierstrass, avem nevoie de o caracteristică suplimentară. Şi literatura de specialitate în domeniul teoriei aproximării reflectă această problemă, încercând să accentueze alte proprietăţi ale schemelor de aproximare. O astfel de proprietate, prin care vom încerca o caracterizare suplimentară a reţelelor neuronale, privite ca şi scheme de aproximare, va fi proprietatea de cea mai buna aproximantă, pe care o vom nota BAP (Best Approximation Property). Într-o definiţie neformală putem să spunem despre o schemă de aproximare că satisface BAP dacă în mulţimea funcţiilor aproximante (în cazul reţelelor neuronale aceasta poate fi {F ( x , w ) w ∈ R}) există o funcţie unică ce are distanţa minimă faţă de o mulţime mai largă de funcţii Φ. Să considerăm mulţimea generală a funcţiilor ce poate fi calculată cu ajutorul unui PMS având un singur strat ascuns, un singur neuron în stratul de ieşire, ca acela din Fig. 7.1: N ⎧ ⎫ N = ⎨ f ∈ C (U ) f (x ) = ∑ vi H i (x ), U ⊆ R n , H i ∈ C (U ), N , n ∈ N ⎬ i =1 ⎩ ⎭
(8.93)
unde funcţiile Hi sunt de formă H i = G(x; w i ) , wi reprezintă vectorii tăriilor sinaptice ce leagă neuronii din stratul de intrare de intrare de al i - lea neuron din stratul ascuns. Dacă alegerea funcţiilor Hi este corespunzătoare, atunci mulţimea de funcţii N poate fi densă în spaţiul funcţiilor continue C(U). Dacă funcţiile Hi sunt polinoame algebrice, densitatea mulţimii N este o consecinţă trivială a Teoremei lui Stone-Weierstrass. Dacă funcţiile Hi sunt funcţii Green centrate în punctele xi, atunci regăsim reţelele neuronale de tip PMSR pe care le vom studia amănunţit în capitolul următor, şi care am văzut că pot aproxima oricât de bine o funcţie continuă pe un domeniu compact din Rn. Să încercăm în cele ce urmează să dăm o interpretare matematică precisă noţiunii de BAP, cu care dorim să caracterizăm reţelele neuronale [81], [158]. Def. 8.7: Fie funcţia f ∈ Φ şi mulţimea de funcţii A ⊂ Φ. Se numeşte distanţă de la funcţia f la mulţimea A următoarea expresie: d ( f , A) = inf f − a a∈A
(8.94)
Def. 8.8: Dacă există un element a0 ∈ A astfel încât: f − a 0 = d ( f , A)
acest element se numeşte cea mai bună aproximantă a lui f de către A. 236
(8.95)
Def. 8.9: Mulţimea de funcţii A se numeşte mulţime de existenţă dacă, pentru orice funcţie f ∈ Φ, există cel puţin o cea mai bună aproximantă a lui f de către A. Obs. 8.3: Despre o mulţime A care este o mulţime de existenţă vom putea spune că satisface de asemenea şi BAP (Proprietatea de cea mai bună aproximantă). Def. 8.10: Mulţimea de funcţii A se numeşte mulţime de unicitate dacă, pentru orice funcţie f ∈ Φ, există cel mult o cea mai bună aproximantă a lui f de către A. Def. 8.11: Mulţimea de funcţii A se numeşte mulţime Cebâşev dacă este o mulţime de existenţă şi o mulţime de unicitate. După aceste noţiuni introductive, putem formula problema aproximării prin prisma BAP: Def. 8.12 (problema aproximării): Fiind dată funcţia f ∈ Φ şi mulţimea A ⊂ Φ să se găsească o cea mai bună aproximantă a lui f de către A. Este evident că problema aproximării are soluţie dacă şi numai dacă mulţimea A este o mulţime de existenţă. Vom studia în cele ce urmează proprietăţile unor mulţimi ce posedă proprietatea BAP, şi vom aplica aceste proprietăţi la reţele neuronale pentru a putea să le înţelegem mai bine din punct de vedere al teoriei aproximării [81]. Propoziţia 8.1: Orice mulţime de existenţă este închisă. Demonstraţie: Fie mulţimea A ⊆ Φ o mulţime de existenţă, şi să presupunem prin reducere la absurd că nu este închisă. Atunci trebuie să existe cel puţin un şir de elemente {a n } n∈N aparţinând mulţimii A care converge la un element ce nu aparţine mulţimii A. Cu alte cuvinte, putem scrie:
∃{a n }n∈N , a n ∈ A, ∃ f ∈ Φ \ A : lim d ( f , a n ) = 0 n →∞
Acest lucru înseamnă că d ( f , A) = 0 şi deoarece mulţimea A este o mulţime de existenţă rezultă că există un element a0 ∈ A astfel încât:
f − a0 = 0 Din proprietăţile normei vom avea că f = a0 , ceea ce este absurd deoarece f ∉ A şi a0 ∈ A. Aceasta contrazice ipoteza făcută că mulţimea A nu este închisă. Rezultă că mulţimea A este închisă. Reciproca acestei propoziţii nu este în general adevărată, adică nu este suficient ca o mulţime să fie închisă pentru ca ea să fie o mulţime de existenţă. Teorema de mai jos va conţine condiţia de suficienţă [49]: Teorema 8.4: Fie mulţimea A o mulţime compactă într-un spaţiu metric Φ. Atunci mulţimea A este o mulţime de existenţă. 237
Demonstraţie: Pentru orice funcţie f ∈ Φ, putem defini funcţia:
H : A → R+ , H (a ) = d ( f , a ) Funcţia H este o funcţie continuă pe mulţimea compactă A. După cum se ştie însă, conform teoremei lui Weierstrass, o funcţie continuă pe o mulţime compactă într-un spaţiu metric îşi atinge supremul şi infimul pe acea mulţime. Atunci funcţia H îşi atinge infimul pe mulţimea compactă A, ceea ce conform Definiţiei 8.9 înseamnă că mulţimea A este o mulţime de existenţă. Din punct de vedere al teoriei aproximării, o reţea neuronală este o reprezentare a unei mulţimi A de funcţii parametrice, iar algoritmul de învăţare a reţelei neuronale corespunde de fapt algoritmului de căutare a celei mai bune aproximante a unei funcţii f către A. În general, mulţimea A nu are proprietatea BAP, doar dacă ea satisface o serie de proprietăţi adiţionale, cum ar fi proprietăţile stabilite de Teorema 8.4. De aceea, vom încerca să analizăm care reţele neuronale satisfac aceste proprietăţi.
VIII.3.1. Aplicaţia 1: BackPropagation
Reţele
neuronale
de
tip
BP
-
Reţelele neuronale de tip BP - BackPropagation sunt cele mai populare reţele neuronale folosite în aplicaţii. De fapt, este vorba de o arhitectură de tip PMS cu cel puţin un strat ascuns, caracteristic fiind pentru reţelele neuronale de tip BP algoritmul de învăţare, numit BackPropagation (prezentat pe larg în IV.2.1). De asemenea, se consideră ca reţelele neuronale de tip BP au ca funcţie de activare a neuronilor din straturile ascunse, o funcţie sigmoidală (2.4), numită şi funcţie logistică, ce are următoarea expresie: σ ( x) =
1 1 + e−x
(8.96)
Să considerăm clasa reţelelor neuronale de tip BP, cu un singur strat ascuns, cu un unic neuron în stratul de ieşire, cu o arhitectură asemănătoare cu PMS din Fig. 7.1. Funcţia de activare a celor N neuroni din stratul ascuns este funcţia logistică de mai sus (8.96). Spaţiul funcţiilor Φ, care trebuie aproximate va fi ales spaţiul funcţiilor continue C(U), U ⊆ Rn. Atunci mulţimea funcţiilor care poate fi calculată de aceste reţele neuronale de tip BP este: m ⎧ ⎫ 1 , U ⊆ R n , w i ∈ R n , vi , θ i ∈ R ⎬ Σ n = ⎨ f ∈ C (U ) f (x ) = ∑ vi − ( xw i +θ i ) 1+ e i =1 ⎩ ⎭
(8.97)
Vom formula în cele ce urmează rezultatul cel mai important din punct al studiului teoretic şi aplicativ al calculului neuronal [46]: Propoziţia 8.2: Mulţimea Σn nu este o mulţime de existenţă, oricare ar fi n ≥ 2. Demonstraţie: După cum am văzut în Teorema 8.4, o condiţie necesară pentru ca o mulţime să fie o mulţime de existenţă este ca acea mulţime să fie închisă. De aceea, pentru a dovedi că 238
mulţimea Σn nu este o mulţime de existenţă este suficient să arătăm că nu este o mulţime închisă. Pentru aceasta, vom arăta că un punct de acumulare a mulţimii Σn nu-i aparţine. Să considerăm următoarea funcţie: f δ (x ) =
1⎛ 1 1 ⎞ − ⎜ ⎟ δ ⎝ 1 + e −(wx +θ ) 1 + e −(wx + (θ +δ )) ⎠
(8.98)
Evident avem f δ ∈Σ n , oricare ar fi n ≥ 2. Efectuând un calcul simplu, obţinem următoarea limită: lim fδ ( x ) ≡ g( x ) = δ →0
1 2(1 + cosh( wx + θ ) )
(8.99)
Oricare ar fi n ≥ 2 funcţia g de mai sus reprezintă un punct de acumulare a mulţimii Σn, dar nu aparţine mulţimii Σn. Rezultă că mulţimea Σn nu este închisă, deci nu poate fi o mulţime de existenţă.
VIII.3.2. Aplicaţia 2: Reţele neuronale de regularizare
Să considerăm mulţimea de reţele neuronale de tip PMSR care se obţin ca soluţie a problemei de regularizare (8.4), formulată într-un paragraf anterior: m ⎧ ⎫ Ψn = ⎨ f ∈ C (U ) f (x) = ∑ β iφi (x ), U ⊂ R n , β i ∈ R ⎬ i =1 ⎩ ⎭
(8.100)
unde funcţiile φ i ( x ) = G(x; x i ) reprezintă funcţii Green centrate în punctele xi ∈ Rn. Ca şi caz particular putem considera funcţiile RBF (Radial Basis Functions), când avem:
φ i ( x ) = G( x - x i
)
(8.101)
Întrebarea pe care ne-o punem în continuare este dacă această mulţime de funcţii aproximante asociate reţelelor neuronale de regularizare posedă proprietatea BAP ? Răspunsul la această întrebare este pozitiv, fiind exprimat prin propoziţia: Propoziţia 8.3: Mulţimea Ψn este o mulţime de existenţă, oricare ar fi n ≥ 1. Demonstraţie: Fie funcţia f un element fixat al spaţiului funcţiilor continue C(U) şi a0 un element arbitrar al mulţimii Ψn. Ne punem problema să determinăm cel mai apropiat punct al mulţimii Ψn de funcţia f. Acest punct, dacă există, trebuie să se găsească în mulţimea: 239
{a ∈ Ψ
n
}
a − f ≤ a0 − f
(8.102)
Conform cu [158], această mulţime este închisă şi mărginită, deci este compactă. Aplicând Teorema 8.4 rezultă că mulţimea Ψn este o mulţime de existenţă. În funcţie de norma definită pe spaţiul funcţiilor continue C(U), cea mai bună aproximantă, în ipoteza că există, poate fi unică sau nu. Pentru a studia unicitatea celei mai bune aproximante să definim noţiunea de convexitate strictă. Def. 8.13: Un spaţiu normat se numeşte strict convex, dacă: f = g =
1 2
(f
+ g) = 1 ⇒ f = g
(8.103)
Interpretarea geometrică a definiţiei de mai sus: un spaţiu este strict convex dacă sfera unitară nu conţine segmente de dreaptă pe suprafaţa sa. Propoziţia 8.4: Mulţimea Ψn este o mulţime Cebâşev dacă spaţiul normat al funcţiilor continue C(U) este strict convex. Demonstraţie: Am demonstrat mai înainte că mulţimea Ψn este o mulţime de existenţă. Pentru a dovedi că este o mulţime Cebâşev, adică unicitatea celei mai bune aproximante, trebuie să mai arătăm că mulţimea Ψn este şi o mulţime de unicitate. Vom demonstra acest lucru prin reducere la absurd. Să presupunem că există două funcţii f1 şi f2 aparţinând de Ψn ce reprezintă cea mai bună aproximantă către o funcţie g ∈ C(U). Să mai notăm cu λ distanţa de la g la mulţimea Ψn. Aplicând inegalitatea triunghiului, vom obţine: 1 2
( f1 + f 2 ) − g
≤
1 2
f1 − g +
1 2
f2 − g
Deoarece spaţiul Ψn este un spaţiu vectorial este evident că lui λ rezultă că:
1 2
( f1 + f 2 )
(8.104) 1 2
( f 1 + f 2 ) ∈Ψn iar din definiţia
≥ λ . De aici obţinem:
- dacă λ = 0, atunci f1 = f2 = g; - dacă λ ≠ 0, atunci putem scrie relaţia (8.104) sub forma: 1 ⎡ f1 − g f 2 − g ⎤ + =1 2 ⎢⎣ λ λ ⎥⎦
(8.105)
f1 − g f 2 − g , şi semi-suma lor vectorială au norma λ λ unitară, şi deoarece condiţia de strict convexitate este satisfăcută, rezultă că f1 = f2.
Acest lucru înseamnă că vectorii
Conform cu literatura de specialitate [166], spaţiul funcţiilor continue C(U) înzestrat cu norma Lp, 1 < p < ∞ este strict convex. Atunci, putem afirma că mulţimea reţelelor neuronale de regularizare posedă proprietatea BAP, având un unic element cu proprietatea BAP. 240
241
IX. Aplicaţiile teoriei regularizării la reţelele neuronale
În acest capitol ne propune să aplicăm elementele teoretice deduse în capitolul anterior în contextul calculului neuronal. Am văzut analogia dintre problema regularizării - care este de fapt o problemă de teoria aproximării - şi problema învăţării supervizate a unei reţele neuronale, care este o problemă fundamentală a calculului neuronal. Pe baza soluţiei problemei regularizării vom construi o reţea neuronală generală de tip PMS, cu un singur strat ascuns, pe care o vom numi Perceptron Multi Strat Regularizat - PMSR. Vom încerca să găsim soluţii viabile care să ţină seama de dimensionalitatea datelor de antrenament precum şi de distribuţia particulară a acestor date de antrenament. De asemenea, vom face un studiu practic, prin construcţia unor reţele neuronale efective, a căror performanţe vom încerca să le subliniem.
IX.1. Reţele neuronale de tip PMSR IX.1.1. Construcţia reţelei neuronale de tip PMSR În capitolul anterior, în VIII.2.3, am studiat problema regularizării ca o problemă de minimizare a unei funcţionale. Am văzut cu acest prilej că soluţia generală a acestei probleme poate fi exprimată sub forma (8.40): N
k
i =1
α =1
f ( x ) = ∑ w i G( x ; x i ) + ∑ d α ψ α ( x )
unde am notat cu {ψ α } α =1 o bază a spaţiului nul k-dimensional al termenului de regularizare k
Pf
2
wi =
,
(z
cu i
dα
− f (x i )) λ
o
mulţime
de
coeficienţi
reali,
coeficienţii
necunoscuţi
, i = 1,2, K ,N.
Am văzut de asemenea în VIII.2.3.5., că în funcţie de clasa stabilizatorului folosit putem avea spaţiul nul al termenului de regularizare vid sau nu. În ceea ce ne priveşte studiile noastre aplicative se vor baza pe clase de stabilizatori cu spaţiul nul vid, ceea ce înseamnă că fără a reduce generalitatea vom considera soluţia problemei regularizării de forma (8.38), adică: N
f ( x ) = ∑ w i G ( x; x i ) i =1
242
Pentru a implementa această soluţie a problemei regularizării sub forma unei reţele neuronale, să ne reamintim faptul că pentru a aproxima o funcţie continuă cu o precizie dorită este suficient să avem un PMS cu un singur strat ascuns (Cap. VII). Însăşi din forma soluţiei problemei regularizării se vede clar că tipul de reţea neuronală căreia îi corespunde este de tip PMS cu un singur strat ascuns. Deci, reţeaua neuronală care corespunde soluţiei problemei regularizării este un PMS de o arhitectură specială, reţea neuronală pe care o vom numi Perceptron MultiStrat Regularizat - PMSR, reprezentată în Fig. 9.1:
G(x-x1)
xi(1)
w1
(2)
xi
G(x-x2)
w2
( 3)
xi
+
wk (k )
xi
yi = f(xi)
G(x-xk)
wN
xi( n ) G(x-xN)
1
Figura9.1: Arhitectura reţelei neuronale PMSR.
Să analizăm reţeaua neuronală de mai sus: •
avem o arhitectură de reţea neuronală de tip PMS cu un singur strat ascuns: ♦ stratul de intrare conţine n neuroni de intrare, n fiind egal cu dimensionalitatea vectorului de intrare x i = x i(1) , x i( 2 ) ,K, x i( n ) . Termenul
(
)
Bias reprezentat în startul de intrare cu un cercule roşu poate sau nu să fie luat în considerare explicit sau implicit, conform consideraţiilor făcute în Cap. II.; ♦ stratul ascuns având un număr de neuroni egal cu dimensionalitatea mulţimii de antrenament T = ( x i , f ( x i )) i = 1,2,K, N . Funcţiile de
{
}
activare ale neuronilor din stratul ascuns sunt toate diferite. Al k -lea neuron are ca funcţie de activare funcţia Green centrată în punctul xk: G( x − x k ) ; ♦ stratul de ieşire constituit dintr-un singur neuron cu funcţie de activare liniară sau după cum vom vedea în continuare, o funcţie de activare ponderată a valorilor generate de neuronii din stratul ascuns. •
tăriile sinaptice:
243
♦ tăriile sinaptice dintre stratul de intrare şi stratul ascuns sunt incluse în forma funcţiilor de activare a neuronilor din stratul ascuns. Aceste tării sinaptice nu sunt explicitate direct; ♦ tăriile sinaptice dintre stratul ascuns şi stratul de ieşire sunt reprezentate de vectorul w = ( w1 , w 2 ,K, w N ) . Ţinând cont de modul de operare al unei reţele neuronale de tip PMS, vom obţine pentru reţeaua noastră PMSR, ca valoare de ieşire: N
f ( x ) = ∑ w i G ( x; x i )
(9.1)
i =1
adică tocmai aceeaşi funcţie care este soluţia problemei de regularizare. În situaţii speciale, după cum arătat în VIII.2.3.4., parametrii necunoscuţi w pot fi determinaţi pe baza unui calcul direct (8.48): w = (G + λI) z −1
În practică însă, o astfel de situaţie este aproape imposibilă, căci sunt foarte rare −1 cazurile când matricea ( G + λI) este inversabilă sau de dimensiuni care să poate permită un calcul real. De asemenea, nu trebuie să uităm influenţa numărului de date de antrenament N, care poate implică o complexitate computaţională ce nu poate fi rezolvată, problema noastră căpătând doar un caracter teoretic. Evident însă, scopul nostru nu este numai teoretic, ci obţinerea unor metode de aproximare-interpolare alternative bazate pe calculul neuronal.
IX.1.2. Reducerea dimensionalităţii reţelei neuronale PMSR Din soluţia problemei regularizării (9.1) obţinem o reţea neuronală cu N neuroni în stratul ascuns, N reprezentând dimensionalitatea mulţimii de antrenament. Din această cauză, complexitatea calcului necesar a optimiza parametrii reţelei neuronale PMSR pe baza procesului de învăţare supervizată poate fi prohibitiv. De aceea, trebuie ca pentru probleme caracterizate printr-o dimensionalitate mare N a mulţimii de antrenament să găsim o soluţie aplicabilă în practică, care să păstreze calitatea unei reţele neuronale de tip PMSR. Pentru a rezolva această problemă vom aborda două soluţii distincte, una bazată pe o strategie de învăţare supervizată şi una bazată pe o strategie mixtă: o etapă de învăţare nesupervizată, urmată de o etapă de învăţare supervizată.
IX.1.2.1. Soluţia clasică - învăţare supervizată Ideea reducerii dimensionalităţii reţelei neuronale PMSR are la bază o reducere a numărului centrelor de expansiune xi, care reprezintă de fapt datele de intrare corespunzătoare mulţimii de antrenament T. În variantă clasică, această reducere se face prin alegerea a K noi centre de expansiune tk,, k = 1, 2, …, K, unde K < N [24]. 244
Vom obţine astfel următoarea reţea neuronală de tip PMSR: K
F ( x ) = ∑ v i G ( x; t i )
(9.2)
i =1
unde coeficienţii {vi ∈ R i = 1,2, K, K }şi centrele de expansiune {t i ∈ R n i = 1,2,K , K }sunt necunoscuţi. Trebuie să subliniem că prin această metodă am introdus o mulţime nouă de necunoscute, şi anume, centrele de expansiune {t i ∈ R n i = 1,2,K , K }. De aceea, metoda clasică va fi eficientă doar în situaţia în care se obţine într-adevăr o reducere a dimensionalităţii calculului, ceea ce presupune satisfacerea condiţiei: K + nK 0 are loc inegalitatea g( x ) − f ( x ) < ε . Demonstraţie: Fie funcţia g : D ⊆ Rn → R, unde D este un domeniu compact. Dacă D este inclus strict în Rn, putem extinde domeniul de definiţie al funcţiei g, ataşând valoarea zero pentru toate punctele din Rn care nu aparţin domeniului D. Funcţia extinsă în acest fel la toată mulţimea Rn o vom nota tot g, fiind o funcţie continuă cu suportul13 mărginit. Să considerăm spaţiul K al funcţiilor test, conform definiţiei date în [75] de către Gelfand şi Şilov. Pe scurt, acest spaţiu K al funcţiilor test constă din mulţimea funcţiilor φ(x) ce au derivate continue de orice ordin şi cu suportul mărginit (ceea ce înseamnă că funcţia, precum şi toate derivatele sale se anulează în afara unui domeniu mărginit). Conform cu Anexa 1 a Capitolului I din lucrarea [75] menţionată mai sus, întotdeauna există o funcţie φ(x) ∈ K arbitrar de apropiată de funcţia dată g, adică astfel încât: g( x ) − φ ( x ) < ε , ∀x
∀ε > 0,
(9.74)
Pe baza inegalităţii de mai sus este suficient să arătăm că orice funcţie test φ(x) ∈ K poate fi aproximată oricât de bine de o compunere liniară de funcţii Green, care ar corespunde funcţiei f din Teorema pe care o demonstrăm. Vom porni de la următoarea identitate [158]: φ ( x ) = ∫ φ ( y)δ ( x − y)dy E
(9.75)
unde domeniul E de integrare este un domeniu mărginit pe care funcţia φ(x) nu se anulează. Folosind relaţia P ∗ PG(x; x i ) = δ (x − x i ) şi înlocuind-o în relaţia de mai sus (9.75), vom obţine:
(
)
φ ( x ) = ∫ φ ( y) PPG ( x; y)dy E
(9.76)
Deoarece avem φ(x) ∈ K iar PP este un operator auto-adjunct, avem din relaţia de mai sus:
(
)
φ ( x ) = ∫ G( x; y) PPφ ( y)dy E
(9.77)
Atunci, putem rescrie relaţia de mai sus astfel: φ ( x ) = ∫ G( x; y)ψ ( y)dy E
13
Se numeşte suport al funcţiei g, închiderea mulţimii
{x ∈ R g (x ) ≠ 0}. n
263
(9.78)
unde am efectuat notaţia ψ ( x ) = PPφ ( x ) . Deoarece funcţia G( x; y)ψ ( y) de sub semnul integralei din formula de mai sus este continuă pe porţiuni (picewise continuous) pe un domeniu închis, rezultă că integrala (9.78) există în sensul Riemann. Folosind atunci definiţia integralei Riemann, relaţia (9.78) poate fi rescrisă astfel: φ ( x ) = Δn ∑ ψ (x k )G(x; x k ) + E x ( Δ )
(9.79)
k ∈I
unde:
xk sunt puncte ce aparţin unei diviziuni Δ; I reprezintă mulţimea index pentru care φ ( x ) ≠ 0 ; Ex(Δ) este eroarea de discretizare, ce are proprietatea: lim E x ( Δ ) = 0 . Δ→0
Dacă vom face alegerea: f ( x ) = Δn ∑ ψ (x k )G(x; x k )
(9.80)
k ∈I
atunci combinând relaţiile (9.79) şi (9.80) vom obţine: lim[φ ( x ) − f ( x ) ] = 0 Δ→ 0
adică tocmai ceea ce trebuia să demonstrăm.
264
(9.81)
265
X. Studiul aplicativ a performanţelor calculului neuronal
În capitolul de faţă ne propunem să studiem practic capacitatea reţelelor neuronale de a aproxima funcţii continue pe anumite intervale mărginite. Reţeaua neuronală pe care o vom folosi se bazează pe elementele teoretice prezentate în capitolele anterioare. Pe baza acestor rezultate vom lua în considerare o reţea neuronală de tip PMSR, având o arhitectură cu 2 straturi: un strat de intrare, un singur strat ascuns şi un strat de ieşire. După cum am mai arătat, rolul stratului de intrare este echivalent cu cel al unui buffer, care nu face altceva decât să primească datele de intrare şi să le propage mai departe spre stratul ascuns. Avem o mulţime de funcţii continue pe intervalul [0,1]. Pe acest interval vom lua în considerare o mulţime de antrenament cu N puncte: T=
{(x , z) i
}
x i ∈R n , z ∈R , i = 1,2, K, N
(10.1)
Mulţimea de puncte de antrenament poate fi obţinută prin trei metode: • • •
distribuţie aleatoare; distribuţie uniformă; obţinute pe baza algoritmilor de învăţare activa AIA (Cap V.3).
De asemenea, vom face studiul comparativ al reţelei neuronale ca şi metodă de aproximare-interpolare în raport cu metodele clasice de aproximare-interpolare.
X.1. Modul practic de construcţie a reţelei neuronale Cele N puncte de antrenament ale reţelei neuronale vor fi centrele sau nodurile pentru metodele clasice de aproximare-interpolare. Să revenim la arhitectura reţelei şi să precizăm toate elementele constituente: • Stratul de intrare are n neuroni, unde n reprezintă dimensionalitatea spaţiului datelor de antrenament, x ∈ Rn; vom studia doar cazurile n = 1 şi n = 2 din considerente de reprezentare grafică a rezultatelor. Funcţia de activare a neuronilor din stratul ascuns este funcţia identică, acest strat având doar un rol de buffer pentru datele de intrare ce se prezintă reţelei neuronale. • Stratul ascuns are K neuroni care vor fi obţinuţi pe baza algoritmului original de clustering prezentat în Cap. IX; în anumite situaţii vom lua în considerare şi cazul limită K = N, adică cazul ideal, când numărul neuronilor din stratul ascuns coincide cu numărul datelor de antrenament. Funcţiile de activare a neuronilor din startul ascuns sunt funcţii de tip RBF G( x − x i ) .
266
• Stratul de ieşire are un singur neuron, ceea ce a fost justificat teoretic în capitolele anterioare. Funcţia de activare a neuronului din stratul ascuns este o funcţie liniară. În situaţii speciale, când mulţimea datelor de antrenament este grupată în clustere care nu sunt disjuncte, vom lua în considerare o funcţie de activare specială a neuronului din stratul de ieşire bazat pe o formulă de ponderare a valorilor de ieşire generate de neuronii din stratul ascuns. Formula este [28]: K
y=
∑ w G( x − x ) i =1 K
i
i
(10.2)
∑ G( x − x i ) i =1
Vom obţine următoarea arhitectură particulară de reţea neuronală de tip PMSR: G1 w1 x1
Gi
wi
x2
y
wK GK
Figura 10.1.: Arhitectura reţelei neuronale de tip PMSR folosită pentru experimentele aplicative din acest capitol.
Funcţiile de activare sunt funcţii de tip RBF Gaussian, având formula: G( x − t i ) = e
−
( x −ti )2 σ i2
, i = 1,2, K, K
(10.3)
Punctele ti ∈ Rn, reprezintă centrele clusterelor obţinute prin algoritmul nesupervizat original de tip K-Means explicat detaliat in Cap VIII. În cazul limită când N = K, avem ti = xi, i = 1,2,…, N. Modul practic de construcţie a reţelei neuronale poate fi exprimat prin următorul algoritm [51], [60]: Pasul 1. Se dau: precizia de învăţare dorită ε (sau numărul de epoci P - de câte ori se prezintă mulţimea de antrenament reţelei neuronale). Se construieşte mulţimea punctelor de antrenament
{
}
T = (x i , z ) x i ∈ R n , z ∈ R , i = 1,2, K , N 267
Construcţia mulţimii de antrenament se poate face astfel: •
este fixată de însăşi natura problemei, antrenorul nu are nici un grad de libertate în construcţia ei. • antrenorul are libertatea de a alege mulţimea de antrenament. În această situaţie avem următoarele variante de alegere a mulţimii de antrenament: pe baza unei distribuţii aleatoare; pe baza unei distribuţii uniforme; pe baza algoritmilor de învăţare activa AIA (Cap V.3) Pasul 2. Se aplică asupra punctelor xi din mulţimea de antrenament T algoritmul de clustering, în urma căruia vom determina punctele ti, i = 1,2,…, K care reprezintă centrele clusterelor precum şi constanta K care reprezintă numărul de clustere (numărul neuronilor din stratul ascuns). De asemenea, se determină diametrul fiecărui cluster σi ∈ R, i = 1,2,…, N. Această etapă poate fi eliminată dacă se consideră cazul limită când N = K, atunci ti = xi, i = 1,2,…, N, fiecare punct xi reprezentând un cluster. În acest caz σi = 1. Pasul 3. Se construiesc funcţiile de activare ale neuronilor din stratul ascuns: G( x − t i ) = e
−
( x −ti )2 σ i2
, i = 1,2, K, K
Pasul 4. Se aplică algoritmul de învăţare supervizat de tip gradient descendent pentru a determina tăriile sinaptice wi, i = 1,2,…,K. Pasul 4.1. i : = 1; (epoca 1). Pasul 4.2. Până când E < ε (sau până când i