Sunteți pe pagina 1din 17

UNIVERSITATEA OVIDIUS DIN CONSTANTA

FACULTATEA DE MATEMATICA SI INFORMATICA


MASTER – MODELARE SI TEHNOLOGII INFORMATICE

Algoritmi de recunoaștere a formelor


bazați pe rețele neuronale

Masterand,
Sîrbu Gheorghe-Florin

2018
Cuprins
C.1 Introducere
C.2 Recunoașterea formelor
1. Filtrarea
2. Extragerea elementelor
3. Clasificarea
3. 1. Conceptul member-roster
3. 2. Conceptul de proprietate comună
3. 3. Conceptul clustering
3. 4. Abordarea neurală
C.3 Recunoaşterea formelor cu ajutorul reţelelor neuronale
1. Algoritmi
2. Învățare mașină
C.4 Concluzii
C.5 Bibliografia

2
C.1 Introducere
Recunoaștere formelor joacă un rol important în viața noastră. Este o proprietate de
bază a tuturor ființelor umane. Atunci când o persoană vede un obiect, el sau ea colectează
mai întâi toate informațiile despre obiect și compară proprietățile și comportamentele sale cu
cunoștințele existente stocate în minte. Dacă găsim o potrivire potrivită, o recunoaștem.

Figura 1 – Forme biologice [5]

De exemplu, când vedem un câine, mai întâi recunoaștem că este un animal. Când ne
uităm mai îndeaproape, recunoaștem că are patru picioare și o coadă. După cum știm, cele
mai multe animale au patru picioare și o coadă. Întrebarea este cum recunoaștem că este un
câine. Ne uităm la alte proprietăți ale câinilor, cum ar fi fața, forma urechii, gurii, nasului,
structura corpului, dinții, ochii și vocea.
S-ar putea să fi văzut o mulțime de câini și am învă țat cum arătă un câine. După ce am
făcut o analiză corectă a tuturor proprietăților, recunoaștem și concluzionăm că este un câine.
Mergem cu un pas mai departe, putem diferenția sau recunoaștem propriul câine atunci când
câinele nostru este cu alți câini. Acest concept de recunoaștere este simplu și familiar pentru
toată lumea în mediul real, dar în lumea inteligenței artificiale, recunoașterea unor astfel de
obiecte este o faptă uimitoare.
Funcționalitatea creierului uman este uimitoare, nu este comparabilă cu nici o mașină
sau software artificial. Să mergem mai adânc și să analizăm ce este recunoașterea și cum se
face prin mașini.Există unele asemănări de bază între rețelele neuronale biologice și rețelele
neuronale artificiale. Rețelele neuronale artificiale sunt în mare parte construite matematic
care au fost inspirate de rețelele neuronale biologice. Un termen important care este adesea
folosit pentru a descrie diferiți algoritmi de rețele neuronale artificiali este plauzibilitatea
biologică. Acest termen definește cât de aproape este algoritmul unei rețele neurale artificiale
de o rețea neuronală biologică.
Rețelele neuronale sunt concepute pentru a realiza sarcini mici. O aplicație completă
va utiliza probabil rețele neuronale pentru a realiza anumite părți ale aplica ției. Întreaga
aplicație nu va fi implementată ca o rețea neurală. Aplicația poate fi realizată din mai multe

3
rețele neuronale, fiecare proiectată pentru o anumită sarcină.

Rețelele neuronale artificiale au multe aplicații în lumea reală, în procesarea


imaginilor, câteva exemple:
- Identificarea și autentificarea: de exemplu, recunoașterea plăcuței de
înmatriculare, analiza amprentelor digitale și detectarea / verificarea feței.
- Diagnostic medical: de exemplu, (Papnet) sau tumori de sân.
- Apărare: diverse sisteme de navigare și ghidare, sisteme de recunoaștere a
țintei, tehnologie de recunoaștere a formelor.

În psihologie, recunoașterea modelului (sensibilitatea și identificarea obiectelor) este


