Sunteți pe pagina 1din 208

INTELIGENŢĂ

ARTIFICIALĂ

Universitatea Valahia din Targoviste


Anul universitar 2019-2020

Otilia Elena DRAGOMIR

Inteligenta artificiala- Otilia Dragomir 1


Conţinut curs
 Introducere in IA
 Logica fuzzy
 Aplicatii ale logicii fuzzy
 Retele neuronale
 Aplicatii ale retelelor neuronale
Examen partial - 2 h
 Sisteme hibride. Neuro- fuzzy
 Sisteme expert
 Agenti inteligenti
 Algoritmi genetici
 Aplicatii ale inteligentei artificiale in automatica
Examen final - 2h
Inteligenta artificiala- Otilia Dragomir 2
Continut laborator

 Logica fuzzy. Prezentarea Fuzzy Logic Toolbox


 Aplicatii ale logicii fuzzy in conducerea
proceselor
 Retele neuronale. Prezentarea Neural Network
Toolbox
 Aplicatii ale retelelor neuronale in automatica
 Aplicatii ale sistemelor neuro- fuzzy
 Aplicatii ale tehnicilor inteligentei artificiale in
automatica
Colocviu de laborator & sustinere proiect
Inteligenta artificiala- Otilia Dragomir 3
Materiale curs & laborator

 Curs
 Material curs

 Laborator
 “Proiectarea asistata de calculator in Matlab si Simulink. Conducerea
avansata a proceselor”- C. Soare, S. Iliescu, V. Tudor, I. Fagarasanu,
O. Dragomir, F. Dragomir (2006), Editura Agir
 Matlab 7.0 User’s Guide”, The MathWorks, Inc., (2007)
 Fuzzy Logic Toolbox User's Guide, The MathWorks, Inc., (2007)
 Neural Network Toolbox User's Guide, The MathWorks, Inc., (2007)

Inteligenta artificiala- Otilia Dragomir 4


Cerinte
 Prezenta la laborator: minimum 4 sedinte de laborator
 Prezentarea proiectului
 Parcurgerea materialelor de curs si laborator
 Examen partial
 Examen final

Notare
 Examen partial: 20%
 Examen final: 50%
 Laborator (inclusiv proiect): 30%

Inteligenta artificiala- Otilia Dragomir 5


CURS NR. 1

Inteligenta artificiala- Otilia Dragomir 6


CURS NR. 1

 Inteligenta si inteligenta artificiala


 Scurt istoric
 Domeniile inteligentei artificiale

Inteligenta artificiala- Otilia Dragomir 7


1.1. Inteligenta si inteligenta artificiala

Inteligenta artificiala- Otilia Dragomir 8


Inteligenta in practica

Inteligenta artificiala- Otilia Dragomir 9


Inteligenta in practica

Inteligenta artificiala- Otilia Dragomir 10


Inteligenta in practica

Inteligenta artificiala- Otilia Dragomir 11


Inteligenta artificiala

Inteligenta artificiala
Inteligenta artificiala- Otilia Dragomir 12
Ce este inteligenta artificiala?

 Inteligenta artificiala este studiul facultatilor mentale pe baza modelelor


computationale.

 Inteligenta artificiala este studiul ideilor care permit calculatoarelor sa fie inteligente.

 IA se ocupa de studiul si crearea sistemelor de calcul si a programelor care prezinta o


forma de inteligenta:
 sisteme care invata noi concepte, care pot rationa si deduce concepte utile intr-un domeniu
al lumii inconjuratoare,
 sisteme care pot intelege limbajul natural sau percepe si intelege o imagine,
 sisteme care necesita capacitati inteligente specifice omului.

 Un program inteligent este un program care manifesta o comportare similara cu aceea


a omului cand este confruntat cu o problema similara. Nu este necesar ca programul
sa rezolve sau sa incerce sa rezolve problema in acelasi mod in care ar rezolva-o
oamenii.

 Inteligenta artificiala este studiul procesului prin care calculatoarele pot fi instruite sa
faca lucruri care, pentru moment, sunt facute mai bine de oameni.
Inteligenta artificiala- Otilia Dragomir 13
1.2. Scurt istoric-inceputurile

 1943- simulari neuronale (McCulloch, Pitts)


 1949- invatarea neuronala (Hebb)
 1950, 1953- jocuri de sah (Shannon, Turing)
 1951- SNARC, primul calculator neuronal (Minsky, Edmonds)

 Un arbitru (om) se angajeaza intr-o


conversatie in limbaj natural cu alti doi
participanti la experiment, unul om si altul
masina
 Daca arbitrul nu poate spune cu siguranta
cine este omul si cine este masina, acesta se
spune ca a trecut testul

Inteligenta artificiala- Otilia Dragomir 14


Nasterea IA

 1956- Conferinta de la Dartmouth College - primii patru mari initiatori


ai IA: John McCarthy, Marvin Minsky, Alen Newell si Herbert Simon.
 A. Newell, J. Shaw si H. Simon - primul program de demonstrare
automata a teoremelor- "The Logic Theorist".

 Entuziasmul timpuriu
 1957- General Problem Solver
 1958- Lisp, Advice Taker (McCarthy)
 1959- Geometry Teorem Prover
 Program de dame care invata din jocuri
 Program pentru analiza matematica
 "Microwords"

Inteligenta artificiala- Otilia Dragomir 15


Sisteme bazate pe cunostinte

 Dendral- primul sistem expert (1965)


 Spectrometrie

Inteligenta artificiala- Otilia Dragomir 16


Alte realizari

 1965- Logica fuzzy (Zadeh)


 1970- Prolog
 1970- Sistemul expert MYCIN (infectii sanguine, explicatii, factori de
incredere)
 EMYCIN, "shell" de sisteme expert
 1973- algoritmii genetici (Holland)
 1980- Prospector, detectarea depozitelor minerale

Inteligenta artificiala- Otilia Dragomir 17


IA devine o industrie

1978- XCON, sistem expert comercial


pentru configurarea calculatoarelor VAX

NetTalk- Retea neuronala care invata


sa citeasca texte in engleza

Inteligenta artificiala- Otilia Dragomir 18


Realizari moderne

 1984- Proiectul Cyc (Lenat), colectie de cunostinte de "bun simt"


 1985- Retele bayesiene (Pearl), rationament probabilistic
 1986- Impunerea algoritmului back- propagation (Rumelhart, McClelland),
descoperit in 1969 (Bryson, Ho)
 1987- SOAR (Newell, Liard, Rosenbloom)
 1988- Societatea mintii (Minsky)
 1991- In timpul razboiului din Golf, planificarea trupelor ce implicau 50000
de vehicule militare, transportoare si trupe, a fost realizata cu ajutorul unui
sistem de IA, DART
 1995- TD-Gammon (Tesauro), joc de table
 1995- A.L.I.C.E., "chatterbot"
 1996- Conjectura lui Robbins din logica booleana a fost demonstrata cu
ajutorul unui demonstrator automat de teoreme
 1996- HipNav, roboti asistenti pentru
Inteligenta chirurgi
artificiala- Otilia Dragomir 19
Realizari moderne

 2002- Kramchik si Deep Fritz fac remiza


 2007- Urban Challenge, masini fara sofer, cu 2 mil. dolari
 2008- Gordon, robot controlat de neuroni
 Sisteme de support al deciziilor care ajuta la alegerea produsului
potrivit
www.activebuyersguide.com
 Jocuri video si desene animate automat
 Sisteme comerciale pentru sumarizarea textelor
www.copernic.com
 Traduceri online
www.google.com/languages_tools
Se estimeaza ca in 2010 calculatoarele vor atinge puterea de
prelucrare si complexitatea mintii umane!!!!!!!!!!!!!!!
Inteligenta artificiala- Otilia Dragomir 20
1.3. Domeniile IA

 Reprezentarea cunostintelor
 Rationament de “bun simt”
 Jocuri
 Matematica, calcul simbolic
 Demonstrarea automata a teoremelor
 Achizitia cunostintelor si invatare
 Perceptie: vedere artificiala, recunosterea vorbirii
 Intelegerea limbajului natural
 Sinteza automata a vorbirii
 Expertiza: inginerie, medicina, analiza financiara, sisteme suport a decizie,
predictie, etc.

Inteligenta artificiala- Otilia Dragomir 21


Aplicatiile IA

Inteligenta artificiala- Otilia Dragomir 22


Subdomeniile IA

Inteligenta artificiala- Otilia Dragomir 23


Subdomeniile IA

Inteligenta artificiala- Otilia Dragomir 24


Concluzii
 Inteligenta este o colectie de strategii folosite pentru a optimiza
interactiunea cu mediul
 In IA exista abordari bazate pe gandire, comportament, modelarea mintii
umane sau rationalitate
 S-au facut progrese esentiale in:
 Recunoasterea modelelor de invatare
 Unele probleme de planificare si rationament
 Aplicatiile IA:
 Industrie, finante, medicina, stiinte si desene animate automat

Cercetarile in IA au in vedere solutionarea problemelor


nerezolvate!!!!!!!!!!!!!!!

Inteligenta artificiala- Otilia Dragomir 25


INTELIGENŢĂ
ARTIFICIALĂ

Universitatea Valahia din Targoviste


Anul universitar 2019-2020

Otilia Elena DRAGOMIR

Inteligenta artificiala- Otilia Dragomir


CURS NR. 2

Inteligenta artificiala- Otilia Dragomir


CURS NR. 2
 Logica clasica vs. logica fuzzy
 Multimi fuzzy
 Functii de apartenenta
 Operatii cu multimi
 Tratarea informatiei fuzzy: fuzzyficare, inferenta,
defuzzyficare
 Studiu de caz: sistem expert fuzzy
 Concluzii
Inteligenta artificiala- Otilia Dragomir
2.1. Logica clasica vs. logica fuzzy

 Legea tertului exclus a lui Aristotel facea imposibila o alta varianta.


 In viata de zi cu zi ne confruntam totusi cu foarte multe situatii in care o
astfel de abordare este nerealista
 Viata de zi cu zi: "cerul este albastru“; Uneori cerul este într-adevar albastru,
când afara este senin. Dar daca sunt nori? Dar noaptea? Este clar ca o maniera
stricta de evaluare a valorii de adevar a propozitiilor nu coincide cu modul mult
mai flexibil in care gandesc oamenii.
 Oamenii gandesc mai flexibil, in conditii de incompletitudine

Filosoful cretan spune ca toti cretanii mint


Frizerul satului ii tunde pe toti cei care nu
se tund singuri

In logica clasica acestea


sunt paradoxuri ?

? ? ? ?
Inteligenta artificiala- Otilia Dragomir
? ??
2.1. Logica clasica vs. logica fuzzy

 Logica clasica considera valoarea de adevar a propozitiilor în termeni de


adevarat sau fals.
 TEORIA PROBABILITATILOR
 Jan Lukasiewicz (1939): descrie logica trivalenta si mecanismul matematic de
aplicare al ei, bazat pe tripleta {0, 1, 2}. Un numar din acest interval era
interpretat drept posibilitatea ca propozitia considerata sa fie adevarata sau
falsa.
 TEORIA POSIBILITATILOR
 De ex. posibilitatea ca un om de 1.80 cm sa fie foarte inalt este de 0.86
 Lotfi Zadeh (1965): pune bazele unui sistem formal de logica matematica prin
includerea termenilor din limbajul natural.
 De ex., daca avem în vedere multimea oamenilor tineri. Un copil de 10 ani e
cu siguranta tânar, în timp ce o persoana de 60 de ani cu siguranta nu. Dar
un om de 30 de ani? Sau de 40? In acest caz, putem afirma ca persoana
de 30 de ani apartine multimii oamenilor tineri intr-o masura mai mare decat
cea de 40.
 Inteligenta artificiala- Otilia Dragomir
LOGICA FUZZY
2.1. Logica clasica vs. logica fuzzy

 Teoria multimilor fuzzy (Lotfi Zadeh, 1965)


 Aceast instrument de reprezentare si manipulare a termenilor nuantati se numeste
logica fuzzy. Logica fuzzy permite o interpretare mai flexibila a notiunii de
apartenenta. Astfel, mai multe obiecte pot apartine unei multimi în grade diferite.
 Permite lucrul cu termenii nuantati ai limbajului natural si cuantifica gradul de
adevar al unei afirmatii printr-o valoare de adevar intre 0 si 1.
 De exemplu: M- multimea oamenilor bogati
 Mihai este miliardar - apartine lui M 90%
 Iulian este milionar - apartine lui M 70%
 Teoria multimilor fuzzy a avut initial urmatoarele scopuri:
 modelarea incertitudinilor
 generalizare
 simplificare
 procesarea cunoasterii.
Inteligenta artificiala- Otilia Dragomir
2.1. Logica clasica vs. logica fuzzy

 Exemplu

Inteligenta artificiala- Otilia Dragomir


2.1. Logica clasica vs. logica fuzzy

 Scurt istoric (Chindris, 2002):


 1965- 1970- perioada studiilor teoretice

 1970- 1980- primele aplicatii in domeniul controlului proceselor


 1972- constituirea organizatiei Japan Fuzzy Systems Research Foundation
 1974- realizarea unui regulator fuzzy pentru masina cu aburi de catre
Mamdami
 1978- controlul unei fabrici de ciment in Danemarca
 1983- controlul injectiei chimice la o masina de epurare a apei
 1993- in cadrul Neural network society a Institute of Electrical and
Electronics Engineering (IEEE) a fost publicat primul numar al revistei
Transactions on Fuzzy Systems

Inteligenta artificiala- Otilia Dragomir


2.2. Multimi fuzzy

Elemente de teoria multimilor fuzzy


 Multimile clasice sunt numite tari - crips
 Multimile fuzzy permit reprezentarea conceptelor limbajului natural care au o
definitie imprecisa, prin intermediul functiei de apartenenta. Multimea fuzzy, spre
deosebire de multimile clasice, nu are granite bine delimitate, elementele sale
apartinand multimii doar intr-o anumita masura.
 O propozitie fuzzy contine cuvinte, care sunt folosite ca identificatori pentru
multimea fuzzy.
 Valoarea de adevar fuzzy poate fi exprimata la rândul ei tot printr-o multime fuzzy,
care se numeste calificativ fuzzy.
Pentru a reprezenta o mulţime fuzzy, trebuie să-i definim mai întai funcţia de
apartenenţă. Astfel, mulţime fuzzy A este complet definită prin:

 A (x) apartenenta elementului x la multimea valorilor posibile A


A  x,  A ( x) / x  X  sau

A  1 / x1 ,...,n / xn Inteligenta


reprezentarea simbolica a unei multimi fuzzy
artificiala- Otilia Dragomir
2.3. Functii de apartenenta

Functii de apartenenta
 Functiile de aparteneta reprezinta masura in care un obiect poseda o anumita
proprietate.
 A (x) apartenenta elementului x la multimea valorilor posibile A
 A ( x) : X  0 1

Caracteristicile functiilor de apartenenta


 Fie A o submulţime fuzzy a universului de discurs X. Se numeşte suportul lui A
submultimea lui X ale cărei elemente au grade de apartenenţă nenule în A
sup( A)  x  X /  A ( x)  0 

 Daca suportul este un interval (in cazul multimilor fuzzy convexe) se defineste si
notiunea de latime a multimii A:
lat  A  sup S  A  inf S  A
 Inaltimea lui A se defineste drept cea mai mare valoare a functiei de apartenenta
O submulţime fuzzy A a lui X este normală dacă. h(A) = l altfel A este subnormală.
h( A)  sup (  A ( x))
x X

 Se numeste nucleul lui A, submultimea lui X ale carei elemente au grade de


Inteligenta artificiala- Otilia Dragomir
apartenenta unitare in A.
n( A)  x  X /  A ( x)  1 
2.3. Functii de apartenenta

Functii de apartenenta
Caracteristicile functiilor de apartenenta
 Vecinatatea, notata V, este definita in cazul unei multimi fuzzy ca o multime compacta
de elemente x pe universul X pentru care gradul de apartenenta este nenul si subunitar.

V ( A)  x  X / 0   A ( x)  1 
 Taietura de nivel α a multimii fuzzy A reprezinta multimea elementelor x din universal
de discurs X ale caror grade de apartenenta sunt cel putin egale cu valoarea ce
defineste taietura. 1
trapmf gbellmf trimf gaussmf gauss2mf smf

A  x  X /  A ( x)    .8

 Punctele de incrucisare se definesc in raport


.6
.4
cu doua multimi fuzzy care partajeaza un .2
domeniu comun din universul discursului. Astfel 0

punctul de incrucisare
 A ( x* )   B ( x* )a doua multimi fuzzy A si
B reprezinta acel punct din universal X pentru zmf psigmf dsigmf pimf sigmf
1
care
.8
.6
.4
Inteligenta artificiala- Otilia Dragomir
.2
0
2.4. Operatii cu multimi

Tipuri de functii de apartenenta


 Multimea fuzzy vida notata cu  este definita printr-o functie de apartenenta .  (x)  0, x  X 0

 Fie A şi B submulţimi fuzzy ale lui X. A şi B sunt egale dacă A  B   (x)   (x), x  X A B

 Fie A şi B submulţimi fuzzy ale lui X. A şi B sunt incluse daca:  (x)   (x), x  X A B

Negarea  x  1  x


A' A

