Romina Narcisa VirciuSupervizor: Prof. Daniela Zaharie Abstract 1 Cuprins 1 Introducere 3 2 Analiza tematicii 4 2.1 Machine Learning . . . . . . . …. [603001]

Universitatea de Vest din Timisoara
Facultatea de Matematica si Informatica
Sectia Inginerie Software
Algoritmi metaeuristici- Deep
Learning
Studenta:
Romina Narcisa VirciuSupervizor:
Prof. Daniela Zaharie

Abstract
1

Cuprins
1 Introducere 3
2 Analiza tematicii 4
2.1 Machine Learning . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.2 Deep Learning- general . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.3 Modele de tip Deep Learning . . . . . . . . . . . . . . . . . . . . . 7
3 Analiza pachetelor 10
3.1 Theano . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.2 PyLearn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.3 Word2vec . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
4 Concluzii 12
2

1 Introducere
Pentru a putea intelege tehnicile algoritmice utilizate in bioinformatica , in
proiectul abordat analizand o asemenea tehnica, trebuie mai intai sa stim ce in-
seamna defapt Bioinformatica.
3

2 Analiza tematicii
2.1 Machine Learning
Tehnologia avanseaza haotic, in zilele cotidiene incercandu-se automatizarea
tuturor lucrurilor din jur, astfel incat viata oamenilor sa e mai usoara, conforta-
bila si nu in ultimul rand, sa se economiseasca timp si cat mai multe resurse. Tot
in acest sens, a aparut si notiunea de "machine learning".
Machine learning ( =invatarea masinii) este un tip de inteligenta arti ciala,
care "ofera" calculatoarelor abilitatea de a invata, antrena, fara a programate
explicit. Focusul machine learning-ului este de a dezvolta programe pentru calcu-
lator, care pot usor de modi cat atunci cand apar date noi. Procesul dupa care
functioneaza "machine learning" este similar cu cel pentru Data mining, ambele
sisteme de cautare se bazeaza pe pattern-uri (=modele).
Algoritmii de invatarea masinii se clasi ca in invatare supervizata si invatare
nesupervizata.Algoritmii de la invatare supervizata pot aplica ce au invatat in tre-
cut la noile date, fata de algoritmul de la invatare nesupervizata, care pot sugera
concluzii avand seturile de date primite. Cel mai bun exemplu pentru ceea ce in-
seamna si cum functioneaza invatarea masinii, il putem regasi in cel mai raspandit
site de socializare Facebook, la News Feeds, care este personalizat in functie de
cateva caracteristici ale utilizatorului( exemplu, oprirea frecventa in procesul de
derulare ale "noutatilor" in dreptul unui alt utilizator/ site/ apasarea butonului
"like" pe o stire/ poza), toate acestea fac ca aceste date in urma actiunilor sa
apara cat mai sus in ierarhia de News Feeds. Invatarea masinii pentru acest exem-
plu are la baza software, analiza statistica si analiza predictiva pentru a identi ca
modelele in datele utilizatorului.
2.2 Deep Learning- general
Deep Learning este un tip de invatare nesupervizata, aspect al inteligentei
arti ciale, ind preocupat de abordarea invatarii pe care oamenii folosesc pentru a
obtine anumite tipuri de cunoastere. Acest tip de invatare poate ca o modalitate
de a automatiza analiza predictiva.
In Deep Learning, o retea este defapt o retea neuronala, adica un graf cu
noduri de iesire/ intrare si cu muchii etichetate cu ponderi( mai multe niveluri
4

ascunse). Folosindu-se acest tip de invatare, reteaua devine mai supla si mai usor
de antrenat:
Figure 1: Cum functioneaza Deep learning?
Pentru a intelege mai simplu functionalitatea lui Deep Learning, putem gasi
in viata de zi cu zi un astfe de proces. Atunci cand un copil invata denumirea
lucrurilor din jur, de exemplu noi ii aratam o poza/sau in realitate un caine, el va
incerca sa retina care sunt caracteristicile particulare al acelui animal si va asocia
ceea ce a
a pas cu pas despre el ( va asocia ce invata recent, asociat cu ce a
a
nou), in nal reusind sa recunoasca cu usurinta cainele.
O diferenta semni cativa intre modurile de functionare machine learning, alte
moduri de invatare, si deep learning se pot observa usor in imaginile de mai jos:
5

Figure 2: Machine learning vs Deep learning
Figure 3: Machine learning vs Deep learning
Asadar, daca ne gandim la exemplul de mai sus real si cum ar interpreta
calculatorul acesti pasi, ne-am da seama ca, ecarui algoritm din ierarhie se aplica
6

o transformare non-liniara pe intrarea sa si foloseste pe viitor ceea ce a invata
pentru a crea un model statistic ca iesire. Iteratiile continua pana cand rezultatul
asteptat a atins nivelul acceptabil de acuratete. Mai apoi, fata de copilul caruia
i-ar lua cateva luni/ani pentru a invata e cient totul despre caine, calculatorului
care lucreaza cu algoritmul de invatare si care este capabil de a prezenta un set de
formare si de sortare prin milioane de imagini, identi cand imaginea cu un caine,
in cateva secunde.
Cele mai cunoscute aplicatii care utilizeaza Deep learning sunt in cadrul:
traducerilor, diagnosticelor medicale, semnalelor de tranzactionare pe piata de
valori, securitatea retelelor, identi carea imaginilor/ vocii/ scrisului/ limbajului
(estimarea probabilitatii de continuare a cuvantului dintr-o propozitie, frecventa
cuvintelor repetitive).
2.3 Modele de tip Deep Learning
Un modelde Deep Learning este RNN (Recurrent Neural Network), unde rezul-
tatul este o vedere ascunsa stocata in memorie, memoria ind considerata o noua
intrare:
Figure 4: Modelul de tip RNN
Max-out reprezinta un alt model pentru Deep Learning, unde accentul este
pus pe antrenarea functiei de activare, alegandu-se maximul dintre bias-urile a
7