strâns legată de percepție, ceea ce explică modul în care intrările senzoriale pe care le primesc
oamenii sunt făcute cu înţeles. Modelarea recunoașterii poate fi gândită în două moduri
diferite: prima fiind potrivirea șablonului, iar cea de-a doua fiind detectarea caracteristicilor.
Un șablon este un model utilizat pentru a produce elemente de aceleași proporții. Ipoteza de
potrivire a șabloanelor sugerează că stimulii de intrare sunt comparați cu șabloanele existente
în memoria. Dacă există o asemnare, stimulul este identificat. Formele de detectare a
modelelor, cum ar fi sistemul Pandemonium pentru clasificarea literelor (Selfridge, 1959),
sugerează că stimulii sunt defalcați în părțile componente pentru identificare. De exemplu, un
capital E are trei linii orizontale și o linie verticală.
Sarcina pe care rețelele neuronale o realizează foarte bine este recunoașterea
modelului. Comunicați un model unei rețele neuronale și comunică un model înapoi către dvs.
La cel mai înalt nivel, aceasta este tot ceea ce face o rețea tipică neurală. Unele arhitecturi de
rețea vor varia, dar marea majoritate a rețelelor neuronale existente funcționează astfel.
Recunoașterea formelor este un domeniu activ de cercetare care are aplicații în diverse
discipline, cum ar fi știința informației, economie, inginerie și învățare mașină. Intuitiv,
recunoașterea formelor ar putea fi definită ca fiind problema modului în care un agent rațional
(autonom) decide ce clasă de obiecte aparține unui obiect nou dat. În versiunea sa simplă, dat
fiind o familie de clase de obiecte Ci (reprezentând obiecte de diferite tipuri), agentul
rațional trebuie să decidă la ce obiect se află un obiect dat. Versiunile mai sofisticate
presupunem că cunoașterea agentului rațional este dată în ceea ce privește repartizarea
probabilităților

4
C.II Recunoasterea formelor
Actul de recunoaștere poate fi împărțit în două mari categorii: recunoașterea
elementelor concrete și recunoașterea elementelor abstracte. Recunoașterea elementelor
concrete implică recunoașterea elementelor spațiale și temporale. Exemple de elemente
spațiale sunt amprentele digitale, hărțile meteorologice, fotografiile și obiectele fizice.
Exemple de elemente temporale sunt forme de undă și semnături. Recunoașterea elementelor
abstracte implică recunoașterea unei soluții la o problemă, a unei conversații sau a unui
argument vechi. Cu alte cuvinte, recunoașterea elementelor care nu există fizic.

Figura 1 - Formă de amprentă

5
Aplicațiile includ identificarea amprentelor digitale, recunoașterea vocii, recunoașterea
feței, recunoașterea semnăturii și clasificarea obiectelor în domenii științifice / de cercetare,
cum ar fi astronomia, ingineria, statisticile, învățarea medicală, mașinile și rețelele neuronale.
Recunoașterea unui element implică trei niveluri de procesare: filtrarea intrărilor, extragerea și
clasificarea caracteristicilor

1 Filtrarea
Filtrarea elimină informațiile sau datele nedorite de la intrare. În funcție de aplica ție,
algoritmul sau metoda de filtrare se vor schimba.
De exemplu, luăm în considerare identificarea prin amprentă. De fiecare dată când
scanăm amprentele digitale printr-un dispozitiv de amprentă (fără cerneală), ieșirea scanată
poate fi diferită.
Diferența se poate datora unei modificări a contrastului sau luminozității sau în
fundalul imaginii, ar putea exista o anumită distorsiune. Pentru a procesa intrarea, este posibil
să avem nevoie doar de linii în amprentele digitale și este posibil să nu avem nevoie de
celelalte părți sau de fundalul amprentei.
Pentru a filtra partea nedorită a imaginii și a o înlocui cu un fundal alb, avem nevoie
de un mecanism de filtrare.
Odată ce imaginea este filtrată prin mecanismul de filtrare, vom obține printuri
standard cu amprente cu linii, care la rândul lor ajută la procesul de extrac ție a
caracteristicilor.

Figura 1.2 - Exemplu de filtrare

6
2 Extragerea elementelor
Extragerea de elemente este un proces de studiere și de obținere a informațiilor utile
din modelele de intrare filtrate. Informațiile derivate pot fi caracteristici generale, care sunt
evaluate pentru a ușura prelucrarea ulterioară. De exemplu, în recunoașterea formelor,
caracteristicile extrase vor conține informații despre nuanțele de gri, textura, forma sau
contextul imaginii. Aceasta este principala informație utilizată în procesarea imaginilor.
Metodele de extragere a caracteristicilor și caracteristicile extrase depind de aplicație.

3 Clasificarea
Clasificarea este etapa finală a recunoașterii modelului. Aceasta este etapa în care un
sistem automat declară că obiectul introdus aparține unei anumite categorii. Există multe
metode de clasificare în domeniu. Metodele de clasificare se bazează pe următoarele
concepte.