Reuniunea A  B = { x / x,  x  max  x,  x 


A B A B A B

Intersectia A  B  x /  x ,  x  min  x,  x


A B A B A B Multimile fuzzy A si B
1

Diferenta A  B = { x / x,  x  min  x,1   x 


A B A B A B
A
B

Produsul A * B = { x / x unde  x   x*  x 


A*B A*B A B 0.5

0
0 1 2 3 4 5 6 7 8 9 10

Rezultatul reuniunii
1

0.5
Inteligenta artificiala- Otilia Dragomir

0
0 1 2 3 4 5 6 7 8 9 10
2.5. Tratarea informatiei fuzzy

Calculul fuzzy se caracterizează prin faptul că permite manipularea conceptelor vagi


care nu pot fi modelate matematic exact (numere, mulţimi sau funcţii clasice)
Un program fuzzy logic conţine două componente principale: variabile fuzzy şi reguli
fuzzy.
 Variabilele fuzzy reprezintă un domeniu de valori numerice, care poate fi divizat în
câteva subdomenii prin definirea unor calificative (cunatificatori) ai variabilei fuzzy.
Aceste calificative constau din identificatori literali (nume), cunoscuţi sub denumirea
de calificative lingvistice, şi o funcţie de apartenenţă, care arată gradul de
apartenenţă al fiecărei valori posibile a variabilei fuzzy la setul fuzzy.
O regulă fuzzy este o regulă care apelează, în partea sa if, unul sau mai multe
calificative ale variabilei fuzzy şi un singur calificativ al variabilei fuzzy în partea sa de
concluzii (then). Regulile sunt aplicate variabilelor fuzzy printr- un procedeu denumit
propagare. Regulile fuzzy pot forma o matrice fuzzy, cunoscută şi ca memorie
asociativă fuzzy.

Tratarea informatiei fuzzy se face in mai multe etape: fuzzyficare, inferenta


(evaluarea regulilor si agregarea iesirilor) si defuzzyficare.
Inteligenta artificiala- Otilia Dragomir
2.5.1. Fuzzyficarea

Fuzzyficarea este o operaţie prin care se aleg mărimile de intrare şi de ieşire după care
se definesc mulţimile fuzzy care permit descrierea acestora prin variabile lingvistice (ex.:
mare, mai mic, etc.).
 scopul fuzzyficării este să permită construirea unei baze de reguli înglobând
cunoştinţele noastre referitoare atât la procesul condus cât şi la metodele de
conducere pe care vrem să le aplicăm.
 datele de intrare sunt supuse unei prelucrări preliminare în scopul eficientizării
procesului

Inteligenta artificiala- Otilia Dragomir


Pas 1: Fuzzyficarea

Fuzzyficarea pentru intrarile stricte x1 si y1 (project funding si project staffing) determina


gradele de apartenenta in multimile corespunzatoare

Inteligenta artificiala- Otilia Dragomir


Pas 2: Evaluarea regulilor
Intrarile fuzzyficate se aplica antecedentilor regulilor
Daca o regula are antecedenti (premise) multipli, se aplica operatorii fuzzy de intersectie
sau reuniune
Exista doua tipuri de inferenta (evaluare): Mamdami si Sugeno

Inferentele de tip Mamdami sau Larsen presupun la defuzzyficare integrarea functiilor de


apartenena, ceea ce nu este foarte eficient din punct de vedere computational
Inferenta Sugeno este de forma: DACA x este A SI y este B ATUNCI z este f(x,y) unde f
este o functie matematica

Cel mai utilizat model de inferenta Sugeno este cel de ordin zero, in care iesirea fiecarei
reguli fuzzy este o constanta
 DACA x este A SI y este B ATUNCI
Inteligenta artificiala- Otilia Dragomir
z este k
Evaluare de tip Mamdami

Inteligenta artificiala- Otilia Dragomir


Evaluare de tip Sugeeno
Pas 3: Agregarea iesirilor
Agregarea presupune reuniunea iesirilor tuturor regulilor, rezultand cate o multime fuzzy
pentru fiecare variabila de iesire

Inferenta
Mamdami

Inferenta
Sugeno

Inteligenta artificiala- Otilia Dragomir


Pas 4: Defuzzyficarea
Multimile fuzzy agregate sunt transformate in valori stricte dupa o metoda de
defuzzyficare (ex. metoda centrului de greutate)

Inferenta
Mamdami

Inferenta
Sugeno

Inteligenta artificiala- Otilia Dragomir


2.5. Tratarea informatiei fuzzy
?

? ? MAMDAMI SAU SUGENO ????

Metoda Mamdami de inferenta este utilizata pe scara larga pentru reprezentarea


cunostintelor expert. Aceasta permite descrierea mai intuitiva a cunostintelor. Are insa
dezavantajul unui efort de calcul mare.

Metoda Sugeno de inferenta este eficienta computational si are rezultate bune in


probleme de optimizare si tehnici adaptive. Este mai potrivita pentru problemele de
control, in special pentru sisteme neliniare dinamice.

Inteligenta artificiala- Otilia Dragomir


2.6. Studiu de caz: sistem expert fuzzy
STUDIU DE CAZ

Un centru de service pastreaza componente de schimb si repara componente defecte;


Clientii aduc o componenta defecta si primesc o piesa de schimb de acelasi tip;
Componentele defecte sunt reparate si repuse in circuit;
Obiectivul este de a ajuta managerul in luarea deciziilor astfel incat clientii sa fie
multumiti.

ETAPELE DEZVOLTARII SISTEMULUI EXPERT FUZZY

1. Specificarea problemei si definirea variabilelor lingvistice


2. Determinarea multimilor fuzzy
3. Construirea regulilor fuzzy
4. Codarea multimilor, regulilor si procedurilor de inferenta
5. Evaluarea si rafinarea sistemului

Inteligenta artificiala- Otilia Dragomir


2.6.1. Specificarea problemei si definirea variabilelor
lingvistice
Exista 4 variabile lingvistice:
 in1: Timpul mediu de asteptare (intarzierea medie) m
 in2: Factorul de utilizare al reparatiilor fi

 in3: Numarul de angajati s

 out1: Numarul initial de piese de


schimb n

Inteligenta artificiala- Otilia Dragomir


2.6.2. Determinarea multimilor fuzzy

De obicei se utilizeaza numere fuzzy triunghiulare sau trapezoidale pentru cunostintele
expert, deoarece se simplifica procesul de calcul

Inteligenta artificiala- Otilia Dragomir


2.6.2. Determinarea multimilor fuzzy

Inteligenta artificiala- Otilia Dragomir


2.6.3. Construirea regulilor

Expertul trebuie sa furnizeze cunostintele privind regulile


"Expertul" poate fi orice sursa de cunoastere; carti, baze de date, scheme logice,
comportamente umane observate etc.

Inteligenta artificiala- Otilia Dragomir


Inteligenta artificiala- Otilia Dragomir
2.6.4. Implementarea sistemului

Inteligenta artificiala- Otilia Dragomir


2.6.5. Evaluare si rafinare

Este cea mai laborioasa faza


Reprezinta validarea sistemului in raport cu cerintele specificate
Unele instrumente pot genera suprafete de decizie care ajuta la analizarea
performantelor sistemului

Daca performantele nu sunt satisfacatoare, se pot include in model multimi suplimentare


De ex. Rather Small si Rather Large pe universul de discurs al numarului de
angajatiReprezinta validarea sistemului in raport cu cerintele specificate
Se extinde astfel si baza de reguli

Inteligenta artificiala- Otilia Dragomir


2.6.5. Evaluare si rafinare

Inteligenta artificiala- Otilia Dragomir


2.6.5. Evaluare si rafinare

Se analizeaza variabilele de intrare si iesire si daca este nevoie se redefinesc domeniile
de definitie
Se analizeaza multimile fuzzy si daca este nevoie se adauga multimi suplimentare pe
universul de discurs. Multimile "mari" conduc la un comportament nuantat al sistemului
Trebuie sa existe o suprapunere suficienta in multimile vecine. Se recomanda o
suprapunere de 25%- 50% din baze (pentru numerele triunghiulare si trapezoidale)

Se analizeaza regulile existente si daca este nevoie se aduga reguli in baza de reguli
Se examineaza baza de reguli in vederea aplicarii de restrictori pentru anumite cazuri
Se pot modifica formele unor multimi. De obicei, sistemele fuzzy sunt tolerante la
aproximarile de forma.

Inteligenta artificiala- Otilia Dragomir


Concluzii
Teoria multimilor fuzzy este cea mai generala teorie a incompletitudinii formulata pana in
prezent.
Logica fuzzy ofera posibilitatea de a reprezenta si rationa cu cunostinte comune, formulate in
mod obisnut si de aceea si-a gasit aplicabilitatea in numeroase domenii.
Dificultatile apar la determinarea functiilor de aparteneta si la reglarea parametrilor.
Transpunerea in practica sistemelor fuzzy se datoreaza avantajelor ce le prezinta in
urmatoarele situatii specifice:
• permit modelarea sistemelor neliniare, complexe sau imprecis cunoscute,
• permit transpunerea experientei umane in constituirea regulilor de inferenta utilizand
variabile lingvistice,
• au un comportament foarte bun in prezenta incertitudinii, impreciziei si a zgomotului.
Cat de bine lucreaza sistemele ce integreaza logica fuzzy o demonstreaza larga rapandire
a acestora in ultimii ani in lumea intreaga: controlul automat (reglarea de temperatura,
comanda vitezei motorului, autofocalizarea camerelor video), recunoasterea formelor
(algoritmi de clasificare fuzzy),masurari (prelucrarea informatilor furnizate de senzori), medicina
(controlul simulatoarelor cardiace), economie (metode de decizie fuzzy),psihologie cognitiva
(modelarea fuzzy a sistemului de vedere.
Inteligenta artificiala- Otilia Dragomir
INTELIGENŢĂ
ARTIFICIALĂ

Universitatea Valahia din Targoviste


Anul universitar 2019-2020

Otilia Elena DRAGOMIR


CURS NR. 4
CURS NR. 4
Retele neuronale
 Retele neuronale- generalitati
 Modelarea neuronului artificial
 Retele neuronale- arhitecturi
 Retele neuronale- invatarea
 Retele neuronale- generalizarea
 Retele neuronale- “overparametrisation”
4.1. Retele neuronale- generalitati

De ce RN?

Imprecise,
false
RETELE
NEURONALE

FUZZY
Date

MODELE
MATEMATICE
Exacte
CONVENTIONALE

Imposibil de descris
Usor de descris Proces
4.1. Retele neuronale- generalitati

Reţeua neuronală TERMENI


• Din punct de vedere structural o reţea neuronală • Reţeua neuronală
artificiala (RN , RNA, ANN- Artificial Neural Network)
este un ansamblu interconectat complex de elemente • Arhitectura
• Funcţionarea
de prelucrare a informatiei, numite neuroni artificiali
(NA), fiecare fiind caracterizată de o funcţionare
simplă
• Adaptarea (învăţarea)
• Un sistem ce primeşte date de intrare (corespunzătoare
datelor iniţiale ale unei probleme) şi produce date de
ieşire (ce pot fi interpretate ca răspunsuri ale problemei
analizate)
• RN se doreste a fi un model tehnic, deci artificial, al
sistemului nervos uman
• Unităţile funcţionale al RN, prezenţa conexiunilor,
parametrii adaptivi precum şi modul de funcţionare sunt
inspirate de creierul uman
• RN au capacitatea de a se adapta la mediul
informational, corespunzător unei probleme concrete,
printr-un proces de învăţare.
4.1. Retele neuronale- generalitati

Arhitectura TERMENI
• specifică modul în care sunt amplasate şi • Reţeua neuronală
interconectate unităţile funcţionale intr-o RN
• arhitectura determină şi fluxul informaţional în • Arhitectura
• Funcţionarea
cadrul reţelei

• Adaptarea (învăţarea)
4.1. Retele neuronale- generalitati

Funcţionarea TERMENI

• specifică modul în care, fiecare unitate în parte şi • Reţeua neuronală


reţeaua în ansamblul ei, transformă semnalele de
intrare în semnale de ieşire
• Arhitectura
• funcţionarea este influenţată de arhitectură, în special
• Funcţionarea
de modul de interconectare a unităţilor • Adaptarea (învăţarea)
4.1. Retele neuronale- generalitati

Adaptarea (învăţarea) TERMENI

• specifică modul de stabilire a parametrilor ajustabili-


• Reţeua neuronală
ponderile (w) astfel încât reţeaua să poată rezolva • Arhitectura
anumite probleme
• in funcţie de natura informaţiei de care se dispune,
• Funcţionarea
învăţarea poate fi supervizată sau nesupervizată. • Adaptarea (învăţarea)
4.1. Retele neuronale- generalitati
Scurt istoric
 1940: McCullock & Pitt: modelul neuronului artificial - au incercat explicare modului de
functionare a celulei nervoase printr-un automat cu prag numit neuron artificial
 1949: Hebb: model matematic al invatarii - punctul de plecare in construirea RN
capabile sa invete
 1950: Rosenblatt: perceptronul - model probabilistic pentru memorarea si organizarea
informatiei in creier
 1960: Widrow-Hoff: ADALINE (Adaptive Linear Neuron)- model de RN utilizat astazi in
recunoasterea formelor
 1969: Minsky & Papert: imposibilitatea rezolvarii problemei XOR- analiza limitelor/
posibilitatilor RN cu un singur strat (perceptronul)
 1970-1980: anii de umbra
 1983: Hopfield: modelul lui Hopfield- rezolva problema optimizarii
 1983: Masina lui Boltzmann- primul model capabil sa rezolve pr. identificate in
cazul perceprtonului. Convergenta sa este foare lenta si timpul de calcul este lung
 1985: grup de cercetare- algoritmul backpropagation algoritm de invatare
adaptat perceptronului multistrat
 1989: Moody et Darken: functii de baza radiala (RBF) - acest tip de retea
neuronala se distinge prin reprezentarea sa locala
4.1. Retele neuronale- generalitati

Aplicatii al RNA
Recunoasterea formelor
Vedere artificiala
Traducere automata a textelor
Controlul non distructiv
Detectie
Predictie
Estimare
Programe conversationale
Roboti
4.2. Modelarea neuronului artificial

Intrari ponderate Iesire


e1
• intrari = dendrite 1 j • axon
• ponderi = sinapse
y j  f (a j )
aj f
ij
ei

Activarea
Functia de transfer f
calculeaza starea neuronului yj , valoare
a j   i ij ei ce va fi transmisa neuronului din aval

y j  f (a j )  f   e  i ij i
Functiile de transfer ale neuronului

 Exista diferite tipuri de functii de transfer asociate neuronului artificial:

a) Functia de tip prag (Heaviside) – neuronul lui Mc Culloch si W. Pitts,


b) Functia liniara sau semiliniara – modelul Adaline a lui Widrow si Hoff,
c) Functia sigmoida – Multi-Layer Perceptron – MLP a lui Rosenblatt,
d) Functia gausiana – Radial Basis Function – RBF a lui Moody si
Darken.
y = f (a) y = f (a) y = f (a) y = f (a)

-a- -b- -c- -d- +1


+1 +1 +1

θ a θ a θ a θ a

-1 -1 -1

Observatie: spre deosebire de neuronul biologic care este binar, cea mai mare parte a functilor de
transfer a neuronului artificial (mai putin neuronul Culloch-Pitts) sunt continue, oferind o
infinitate de valori posibile cuprinse in intervalele [0, +1] sau [-1, +1])
Functiile de transfer ale neuronului
Functia lui (Heaviside)
(implementare- Mc Culloch si W. Pitts) Functia gausiana
y = f (a) (implementare- RBF)
Functia sigmoida
y = f (a)
(implementare-MLP)
+1

y = f (a) +1
θ a
-1 +1 µ  a

 1 si a   θ
f (a)   a
 1 si a  
2
a
-1 
f (a)  e 2 2

1  exp(ka)
f (a) 
1  exp(ka)
4.3. Retele neuronale- arhitecturi

0 1
1 1
0 RN 0
1 0
Intrare Iesire
1 1
decodare
codare 1 0
0 1
0 0
4.3. Retele neuronale- arhitecturi
Tipuri de RNA

Numarul de straturi
(layere)

Cu doua straturi:
Cu un singur strat unul de IN unul de
OUT

Cu mai multe straturi:


nivele ascunse

Existenta reactiei

Fara reactie
Cu reactie
(feedforward)
sau dinamice
sau retele statice

Memorii asociative
Retele Hopfield
BAM
(caz discretizat a
(Bidirectional
BAM)
Associative Memory)

Tipul de invatare

Supravegheata Nesupravgheata
(supervizata) ( retele Kohonen)

Modul de propagare
a
coeficientilor de
ponderare

Cu contrapropagare
Cu retropropagare
sau antrenaare
(backpropagation)
rapida)
4.3. Retele neuronale- arhitecturi vs. functionare
Structuri de interconexiune

 Reteaua multistrat Strat de intrare


(variabile de intrare)
 Neuronii sunt asezati pe mai multe
straturi
 Nu exista conexiuni intre neuronii de Strat ascuns
pe acelasi strat
 Conexiuniile se fac doar cu neuronii
de pe straturile din aval
Strat de iesire
(variabile de iesire)

Strat de intrare
 Reteaua cu conexiuni locale
(variabile de intrare)
 Stuctura multistart care isi conserva
topologia
 Fiecare neuron are un numar limitat Strat ascuns
de legaturi cu neuronii de pe stratul
din aval

Strat de iesire
(variabile de iesire)
4.3. Retele neuronale- arhitecturi vs. functionare
Structuri de interconexiune

 Reteaua recurenta
 Conexiunile recurente propaga
informatia in amonte
 Conexiunile recurente sunt cel mai
adesea locale

 Reteaua completa
 Structura cea mai generala
 Fiecare dintre neuronii straturilor
