0% au considerat acest document util (0 voturi)
4 vizualizări3 pagini

Deep Learning

Deep learning-ul folosește rețele neuronale cu multiple straturi pentru a imita procesarea informației similar cu creierul uman. Modelul de rețea neuronală implementat în Python utilizează TensorFlow pentru a optimiza predicțiile prin ajustarea ponderilor și aplicarea funcțiilor de activare, cum ar fi ReLU. De asemenea, modelul poate fi convertit în format TFLite pentru a fi utilizat eficient pe dispozitive mobile sau embedded.

Încărcat de

elena.anastasiu
Drepturi de autor
© All Rights Reserved
Respectăm cu strictețe drepturile privind conținutul. Dacă suspectați că acesta este conținutul dumneavoastră, reclamați-l aici.
Formate disponibile
Descărcați ca DOCX, PDF, TXT sau citiți online pe Scribd
0% au considerat acest document util (0 voturi)
4 vizualizări3 pagini

Deep Learning

Deep learning-ul folosește rețele neuronale cu multiple straturi pentru a imita procesarea informației similar cu creierul uman. Modelul de rețea neuronală implementat în Python utilizează TensorFlow pentru a optimiza predicțiile prin ajustarea ponderilor și aplicarea funcțiilor de activare, cum ar fi ReLU. De asemenea, modelul poate fi convertit în format TFLite pentru a fi utilizat eficient pe dispozitive mobile sau embedded.

Încărcat de

elena.anastasiu
Drepturi de autor
© All Rights Reserved
Respectăm cu strictețe drepturile privind conținutul. Dacă suspectați că acesta este conținutul dumneavoastră, reclamați-l aici.
Formate disponibile
Descărcați ca DOCX, PDF, TXT sau citiți online pe Scribd

Deep learning

Deep learning-ul imită modul în care funcționează creierul uman pentru a


procesa informația sau a lua anumite decizii. In acest tip de învatare avem mai
multe straturi care se numesc layers în cel mai simplu model avem 3 dar putem
ajunge la mii de de la layers.

Retelele neuronale sunt conectate prin caracteristici numite weights (ponderi


numerice) si invatata prin ajustarea acestora. Sunt niste valori pe care le dăm
noi si prin testare, comparand rezultatele ajustam aceste weights-uri si astfel sa
ajungem la modele cat mai bune care sa ia decizii bune, dar sa nu ajunga la un
overflow( adica depasirea limitelor invatare prea buna gen sa stie exact ce sa
spuna, sa invete pe de rost datele de test)

O retea neuronala este formata din Layere de input adica datele brute x-urile
noastre, hidden layers sunt straturile ascunde si defapt aici e tot procesul de
aici se invata de fapt caracteristiciile si cu cat inaintam in layers cu atat
caracteristiicile sunt mai complexe si definesc mai bine obiectul studiului si mai
e output layers unde de aici ies rezultatele

Codul pe care l-am scris este in python si pentru a-l rula il punem in Jupyter
notebook sau in google colab, iar tensorflow e o biblioteca facuta de google
speciala pentru partea de deep learning .Avem f multe functii pe care le folosim
pentru construire si antrenare predefinite. Mai e inca un avantaj la tensorflow
faptul ca putem face aplicatii cu acesta si poate fi integrat in mobile/
embedded devices

Acum voi descrie coodul: am implementat cea mai simpla metoda de retea
neuronala densa cu regresie

model = [Link]([

[Link](shape=(2,)),

[Link](16, activation='relu'),

[Link](2)
])

[Link](shape=(2,)) in aceasta linie ai input care vede 2 lucruri


dyupa cum am definit la x avem 2 valori 70 si 0.25 deci is 2 date care imi intra in
neuron apoi o sa avem 16 celule de gandire(neuroni) care se afla in hidden
layers si fiecare are functia de activare relu, aceasta functie de activare relu uita
de valorile negative nu le baga in seama si le pune ca si 0 el doar ia valori
pozitive mai sunt si alte tipuri de functii de activare sigmoid etc, dar aceasta
este deobicei cea mai foloista aici (relu), iar sigmoidul se mai folosetse la retele
convolutionare pe partea de iesire. si la final avem 2 neuroni care prezic adica
is valorile din y. nueronii is conectati intre ei adica cei 16 neuroni din hidden is
conectati fiecare la cei 2 de inceput si tot asa.

[Link](optimizer='adam', loss='mse')

[Link](X, y, epochs=300, verbose=1)

acest cod imi optimizez codul cu adam care e un algoritm de optimizare pentru
a ajuat neuronii sa invete cat mai bine, iar mse e un tip de loss( functie
matematica care masaora diferenta dintre predictiile modelui adica ce crede ca
e raspunsuul ok si valorile care is defapt reale) care se caluleaza ca (1/n) × Σ(yi -
ŷi)² unde n = numărul de exemple

- yi = valoarea reală (ground truth)

- ŷi = predicția modelului

- Σ = suma pentru toate exemplele

Exemplu concret cu datele tale:

Datele tale de antrenament

X = [[70, 0.25], [80, 0.22], [90, 0.20]]

y = [[120, 80], [125, 82], [130, 85]]

Să presupunem că după prima epocă, modelul prezice:E DOAR UN EXEMPLU

Input Target Real Predicție Model Calculul MSE


[70, 0.25] [120, 80] [110, 75] (120-110)² + (80-75)² = 100 + 25 = 125

Am folosit MSE pentru ca am niste valori continue nu binare.

[Link](X, y, epochs=300, verbose=1) prin linia asta o sa analizam de 300 de


ori datele si de fiecare data cand gresim vom invata din ceea ce gresim si la
urmatorul pas va putea prezice mai bine ceea ce ne dorim sa aflam defapt si
astfel modelul va tot invata din greseli.

Pentru a putea sa-l folosim in in aplicatii mobile sau pe partea de embedded


datele trebuie aduse si facute micute, deorece o placuta nu poate duce f multe
date pentru ca au memorie micuta, exemplul meu nu are multe date, pentru ca
e de test, dar daca las ca dispozitivul sa ruleze mult voi avea multe date care
ocupa o dimensiune destul de mare asa ca le voi face mai mici prin apelearea
functilor predefinite converter =
[Link].from_keras_model(model)

tflite_model = [Link]()prima inie ii analzazaahitctura si ii identiica


layre si oper suportate si a doua imi covertete eectiv datele apoi pentu
eficienta ii salvez biar dtele with open("model_hr_pct.tflite", "wb") as f:

[Link](tflite_model)

tflite_model e bia si nu e text, ar daca as incerca sa salvez text s-ar pierde date
si iormaii, iar operatiile de I/O is mai rpide si ajortaet latfoerelor de embedded
si app asteapta format bnar pentru tot ce rueaza in spaele dispoitiv este binar.

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