Conceptul member-roster
În cadrul acestui concept de potrivire a șabloanelor, un set de modele apar ținând unui
același model este stocat într-un sistem de clasificare. Atunci când un model
necunoscut este dat ca intrare, acesta este comparat cu modelele existente și plasat sub
clasa de model de potrivire.

Conceptul de proprietate comună


În acest concept, proprietățile comune ale modelelor sunt stocate într-un sistem de
clasificare. Când un model necunoscut intră în interior, sistemul verifică proprietatea
comună extrasă împotriva proprietăților comune ale claselor existente și plasează
modelul / obiectul într-o clasă care are proprietăți comune similare.

Conceptul clustering
Aici, modelele clasei vizate sunt reprezentate în vectori ale căror componente sunt
numere reale. Deci, folosind proprietățile sale de grupare, putem clasifica cu u șurin ță
modelul necunoscut. Dacă vectorii țintă sunt foarte îndepărtați în aranjament
geometric, este ușor să clasificați modelele necunoscute. Dacă sunt în apropiere sau
dacă există o suprapunere în aranjamentul clusterului, avem nevoie de algoritmi mai
complexi pentru clasificarea modelelor necunoscute. Un algoritm simplu bazat pe

7
conceptul de clustering este Clasificarea minimă a distanței. Această metodă
calculează distanța dintre modelul necunoscut și setul dorit de modele cunoscute și
determină ce model cunoscut este cel mai apropiat de cel necunoscut și, în final,
modelul necunoscut este plasat sub modelul cunoscut, la care are distan ța minimă.
Acest algoritm funcționează bine atunci când modelele țintă sunt foarte îndepărtate.

Abordarea neurală
Abordările de recunoaștere a modelelor discutate mai sus se bazează pe
calculul direct prin mașini. Calcularea directă se bazează pe tehnici legate de
matematică. Abordarea neurală aplică concepte biologice mașinilor pentru a
recunoaște modelele. Rezultatul acestui efort este inventarea rețelelor neuronale
artificiale.
O rețea neuronală este un sistem de procesare a informațiilor. Se compune din
unități de procesare masive simple cu un grad ridicat de interconectare între fiecare
unitate. Unitățile de procesare lucrează în mod cooperativ și realizează o procesare
distribuită masivă paralelă. Avantajele rețelelor neuronale sunt capacitățile lor de
adaptare-învățare, auto-organizare și toleranță la erori. Pentru aceste capacități
remarcabile, rețelele neuronale sunt utilizate pentru aplicațiile de recunoaștere a
modelelor. În mod normal, pentru recunoașterea modelului sunt utilizate numai rețele
de feed-forward. Feed-forward înseamnă că nu există feedback la intrare. Similar cu
modul în care oamenii învață din greșeli, rețelele neuronale ar putea, de asemenea, să
învețe din greșelile lor, oferind feedback modelului de intrare. Acest tip de feedback ar
fi folosit pentru a reconstrui modelele de intrare și a le elimina de erori, crescând astfel
performanța rețelelor neuronale. Desigur, este foarte complex să construim astfel de
tipuri de rețele neuronale. Aceste tipuri de rețele sunt denumite re țele neurale
autoasociative. După cum sugerează și numele, ele folosesc algoritmi de propagare
înapoi. Una dintre principalele probleme asociate algoritmilor de propagare înapoi este
minimul local. În plus, rețelele neuronale au probleme asociate cu viteza de învă țare,
selecția arhitecturii, reprezentarea caracteristicilor, modularitatea și scalarea. Deși
există probleme și dificultăți, avantajele potențiale ale rețelelor neuronale sunt mari.

8
C.III Recunoaşterea formelor cu ajutorul reţelelor neuronale

(neural networks approach)

Strat de Strat Strat de Ieșire


Model intrare ascuns ieșire model

Figura 1 – Structura unui eeuron de recunoaștere a formelor

Rețeaua neuronală de mai sus acceptă un model și returnează un model. Re țelele


neuronale funcționează complet sincron. O rețea neurală va afișa numai când este prezentată
cu intrare. Nu este ca un creier uman, care nu funcționează exact în mod sincron. Creierul
uman răspunde la intrare, dar va produce rezultate ori de câte ori este nevoie!
Structurile rețelelor neuronale sunt realizate din straturi de neuroni similari. Cele mai
multe rețele neuronale au cel puțin un strat de intrare și un strat de ie șire. Modelul de intrare
este prezentat stratului de intrare. Apoi modelul de ieșire este returnat din stratul de ie șire. Ce
se întâmplă între straturile de intrare și de ieșire este o cutie neagră. Există mai multe
arhitecturi diferite care definesc ce se întâmplă între stratul de intrare și ieșire.