retelei este conectat cu toti ceilalti
neuroni
4.3. Retele neuronale- arhitecturi

 Etapele utilizarii unei RNA


 Proiectarea structurii: se bazeaza pe datele disponibile, complexitatea problemei
de rezolvat si scopul urmarit
 Tip
 Numar de straturi
 Numar de neuroni
 Numar de intrari
 Tipul conexiunilor intre neuroni
 Invatarea (antrenamentul)
 Cunostintele de care dispune reteaua se gasesc sub forma ponderilor neuronilor- NU
sub forma de program
 Ponderile se obtin printr-un proces laborios si costititor de invatare
 Ponderile se determina astfel incat comportarea RNA sa aproximeze cat mai bine
perechile de IN/ OUT ale multimii de antrenament
 Expoatarea RNA
 Cunoscand ponderile, se stabilesc iesirile pentru valorile de intrare dorite
4.4. Retele neuronale- invatarea

 Algoritm de invatare: un set de reguli predefinite care solutioneaza problema invatarii.


 Paradigma de invatare: model al mediului inconjurator in care are loc procesul de
invatare al RNA.

PROCESUL
DE INVATARE

Algoritmi de Paradigme de
invatare invatare

Invatare pe Invatare Invatare Invatare


baza minimizarii Boltzman supervizata nesupervizata

Invatare Invatare Invatare cu


Hebbiana competitiva intarire
4.4.1. Invatarea supervizata

Vector de intrare Iesire reala Vector de


x1 iesire- tinta
 x1  y1 real
x   x2  x2  y1 
y  
x  y2 real
 3  y2 
x3

 Invatarea supervizata- un supervizor furnizeaza o valoare sau un vector y de iesire


(tinta- target) pe care neuronul trebuie sa il asocieze vectorului de intrare x.
 Diferenta intre raspunsul obtinut y si raspunsul dorit (tinta), reprezinta eroarea si este
folosita pentru a modifica ponderile sinapselor, pe baza unui algoritm specific, numit
lege de invatare.
 Invatarea consta in modificarea parametrilor RNA in scopul minimizarii diferentei
(erorii) dintre iesirea tinta si iesirea furnizata de RNA.
 Modele de RNA ce folosesc acest tip de invatare: Perceptronul Multistrat- PMC si
Functiile cu baza radiala- RBF
 Cei mai cunoscuti algoritmi de invatare supervizata sunt: algoritmul Levenberg
Marquard si algoritmul Backpropagation
4.4.1. Invatarea supervizata

 Conditii necesare antrenamentului:


 Multimea de antrenament sa fie reprezentativa
 Numarul de perechi de IN/ OUT sa fie suficient de mare
 Metoda (algoritmul) de invatare sa fie eficienta
 Utilizarea unor calculatoare performante

 Problemele invatarii supervizate


 Paralizarea RNA se produce atunci cand ponderile sinapselor ajung la valori foarte
mari
 O rata de invatare mica micsoreaza mult probabilitatea de aparitie a paralizarii
 Atingerea unui minim local al functiei de eroare "impotmoleste" procesul de calcul
 Parasirea minimului local presupune reluarea procesului de antrenament in conditii
modificate
 Nu este o garantie ca nu se va ajunge din nou intr-un alt minim local
4.4.1. Invatarea supervizata
Algoritmul Levemberg- Marquard
1. Se initializeaza parametrii RNA cu valori mici, aleatoare
2. Se fixeaza contorul iteratiilor i=1
3. Se alege prima pereche de vectori intrare- iesire (feedforward) a informatiei in RNA pentru calculul
iesirilor din RNA
4. Se parcurge faza de propagare inainte (feedforward) a informatiei in RNA cu calculul iesirilor din RNA
5. Se parcurge faza de propagare inapoi (retropropagarea= feedbackward) a erorilor si a corectiilor
corespunzatoare ponderilor
6. Se verifica daca vectorii din setul de antrenare au fost epuizati
1. Daca NU atunci kk+1 si se trece la etapa 4
2. Daca DA se trece la etapa urmatoare
7. Se verifica daca cea mai mare eroare se afla sub limita impusa
1. Daca NU se trece la etapa urmatoare
2. Daca DA invatarea s-a terminat cu SUCCES
8. Se verifica daca contorul iteratiilor a depasit limita impusa
1. Daca NU atunci ii+1 si se reia etapa 3
2. Daca DA invatarea s-a terminat cu ESEC, se initializeaza parametrii RNA cu alte valori si se trece la
etapa 2
4.4.1. Invatarea supervizata
Exemplu- detectia fetelor in imagini: Algoritmul Levemberg- Marquard
1. Pentru a rula aplicatia se tasteaza in linia de comanda din Matlab comanda:
rgb_forward(‘nume_imagine.jpp’).
2. Functia rgb_forward, care, la finalul ei va afisa imaginea alaturi de fistogramele RGB si probabilitatea ca
imaginea sa contina o fata umana, apeleaza functia img2rgbhist care intoarce un vector continand valorile
histogramelor RGB.
3. Dupa calcularea histogramelor RGB, functia rgb_forward incarca din fisierul rgb_weights matricea w ce
contine ponderile neuronilor din reteaua neuronala.
4. Apoi apeleaza functia forward in care este implementata
reteaua neuronala de tip perceptron multistrat si in care se
calculeaza folosind functia sigmoid iesirea retelei neuronale
adica probabilitatea ca imaginea sa contina o fata umana.
5. Daca iesirea y este mai mare de 0.5 atunci imaginea contine o
fata umana altfel.
6. Pentru antrenarea retelei se apeleaza functia rgb_trainall care
ca avea parametrii (N,p,toggle), N find numarul de nivele din
histograma, p numarul de noduri din stratul ascuns, iar
toggle=0 v-a incepe antrenarea retelei cu valori aleatoare
pentru ponderi. Functia rgb_trainall apeleaza img2rgbhist
pentru a incarca histograma imaginilor din setul imaginilor de
antrenare, apoi apeleaza functia levmar care contine
algoritmul Levenberg-Marquard care calculeaza ponderile
neuronilor pe baza histogramelor imaginilor din setul de
antrenare.
4.4.2. Invatarea nesupervizata

 In invatarea nesupervizata, date nu contin nici un fel de informatie referitoare le iesirea


corecta careia trebuie sa ii fie asociate. Neuronii si conexiunile retelei trebuie sa
reprezinte un anumit grad de auto- organizare (self- organisation). Acest tip de invatare
poate fi utilizat atunci cand exista in multimea datelor de intrare redundanta. Fara
redundanta este imposibil de a descoperi vreun model (pattern) sau trasatura in
multimea datelor de intrare. Redundanta asigura cunoasterea.
 Nu exista nici un supervizor
 Procesul consta in determinarea parametrilor RNA pe baza unui anumit criteriu ce
trebuie respectat.
 Ponderile sinapselor se organizeaza singure astfel incat sa realizeze similitudini intre
intrari si iesiri. Pentru a putea efectua o invatare nesupervizata putem utiliza un
algoritm de invatare Hebbiana sau un algoritm de invatare competitiva.
 Dupa invatare celulele se organizeaza sub forma unei harti. Cand se introduce o noua
intrare ea este clasificata in conformitate cu harta specifica RNA
 Modele : Kohonen, Hopfield
Specificul invatarii

Invatare supervizata: Invatare nesupervizata:


 Setul de antrenare contine atat  Setul de antrenare contine doar
date de intrare cat si raspunsurile date de intrare
corecte aferente acestora  Exemplu: gruparea datelor in
 Exemplu: clasificarea in clase categorii in functie de
predefinite pentru care se similaritatea dintre ele
cunosc exemple de elemente  Se bazeaza pe proprietatile
ce apartin claselor statistice ale datelor
 Invatarea supervizata este  Nu se bazeaza pe conceptul de
echivalenta cu optimizarea unei functie de eroare ci pe cel de calitate
functii de eroare care masoara a modelului extras din date, care
diferenta dintre raspunsurile pe trebuie maximizata prin procesul de
care ar trebui sa le produca antrenare
reteaua si cele pe care le produce
efectiv
4.4.2. Invatarea nesupervizata
Clustering
 Exista doua variante principale de antrenare nesupervizata a retelelor un nivel de N unitati de intrare si un
nivel cu K unitati liniare de iesire :
 Numarul de unitati functiolnale (K) este prestabilit nemodificandu-se pe parcursul antrenarii. Un
exemplu de algoritm de invatare din aceasta categorie este cel bazat pe principiul „invingatorul
ia totul” (WTA – the winner takes all).
 Numarul unitatilor functionale este adaptat pe parcursul procesului de invatare. Algoritmi din
aceasta categorie se bazeaza pe „teoria rezonantei adaptive” (ART – adaptiv resonance
theory).
4.4.2. Invatarea nesupervizata

 Retelele Kohonen nu se ajusteaza doar ponderile unitatii invingatoare ci si cele


corespunzatoare unitatilor din vecinatatea acesteia. Ajustarea acestor ponderi permite
„ordonarea” unitatilor astfel incat in faza de functionare pentru date de intrare similare sa
reactioneze unitatii functionale invecinate.Invatarea se realizeaza in 2 faze
 Faza de ordonare. Corespunde iteratiilor in care dimensiunea vecinatatii este relativ mare si are
ca efect aranjarea unitatilor(prin ajustarea ponderilor asociate) astfel incat unor date de intrare
similare sa le corespunda unitati apropiate.
 Faza de ajustare fina. Corespunde ultimilor iteratii, in care vecinatatile sunt reduse (uneori chiar
la un singur element, algoritmul fiind in acest caz de tip WTA) si are ca scop ajustarea ponderilor
astfel incat acestea sa fie cat mai reprezentative pentru datele de intrare.
Obs: pentru a diferentia modul de ajustare a ponderilor unitatii invingatoare fata de cel al
ponderilor celorlalte unitati se foloseste conceptul de functie de vecinatate
4.4.2. Invatarea nesupervizata

Vector pozitie
unitate functionala

Grila asociata
arhitecturii
Vecinatate de
Raza s(t) a unitatii p*
Antrenare- Retele de tip KOHONEN
28
4.4.2. Invatarea nesupervizata
RNA Kohonen- exemple
 Modul in care reteaua Kohonen se autoorganizeaza astfel incat sa se mapeze cat mai
