Rețele neuronale
O rețea neuronală (neural network) este un model de învățare automată (machine learning) alcătuit din unități simple conectate între ele. Fiecare unitate transformă valori numerice, iar rețeaua combină aceste transformări pentru a produce o predicție. Prin antrenare, conexiunile ajung să reprezinte tipare din date.
Folosirea rețelelor neuronale cu mai multe straturi este numită, în mod obișnuit, învățare profundă (deep learning). Aceste rețele stau la baza multor sisteme de recunoaștere a imaginilor, prelucrare a limbajului și generare de conținut. Ele fac parte din învățarea automată, nu sunt o copie fidelă a creierului biologic.
Definiție
Secțiune intitulată „Definiție”Un neuron artificial (artificial neuron) primește valori de intrare . Fiecărei intrări îi corespunde o pondere (weight) , care stabilește cât de mult contribuie acea intrare. Mai întâi se calculează suma ponderată :
În formulă, este numărul de intrări, iar este bias-ul, o valoare care poate deplasa pragul neuronului. Rezultatul trece apoi printr-o funcție de activare (activation function), care introduce o transformare neliniară:
unde este ieșirea neuronului, iar este funcția de activare. O alegere frecventă este funcția liniară rectificată (rectified linear unit, ReLU):
ReLU păstrează valorile pozitive și transformă valorile negative în zero. Această neliniaritate permite rețelei să modeleze relații pe care o singură combinație liniară nu le poate reprezenta.
Straturi și propagare înainte
Secțiune intitulată „Straturi și propagare înainte”Neuronii sunt organizați în straturi. Stratul de intrare (input layer) primește datele, unul sau mai multe straturi ascunse (hidden layers) le transformă, iar stratul de ieșire (output layer) produce predicția. Calculul valorilor de la intrare către ieșire se numește propagare înainte (forward propagation).
Într-un strat, fiecare neuron aplică aceeași structură matematică, dar cu ponderi și bias-uri proprii. Ieșirile unui strat devin intrările celui următor. Astfel, fiecare strat poate construi reprezentări mai potrivite pentru sarcina finală.
Demo: un neuron în acțiune
Secțiune intitulată „Demo: un neuron în acțiune”Demo-ul de mai jos arată un neuron cu două intrări și ReLU. Glisoarele modifică intrările, ponderile și bias-ul. Suma ponderată și ieșirea sunt actualizate imediat.
Un neuron cu funcția ReLU
Suma ponderată și ieșirea se recalculează la fiecare modificare a valorilor.
Suma ponderată
Ieșirea ReLU
0,8 × 1,0 + −0,4 × 0,5 + 0,2 = 0,8
Dacă suma ponderată este negativă, ReLU produce zero. Dacă este pozitivă, ieșirea este chiar suma ponderată. Într-o rețea, același calcul are loc pentru mulți neuroni și pentru multe exemple de date.
Cum învață o rețea
Secțiune intitulată „Cum învață o rețea”La început, ponderile sunt de obicei inițializate cu valori mici. Pentru un exemplu de antrenare, predicția rețelei se compară cu valoarea așteptată printr-o funcție de pierdere (loss function) . O pondere poate fi actualizată prin coborâre pe gradient:
În această regulă, este ponderea actualizată, este rata de învățare, iar arată cum se schimbă pierderea atunci când se schimbă ponderea. Pentru rețele cu multe straturi, derivatele se calculează eficient de la ieșire spre intrare prin retropropagare.
Antrenarea nu garantează rezultate bune pe date noi. Rețeaua trebuie evaluată pe exemple separate de cele folosite pentru antrenare, iar arhitectura și datele trebuie alese în raport cu problema rezolvată.
Cookie-uri
Site-ul folosește Google Analytics pentru statistici de trafic. Cookie-urile de analiză se activează doar după acceptare. Detalii în politica de cookie-uri.