Modelele de intrare și ieșire sunt ambele matrice de numere cu puncte variabile.


Putem sa gândim în felul cum urmează.
Rețea neuronală Intrare: [ -0.245, .283, 0.0 ]
Rețea neuronală Ieșire: [ 0.782, 0.543 ]

Rețeaua neuronală de mai sus are trei neuroni în stratul de intrare și doi neuroni în
stratul de ieșire. Numărul de neuroni din straturile de intrare și ieșire nu se modifică. Ca
rezultat, numărul elementelor din modelele de intrare și ieșire, pentru o anumită rețea
neuronală, nu se pot schimba niciodată. Pentru a utiliza rețeaua neuronală, este nevoie în
stratul de intrare sa fie numerele cu virgulă mobilă. De asemenea, soluția la problemă trebuie
să fie o serie de numere cu puncte variabile. Asta este tot ceea ce rețelele neuronale pot face.
Ele iau o matrice și o transformă într-o secundă.

9
1 Algoritmi

Figura 1.2 – Kernel

Algoritmii pentru recunoașterea formelor depind de tipul de ieșire, de modul în care


învățarea este supravegheat sau nesupravegheată și de faptul dacă algoritmul are caracter
statistic sau non-statistic. Algoritmii statistici pot fi în continuare clasificați ca generatori sau
discriminativi.

Algoritmi de clasificare (algoritmi supravegheați care prezic etichetele)


Parametric:
- Analiza discriminatorie liniară.
- Analiza discriminatorie quadratică.
- Clasificatorul de entropie maximă.

Neparametric:
- Arbori de decizie, listele de decizie.
- Kernel estimator și algoritmi K-cel mai apropiat vecin.
- Rețele neuronale (perceptroni multistrat).
- perceptroni.
- Mașini vectoriale de suport.
- Expresii genetice programate.

10
Algoritmi de alocare (algoritmi nesupravegheați care prezic etichete categorice)
- Modele clasice de amestec.
- Metode de învățare profundă.
- Categoriile ierarhice (aglomerative sau divizive).
- K-Grupare.
- Corelarea clustering-ului.
- Principala analiză a componentelor nucleului.

Ansamblul algoritmilor de învățare (meta-algoritmi supravegheați pentru


combinarea mai multor algoritmi de învățare împreună)
- Stimularea (meta-algoritm).
- Booststrap agregare ("bagging").
- Ansamblul de mediere.
- Amestec de experți, amestec ierarhic de experți.

Algoritmi generali pentru predicția etichetelor arbitrare (structurate)


- Rețele bayesiene
- Markov câmpuri aleatorii

Algoritmi de învățare sub-spațială multi-liniară (prezicerea etichetelor datelor


multidimensionale utilizând reprezentările tensorului)
Nesupravegheați:
- Analiza principală a componentelor principale.

Algoritmi de etichetare secvență cu valoare reală (secvențe de estimare a etichetelor


cu valoare reală)
Supravegheați :
- Filtrele Kalman
- Filtre de particule

11
Algoritmi de regresie (prezicerea etichetelor cu valoare reală)
Supravegheat:
- Regresia procesului Gaussian
- Regresie liniară și extensii
- Rețele neuronale și metode de învățare profundă

Nesupravegheați:
- Analiza independentă a componentelor
- Analiza principală a componentelor

Algoritmi de etichetare a eșantioanelor (secvențe de predicție ale etichetelor


categorice)
Supravegheat:
- Câmpuri aleatorii condiționate.
- Modele ascunse Markov
- Modele de marcă cu entropie maximă
- Retele neuronale recurente

Nesupravegheați:
- Modele ascunse Markov

2 Învăţare maşină
Putem spune că învățare maşină este competența software-ului de a efectua o serie de
sarcini în mod inteligent, fără a fi programat pentru aceste activități. Aceasta face parte din
Inteligența Artificială. În mod normal, software-ul se comportă așa cum programatorul l-a
programat, în timp ce învățare maşină merge cu un pas mai departe, făcând software-ul
capabil să îndeplinească sarcinile intenționate prin utilizarea tehnicilor de analiză statistică și
de analiză predictivă. S-ar putea să fi observat că ori de câte ori ne place sau comentăm
fotografiile sau videoclipurile unui prieten pe un site, imaginile și videoclipurile aferente sunt
afișate mai devreme și continuă să fie afișate. La fel ca și sugestiile pe care le primim,
sistemul ne sugerează că alte profiluri ale utilizatorilor să fie adăugate ca prieteni care au
legătură cu lista prietenilor existenți. Aceasta se numește Învățare în mașină.