fidel domeniului datelor de intrare poate fi ilustrat grafic pentru datele de intrare
bidimensionale (N=2). In acest caz fiecarei unitati functionale ii corespunde un vector cu
doua ponderi. Vizualizarea consta in reprezentarea pentru fiecare unitate functionala a
punctului corespunzator vectorului cu ponderi si in unirea punctelor corespunzatoare
unitatilor vecine (in cazul unidimensional punctul asociat unitatii i se uneste cu cele
asociate unitatilor i-1 si i+1 iar in cazul bidimensional unitatea (i,j) se uneste cu unitatile (i-
1,j) , (i+1,j) , (i,j-1) , (i,j+1).
Weight Vectors Weight Vectors

0.8 0.8

0.6 0.6

0.4 0.4

0.2 0.2

W(i,2)
W(i,2)

0 0

-0.2 -0.2

-0.4 -0.4

-0.6 -0.6

-0.8 -0.8

-1 -0.5 0 0.5 1
-1 -0.5 0 0.5 1
W(i,1)
W(i,1)
4.4.2. Invatarea nesupervizata
RNA Kohonen- exemple
 Problema comis-voiajorului (TSP-travelling 7.5
salesman problem) este o problema clasica de
optimizare care consta in gasirea traseului de cost
7
minim pe care trebuie sa-l parcurga un comis
voiajor astfel incat sa treaca o singura data prin
fiecare oras dintr-un set prestabilit. Daca se 6.5
considera ca orasele pot fi reprezentate prin puncte
in plan iar costul trecerii de la un oras o la un oras o’
este proportional cu distanta d (o,o’) dintre cele 6
doua orase problema poate fi rezolvata aproximativ
printr-o retea de tip Kohonen unudimensionala cu
5.5
unitati plasate circular (in cazul a m unitati se
considera ca unitatea 1 si unitatea m sunt vecine).
O asfel de retea este denumita si retea elastica . In 5
ideea rezolvarii este de a furniza retelei, ca date de 5.5 6 6.5 7 7.5 8

intrare, coordonatele oraselor.


 Procesul de adaptare conduce la apropierea unor
unitati de punctele corespunzatoare oraselor si
comunitatile formeaza un inel , acesta va tinde catre
un traseu. Cum mai multe unitati pot fi atrase catre
acelasi punct , numarul de unitati trebuie sa fie mai
mare decat numarul oraselor. Traseul obtinut nu
este neaparat cel optim insa unul suficent de bun.
Astfel tehnica de optimizare cu retele neuronale nu
este una exacta ci una aproximativa.
4.4.3. Invatarea cu intarire (reinforcement)

 Invatarea cu intarire urmareste maximizarea unei marimi scalare (indice de


performanta sau semnal de intarire) in urma unei actiuni efectuate de catre sistemul
supus invatarii. Daca modificarile aduse conduc spre o stare mai buna decat cea
precedenta, tendinta sistemului de a produce acea actiune particulara este întarita.
 Agentul primeşte o recompensă (întărire pozitivă) dacă îndeplineşte bine sarcina,si
primeşte o pedeapsă (întărire negativă) dacă îndeplineşte rău sarcina.
 „Experienţa este cel mai dur profesor, întâi îţi dă testul şi abia apoi îţi spune care era lecţia”

 Agentul- efectuează acţiuni ai


 Mediul- acordă recompense ri si i prezintă
agentului situaţii numite stări- si

 Scopul este de a determina agentul să acţioneze astfel încât să-şi maximizeze


recompensele iar acesta trebuie să-şi dea seama ce secvenţă de acţiuni conduce la
îndeplinirea sarcinii
 Datele de antrenare: (S, A, R) – Stare, Acţiune, Recompensă
 Acţiunile pot afecta şi recompensele ulterioare, nu numai pe cele imediate (efect
întârziat)
4.4.3. Invatarea cu intarire (reinforcement)

Exemplu numeric: Algoritmul Q Learning :


1.Parametrul de setat  (parametrul de invatare) si matricea R (reprezinta mediul)
2.Iniţializaţi matricea Q de zero-uri (matricea echivalenta cu creierul agentului)
3.Pentru fiecare episod:
o Selectaţi starea iniţială
o In timp ce atinge obiectivul de stare
 Selectaţi una dintre toate acţiunile posibile pentru starea curentă

 Folosind această acţiune posibila, mergeti la starea următoare

 Luati valoarea maximă Q din aceasta stare următoare, bazata pe toate

acţiunile posibile
 Calculati

 Setati starea următoare ca stare actuală


4.4.3. Invatarea cu intarire (reinforcement)
Exemplu numeric: Algoritmul Q Learning :
Etapa 1: =0.8 si stare initiala B
Etapa 3:=0.8 si stare B
2

1 1

Deoarece starea B (ce devine starea


actuala) nu este finala se repeta aici bucla
interioara. Se alege aleator starea urmatoare
3 F.

Etapa 2:=0.8 si stare D


2

3
Din F sunt 3 stari urmatoare posibile: B, E si
1 1 1
F
4.4.3. Invatarea cu intarire (reinforcement)
Exemplu numeric: Algoritmul Q Learning :
Etapa 4: Deoarece starea finala este F, Etapa 5: Prin episoade succesive, creierul
dupa primul episod: agentului va converge catre:

: 500= normalizare

Observatie: Putem calcula succesiunea starilor, in vederea optimizarii recompenselor,


utilizand matricea Q normalizata si considerand de exemplu starea initiala , graful de
mai jos:
4.4.3. Invatarea cu intarire (reinforcement)
Implementarea : Algoritmul Q Learning :

function Q-Learning-Agent(perceptie) returns o actiune


inputs: percept, o perceptie ce indica starea curenta s’ si recompensa r’
variable: Q, o tabela de valori stare actiune
Nsa, o tabela de frecvente pentru perechi stare-actiune
s, a, r starea, actiunea si recompensa anterioare

if s <> null then


incrementeaza Nsa[s,a]
Q[a,s]  Q[a,s] + (Nsa[s,a]) (r +  maxa’Q [a’,s’] – Q [a,s])
if Terminal[s’] then s, a, r  null
else s, a, r  s’, argmaxa’ f(Q[a’, s’], Nsa[a’,s’]), r’
return a
end
s, a, r  s’, argmaxa’ (Q[a’, s’]), r’

 Programul Matlab pentru miscarea unui singur agent in N camere . Pentru a modela mediul avem
nevoie sa recompensam matricea starilor initiale R (initial este O). Pune zero, pentru orice uşa care nu
este directa la obiectiv şi pune valoarea 100 la usa care duce direct la obiectiv. Pentru starile
necunoscute, utilizeaza minus infinit (-Inf), astfel încât numărul devine negativ. Noi vrem sa
maximizam valorile lui Q (matricea starilor), numerele negative nu vor fi luate în considerare deloc.
Starile sunt numerotate de la 1 la N. Rezultatul codului este normalizarea matricei Q.
4.5. Retele neuronale- generalizarea

 Generalizarea- capacitatea de extinde cunostintele achizitionate dupa procesul de


invatare cu date necunoscute
 Datorita acestei proprietati, RNA sunt capabile sa aproximeze o functie plecand de
la o parte a datelor relative la proces sau sa asocieze un vector de intrare x, ce nu
a facut obiectul invatarii, unei clase c.
 Generalizarea poate fi:
 locala
 globala

 In abordarea locala, fiecare neuron este asociat cu o anumita zona de activare


(regiune de influenta) localizata in spatiul de discurs al datelor. Deci, doar o parte
dintre neuroni vor determina raspunsul retelei.
 Arhitecturile ce poseda aceasta posibilitate sunt : RBF si hartile Kohonen

 In abordarea globala, intreg ansamblul datelor de IN participa la determinarea


raspunsului RNA, informatia fiind distribuita in intreaga retea.
 Aceasta abordare este mai robusta la eventualele defectiuni- siguranta in
functionare
 Arhitecturile ce poseda aceasta posibilitate sunt: PMC si modelele Hopfield
4.6. Retele neuronale- overparametrisation

 Notiunea de overparametrisation desemneaza situatia in care reteaua a invatat perfect


exemplele propuse si va fi incapabila sa generalizeze.
 Pentru a face referire le complexitatea retelei, se iau in calcul doi parametri : calculul
erorii pentru datele de invatare si calculul erorii pentru datele de test
 Compromis intre overparametrisation si generalizare: complexitatea optimala a
modelului corespunde unei valori k pentru care eroarea pe datele de test este
minimala
Buna over
Generalizare parametrisation

Baza de test
Eroarea medie

Baza de invatare

k modelului
Complexitatea

k optimal
Concluzii

AVANTAJE
Capacitatea de memorare (invatare) printr-un antrenament adecvat.

Problemele sunt rezolvate prin autoinvatare.

Posibilitatea de modelare a proceselor complexe, ale caror legi de functionare sunt fie
prea complicate, fie sunt echivoce, chiar necunoscute, spre a fi analizate analitic.
Capacitatea de generalizare- ofera raspunsuri corecte pentru situatii diferite fata de cele
folosite in procesul de invatare.
Capacitatea de sinteza- solutia oferita se obtine si in caz de informatii incomplete,
partiale sau usor contradictorii.
Robustete si toleranta la erori- functionarea gresita chiar oprirea unui NA nu scoate din
functiune intreg ansamblul.
Concluzii

DEZAVANTAJE
Procesul de invatare este complicat, de lunga durata si necesita mijloace de calcul
deosebit de performante.
Pentru antrenament este nevoie de un volum extrem de mare de date iar stabilirea
bazei de antrenament este o operatie dificila.
Fenomenele care se petrec in cadrul unui RNA nu au putut fi inca explicate satisfacator
din punct de vedere formal.
Concluzii
ATENTIE

La RNA nu se
programeaza o
lege ci se invata din
exemple

Cunostintele RNA sunt


inglobate sub forma de ponderi

Invatarea se face prin modificarea continua a


ponderilor sinapselor,
urmand o anumita regula specifica tipului de RNA si
metodei de invatare

Tipul de antrenament este


supervizat si nesupervizat

 RNA tind sa reproduca cel mai importante caracteristici ale comportamentului neuronului
biologic:
Invatarea Generalizarea Overparametrisation
INTELIGENŢĂ
ARTIFICIALĂ

Universitatea Valahia din Targoviste


Anul universitar 2012-2013

Otilia Elena DRAGOMIR


CURS NR. 5

2
Curs nr. 5
Principalele tipuri de retele neuronale

 Perceptronul McCulloch & Pitts


 Perceptronul multiplu
 Retele de tip backpropagation
 Retele cu functii de baza radiale
 Retele Kohonen
 Retele neuronale recurente
 Retele de tip Hopfield
 Retele cu ferestre temporale
 Retele cu unitati contextuale- Elman
 Retele celulare

3
1. Arhitectura

5.1. Perceptronul 2. Functionare


3. Antrenare
4. Sinteza
Arhitectura si functionarea

 Perceptronul a fost prima data introdus de catre F.Rosenblatt in 1958.


 Este o RN foarte simpla, care poate lucra cu intrari binare sau reale.
 Procesul prin care se antreneaza este unul supravegheat.
 Antrenarea supravegeata este o antrenare bazata pe modificarea
ponderilor, deci a comportarii RN, pe baza erorii dintre iesirea dorita in cazul
unor intrari stabile, de antrenare, si iesirea reala .
 Perceptronul este capabil sa rezolve operatii logice de baza: OR sau AND,
permitand clasificarea in doua clase liniar separabile. Operatii logice mai
complicate ( ca XOR ) nu pot fi rezolvate cu aceasta RN

N Interpretarea iesirii :
X W y  sgn(w x )
j 0
j j if y= -1 then X apartine clasei 1
if y=1 then X apartine clasei 2

4
5.1. Perceptronul
Antrenarea
Algoritmul de antrenare al perceptronului (Rosenblatt)

 Set de antrenare: {(X1,d1), (X2,d2), …. (XL,dL)} unde Xl un vector de


caracteristici si dl este -1 daca Xl apartine clasei 1 si +1 daca apartine
clasei 2
 Antrenarea este un proces iterativ bazat pe parcurgerea de mai multe ori a
setului de antrenare
 La fiecare iteratie, pentru fiecare exemplu din setul de antrenare, ponderile,
daca reteaua da un raspuns gresit, sunt ajustate in baza relatiei:


w j  x j
old l
daca yl  1 si d l  1
w new   old este echivalent cu

j
 w  x l
daca yl  1 si d l  1
 j j


w new
j  w j 
old
(d l  yl ) x lj wnew
j  wold
j  d x
l j
l
2 5
5.1. Perceptronul
Antrenarea
Parametrul eta (pasul de corectie sau rata de invatare) este o valoare pozitiva ce poate fi
aleasa astfel incat dupa efectuarea ajustarii corespunzatoare unui exemplu, reteaua sa
raspunda corect pt. acel exemplu
W (k  1)T X l d l  0  (W (k )   (k , l )d l X l )T X l d l  0 
2 | W (k )T X l |
W (k ) X d l   (k , l ) X
T l l
 0   (k , l )  2 Algoritmul Hebb de antrenare
Xl
Exemple :
1 | W (k )T X l | | W (k )T X l |
 (k , l )  2
sau  (k , l )   2
(  (0,2); corectie fractionala)
l l
X X

Teorema de convergenta a algoritmului de invatare: pentru o problema liniar separabila


algoritmul perceptronului converge dupa un numar finit de pasi la coeficientii unui
hiperplan separator
Obs.
1. Ipoteza de liniar separabilitate este esentiala
2. Aceasta proprietate de convergenta in numar finit de pasi este unica in domeniul
algoritmilor de invatare
3. Valorile initiale ale ponderilor pot influenta numarul de etape pana la convergenta 6insa
nu impiedica convergenta in numar finit de pasi.
5.1. Perceptronul

Caracteristici perceptron
Tip Feedforward – cu propagare inainte (conectarea neuronilor de
pe straturi diferite diferite intr-un singur sens: de la intrare
către ieşire)
Layere 1 layer
Tipul valorilor Binare sau reale (continue)
de intrare
y = f (a) Functia de Functie de tip prag
activare

-a- Metoda de Supravegheata


+1 antrenare
Algoritmul de Algoritmul Hebb de antrenare
antrenare
θ a θ θ θ
Folosire Operatii logice simple
Clasificarea "patern" pentru probleme liniar separabile
-1

7
Vectors to be Classified Vectors to be Classified

1.5 data1 1.5


data2
data3
data4 1
1

0.5 0.5

P(2)
P(2)

0
Vectorii de 0 Prima clasificare
intrare initiali
-0.5
-0.5 [W, b]=initp(P, T)
plotpc(W,b)
-1
-1
-0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6
-0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6
P(1)
P(1)
P=[-0.5 -0.5 0.3 0.0; -0.5 0.5 -0.5 1.0]; Vectors to be Classified

T= [1 1 0 0] 1.5 p1=[-0.5; 0.5]


a=simup(p1,W,b)
5
Sum-Squared Network Error for 5 Epochs 1 a=
10

0.5 1

P(2)
0
10
0
Sum-Squared Error

-5
10
Antrenarea -0.5

10
-10 perceptronului -1

In raport cu eroarea -0.8 -0.6 -0.4 -0.2


P(1)
0

Vectors to be Classified
0.2 0.4 0.6

-15
10
1.5

-20
10
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
1
p2=[0.3; -0.5]
Epoch b=simup(p2, W,b)
[W,b,epochs,errors]=trainp(W,b,P,T,-1) 0.5
b=
P(2)

ploterr(errors)
0
0
Clasificarea facuta cu un -0.5

perceptron cu 2 intrari -1

-0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 8


P(1)
Vectors to be Classified Vectors to be Classified

Vectorii de
intrare initiali Prima clasificare
1.5
1.5
1
1
0.5
0.5

P(3)
0
P(3)

0 -0.5
-0.5 -1

-1 -1.5

-1.5
1
0 1
1 0
-1 -1
0 1
0 P(2) P(1)
-1 -1
P(2) P(1)

Vectors to be Classified

p1=[0.7; 1.2; -0.2]


1.5
5
Sum-Squared Network Error for 2 Epochs a=simup(p1,W,b)
10 1
0.5
a=

P(3)
0

10
0
-0.5 1
-1
-1.5
Sum-Squared Error

-5
10
1
0 1
0
-1
10
-10
Antrenarea P(2)
-1
P(1)

perceptronului Vectors to be Classified

10
-15
In raport cu eroarea p1=[-1; 1; -1]
1.5

1
a=simup(p1,W,b)
10
-20
0.5
a=
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
P(3)

0
Epoch
-0.5 0
Clasificarea facuta cu un -1
-1.5

perceptron cu 3 intrari 1
0 1 9
0
-1 -1
P(2) P(1)
Vectors to be Classified

3
data1
data2 Vectors to be Classified
data3 3
2
data4
data5
data6
Prima clasificare
1 2
data7
data8
P(2)

data9
0 1
data10

P(2)
-1
0
Vectorii de
-2
intrare initiali -1

-2.5 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2


P(1) -2
P=[-1 1 -1 1 -1 1 -1 1;
-1 -1 1 1 -1 -1 1 1;
-1 -1 -1 -1 1 1 1 1]; -2.5 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2
T= [0 1 0 0 1 1 0 1] P(1)
Vectors to be Classified

3
5
Sum-Squared Network Error for 4 Epochs
10
2
p1=[0.7; 1.2]
a=simup(p1,W,b)
0
10 1
a=
1

P(2)
0 0
Antrenarea perceptronului
Sum-Squared Error

-5
10
in raport cu eroarea -1

-10 -2
10

-2.5 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2


P(1)
Vectors to be Classified
-15
10 3

p2=[0.1; 1.2]
-20
2
b=simup(p2, W,b)
10
0 0.5 1 1.5 2 2.5 3 3.5 4 b=
1
Epoch
1
P(2)

0
0
Clasificarea facuta cu un -1

perceptron cu 2 neuroni pe strat -2


10

-2.5 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2


P(1)
1. Arhitectura
2. Functionare
5.2. Perceptronul multiplu (multistrat) 3. Antrenare
4. Sinteza
Arhitectura si functionarea
 Multi-Layer-Perceptron (MLP) a fost introdus prima data de M.Minsky and
S.Papert in 1969.
 Este o extensie a perceptronului si are unul sau mai multe straturi (layere)
ascunse. Unitatile de iesire au o functie liniara de activare (fiecare unitate
de iesire este asociata cu o clasa).
 Datorita structurii sale mai “complexe” el este capabil sa rezolve toate
operatii logice, inclusiv problema XOR.

Interpretarea rezultatului:
X Y=WX Indicele unitatii ce produce iesirea
maxima este eticheta clasei careia ii
apartine X.
M Daca vectorul Y este normalizat (toate
valorile sunt intre 0 si 1) atunci iesirile pot
N fi interpretate ca probabilitati de
apartenenta la clase
11
5.2. Perceptronul multiplu
Antrenarea
Clasificare in mai mult de doua clase liniar separabile ( M clase)
 Daca clasele sunt puternic liniar separabile atunci se pot utiliza M
perceptroni simpli, cate unul pentru a determina hiperplanul care separa
fiecare clasa de toate celelalte.
 Daca clasele sunt liniar separabile atunci nu se pot utiliza perceptroni
antrenati independent.
Algoritmul de antrenare
Set de antrenare: {(X1,d1), ….,(XL,dL)} unde dl apartine lui {1,…,M} si I este
indicele clasei careia ii apartine Xl
Pas 1: initializare
 Se initializeaza elementele lui W (M linii si N+1 coloane) cu valori selectate
aleator [-1,1]
 Se initializeaza contorul de iteratie: k=0
Pas 2: ajustare iterativa
REPEAT parcurge setul de antrenare si ajusteaza ponderile
k=k+1 12
UNTIL k=kmax SAU corect=1 (reteaua a invatat setul de antrenare)
5.2. Perceptronul multiplu
Antrenarea

Parcurgerea setului de antrenare si ajustarea ponderilor.


correct=1
FOR l=1,L do
 calcul Y=WXl
 Determina i* (inidicele maximului din Y)
 IF i* <> dl THEN
 Wi* = Wi* - eta*Xl
 Wdl=Wdl + eta*Xl
 correct=0
 ENDIF
END FOR
Obs:
1. Wi reprezinta linia i a matricii W (X este considerat a fi un vector linie)
2. Daca valoarea maxima din Y este prezenta pe mai multe pozitii atunci i* se
poate alege ca oricare dintre ele
3. Rata de antrenare eta are acelasi rol ca si in cazul perceptronului simplu
4. Daca clasele sunt liniar separabile algoritmul converge dupa un numar finit 13
de pasi
5.2. Perceptronul multiplu

Caracteristicile Multi-Layer-Perceptronului
Tip feedforward
Layere 1 layer de intrare
1 sau mai multe layere ascunse
1 layer de iesire

Tipul valorilor de intrare Binare sau continue


Functia de activare Functie de tip limitator sau sigmoid
Metoda de antrenare Supravegheata
Algoritmul de antrenare Alg. delta de antrenare
Folosire Operatii logice complexe
Clasificarea "patern" pentru probleme non
linear separabile

14
Vectors to be Classified

1.5 % SE doreste clasificarea intrarilor non-linear separabile a unei retele cu


% 2 straturi de tip perceptron. Pimul strat actioneaza ca un preprocesor non-
linear pentru al 2 lea strat.
1

P=[-0.5 -0.5 0.3 -0.1 -0.8; -0.5 0.5 -0.5 1.0 0];
0.5 Vectorii de T= [1 1 0 0 0]
plotpv(P,T)
P(2)

intrare initiali
0

-0.5

-1

-1.2 -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8


P(1)

5
Sum-Squared Network Error for 21 Epochs
10

S1= 40
0
10
[W1, b1]=initp(P, S1)
[W2, b2]=initp(S1, T)
Antrenarea A1= simup(P,W1,b1)
Sum-Squared Error

-5
10 [W2, b2, epochs, errors]= trainp(W2, b2, A1, T, -1)
perceptronului % -1 este un parametru de antrenare, valoarea 1 este implicita
si
-10
10
In raport cu eroarea %inseamna ca perioada de update intre epoci. Daca are
valoarea -1, vectorii de in si linia de demarcare-clasificare sunt
trasate in raport cu eroarea retelei
-15
10 ploterr(errors)
trasarea curbei erorilor
-20
10
0 2 4 6 8 10 12 14 16 18 20
Epoch

Clasificarea facuta cu un
perceptron cu 2 intrari
15
5.3. Retea de tip backpropagation

 Reteaua de tip Backpropagation a fost prima data introdusa de catre


G.E.Hinton, E.Rumelhart si R.J.Wiliams in 1986 si este una dintre cele
mai puternice tipuri de RN.
 Are structura asemanatoare MLP insa foloseste algoritmul de antrenare
de tip backpropagation.

Caracteristicile retelei de tip Backpropagation


Tip feedforward
Layere 1 layer de intrare
1 sau mai multe layere ascunse
1 layer de iesire
Tipul valorilor de intrare Continue
Functia de activare Functie de tip sigmoid
Metoda de antrenare Supravegheata
Algoritm de antrenare Alg. backpropagation
Folosire Operatii logice complexe
Clasificare paternuri
Analiza vocala
16
Error Surface Error Contour Error Surface Sum-Squared Network Error for 3 Epochs
0
4 10

2
0.5

Sum Squared Error


-1
1 10

Sum-Squared Error
0

Bias B
0.5 0
Sum Squared Error

-0.5
-1
0 4 -2
10
2 -2
-0.5 -4
0
-3 -2
-2 0 4
2
-4 Bias B -4 2 0
-2 0 -4 -4 -2 0 2 4 -3
2 4 -2 10
Weight W 4 -4 0 0.5 1 1.5 2 2.5 3
Weight W Weight W Bias B
Epoch

P=[-3 2]
P=[-3 2] T=[0.4 0.8]
T=[0.4 0.8] wv=-4:0.4:4
wv=-4:0.4:4 bv=-4:0.4:4
bv=-4:0.4:4 es=errsurf(P,T, wv, bv, 'logsig')
es=errsurf(P,T, wv, bv, 'logsig') plotes(wv, bv, es, [6 30])
plotes(wv, bv, es, [6 30])
Error Surface Error Contour
4

2
0.5
Sum Squared Error

1
0
Bias B 0
-0.5
-1

-4 -2
p=2
-2
-3
a=simuff(p, w, b, 'logsig')
0 4
2
2 0
-2 -4
Weight W 4 -4 Bias B -4 -2 0 2 4
Weight W

Pattern association with 17


backpropagation networks
1. Arhitectura
2. Functionare
5.4. Retele cu functii de baza radiale 3. Antrenare
4. Aplicabilitate
5. Sinteza
Arhitectura
RBF - “Radial Basis Function”
Arhitectura:
 Doua nivele de unitati functionale
 Functii de agregare:
N K M
 Unitati ascunse: distanta
dintre vectorul de intrare si
cel al ponderilor
C W
corespunzatoare unitatii
ascunse Matricea Matricea
 Unitati de iesire: suma
centrilor ponderilor
ponderata N

OBS: unitatile ascunse nu au asociat


G( X , C )  X  C 
k k
 i i)
