Sunteți pe pagina 1din 42

Python 102

Curs 7 - Retele neurale


09.03.2021
Despre Hackademy
● Cursuri: CCNA, Python 101, Web 101.
● Evenimente:
AWG LAN-party

ACADNET

IOIOI IOIOI

Hackademy Treasure Hunt


Despre echipă
Instructori:
Pavel Mateescu Radu Minea

Responsabili laboratoare:
Mara Nicolae Diana Duțică

Infrastructură:
Laurențiu Olteanu Răzvan Matișan

Interni:
Radu Chivereanu Horia Ignat
Andrei Niculae
Despre curs
Pentru început...
● 📚 Zoom + Discord
○ Curs
○ Materiale și anunțuri
● 🕐 Marți, ora 18:00 - 21:00
○ Quiz de recapitulare din cursul precedent
○ Curs + Demo
○ Laborator
● 󰢧 Puneți întrebări oricând
● 👀 Feedback la fiecare curs
Calendarul cursului
Nr. curs Titlu Săptămână
1 Introducere în Python 09.03.2021

2 Funcții și colecții 16.03.2021

3 Programare orientată pe obiecte 23.03.2021

4 Module 30.03.2021

5 Jocuri în Python 06.04.2021

6 Recapitulare prin colaborare 13.04.2021

7 Examen 20.04.2021

7’ Workshop Pitch-uri 27.04.2021

8 Prezentarea Proiectelor 04.05.2021


Punctaj
● Parcurs - 2p + 1p bonus
○ Laboratoare - 2p
■ Submission până sâmbătă 23:55:00
○ Quiz Bonus - 1p
● Proiect - 4p
○ Prezentare - 2p
○ Calitatea codului - 1p
○ Demo - 1p
● Examen - 4p + 1p bonus
○ Hackerrank

Minimum 7p pentru promovarea cursului.


Retele neurale
Ce este o retea neurala?
CAT RECOGNIZER
Date de intrare (input data)

64
64 x 64 x 3
(12 288)


flattening
64
Ce este un neuron?
Ce face un neuron?

y=m*x+n
Ce face un neuron?

weight input value bias

z=w*x+b
Ce face un neuron?

weight input value bias

pre-activation

z=w*x+b

ŷ = a = sigmoid(z)

activation value activation function


Functii de activare
(activation functions)

Sigmoid
Functii de activare
(activation functions)

Tangenta
hiperbolica
(tanh)
Functii de activare
(activation functions)

Rectified
linear unit
(RELU)
Forward propagation
Pauză?
Functia de pierdere
(loss function)
 
Functia de pierdere
(loss function)
Entropie binară încrucișată
(binary crossentropy)

L(ŷ, y) = -(y log ŷ + (1-y)log(1- ŷ))


Functia de cost
(cost function)

Functia primeste ca input toate toate weights-urile neuronilor si scoate un numar care
reprezinta cat de rau am gresit. Weights urile sunt initial randomizate

Cum trebuie sa fie outputul acestei functii? R: Cat mai mic posibil
Minimizarea functiei de cost
Minimizarea functiei de cost se bazeaza pe
derivare.

Ce este reprezinta de fapt derivarea unei


functii? Calcularea ratei de schimbare a
functiei pe un interval infinitezimal de mic.
De aici si binecunoscuta formula definitorie :
Minimul local cu ajutorul
derivatei
Fiind data o functie simpla, daca rata de
schimbare (derivata) este negativa inseamna
ca mergand in directia cresterii inputului (x
ului) vom ajunge la valori de output mai
mici. Analog, invers.

Geometric, obtinem panta = gradientul. Daca


este pozitiva functia creste, altfel scade.
Metoda gradient descend
Generalizam metoda de mai devreme si pentru
input multidimensional(vectori).

Daca pentru un input calculam gradientul, obtinem


niste valori ce reprezinta cat de mult trebuie sa
modificam componentele inputului ( presupunem
ca este un vector cu mai multe elemente ) astfel
incat sa maximizam outputul. Negand gradientul,
obtinem pentru minimizare.
Astfel, metoda grandientul presupune
modificarea proportionala inputului in
directiile date de gradient (scadem sau
adunam) cu valori relativ mici si repetarea
procesului pana ajungem la un anumit
echilibru.
Cum se calculeaza
gradientul ?
Backpropagation

Optimizarea modelului

w = w – learning_rate * dw
b = b – learning_rate * db
Cum se afla dw si db?
Straturi (hidden layers)
Training and validation sets
Întrebări?
Development setup
1. Facem un venv
2. Facem un proiect Django
3. Facem structura de directoare
4. Facem o aplicatie
5. Actualizam setarile
Demo

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