12
Învățare maşină este o tehnică care funcționează inteligent prin utilizarea unor
algoritmi complexi și a unui set de reguli predefinite. Utilizează datele anterioare pentru a citi
modelele și apoi, pe baza analizei, generează datele relevante sau efectuează sarcina dorită,
respectând regulile și algoritmii definiți.

Tipuri de probleme și sarcini


În general, sarcinile de învățare maşină se clasifică în trei mari categorii, în funcție de
natura învățării sau de "feedback-ul" disponibil unui sistem de învățare.
Acestea sunt:
- Învățare supravegheată: calculatorul este prezentat cu exemple de intrări și
rezultatele dorite, date de un “profesor”.
- Învățarea nesupravegheată: nu se dau etichete algoritmului de învățare, lăsându-l
singur să găsească o structură în intrare. Învățarea nesupravegheată poate fi un scop în sine
(descoperirea unor modele ascunse în date) sau un mijloc spre un final (învățarea
caracteristică).
- Consolidarea învățării: un program de calculator, interacționează cu un mediu
dinamic în care trebuie să îndeplinească un anumit scop (cum ar fi conducerea vehiculului sau
jocul împotriva unui adversar).

Învățarea supravegheată
Învățarea supravegheată este sarcina de învățare a mașinii de a deduce o funcție din
datele de antrenament etichetate. Datele de instruire constau dintr-un set de exemple de
instruire. În învățarea supravegheată, fiecare exemplu este o pereche constând dintr-un obiect
de intrare (de obicei un vector) și o valoare de ieșire dorită (numită și semnalul de
supraveghere). Un algoritm de învățare supravegheată analizează datele de antrenament și
produce o funcție dedusă, care poate fi utilizată pentru cartografierea unor noi exemple. Un
scenariu optim va permite ca algoritmul să determine corect etichetele de clasă pentru instanțe
nevăzute. Acest lucru necesită ca algoritmul de învățare să generalizeze din datele de
antrenament la situații nevăzute într-un mod "rezonabil" (bias).
Există mai multe moduri în care problema generală de învățare supravegheată poate fi
generalizată: Învățare semi-supervizată, Învățarea activă, Predicție structurată.

13
Figura 1.3 – învățarea supravegheată

Algoritmii de învățare cel mai frecvent utilizați sunt mașinile vectoriale de suport,
regresia liniară, regresia logistică, Naive Bayes, analiza diferențială liniară, arborii de decizie,
algoritmul k-cel mai apropiat vecin și rețelele neuronale (Multilayer perceptron).
Pentru a rezolva o anumită problemă de învățare supravegheată, trebuie să
îndeplinească următoarele etape:
1. Determinăm tipul de exemple de instruire. Înainte de a face orice altceva,
utilizatorul ar trebui să decidă ce fel de date urmează a fi folosit ca set de instruire. În cazul
analizei scrierii de mână, de exemplu, acesta ar putea fi un singur caracter scris de mână, un
întreg cuvânt scrise de mână sau o întreagă linie de scriere de mână.
2. Adunăm un set de antrenament. Setul de formare trebuie să fie reprezentativ pentru
utilizarea reală a funcției. Astfel, se colectează un set de obiecte de intrare și se colectează, de
asemenea, rezultate de la experți umani sau de la măsurători.
3. Determinăm reprezentarea caracteristicilor de intrare a funcției învățate. Precizia
funcției învățate depinde puternic de modul în care este reprezentat obiectul de intrare. În mod
obișnuit, obiectul de intrare este transformat într-un vector caracteristic, care conține un
număr de caracteristici care descriu obiectul. Numărul de caracteristici nu ar trebui să fie prea
mare, dar ar trebui să conțină suficiente informații pentru a anticipa cu precizie rezultatul.
4. Determinăm structura funcției învățate și algoritmul de învățare corespunzător. De
exemplu, inginerul poate alege să folosească mașini vectoriale de suport sau arbori de decizie.
5. Finalizarea procesului de proiectare. Rulăm algoritmul de învățare pe setul de
instruire colectat.
6. Evaluăm acuratețea funcției învățate. Performanța funcției rezultate ar trebui
măsurată pe un set de testare care este separat de setul de antrenament.