( x
i 1
 c k 2

prag de activare

Functiile de activare pentru unitatile ascunse au simetrie radiala:


 Unitatile ascunse genereaza un semnal de iesire semnificativ doar pentru vectori de
intrare suficient de apropiati de centrii corespunzatori
Functia de activare pentru unitatile de iesire este de regula o functie liniara
18
5.4. Retele cu functii de baza radiale (retele RBF)

Exemple:

g1 (u )  exp( u 2 /(2 2 ))
g 2 (u )  1 /(u 2   2 )
g 3 (u )  1 / u 2   2
2σ u2 
Obs: parametrul σ controleaza g (u )  exp   
2 
largimea graficului  2 

σ =1.5
1

0.8

σ =1
0.8

g3 (σ=1) 0.6 g2 (σ=1) 0.6

0.4
0.4

0.2
0.2

-3 -2 -1 1 2 3
19
σ =0.5
-3 -2 -1 1 2 3

g1 (σ=1)
5.4. Retele cu functii de baza radiale (retele RBF)
Functionare
Calculul semnalului de iesire: K
yi   wik g ( X  C k )  wi 0 , i  1, M
k 1
K
yi   wik z k  wi 0 , z k  g ( X  C k )
k 1

 Vectorii Ck pot fi interpretati ca prototipuri ale datelor de intrare;


 doar vectorii de intrare similari cu vectorul de ponderi asociat unitatii ascunse poate activa
unitatea ascunsa corespunzatoare
 pentru un vector de intrare dat, semnalul produs de retea este determinat de catre
unitatile ascunse al caror centru este suficient de apropiat de vectorul de intrare
 Fiecare unitate ascunsa este “sensibila” la semnalele de intrare provenite dintr-o
regiune a spatiului de intrare aflata in vecinatatea centrului. Aceasta regiune este
denumita camp receptiv
 Dimensiunea campului receptiv depinde de σ

20
5.4. Retele cu functii de baza radiale (retele RBF)
Functionare
 Campurile receptive ale unitatilor acoperire adecvata
ascunse trebuie sa asigure o 1

“acoperire” a spatiului de intrare


0.8
 O buna acoperire a spatiului de intrare
asigura o buna capacitate de 0.6
aproximare
 Valori prea mici sau prea mari ale 0.4

largimii functiilor radiale conduc la


acoperiri inadecvate 0.2

-10 -7.5 -5 -2.5 2.5 5 7.5 10

subacoperire supraacoperire 21
5.4. Retele cu functii de baza radiale (retele RBF)
Functionare

 Campurile receptive ale unitatilor ascunse acoperire adecvata


trebuie sa asigure o “acoperire” a spatiului
de intrare
 O buna acoperire a spatiului de intrare
asigura o buna capacitate de aproximare
 Valori prea mici sau prea mari ale largimii
functiilor radiale conduc la acoperiri
inadecvate σ=1

σ=100
σ=0.01
supraacoperire
22
subacoperire
5.4. Retele cu functii de baza radiale (retele RBF)
Antrenare

Parametri adaptivi:
 Centrii (prototipurile) corespunzatoare unitatilor ascunse
 Largimile campurilor receptive (parametrii functiilor de activare cu
simetrie radiala)
 Ponderile asociate conexiunilor dintre nivelul ascuns si cel de iesire
Variante de antrenare:
 Antrenarea simultana a tuturor parametrilor (similara algoritmului
BackPropagation – doar regulile de ajustare ale centrilor se modifica)
 Obs: aceleasi dezavantaje ale algoritmului BackPropagation
 Antrenare separata a parametrilor:
 centri, largimi, ponderi

23
5.4. Retele cu functii de baza radiale (retele RBF)
Antrenare
Orthogonal Least Squares:
 Selectie incrementala a centrilor astfel incat eroarea sa fie minimizata cat mai mult
 Noul centru este ales astfel incat sa fie ortogonal pe spatiul generat de catre centrii deja
selectati (procesul este bazat pe metoda de ortogonalizare Gram-Schmidt)
 Abordarea este corelata cu regresia de tip “ridge”

Grupare (clustering):
 Se urmareste identificarea a K clase in setul de date de antrenare {X1,…,XL} astfel incat
datele din fiecare clasa sa fie suficient de similare pe cand datele din clase diferite sa fie
suficient de diferite
 Fiecare clasa va avea un reprezentant (ex: media datelor din clasa) care va fi considerat
centrul clasei
 Algoritmii pentru determinarea reprezentantilor clasei sunt cunoscuti sub numele de
algoritmi partitionali de grupare (realizeaza o partitionare a spatiului de intrare)
 Algoritm clasic: K-means

Estimarea ponderilor conexiunilor dintre nivelul ascuns si cel de iesire:


 Problema este echivalenta cu cea a antrenarii unei retele cu un singur nivel de unitati
functionale liniare
 Variante:
 Aplicarea unor instrumente din algebra liniara
 Aplicarea algoritmului Widrow-Hoff 24
5.4. Retele cu functii de baza radiale (retele RBF)
Antrenare

K-means:

 Se porneste de la centri initializati


aleator

 Proces iterativ:
 Se asigneaza datele la clase
folosind criteriul distantei
minime (sau a celui mai
apropiat centru)

 Se recalculeaza centrii ca fiind


medii ale elementelor asignate
fiecarei clase

25
5.4. Retele cu functii de baza radiale (retele RBF)
Aplicabilitate

Retelele RBF sunt aplicate pentru clase de probleme similare celor pentru
care sunt aplicate retelele feed-forward cu functii sigmoidale:
 Clasificare
 Predictie
 Aproximare

Retelele RBF sunt aproximatori universali: retea cu N intrari si M iesiri


poate aproxima orice functie definita pe RN, cu valori in RM, cu o
acuratete care depinde de numarul de unitati ascunse
Suportul teoretic al retelelor RBF este reprezentat de:
 Teoria aproximarii
 Teoria regularizarii (determinarea atat a functiilor de baza (nucleu) cat
si a parametrilor acestora astfel incat sa fie optimizata eroarea si un
termen de regularizare care se refera la proprietati ale functiilor de
baza – de exemplu netezime).
 Teoria functiilor potential

26
5.4. Retele cu functii de baza radiale (retele RBF)

Retele RBF: Retele BP:

 1 nivel ascuns  Mai multe nivele ascunse

 Functii de agregare bazate pe  Functii de agregare bazate pe


distante (pt. nivelul ascuns) suma ponderata
 Functii de activare cu simetrie  Functii de activare sigmoidale
radiala (pt. nivelul ascuns) (pt. nivelul ascuns)

 Unitati de iesire cu functie liniara  Unitati de iesire liniare sau


 Antrenare separata a neliniare
parametrilor adaptivi  Antrenare simultana a
 Similare cu tehnicile de parametrilor adaptivi
aproximare locala  Similare cu tehnicile de
aproximare globala

27
5.4. Retele cu functii de baza radiale (retele RBF)

Retele RBF- PMC asemenari:

 conţin un strat de intrare, care are doar rolul de repartiţie a datelor,


straturi ascunse şi un strat de ieşire. Conexiunile între straturi în
ambele cazuri sunt doar înainte, neexistând conexiuni de reacţie

 au în majoritatea cazurilor neuroni liniari în stratul de ieşire, iar unităţile


de calcul, În general neliniare, se găsesc în stratul ascuns (straturile
acunse)

 pot fi antrenate printr-un algoritm supervizat, pentru a realiza mapări


intrare-ieşire ce aproximează funcţii mono sau multivariabile

28
5.4. Retele cu functii de baza radiale (retele RBF)

Retele RBF- PMC deosebiri:


 PMC poate conţine 2 straturi ascunse, având neuroni neliniari, structural identici. RBF
conţin întotdeauna un singur ascuns cu neuroni având funcţii de activare radiale;
 La PMC ieşirea neuronilor de calcul este o funcţie neliniară de suma ponderată a
intrărilor lui, la RBF unităţile de calcul determină distanţa (norma Euclidiană) dintre
vectorul de intrare şi centrul unităţii respective. Deci, modul de funcţionare al unui neuron
bazat pe funcţii radiale este fundamental diferit de cel al perceptronului;
 PMC este un aproximator universal. În cazul în care el este antrenat cu un set de date
consistent, el va putea aproxima valoarea funcţiei pentru orice valoare a argumentului
acesteia. RBF este un interpolator universal. Ea realizează o aproximare locală a funcţiei
respective. Valoarea ieşirii aproximează valoarea funcţiei în punctele de interpolare
(centrii), dar scade exponenţial o dată cu creşterea distanţei faţă de aceştia. Modul de
aproximare (alura ieşirii) este dependent de valoarea dispersiei (d). Cu cât valoarea d
este mai mică, cu atât descreşterea ieşirii reţelei la îndepărtarea de centru este mai
rapidă. O dată cu creşterea valorii d, aparent se tinde spre atingerea proprietăţii de
aproximator global, dar, reţeaua devine insensibilă la modificări în alura funcţiei. PMC
conţine un strat ascuns cu 3 neuroni cu funcţii de activare sigmoidă şi un neuron liniar în
stratul de ieşire. Reţeaua RBF conţine 3 neuroni radiali în stratul ascuns;
 Algoritmii de antrenare a RBF, datorită caracterului de aproximator local al acestora, sunt
mai rapid convergenţi 29
1. Arhitectura
2. Functionare

5.5. Retele de tip KOHONEN 3. Antrenare


4. Aplicabilitate
5. Sinteza

 Este o varianta de cuantizare vectoriala care asigura conservarea relatiilor de


vecinatate din domeniul datelor de intrare:
 Date de intrare similare vor face parte fie din aceeasi clasa fie din clase vecine
 Apare necesitatea definirii unei relatii de ordine intre prototipuri prin urmare si
intre unitatile de iesire ale retelei
 Arhitectura retelelor care realizeaza mapare topologica se caracterizeaza prin
existenta unei structuri geometrice a nivelului de iesire corespunzatoare unei grile
uni, bi sau tridimensionale
 Retelele cu astfel de arhitectura sunt cunoscute sub numele de retele Kohonen
sau harti cu auto-organizare (self-organizing maps)

 SOM – Self Organizing Maps


 Au fost dezvoltate initial pentru a modela asa-numitele harti corticale (portiuni din
creier care reactioneaza la anumiti stimuli):
 Harti topografice corespunzatoare simtului vizual
 Harti tonotopice corespunzatoare simtului auditiv
 Harti senzoriale asociate cu simtul tactil (intreaga suprafata a pielii este mapata
intr-o regiune astfel incat receptori tactili apropiati activeaza neuroni vecini ai hartii)
 Aplicatiile curente ale hartilor cu auto-organizare cuprind:
 Gruparea datelor
 Compresia datelor (maparea datelor dintr-un spatiu de dimensiune mai mare30intr-
unul de dimensiune mai mica astfel incat sa fie conservate relatiile de vecinatate)
5.5. Retele de tip KOHONEN
Arhitectura

 Retelele de tip Kohonen au fost prima


data introduse de catre profesorul
finlandez Teuvo Kohonen in 1982.
 Un nivel de unitati de intrare
 Un nivel de unitati functionale
plasate in nodurile unei grile
(permite definirea unor distante intre
unitati si a unui sistem de vecinatati)

 Tipuri de grile:
Dpdv al dimensiunii:
- Unidimensionale
- Bidimensionale
- Tridimensionale
Dpdv al structurii:
- Patratice
- Hexagonale
- Arbitrare (graf planar) 31
5.5. Retele de tip KOHONEN
Functionare
 Functionare:
 Pentru un vector de intrare, X, se determina unitatea functionala invingatoare
folosind criteriul distantei minime fata de vectorii cu ponderi
 Rezultatul poate fi vectorul de pozitie al unitatii invingatoare sau vectorul cu
ponderi asociat acesteia

 Structura de vecinatati asociata nivelului de unitati de iesire:


 Fiecarei unitati functionale (p) i se asociaza un vector de pozitie (rp)
 In cazul grilelor cu n dimensiuni acest vector contine n componente
 Se alege o distanta pe domeniul vectorilor de pozitie:

 Vecinatatea de ordin (raza) s a unitatii p este:

 Exemplu: In cazul unei grile bidimensionale vecinatatile de ordin 1 ale unitatii


avand pozitia (i,j) corespunzatoare celor trei distante sunt:

32
5.5. Retele de tip KOHONEN
Antrenare
 De tip nesupervizat
 Set de antrenare: {X1,…,XL}
 Specific: similara cu antrenarea de tip WTA insa o data cu ajustarea ponderilor
unitatii invingatoare se ajusteaza si ponderile unitatilor vecine
Algoritm de antrenare
 Ajustarea unitatilor vecine celei invingatoare asigura conservarea relatiilor de
vecinatate astfel ca date de intrare similare vor fi asociate cu unitati invecinate
 Atat rata de invatare cat si dimensiunea vecinatatii descresc in timp
 Maniera de descrestere a ratei de invatare este similara celei de la algoritmii de tip
WTA
 Dimensiunea vecinatatii se alege initial suficient de mare pentru a “acoperi”
intregul set de unitati functionale
Algoritm de antrenare se caracterizeaza prin doua faze
 Faza de ordonare: corespunde iteratiilor in care dimensiunea vecinatatii este
semnificativa si are ca efect stabilirea ponderilor unitatilor astfel incat unor date de
intrare similare sa le fie asociate unitati vecine
 Faza de ajustare fina: corespunde interatiilor in care dimensiunea vecinatatii este
mica (chiar redusa la un singur element) si are ca rol ajustarea fina a ponderilor
pentru ca vectorii de ponderi sa devina prototipuri cat mai reprezentative pentru
datele de intrare 33
Obs: pentru a diferentia modul de ajustare a ponderilor unitatii invingatoare fata de cel al
ponderilor celorlalte unitati se foloseste conceptul de functie de vecinatate
5.5. Retele de tip KOHONEN
Antrenare

Vector pozitie
unitate functionala

Grila asociata
arhitecturii
Vecinatate de
Raza s(t) a unitatii p*

34
5.5. Retele de tip KOHONEN
Aplicatii

 Ilustrarea maparii topologice (date de intrare bidimensionale generate uniform


aleator in interiorul unui cerc)
 Se vizualizeaza punctele corespunzatoare vectorilor de ponderi ale tuturor
unitatilor
 Se unesc intre ele punctele corespunzatoare unor unitati vecine (in functie de
structura nivelului de unitati functionale, fiecare punct este unit cu doua sau
mai multe alte puncte).

Grila 2D
Grila 1D
35
5.5. Retele de tip KOHONEN
Aplicatii
 Ilustrarea maparii topologice
 date de intrare bidimensionale generate uniform aleator in
interiorul unei coroane circulare

36
5.5. Retele de tip KOHONEN
Aplicatii

 Problema comis voiajorului:


 determinarea unui traseu de cost minim care asigura vizitarea o singura a
data a fiecarui oras
 se foloseste o retea cu doua unitati de intrare si n unitati functionale
dispuse intr-o grila unidimensionala circulara (unitatea n este considerata
vecina cu unitatea 1) – retea elastica
 datele de intrare vor fi coordonatele oraselor
 pe parcursul antrenarii, vectorii cu ponderi ale unitatilor tind sa se apropie
de coordonatele oraselor iar relatia de vecinatate dintre unitati va indica
ordinea de parcurgere a oraselor
 Intrucat mai multe unitati pot sa tinda catre acelasi oras, numarul oraselor
trebuie sa fie mai mare (de doua, trei ori) decat numarul real al oraselor de
parcurs.

37
5.5. Retele de tip KOHONEN
Aplicatii
 Problema comis voiajorului:

Ponderi ale
unitatilor
oras

a) Configuratia
initiala
b) Dupa 1000
iteratii
c) Dupa 2000
iteratii
38
5.5. Retele de tip KOHONEN
Aplicatii
 Alte aplicatii:
 Controlul robotilor autonomi: robotul este antrenat cu date
de intrare corespunzatoare regiunilor din zona de deplasare
in care nu sunt obstacole (robotul va invata “harta” zonei)
 Categorizarea documentelor electronice: WebSOM