doua intrari diferite. In imaginea de mai jos regasim un exemplu al modului de
functionare:
Figure 5: Modelul de tip Max-out
Un alt model este Restricted Bolzmann Machine(RBM) care este o retea
neuronala arti ciala generica, care poate invata o distributie de probabilitate, care
este peste setul sau de intrari. O restrictie pe care il are acest model este acela ca
neuronii lor trebuie sa formeze un graf bipartit: o pereche de noduri din ecare
dintre cele doua grupe de unitati( denumite ca "ascunse" si "vizibile"), avand o
legatura simetrica intre ele. Modelul permite conexiuni intre unitatile ascunse. In
imaginea de mai jos se poate vedea functionalitatea acestui tip de model:
8

Figure 6: Modelul de tip RBM
9

3 Analiza pachetelor
3.1 Theano
Theano este o biblioteca Python care va permite sa de niti, optimizati si
e cient evalua expresii matematice care implica matrici multidimensionale. Este
construit umrarind NumPy. Caracteristici:
Integrare stransa cu NumPy: o interfata similara cu a lui NumPy. numpy.ndarrays
sunt, de asemenea, utilizate intern n functiile Theano-compilate.
Utilizarea transparenta a unui GPU: realizeaza calcule mari consumatoare
de date de pana la 140x mai rapid decat pe un procesor (suport pentru numai

oat32).
Diferentiere simbolic e cienta: Theano poate calcula derivati pentru functii
de una sau mai multe intrari.
Viteza si stabilitate optimizari: evita bug-uri urate atunci cand se calculeaza
expresii cum ar log (1 + exp (x)) pentru valori mari ale lui x;
Dinamica de generare de cod C: evalueaza expresiile mai repede;
Auto-veri care: include instrumente pentru detectarea si diagnoza erorilor
si / sau probleme potentiale.
3.2 PyLearn
Pylearn este o biblioteca de masina de invatare. Cele mai multe dintre func-
tionalitatea sa este construit partea de sus a librariei Theano. Acest lucru inseamna
ca puteti scrie plugin-uri Pylearn2 (noi modele, algoritmi, etc), folosind expresii
matematice, si Theano va optimiza si stabiliza acele expresii pentru tine, si le
compila intr-un CPU sau GPU.
3.3 Word2vec
"Word2vec este un grup de modele inrudite, care sunt folosite pentru a
produce analiza unui cuvnt. Aceste modele sunt, reele neuronale cu doua straturi
10

super ciale, care sunt instrutei pentru a reconstitui contextele lingvistice ale
cuvintelor. Word2vec ia ca intrare sale un corp mare de text si produce un spatiu
vectorial, in mod tipic de cateva sute de dimensiuni, cu ecare cuvant unic in
corpatribuindu-se un vector corespunzator in spatiu. Vectorii sunt pozitionati in
cuvant spatiuluil vectorial astfel incat cuvintele care mpartasesc contexte comune
in corp sunt situate in imediata apropiere unul de altul in spatiu.
Word2vec a fost creat de o echipa de cercetatori condusa de Tomas Mikolov de
la Google. Algoritmul a fost ulterior analizate si explicate de catre alti cerceta-
tori. Vectorii inglobati creati folosind algoritmul Word2vec au multe avantaje in
comparatie cu algoritmii anterioari, cum ar "Latent Semantic Analysis"."
Figure 7: Word2vec
11

4 Concluzii
Am reusit sa implementez acest algoritm in Python, oferind totodata detalii
su ciente pentru a vedea ecare pas din timpul rularii. Am constat ca durata
de executie creste cu marirea lungimii sablonului de cautare. De exemplu pentru
lungimea sablonului 8, am avut o durata de aproximativ 0.54 secunde, iar daca
am marit lungimea sablonului la 10, aceasta durata a devenit 4.90 secunde.
12

Bibliogra e
[1]http://searchbusinessanalytics.techtarget.com/definition/
deep-learning
[2]http://machinelearningmastery.com/what-is-deep-learning/
[3]http://web.info.uvt.ro/ ~dzaharie/am2016/proiecte/tehnici/
DeepLearning/DeepArchitectures_book.pdf
[4]http://searchbusinessanalytics.techtarget.com/podcast/
Deep-learning-applications-could-have-big-impact-on-big-data
[5]https://en.wikipedia.org/wiki/Restricted_Boltzmann_machine
[6]https://github.com/lisa-lab/pylearn2
[7]http://deeplearning.net/software/pylearn2/
[8]https://deeplearning4j.org/word2vec
[9]https://pypi.python.org/pypi/Theano
[10] http://deeplearning.net/demos/
13

Similar Posts