14
Învățarea nesupravegheată
Învățarea nesupravegheată este sarcina de învățare a mașinii de a deduce o func ție
pentru a descrie structura ascunsă din datele “neetichetate” (o clasificare nu este inclusă în
observații). Deoarece exemplele oferite mașinii nu sunt etichetate, nu există nicio evaluare a
acurateței structurii care rezultă din algoritmul relevant - care este o modalitate de a distinge
învățarea nesupravegheată de învățarea supravegheată și de învățarea prin consolidare.
Un caz central de învățare nesupravegheată este problema estimării densității în
statistici, deși învățarea nesupravegheată cuprinde multe alte probleme (și soluții) care implică
sintetizarea și explicarea caracteristicilor-cheie ale datelor.

Figura 1.4 – Model de grupare

Consolidarea învățării
Consolidarea învățării este o arie din învățare mașină inspirată din psihologie,
preocupată de modul în care agenții software ar trebui să ia măsuri într-un mediu pentru a
maximiza o noțiune de recompensă cumulativă.
Problema datorită generalității, este studiată în multe alte discipline, cum ar fi teoria
jocurilor, teoria controlului, cercetarea operațiunilor, teoria informațiilor, optimizarea bazată
pe simulare, sistemele multi-agent, inteligența roiurilor, statisticile și algoritmii genetici. În
cercetarea operațiunilor și de control, domeniul în care sunt studiate metodele de învățare se
numește programare dinamică aproximativă.
Problema a fost studiată în teoria controlului optim, deși majoritatea studiilor se referă
la existența soluțiilor optime și a caracterizării lor, și nu la aspectele de învă țare sau de
aproximare. În teoria economiei și a jocurilor, consolidarea învățării poate fi folosită pentru a
explica cum poate apărea echilibrul sub raționalitate limitată.

15
Concluzii
Recunoașterea formelor se poate face atât cu algoritmi normali de recunoaștere, cât și
cu rețelele neuronale. Calculatoarele folosesc algoritmi aritmetici convenționali pentru a
detecta dacă modelul dat se potrivește cu unul existent. Este o metodă directă. Se va spune fie
da, fie nu, nu tolerează modele zgomotoase. Pe de altă parte, rețelele neuronale pot tolera
zgomotul și, dacă sunt instruiți corespunzător, vor răspunde corect modelelor necunoscute.
Rețelele neuronale nu pot face miracole, dar dacă sunt construite cu arhitectura adecvată și
instruite corect cu date bune, ele vor da rezultate uimitoare nu numai în recunoașterea
formelor, ci și în alte aplicații științifice și comerciale.
Din 2006, a fost elaborat un set de tehnici care permit învățarea în re țele neuronale
profunde. Aceste tehnici de învățare profundă se bazează pe G radientDescent și pe
backpropagation, dar introduc și noi idei. Aceste tehnici au permis rețelelor mult mai adânci
(și mai mari) să fie instruite, acum se pot antrena rețele cu 5 până la 10 straturi ascunse. Și, se
pare că acestea funcționează mult mai bine pe multe probleme decât rețele neuronale
superficiale, adică rețele cu doar un singur strat ascuns. Motivul, desigur, este capacitatea
plaselor adânci de a construi o ierarhie complexă de concepte. Este un pic asemănător
modului în care libajele de programare convenționale folosesc design modular și idei despre
abstractizare pentru a permite crearea de programe computerizate complexe. Abstracția are o
formă diferită în rețelele neuronale decât în programele convenționale, dar este la fel de
importantă.

16
BIBLIOGRAFIE

[1] DAN ROTAR - http://cadredidactice.ub.ro/rotardan/files/2012/04/inteligenta-


artificiala.pdf
[2] TENSORFLOW, GOOGLE - Lib https://www.tensorflow.org/install/install_sources
[3] STANDFORD cs231n – CNNs
[4] Y. LeCun, Y. Bengio, and G. Hinton, “Deep learning,” Nature, vol. 521, no. 7553, pp.
436–444, May 2015.
[5] IOAN ISPAS – Algoritmi de recunoaşterea formelor şi clasificarea automată a imaginilor,
Referat, Univ. Babeş-Bolyai, Facultatea de Matematică-Informatică, Cluj-Napoca, 2004
[7] http://www.codeproject.com/Articles/15949/Hopfield-model-of-neural-network-for-
pattern-recog
[8] http://en.wikipedia.org/wiki/Hopfield_network
[9] http://en.wikipedia.org/wiki/Pattern_recognition

17