(http://websom.hut.fi/websom/)

39
5.5. Retele de tip KOHONEN

Caracteristicile retelelor de tip Kohonen


Tip Feedforward / feedback
Layere 1 layer de intrare
1 multime de neuroni
Tipul valorilor de Binare sau continue ( reale )
intrare
Functia de activare Functie sigmoid
Metoda de antrenare Nesupravegheata
Algoritmul de Autoorganizarea
antrenare
Folosire Clasificarea paternurilor
Problemele legate de optimizare
Simulari

40
5.6. Retele neuronale recurente

 Arhitectura
 Se caracterizeaza prin prezenta conexiunilor inverse
 In functie de densitatea conexiunilor inverse exista:
 Retele total recurente (modelul Hopfield)

 Retele partial recurente:

 Cu unitati contextuale (modelul Elman)


 Celulare (modelul Chua-Yang)
 Aplicabilitate
 Memorare asociativa
 Rezolvarea problemelor de optimizare combinatoriala
 Predictie in serii temporale
 Prelucrarea imaginilor
 Modelarea sistemelor dinamice si a fenomenelor haotice

41
1. Arhitectura
2. Functionare

5.6.1. Retele de tip HOPFIELD 3. Stabilitate


4. Aplicabilitate
5. Sinteza

 Retelele de tip Hopfield au fost prima data introduse de catre fizicianul


J.J.Hopfield in 1902 si apartin RN numite “modele termodinamice”.
 Este alcatuita dintr-un set de neuroni, set in care fiecare neuron este
conectat cu toti neuronii. Nu exista diferente intre neuroni de intrare si
neuroni de iesire.
 Ponderile sunt simetrice.
 Cel mai des se folosesc acest tip de retele la recunoasterea "paternurilor"
( de exemplu al imaginilor ).

42
5.6.1. Retele de tip HOPFIELD
Arhitectura
Arhitectura: Notatii:
N unitati total interconectate xi(t) – potentialul (starea) neuronului i la
Functii de transfer: momentul t
Signum/Heaviside yi(t)=f(xi(t)) – semnalul de iesire produs de
Logistica/Tanh neuronul i la momentul t
Parametrii: Ii(t) – semnalul de intrare primit din partea
mediului
matricea cu ponderi a conexiunilor
wij – ponderea conexiunii dintre neuronul j si
neuronul i

43
5.6.1. Retele de tip HOPFIELD
Functionarea

Functionare: - semnalul de iesire este rezultatul unui proces dinamic


- pot fi asimilate unor sisteme dinamice a caror stare se modifica in timp
Starea retelei:
- vectorul starilor neuronilor X(t)=(x1(t), …, xN(t)) sau
- vectorul semnalelor de iesire Y(t)=(y1(t),…,yN(t)
Descrierea dinamicii
 Timp discret – relatii de recurenta (ecuatii cu diferente)
 Timp continuu – ecuatii diferentiale

44
5.6.1. Retele de tip HOPFIELD
Functionarea

Functionare in timp discret: starea retelei la momentul t+1 este descrisa in functie de starea
retelei la momentul t
Starea retelei: Y(t)
Variante:
 Asincrona: un singur neuron isi poate modifica starea la un moment dat
 Sincrona: toti neuronii isi schimba starea simultan
Raspunsul retelei: starea in care se stabilizeaza reteaua

45
5.6.1. Retele de tip HOPFIELD
Functionarea
Varianta asincrona:
Varianta sincrona:
 N 
yi* (t  1)  f   wi* j y j (t )  I i* (t )   N 
 j 1  yi (t  1)  f   wij y j (t )  I i (t ) , i  1, N
yi (t  1)  yi (t ), i  i *  j 1 

Alegerea lui i*:


In simulari se utilizeaza fie functii de transfer
- parcurgerea sistematica a multimii
{1,2,…,N} Discontinue, fie continue
- aleator (dar astfel incat la fiecare etapa sa Algoritm de functionare:
se modifice starea fiecarui neuron) - Stabilire stare initiala
Simularea retelei: REPEAT
- alegerea unei stari initiale (in functie de se calculeaza noua stare pornind de la starea curenta
problema de rezolvat) UNTIL
- calculul starii urmatoare pana cand < diferenta dintre starea curenta si cea anterioara este
suficient de mica >
reteaua se stabilizeaza (distanta dintre
doua stari succesive este mai mica
decat o valoare prestabilita, ε)
46
5.6.1. Retele de tip HOPFIELD
Functionarea
Functionare in timp continuu: dxi (t ) N
  xi (t )   wij f ( x j (t ))  I i (t ), i  1, N
dt j 1

Simularea retelei: rezolvarea numerica a sistemului de ecuatii pornind de la o valoare


initiala xi(0)
Exemplu: metoda lui Euler explicita
Comportari posibile ale unei retele:
 X(t) tinde catre o stare stationara X* (punct fix al dinamicii retelei)
 X(t) oscileaza intre doua sau mai multe stari posibile
 X(t) are o comportare haotica sau ||X(t)|| creste pe masura ce t creste

Comportari utile din punct de vedere practic:


 Reteaua tinde catre o stare stationara
 Exista o multime de stari stationare: memorare asociativa
 Stare stationara unica: rezolvarea pb. de optimizare

 Reteaua are comportare periodica


 Modelarea seriilor temporale

Obs. Cea mai convenabila varianta este cea in care reteaua tinde catre o stare 47
stationara stabila (perturbatii mici in conditiile initiale nu afecteaza semnificativ
solutia)
5.6.1. Retele de tip HOPFIELD
Proprietatea de stabilitate
Cazul continuu: Cazul discret - asincron:
Daca: Daca:
- matricea ponderilor este simetrica (wij=wji) - matricea ponderilor este
- functia de transfer este strict crescatoare simetrica (wij=wji)
(f’(u)>0) - functia de transfer este signum
sau Heaviside
- semnalul de intrare este constant (I(t)=I)
- semnalul de intrare este
Atunci toate solutiile stationare asociate retelei sunt constant (I(t)=I)
asimptotic stabile Atunci toate solutiile stationare
Pentru a studia proprietatea de (asimptotic) asociate retelei sunt asimptotic
stabilitate a solutiilor in teoria sistemelor stabile
dinamice se foloseste metoda functiei Liapunov
Functia Liapunov asociata: Functia Liapunov asociata

f ( xi )
1 N N N
1 N N
V ( x1 ,..., xN )    wij f ( xi ) f ( x j )   f ( xi ) I i   f V ( y1 ,..., y N )    wij yi y j   yi I i
1
( z )dz
2 i , j 1 i 1 i 1 0 2 i , j 1 i 1

48
5.6.1. Retele de tip HOPFIELD
Proprietatea de stabilitate

Rezultatul anterior sugereaza ca starile stationare (punctele fixe) ale dinamicii


sistemului sunt stabile

Fiecarei stari stationare ii corespunde o regiune de atractie (daca starea initiala a


retelei se afla in regiunea de atractie a unei stari stationare atunci sistemul va
tinde catre starea stationara corespunzatoare

Aceasta proprietatea este utila in cazul memoriilor asociative

In cazul dinamicii sincrone rezultatul nu mai este valabil, putandu-se arata in schimb
ca solutiile periodice de perioda 2 (reteaua oscileaza intre doua stari) sunt stabile

49
5.6.1. Retele de tip HOPFIELD
Aplicabilitate- Memorii asociative
Memorie = sistem de stocare si regasire a informatiei
Memorie bazata pe adresa:
 Stocare localizata: toate “elementele” (bitii) unei unitati de informatie (ex: o valoare
numerica sunt stocate in aceeasi zona de memorie identificabila prin adresa
 Regasire pe baza adresei
Memorie asociativa:
 Informatia este stocata distribuit (nu mai exista conceptul de adresa)
 Regasirea se realizeaza pe baza continutului (se porneste de la un indiciu privind
informatia de regasit – ex: imagine partiala sau alterata de zgomot)
Proprietati:
 Robustete (distrugerea unei componente nu impiedica regasirea informatiei)
Modalitati de implementare:
 Hardware:
 Circuite electrice
 Sisteme optice
 Software:
 Retea de tip Hopfield 50
5.6.1. Retele de tip HOPFIELD

Caracteristicile retelelor Hopfield


Tip feedback
Layere 1 matrice
Tipul valorilor de Binare
intrare
Functia de activare Functia logica nivel sau functia limitator
Metoda de antrenare Nesupravegheata
Algoritmul de Regula delta
antrenare
Folosire Recunoastere paternuri; probleme de optimizare

51
5.6.2. Retele cu ferestre temporale

 Serie temporala = serie de date inregistrate la momente succesive de timp


(corespunzatoare unor marimi ce evolueaza in timp)
 Exemple:
 Evolutia cursului valutar
 Evolutia pretului unei actiuni
 Evolutia temperaturii
 Semnale biologice (electrocardiograma –EKG)
 Scopul analizei unei serii temporale: efectuarea de predictii
 Predictia se bazeaza pe un model asociat seriei care exprima dependenta dintre
valoarea viitoare si valoarea curenta, respectiv valori anterioare

ordinul modelului Parametrii ce modeleaza


factorii externi

Modelul asociat unei serii temporale poate fi: liniar, neliniar, determinist sau aleator
Exemplu: modelul auto-regresiv (AR(p))
Model zgomot (variabila
aleatoare din N(0,1))
52
5.5.2. Retele cu ferestre temporale

Modelare cu retele neuronale


 Ordinul modelului este cunoscut
 Retea feedforward cu ferestre temporale (p unitati de intrare)
 Ordinul modelului este necunoscut
 Retea cu unitati contextuale (retea Elman)

Arhitectura: Functionare:

Antrenare:
 Set antrenare: {((xl,xl-1,…,xl-p+1),xl+1)}l=1..L
 Algoritm de antrenare: BackPropagation
53
 Dezavantaj: presupune cunoasterea lui p
5.6.3. Retele cu cu unitati contextuale- Elman

Arhitectura (retea Elman): Functionare:

Unitati
contextuale
Obs:
unitatile contextuale contin copii ale
starilor unitatilor ascunse

Antrenare
 Set antrenare: {(x(1),x(2)),(x(2),x(3)),…(x(t-1),x(t))}
 Ponderi:
 Ajustabile: W x, Wc si W2
 Neajustabile: ponderile conexiunilor dintre nivelul ascuns si cel contextual
 Algoritm antrenare: BackPropagation
54
1. Arhitectura

5.6.4. Retele celulare 2. Functionare


3. Aplicabilitate

Arhitectura:
 Toate unitatile au dublu rol: unitati de intrare si
unitati de iesire
 Unitatile sunt plasate in nodurile unei grile
bidimensionale (notata cu L)
 Fiecare unitate este identificata prin pozitia ei
p=(i,j) in cadrul grilei
 Fiecare unitate este conectata doar cu unitatile
aflate in vecinatatea sa (vecinatatile se
definesc la fel ca un cazul retelelor Kohonen pe
baza unei distante; cel mai frecvent se
foloseste d((i,j),(k.l))=max{|i-k|,|j-l|} Unitati virtuale
Functie de activare: rampa

Notatii
1

0.5

-2 -1 1 2

-0.5
55
-1
5.6.4. Retele celulare
Functionare
Semnal produs de alte Semnal
unitati de control (sau de intrare)

Semnal de intrare (similar


unui prag)
Obs:
 Grila asociata retelei este bordata cu celule virtuale care produc o valoare
specifica (in functie de conditiile la frontiera)
 Caz particular: ponderile conexiunilor dintre unitatile vecine nu depind de pozitia
acestor unitati
 Exemplu: daca p=(i,j), q=(i-1,j), p’=(i’,j’), q’=(i’-1,j’) atunci
apq= ap’q’=a-1,0

56
5.6.4. Retele celulare
Aplicatii

 Simulare software = rezolvare numerica a sistemului de ecuatii diferentiale


completat cu o conditie initiala
 Se poate folosi metoda explicita a lui Euler

Aplicabilitate:
 Prelucrarea imaginilor alb-negru sau pe nivele de gri
 Fiecare pixel este asociat cu o unitate a retelei
 Nivelul de gri al unui pixel este codificat in [-1,1]

Prelucrarea imaginilor:
 In functie de alegerea matricilor sablon, a semnalului de control (u), a conditiei
initiale (x(0)) si a conditiilor pe frontiera (z) se obtin diferite tipuri de prelucrari:
 Binarizare (imagine pe nivele de gri -> imagine binara)
 Umplerea golurilor in imagini binare
 Eliminarea zgomotului (pixeli izolati) din imagini binare
 Detectarea contururilor in imagini binare

Observatie: imaginile alb negru sunt codificate in {-1,1}: Alb: -1, Negru: +1 57
5.6.4. Retele celulare
Aplicatii
Exemplu 1: identificarea contururilor
z=-1, U=imaginea de prelucrat, h=0.1 0 0 0   0 1 0 
A  0 3 0, B   1 2  1
0 0 0  0  1 0 
I  1, X (0)  U

58
http://www.isiweb.ee.ethz.ch/haenggi/CNN_web/CNNsim_adv.html
5.6.4. Retele celulare
Aplicatii
Exemplu 2: umplerea golurilor
z=-1, 0 1 0  0 0 0 
A  1 1.5 1, B  0 4 0
U=imaginea de prelucrat,
h=0.1
0 1 0 0 0 0
I  0.5, xij (0)  1 (toti pixelii sunt egali cu 1)

59
5.6.4. Retele celulare
Aplicatii

Exemplu 3: eliminarea zgomotului


z=-1, U=imaginea de prelucrat, h=0.1
0 1 0  0 0 0 
A  1 2 1, B  0 0 0
0 1 0 0 0 0
I  0, X (0)  U

60
5.6.4. Retele celulare
Aplicatii

Exemplu 4: detectare linii orizontale


z=-1, U=imaginea de prelucrat, h=0.1
0 0 0  0 0 0 
A  0 2 0, B  1 1 1
0 0 0 0 0 0
I  1, X (0)  U

61
INTELIGENŢĂ
ARTIFICIALĂ

Universitatea Valahia din Targoviste


Anul universitar 2019-2020

Otilia Elena DRAGOMIR

Inteligenta artificiala- curs Otilia DRAGOMIR


CURS NR. 6

Inteligenta artificiala- curs 6 Otilia DRAGOMIR


CURS NR. 6

 Retele neuronale- invatarea


 Algoritmi de invatare al RNA de tip perceptron cu un singur strat
 Rosenbalt
 LMS
 Widraw- Hoff
 Regula Delta
 Algoritmi de invatare al RNA de tip perceptron cu mai multe straturi
 BackPropagation- BP
 Variante ale algoritmului BP- Newton, Levenberg- Marquardt
 Algoritmi de invatare a retelelor cu functii radiale

Inteligenta artificiala- curs 6 Otilia DRAGOMIR


6.1. Retele neuronale- invatarea

 RNA achizitioaneaza cunostintele prin instruire- INVATARE.


 Invatarea presupune adaptarea parametrilor liberi ai RNA- ponderi, praguri, rata de invatare, forma functiei
de activare sau structura retelei- ca urmare a stimulilor mediului in care se gaseste reteaua
 Tipul de invatare este determinat de maniera in care sunt ajustati parametrii liberi.
 Algoritm de invatare: un set de reguli predefinite care solutioneaza problema invatarii.
 Paradigma de invatare: model al mediului inconjurator in care are loc procesul de invatare al RNA.

TIPURI DE
INSTRUIRE

SUPERVIZATA

Boltzman
Corectia erorilor
(stochastic)

-Widrow-Hoff Propagarea
- LMS inapoi a erorii
- Regula Delta

NESUPERVIZATA
(AUTOORGANIZARE)

Hebbian Competitiv

Inteligenta artificiala- curs 6 Otilia DRAGOMIR


PRIN INTARIRE
RNA
SI
ALGORITMII DE INVATARE

RNA de
tip perceptron RNA cu
autoorganizare

Perceptronul Perceptronul cu
simplu mai multe straturi Algoritmi
Algoritmul hebbuan
invatare competitiva

Algoritmi de Algoritmul hebbian Invatare competitiva


invatare clasici generalizat simpla
Algoritmul LMS
Algoritmi rapizi Algoritmi SOFM
Algoritmul APEX
imbunatatiti
Metoda Newton Metoda de
tip Cvasi- Newton Analiza neliniara a Cuantizare vectoriala –
componentelor VQ, Vector Quantizaton
Metoda Metode bazate Principale (ACP)
Levenberg- Marquardt pe gradient

Inteligenta artificiala- curs 6 Otilia DRAGOMIR


6.2. Algoritmi de invatare al RNA de
tip perceptron cu un singur strat
Algoritmul Rosenbalt
a). Initializarea: w(0)=0
b). Calcul raspuns actual: y(n)  sgn[ w (n) x(n)]
T

in care functia sgn(.) reprezinta functia signum


c). Modificarea ponderilor sinaptice:
w(n  1)  w(n)  [d (n)  y (n)]) x(n)
in care:   1, daca x(n)  C1
d ( n)  
 1, daca x(n)  C2
d). Incrementarea lui n cu o unitate si salt la punctul b).

x(n)  [1, x1 (n), x2 (n),...xN (n)]T  vector de intrare

w(n)  [ (n), w1 (n), w2 (n)...wN (n)]T  vector ponderi sinaptice


 (n)  prag
 (n)  rata de invarare de regula 0    1
y (n)  raspunsul actual
Inteligenta artificiala- curs 6 n)  DRAGOMIR
d (Otilia raspunsul dorit
6.2. Algoritmi de invatare al RNA de
tip perceptron cu un singur strat
Algoritmul LMS- Least Mean Square sau Widrow- Hoff sau regula DELTA
Algoritmul LMS se diferentiaza de algoritmul Rosenbalt prin modul de calcul al
semnalului de eroare, care in acest caz este cuantizat iar functia de activare poate fi
liniara.
Avand in vedere aceste aspecte, algoritmul LMS poate fi formulat in modul urmator:
a). Initializarea: wk(0)=0, k=1,2,…N
b). Etapa de filtare:
N
y (n)   w j (n)x j (n)
j 0

e( n )  d ( n )  y ( n )
wk (n  1)  wk (n)  e(n) xk (n), k  1,2...N

Formularea algoritmului LMS s-a facut din perspectiva unei filtrari spatiale. El poate fi
utilizat in aceiasi masura in rezolvarea problemelor de filtrare temporala, considerand ca
x(n) reprezinta esantioane ale vectorului de intrare la momente de timp diferite:
x(n)  [ x(n), x(n  1),..., x(n  N  1)]T

Inteligenta artificiala- curs 6 Otilia DRAGOMIR


 Regula de adaptare a ponderilor (de fapt algoritmul de
învatare) poarta denumirea de algoritmul Widrow-Hoff si
implica parcurgerea urmatorilor pasi:
 1. Se ataseaza ponderilor sinaptice valori între 1 si –1.
 2. Se aplica modelului un set de intrari si iesirea-tinta
corespunzatoare.
 3. Se calculeaza eroarea.
 4. Se ajusteaza fiecare pondere în sensul minimizarii
(sau chiar anularii) erorii medii patratice, astfel încât
eroarea este redusa cu 1/n, unde n este numarul de
ponderi.
 5. Se repeta procesul pâna când eroarea este suficient
de mica (sau zero).
 6. Se repeta pasii anteriori pentru toate seturile de
antrenare.
Inteligenta artificiala- curs 6 Otilia DRAGOMIR
6.2. Algoritmi de invatare al RNA de
tip perceptron cu un singur strat
Algoritmul Widrow- Hoff
Algoritmul WH de invatare este utilizat in cazul retelelor liniare
Acesta minimizeaza functia de eroare E(W) aplicand o ajustare de tip gradient pentru fiecare
exemplu din setul de antrenare
M M N

  
Calculul gradientului: 1 1
El (W )  (d il  yil ) 2  (d il  wij x lj ) 2
2 i 1
2 i 1 j 0

El (W )
grad ( El (W ))  ( ) i 1, M ; j 0, N
wij
El (W )
 (d il  yil ) x lj   il x lj
Obs: wij
 Daca functia de eroare are un singur minim algoritmul converge catre acesta (insa
nu este garantata convergenta in numar finit de iteratii)
 Viteza de convergenta este influentata de rata de invatare (eta)
 Valoarea E este o masura a acuratetii invatarii setului de antrenare
Inteligenta
Este artificiala-
unul dintre
curs 6 cei mai simpli algoritmi de invatare insa poate fi aplicat doar pentru
Otilia DRAGOMIR
retele liniare
6.2. Algoritmi de invatare al RNA de
tip perceptron cu un singur strat
Algoritmul Widrow- Hoff

Structura algoritmului:
 Initializare:
wij(0):=rand(-1,1) (ponderile sunt initializate aleator in [-1,1]),
k:=0 (contor de iteratii)
 Proces iterativ
REPEAT
FOR l:=1,L DO
Calculeaza yi(l) si deltai(l)=di(l)-yi(l), i=1,M
Ajusteaza ponderile: wij:=wij+eta*deltai(l)*xj(l)
Calculeaza E(W) pentru noile valori ale ponderilor
k:=k+1
UNTIL E(W)<E* OR k>kmax

Inteligenta artificiala- curs 6 Otilia DRAGOMIR


6.2. Algoritmi de invatare al RNA de
tip perceptron cu un singur strat
Algoritmul Delta
 algoritm similar lui Widrow-Hoff dar utilizabil in cazul retelelor cu functii
neliniare de activare
 singura diferenta apare in calculul gradientului
M M N

  
1 1
Calcul gradient: El (W )  (d il  yil ) 2  (d il  f i ( wij x lj )) 2
2 i 1 2 i 1 j 0

El (W )
grad ( El (W ))  ( ) i 1, M ; j 0, N
wij
El (W )
N

Particularitati: wij 
  f 'i ( wij x lj )(d il  yil ) x lj   il x lj
j 0
1. Functia de eroare poate avea mai multe minime; algoritmul de antrenare se poate
bloca in unul dintre acestea (aceasta inseamna ca invatarea este incompleta)
2. Pentru functiile sigmoidale derivatele pot fi calculate eficient folosind relatiile:
1
f (u )   f ' (u)  f (u)(1  f (u))
1  exp( u )
Inteligenta artificiala- curs 6 Otilia DRAGOMIR
f (u )  tanh(u)  f ' (u)  1  f (u ) 2
6.2. Algoritmi de invatare al RNA de
tip perceptron cu un singur strat
Deducerea regulilor de modificare a ponderilor- consideratii generale

 Algoritmul de modificare a ponderilor urmareste


minimizarea erorii la nivelul neuronulu sau al
stratului neuronal de iesire.
 Se defineste eroarea la nivelul neuronului de
iesire "k": e ( n )  d ( n )  y ( n)
k k k

 Pentru cuantificarea erorilor la nivelul neuronului/


neuronilor de iesire se defineste o functie cost,
uneori denumita si criteriu de performanta.
O posibila forma pentru aceasta este:
1
J  E[ 
2 k
ek2 (n)]

Cu E(.) reprezentand media in sens statistic.


 Una dintre metodele folosite pentru obtinerea
minimului functiei J este bazata pe gradientul
acesteia. Ilustrarea metodei pasilor descendenti se
poate face prin urmatoarea figura:
Inteligenta artificiala- curs 6 Otilia DRAGOMIR
6.2. Algoritmi de invatare al RNA de
tip perceptron cu un singur strat
Deducerea regulilor de modificare a ponderilor- consideratii generale
 Conform acestor metode, incrementul de modificare a ponderilor este dat de ecuatia:
J
w(n)  J  
w

 Pentru ca proprietatile statistice nu sunt de regula cunoscute, se poate folosi in loc de J,


suma erorilor patratice instantanee: 1
Eav (n) 
2
 e ( n)
k
2
k

Eav (n) e (n)


De aici rezulta: w(n)      ek (n) k
w k w

e1 (n)  d k (n)  yk (n)  d k (n)   (vk (n))


Dar:
In care
ρ reprezinta functia de activare si vk potentialul de activare.
Rezulta astfel:

w(n)   e (n) ' (vk(n)) x(n)
k
k

Pentru cazul prezentat anterior, k=1,din sgn, se obtine:

w(n)  e(n) x(n)   (d (n)  y (n)) x(n)


Inteligenta artificiala- curs 6 Otilia DRAGOMIR
6.2. Algoritmi de invatare al RNA de
tip perceptron cu un singur strat
Invatare bazata pe minimizarea erorii
Set antrenare: {(X1,d1),…,(XL,dL)},
Xl – vector din RN, dl – vector din RM

Functie de eroare: masura a “distantei” dintre iesirea produsa de retea si iesirea dorita
Notatii: L

 E (W ) - eroare medie patratica pe setul de antrenare


1
E (W )  l
L l 1
M M N

  
1 2 1 1
El (W )  d l  Y l  (d il  yil ) 2  (d il  fi ( wij x lj )) 2
2 2 i 1
2 i 1 j 0

(eroarea pentru exemplul l )


invatare = problema de optimizare
= determina W care minimizeaza E(W)
Variante:
 In cazul functiilor liniare de activare W poate fi determinat folosind instrumente din
algebra liniara
Inteligenta artificiala- curs 6 Otilia DRAGOMIR
 In cazul functiilor neliniare de activare minimul poate fi estimat folosind metode
numerice de aproximare.
6.2. Algoritmi de invatare al RNA de
tip perceptron cu un singur strat
Invatare bazata pe minimizarea erorii
Varianta 1. Caz particular: M=1 (o unitate functionala liniara) si L=1 (un exemplu)
1 2 1
E (W )  d W T X  ( d  W T X )T ( d  W T X ) 
2 2
1
 ( X T (WW T ) X  2dW T X  d 2 )
2
Minimizare a lui E (W ) este echivalent a cu minimizare a lui
1
E1 ( X )  ( X T (WW T ) X  2dW T X )
2
1 T 1
E1 (W )  X (WW T ) X  dW T X  W T ( XX T )W  (dX )T W
2 2
1
 W T RW  QT W
2
E1 (W ) este functie patratica deci are minim unic
( R  XX T e matrice pozitiv definita)
Minimizare a lui E1 (W ) este echivalent a cu determinar ea punctului critic, adica
rezolvarea ecuatiei vectorial e in care intervine gradientul lui E1 (W )
E1 (W )  0  RW  Q (care Otilia
Inteligenta artificiala- curs 6
esteDRAGOMIR
un sistem liniar)
W  R 1Q
6.2. Algoritmi de invatare al RNA de
tip perceptron cu un singur strat
Invatare bazata pe minimizarea erorii

A doua varianta: utilizarea unei metode numerice de minimizare


Metoda gradientului:
 Este o metoda iterativa de estimare a optimului bazata pe ideea ca gradientul unei functii
indica directia in care functia creste
 Pentru a estima minimul unei functii se foloseste opusul gradientului

Inteligenta artificiala- curs 6 Otilia DRAGOMIR


6.2. Algoritmi de invatare al RNA de
tip perceptron cu un singur strat
Invatare bazata pe minimizarea erorii

Metoda gradientului:
Directia opusa Directia opusa
Algoritm de minimizare a lui E(W) bazat pe gradientului gradientului
metoda gradientului:

 Initializare:
W(0):=valori initiale, f’(x)<0 f’(x)>0
k:=0 (contor de iteratii)

 Proces iterativ
REPEAT
W(k+1)=W(k)-eta*grad(E(W(k)))
k:=k+1 xk-1 x1 x0
UNTIL e satisfacuta o conditie de oprire

Inteligenta artificiala- curs 6 Otilia DRAGOMIR


6.2. Algoritmi de invatare al RNA de
tip perceptron cu un singur strat
Obs: Pasul de descrestere (eta) influenteaza viteza de convergenta

Valori prea mari Valori prea mici

Inteligenta artificiala- curs 6 Otilia DRAGOMIR


6.2. Algoritmi de invatare al RNA de
tip perceptron cu un singur strat
Obs: este o metoda de optimizare locala, prin urmare se poate bloca in
optime locale fara a identifica optimul global

Inteligenta artificiala- curs 6 Otilia DRAGOMIR


6.2. Algoritmi de invatare al RNA de
tip perceptron cu un singur strat
Limite ale retelelor cu un singur strat

Retelele uni-nivel au aplicabilitate limitata:

 Pot rezolva doar probleme simple de clasificare (probleme liniar separabile)


 Pot aproxima doar dependente simple

Solutia: includerea nivelelor ascunse

Obs: unitatile ascunse trebuie sa aiba functii neliniare de transfer

Inteligenta artificiala- curs 6 Otilia DRAGOMIR


6.2. Algoritmi de invatare al RNA de
tip perceptron cu un singur strat
Consideratii asupra valorii ratei de invatare (instruire)

In cazul algoritmilor de antrenament prezentati rata de invatare trebuie sa satisfaca


urmatoarea conditie:  (n)  rata de invarare de regula 0    1
pentru a asigura convergenta algoritmului.:

Daca aceasta valoare este aleasa prea mica,


rezulta un proces lent de invatare, vectorul pondere
modificandu-se foarte putin de la o interatie la alta.
Daca este prea mare, algoritmul poate sa nu
sesizeze punctul de minim, ceea ce conduce la un
proces de invatare oscilant care s-ar putea sa nu Metoda de modificare a ratei de invatare
convearga niciodata.

Exista diferite procedee prin care rata de invatare poate fi modificata:


-Metoda aproximarilor stochastice: c
 (n)  , c  ct.
n
-Metoda cauta apoi converge:
Inteligenta artificiala- curs 6 n
Otilia DRAGOMIR
 ( n)  0
, n 0 ,  ct.
n
1

6.3. Algoritmi de invatare al RNA de tip
perceptron cu mai multe straturi
Pentru a adapta ponderile MLP in cursul
antrenarii:
- Modul tipar cu tipar sau seriala ("pattern by
pattern") in care dupa aplicarea fiecarei perechi
de tipare IN-OUT ponderile sunt actualizate
- modul lot de tipare sau cu ajustare cumulata
("batch") in care ponderile sunt calculate o Perceptron cu 2 straturi

singura data pe baza tuturor perechilor de tipare ek (n)  d k (n)  yk (n) eroarea

IN- OUT disponibile y (n)  raspunsul actual


d (n)  raspunsul dorit
1
Algoritmul MLP dedus din modul tipar cu tipar  (n)   e k2 (n) eroarea instantane e a staratului de iesire
2 k
se bazeaza pe metoda algoritmului descendent 1 T
 av (n)    (n)  min
si se numeste BACKPROPAGATION- BP: T n1
eroarea setului de antrenamen t T  functia cost
Algoritmul BP standard este de tip gradient descendent, ca si regula de invatare Widrow-
Hoff, adica presupune modificarea ponderilor in sensul negativ al functie cost. Denumirea
este justificata de modalitatea de ajustare a ponderilor, aceasta facandu-se incepand de la
stratul de iesire spre stratul de intrare, prin calcul recursiv al gradientului local.
Inteligenta artificiala- curs 6 Otilia DRAGOMIR
Algoritmul BackPropagation
Variante ale algoritmului BackPropagation

Reminder: retea cu doua nivele


 N1  N2 
 w kj x j  
yi  f 2  
 k 0
( 2)
w ik f1 
  (1)

  j 0 

Antrenare:
 Set de antrenare: {(x1,d1),…,(xL,dL)}
 Functie de eroare: eroarea medie
patratica
 Minimizare: metoda gradientului

Inteligenta artificiala- curs 6 Otilia DRAGOMIR


Algoritmul BackPropagation
Structura generala

Varianta seriala Varianta batch (cu ajustare cumulata)


Initializare aleatoare a Initializare aleatoare a ponderilor
ponderilor REPEAT
REPEAT Initializarea variabilelor ce vor contine
FOR l=1,L DO ajustarile
etapa FORWARD FOR l=1,L DO
etapa FORWARD
epoca

etapa BACKWARD
epoca
modificarea ponderilor etapa BACKWARD
ENDFOR cumularea ajustarilor
Recalcularea erorii ENDFOR
UNTIL <conditie de oprire> Modificarea ponderilor
Recalcularea erorii
UNTIL <conditie de oprire>

Inteligenta artificiala- curs 6 Otilia DRAGOMIR


Algoritmul BackPropagation
Detalii (varianta seriala)

w1kj : rand (1,1), wik2 : rand (1,1)


p : 0
REPEAT
FOR l : 1, L DO
/ * Etapa FORWARD * /
N0 N1
xkl : 
j 0
w1kj x lj , y kl : f1 ( xkl ), xil : w
k 0
2 l
ik y k , yil : f 2 ( xil )

/ * Etapa BACKWARD * /
N2
 il : f 2' ( xil )( d il  yil ),  kl : f1' ( xkl ) 
i 1
wik2  il

/ * Etapa de ajustare * /
w1kj : w1kj   kl x lj , wik2 : wik2   il y kl
Inteligenta artificiala- curs 6 Otilia DRAGOMIR
ENDFOR
Algoritmul BackPropagation
Detalii (varianta seriala)

/ * Calculul erorii * /
E : 0
FOR l : 1, L DO
/ * Etapa FORWARD (cu noile valori ale ponderilor) * /
N0 N1
xkl : j 0
w1kj x lj , y kl : f1 ( xkl ), xil : w
k 0
2 l
ik y k , yil : f 2 ( xil )

/ * Sumarea erorii * /
L
E : E   (d
l 1
l
i  yil ) 2

ENDFOR
E : E /(2 L)
p : p  1
UNTIL p  p max OR E  E *
Inteligenta artificiala- curs 6 Otilia DRAGOMIR
Algoritmul BackPropagation
Particularitati ale variantei “batch”
w1kj : rand ( 1,1), wik
2
: rand ( 1,1), i  1.. N 2, k  0.. N1, j  0.. N 0
p : 0
REPEAT
Δkj
1
:  0 ,Δik2 :  0
FOR l : 1, L DO
/ * Etapa FORWARD * /
N0 N1
x kl : 
j 0
w1kj x lj , y kl : f1 ( xkl ), xil : wk 0
2
ik y kl , yil : f 2 ( xil )

/ * Etapa BACKWARD * /
N2
 il : f 2' ( xil )( d il  yil ),  kl : f1' ( x kl ) w
i 1
ik  i
2 l

/ * Etapa de ajustare * /
1kj : 1kj   kl x lj , 2ik : 2ik   il y kl
ENDFOR
w1kj : w1kj  1kj , wik
2
: wik
2
 2ik
Inteligenta artificiala- curs 6 Otilia DRAGOMIR
Algoritmul BackPropagation
Variante

Noi variante ale algoritmului BackPropagation pot fi obtinute prin modificarea:

1. Functiei de eroare

2. Metodei de minimizare

3. Metodei de alegere a ratei de invatare

4. Initializarii ponderilor

Inteligenta artificiala- curs 6 Otilia DRAGOMIR


Variante ale BP
Variante
1. Functia de eroare:
 Eroarea medie patratica este potrivita pentru rezolvarea problemelor de aproximare
 Pentru problemele de clasificare o masura mai adecvata este entropia incrucisata
(cross-entropy):
 Caz particular: clasificarea in doua clase
 dl este din {0,1} (0 corespunde clasei 0 iar 1 corespunde clasei 1)
 yl este din (0,1) si poate fi interpretata ca probabilitatea de apartenenta la clasa 1

L
CE (W )    (d ln y
l 1
l l  (1  d l ) ln(1  yl )) Obs: Valoarea minima (0) se obtine
cand dl si yl sunt suficient de
apropiate
  ln yl daca d l  1
El (W )  
 ln(1  yl ) daca d l  0
Inteligenta artificiala- curs 6 Otilia DRAGOMIR
Variante ale BP
Variante
1. Functia de eroare: eroare bazata pe entropie:
 Se schimba valorile derivatelor partiale
 Semnalul de eroare corespunzator unitatii de iesire (cu functie logistica de transfer)
va fi:

d l 1  d l ' ( 2) d l (1  yl )  yl (1  d l )
l  (  ) f2 (x )   yl (1  yl )
yl 1  yl yl (1  yl )
 d l (1  yl )  yl (1  d l )

Inteligenta artificiala- curs 6 Otilia DRAGOMIR


Variante ale BP
Variante
2. Metoda de minimizare: general- metoda gradientului

 Metoda gradientului este simpla dar are dezavantaje:


 Convergenta lenta
 Sensibilitate mare la alegerea valorii ratei de invatare (pasul de descrestere)
 Se pot utiliza metode mai rapide (insa mai complexe):
 Metoda gradientului conjugat (si variante ale ei)
 Metoda lui Newton
 Particularitati ale acestor metode:
 Convergenta rapida (ex: metoda gradientului conjugat converge in n iteratii
pentru functii patratice de argument n-dimensional)
 Necesita calculul matricii hessiene (matrice continand derivatele de ordin doi
ale functiei de eroare) si uneori a inversei acesteia

Inteligenta artificiala- curs 6 Otilia DRAGOMIR


Variante ale BP
Variante

2. Metoda de minimizare: metoda lui Newton

E : R n  R, w  R n (vectorul ce contine toate ponderile)


Prin dezvoltare in serie Taylor in w( p ) (estimarea corespunzatoare epocii p)
1
E ( w)  E ( w( p ))  (E ( w( p ))) T ( w  w( p ))  ( w  w( p )) T H ( w( p ))( w  w( p ))
2
 2 E ( w( p ))
H ( w( p )) ij 
wi w j
Derivand dezvoltarea in serie Taylor in raport cu w si punand conditia
de punct critic noua aproximare pentru w se va obtine ca solutie a ec :
H ( w( p )) w  H ( w( p )) w( p )  E ( w( p ))  0
Noua estimare a lui w va fi :
w( p  1)  w( p )  H 1 ( w( p ))  E ( w( p ))
Inteligenta artificiala- curs 6 Otilia DRAGOMIR
Variante ale BP
Variante
2. Metoda de minimizare: metoda Levenberg-Marquardt
 Metoda lui Newton adaptata pentru cazul in care eroarea este o suma de patrate de
diferente (cum este eroarea medie patratica)
L
E ( w)   l 1
El ( w), e : R n  R L , e( w)  ( E1 ( w),..., E L ( w)) T

w( p  1)  w( p )  ( J T ( w( p ))  J ( w( p ))   p I ) 1 J T ( w( p)) e( w( p))
J ( w)  jacobianul lui e( w)  matricea derivatelor lui e in raport
cu toate argumentele
Ei ( w)
J ij( w)  Termen de perturbare care elimina
w j
cazurile singulare (matrice
Avantaj: neinversabila)
 Nu necesita calculul hessianei
 Pentru valori mari ale factorului de atenuare, ajustarea devine similara celei de la
Inteligenta artificiala- curs 6 Otilia DRAGOMIR
metoda gradientului
Variante ale BP
Variante
3. Alegerea ratei de invatare:
 Constanta
 Adaptiva
 Metode euristice
 Aplicand, la fiecare etapa de ajustare, o metoda unidimensionala de
minimizare
4. Initializarea ponderilor:
 Aleator
 Aplicand o metoda aleatoare de minimizare

Inteligenta artificiala- curs 6 Otilia DRAGOMIR


Algoritmul BackPropagation
Probleme ale algoritmului BP

1. Viteza mica de convergenta (eroarea descreste prea incet)

2. Oscilatii (valoarea erorii oscileaza in loc sa descreasca in mod constant)

3. Problema minimelor locale (procesul de invatare se blocheaza intr-un minim


local al functiei de eroare)

4. Stagnare (procesul de invatare stagneaza chiar daca nu s-a ajuns intr-un minim
local)

5. Supraantrenarea si capacitatea limitata de generalizare

Inteligenta artificiala- curs 6 Otilia DRAGOMIR


Algoritmul BackPropagation
Probleme ale algoritmului BP

P1: Eroare descreste prea incet sau oscileaza in loc sa descreasca


Cauze:
 Valoare inadecvata a ratei de invatare (valori prea mici conduc la convergenta
lenta iar valori prea mari conduc la oscilatii)
 Solutie: adaptarea ratei de invatare

 Metoda de minimizare are convergenta lenta


 Solutii:
- modificarea euristica a variantei standard (e.g. momentum)
- utilizarea unei alte metode de minimizare (Newton, gradient conjugat)

Inteligenta artificiala- curs 6 Otilia DRAGOMIR


Algoritmul BackPropagation
Probleme ale algoritmului BP
P1: Eroare descreste prea incet sau oscileaza in loc sa descreasca
Cauze:
 Valoare inadecvata a ratei de invatare (valori prea mici conduc la
convergenta lenta iar valori prea mari conduc la oscilatii)
 Solutie: adaptarea ratei de invatare
 Daca eroarea creste semnificativ atunci rata de invatare trebuie redusa (ajustarile
sunt ignorate)
 Daca eroarea descreste semnificativ atunci rata de invatare poate fi marita
(ajustarile sunt acceptate)
 In toate celelalte cazuri rata de invatare ramane neschimbata
E ( p)  (1   ) E ( p  1)   ( p)  a ( p  1), 0  a  1
E ( p)  (1   ) E ( p  1)   ( p)  b ( p  1), 1  b  2
(1   ) E ( p  1)  E ( p)  (1   ) E ( p  1)   ( p)   ( p  1)
Exemplu: γ=0.05
Inteligenta artificiala- curs 6 Otilia DRAGOMIR
Algoritmul BackPropagation
Probleme ale algoritmului BP

P1: Eroare descreste prea incet sau oscileaza in loc sa descreasca


Cauze:
 Metoda de minimizare are convergenta lenta
 Solutii:
- modificarea euristica a variantei standard (e.g. momentum)
- utilizarea unei alte metode de minimizare (Newton, gradient conjugat)

Varianta cu “moment” (termen de inertie): wij ( p  1)   i y j  wij ( p)


 Se introduce o “inertie” in calculul ponderilor:   0.9
termenul de ajustare a ponderilor de la epoca curenta se calculeaza pe baza
semnalului de eroare precum si a ajustarilor de la epoca anterioare

 Actioneaza ca o adaptare a ratei de invatare: ajustarile sunt mai mari in portiunile


plate ale functiei de eroare si mai mici in cele abrupte

 Se combina cu varianta pe blocuri


Inteligenta artificiala- curs 6 Otilia DRAGOMIR
Algoritmul BackPropagation
Probleme ale algoritmului BP
P2: Problema minimelor locale (procesul de invatare se blocheaza intr-un minim
local al functiei de eroare)
Cauze:
 Metoda gradientului este o metoda de minimizare locala

 Solutii:
- se restarteaza antrenarea de la alte valori initiale ale ponderilor
- se introduc perturbatii aleatoare (se adauga la ponderi dupa aplicarea
ajustarilor):

wij : wij   ij,  ij  valori aleatoare uniform


sau normal distribuit e

Inteligenta artificiala- curs 6 Otilia DRAGOMIR


Algoritmul BackPropagation
Probleme ale algoritmului BP
P2: Problema minimelor locale (procesul de invatare se blocheaza intr-un minim
local al functiei de eroare)
Cauze:
 Metoda gradientului este o metoda de minimizare locala

Solutie:
 Inlocuirea metodei gradientului cu o metoda aleatoare de optimizare
 Inseamna utilizarea unei perturbatii aleatoare in locul celei calculate pe baza
gradientului
 Ajustarile pot conduce la cresterea valorii erorii
 Pasul de ajustare
 ij : valori aleatoare
IF E (W   )  E (W ) THEN se accepta ajustare (W : W   )
Obs:
 Ajustarile sunt de regula generate in conformitate cu repartitia normala de medie 0
si dispersie adaptiva
 Daca ajustarea nu conduce la o descrestere a valorii erorii atunci nu se accepta
deloc
Inteligenta sau se
artificiala- curs accepta
6 cu o probabilitate mica
Otilia DRAGOMIR
Algoritmul BackPropagation
Probleme ale algoritmului BP
Pb 3: Stagnare (procesul de invatare stagneaza chiar daca nu s-a ajuns intr-un minim
local)
Cauza:
 Ajustarile sunt foarte mici intrucat se ajunge la argumente mari ale functiilor
sigmoidale si la valori foarte mici ale derivatelor;
 argumentele sunt mari fie datorita faptului ca datele de intrare nu sunt normalizate
fie intrucat valorile ponderilor sunt prea mari
 Solutii:
- se “penalizeaza” valorile mari ale ponderilor
- se utilizeaza doar semnele derivatelor nu si valorile lor

Inteligenta artificiala- curs 6 Otilia DRAGOMIR


Algoritmul BackPropagation
Probleme ale algoritmului BP
Pb 3: Stagnare (procesul de invatare stagneaza chiar daca nu s-a ajuns intr-un minim
local)
Cauza:
 Ajustarile sunt foarte mici intrucat se ajunge la argumente mari ale functiilor
sigmoidale ceea ce conduce la valori foarte mici ale derivatelor; argumentele sunt
mari fie datorita faptului ca datele de intrare nu sunt normalizate fie intrucat valorile
ponderilor sunt prea mari

Solutie:
Penalizarea valorilor mari ale ponderilor: se adauga un termen de penalizare la functia
de eroare
E( r ) (W )  E (W )   
i, j
wij2

Ajustarea va fi:
(ijr )   ij  2wij
Inteligenta artificiala- curs 6 Otilia DRAGOMIR
Algoritmul BackPropagation
Probleme ale algoritmului BP
Pb 3: Stagnare (procesul de invatare stagneaza chiar daca nu s-a ajuns intr-un minim
local)
Cauza:
 Ajustarile sunt foarte mici intrucat se ajunge la argumente mari ale functiilor
sigmoidale ceea ce conduce la valori foarte mici ale derivatelor; argumentele sunt
mari fie datorita faptului ca datele de intrare nu sunt normalizate fie intrucat valorile
ponderilor sunt prea mari

Solutie:
Utilizarea semnului derivatei nu si a valorii (Resilient BackPropagation – RPROP)
 E (W ( p  1))

 ij  ( p ) if 0
 wij
wij ( p)  
E (W ( p  1))
  ij ( p) if 0
 w ij

 E (W ( p  1)) E (W ( p  2))
 a  ij ( p  1) if  0
 w w
 ij ( p)   ij ij
E (W ( p  1)) E (W ( p  2))
b ij ( p  1) if  0
Inteligenta artificiala- curs 6 
 w 
Otilia DRAGOMIR
ij w ij

0  b 1 a
Algoritmul BackPropagation
Probleme ale algoritmului BP
Pb 4: Supraantrenare si capacitate limitata de generalizare:
Cauze:
Arhitectura retelei (numarul de unitati ascunse)
 Un numar prea mare de unitati ascunse poate provoca supraantrenare
(reteaua extrage nu doar informatiile utile din setul de antrenare ci si
zgomotul)
Dimensiunea setului de antrenare
 Prea putine exemple nu permit antrenarea si asigurarea capacitatii de
generalizare
Numarul de epoci (toleranta la antrenare)
 Prea multe epoci conduc la supraantrenare

Solutii:
- modificarea dinamica a arhitecturii
- criteriul de oprire se bazeaza nu pe eroarea din setul de antrenare ci pe eroarea
de pe setul de validare

Inteligenta artificiala- curs 6 Otilia DRAGOMIR


Algoritmul BackPropagation
Probleme ale algoritmului BP
Pb 4: Supraantrenare si capacitate limitata de generalizare:
Cauze:
 Arhitectura retelei (numarul de unitati ascunse)

Solutii:
Modificarea dinamica a arhitecturii:
 Strategie incrementala:

 Se porneste cu un numar mic de unitati ascunse


 Daca antrenarea nu progreseaza se adauga succesiv unitati; pentru
asimilarea lor se ajusteaza in cateva epoci doar ponderile corespunzatoare
 Strategie decrementala:
 Se porneste cu un numar mare de unitati
 Daca exista unitati care au impact mic asupra semnalului de iesire atunci
acestea se elimina

Inteligenta artificiala- curs 6 Otilia DRAGOMIR


Algoritmul BackPropagation

Pb 4: Supraantrenare si capacitate limitata de generalizare:


Cauze:
 Arhitectura retelei (numarul de unitati ascunse)

Solutii:
Criteriu de oprire bazat pe eroarea pe setul de validare :
 Strategie incrementala:

 Se imparte setul de antrenare in m parti: (m-1) sunt folosite pentru


antrenare si una pentru validare
 Ajustarea se aplica pana cand eroarea pe setul de validare incepe sa
creasca
 Validare incrucisata:
 Algoritmul de invatare se aplica de m ori pentru cele m variante posibile de
partitionare a datelor in subset de antrenare si subset de validare

Inteligenta artificiala- curs 6 Otilia DRAGOMIR


Algoritmul BackPropagation
Probleme ale algoritmului BP

Eroare pe setul de validare

Eroare pe setul de antrenare

Criteriu de oprire bazat pe eroarea pe setul de validare

Inteligenta artificiala- curs 6 Otilia DRAGOMIR


6.4. Algoritmi de invatare a retelelor cu
functii radiale
 Antrenarea reţelelor bazate pe funcţii radiale, în scopul obţinerii funcţiei de interpolare,
presupune 2 etape:
 Stabilirea valorilor elemetelor vectorului centrilor vk şi a dispersiei σk pentru
fiecare neuron k din stratul ascuns;
 Determinarea ponderilor printr-o metodă de antrenare, iterativă sau neiterativă.
 Actualizarea ponderilor se poate face iterativ, pe baza unei reguli de minimizare a
erorii. Cel mai des utilizată, este metoda de descreştere pas cu pas a gradientului
funcţiei de eroare, care, similar perceptronului multistrat va da o regulă de actualizare
a ponderilor.
 Proiectarea şi antrenarea reţelelor bazate pe funcţii radiale depinde în mod esenţial
de modul de specificare al centrilor funcţiilor radiale.

Inteligenta artificiala- curs 6 Otilia DRAGOMIR


6.4. Algoritmi de invatare a retelelor cu
functii radiale
Metoda alegerii aleatoare a unor centri ficşi

Este cea mai simplă modalitate de alegere a centrilor, presupunând că funcţiile de


activare ale neuronilor din stratul ascuns sunt funcţii radiale fixe.

Uzual, se utilizează ca funcţii radiale, funcţii Gaussiene având deviaţia standard fixă,
dependentă de împrăştierea centrilor, de forma:

  e
M
 X  k
G X  k
2 2
, k  1, 2., N
unde M<N este numărul centrilor, iar  este distanţa maximă între centrii aleşi.
Valoarea deviaţiei standard pentru funcţiile Gaussiene este dată de: 

2M

Cum în acest caz, centrii au poziţii fixe, iar deviaţia standard este constantă, singurii
parametrii care trebuie determinaţi sunt ponderile conexiunilor dintre stratul ascuns şi
stratul de ieşire. O metodă imediată de determinare a matricii (vectorului) ponderilor
este metoda matricii pseudoinverse
Matricea pseudoinversă de dimensiune MxN a matricii G poate fi calculată ca G   V U T
unde matricea diagonală + de dimensiune NxN, este definită de
 1 1 1 
Inteligenta artificiala- curs 6    diag  , Otilia , 0,, 0 
,DRAGOMIR
,
  j 
 1 2 
6.4. Algoritmi de invatare a retelelor cu
functii radiale
Metoda selecţiei supervizate a centrilor
În acest caz, atât centrii funcţiilor radiale utilizate ca funcţii de activare pentru neuronii din
stratul ascuns, cât şi ponderile conexiunilor dintre stratul ascuns şi stratul de ieşire sunt
adaptate de o manieră supervizată, prin minimizarea unei funcţii de eroare. Uzual, pentru
minimizarea erorii se utilizează un algoritm de descreştere pas cu pas a gradientului.
În cazul selecţiei supervizate a centrilor, problema determinării funcţiilor de activare radiale
nu este o problemă complet determinată, din mai multe motive:
• este imposibil de a şti câte exemple de antrenare trebuie prezentate reţelei, astfel
încât informaţia să fie suficientă pentru determinarea unică a funcţiilor radiale. Deci,
condiţia de unicitate nu este îndeplinită.
• semnalele de intrare, pot fi contaminate de zgomote. O valoare mare a amplitudinii
acestora, va face ca valoarea funcţiei radiale să fie aruncată în afara hipersferei  , deci
condiţia de continuitate nu va fi îndeplinită.

Pentru antrenarea reţelei bazate pe funcţii radiale se utilizează un algoritm propus de


Haykin

Inteligenta artificiala- curs 6 Otilia DRAGOMIR


6.4. Algoritmi de invatare a retelelor cu
functii radiale
Selecţia supervizată a centrilor
Algoritmul de antrenare este următorul (Haykin 1994):
Adaptarea ponderilor stratului de ieşire
E ( j )
 
N
  em ( j )G xm   k ( j )
wk ( j ) m1 Ck

E ( j )
wk ( j  1)  wk ( j )  1 , k  1, 2,, M
wk ( j )

Poziţia centrilor funcţiilor radiale ale neuronilor din stratul ascuns

E ( j )
 
N
 2wk ( j ) em ( j )G' xm   k ( j ) 1
xm   k ( j)
 k ( j ) Ck k
m 1

E ( j )
k ( j  1)  k ( j )   2 , k  1, 2, , M
k ( j )
Împrăştierea centrilor stratului ascuns
E ( j )
 Q
N
  wk ( j ) em ( j )G' xm   k ( j ) ( j)
 k1 ( j ) Ck mk
m 1

Qmk ( j )  xm   k ( j )xm   k ( j )


T

E ( j )
 k1 ( j  1)   k1 ( j )   3
Inteligenta artificiala- curs 6  k1 ( j ) Otilia DRAGOMIR

S-ar putea să vă placă și