Este recomandat să înțelegeți ce este o rețea neuronală înainte de a citi acest articol. În Procesul de construire a unei rețele neuronale, una dintre alegerile pe care ajungeți să le faceți este ce funcție de activare să folosiți în stratul ascuns, precum și la nivelul de ieșire al rețelei. Acest articol discută unele dintre aceste alegeri.
Elemente ale unei rețele neuronale :-
Stratul de intrare :- Acest strat acceptă caracteristicile de intrare. El furnizează informații din lumea exterioară către rețea, în acest strat nu se efectuează niciun calcul, nodurile de aici doar transmit informațiile (caracteristicile) către stratul ascuns.
Stratul ascuns :- Nodurile din acest strat nu sunt expuse lumii exterioare, ele fac parte din abstractizarea oferită de orice rețea neuronală. Stratul ascuns efectuează tot felul de calcule asupra caracteristicilor introduse prin intermediul stratului de intrare și transferă rezultatul către stratul de ieșire.
Stratul de ieșire :- Acest strat aduce informațiile învățate de rețea în lumea exterioară.
Ce este o funcție de activare și de ce să o folosim?
Definirea funcției de activare:- Funcția de activare decide dacă un neuron trebuie activat sau nu prin calcularea sumei ponderate și prin adăugarea ulterioară a bias-ului la aceasta. Scopul funcției de activare este de a introduce neliniaritatea în ieșirea unui neuron.
Explicație :-
Știm că rețeaua neuronală are neuroni care lucrează în corespondență cu ponderea, bias-ul și funcția de activare respectivă. Într-o rețea neuronală, am actualiza ponderile și biasurile neuronilor în funcție de eroarea de la ieșire. Acest proces este cunoscut sub numele de back-propagation. Funcțiile de activare fac posibilă back-propagarea, deoarece gradienții sunt furnizați împreună cu eroarea pentru a actualiza ponderile și polarizările.
De ce avem nevoie de funcții de activare neliniare :-
O rețea neuronală fără o funcție de activare este, în esență, doar un model de regresie liniară. Funcția de activare realizează transformarea neliniară a datelor de intrare, ceea ce o face capabilă să învețe și să îndeplinească sarcini mai complexe.
Demonstrație matematică :-
Să presupunem că avem o rețea neuronală ca aceasta :-
Elemente ale diagramei :-
Stratul ascuns, de ex. stratul 1 :-
z(1) = W(1)X + b(1)
a(1) = z(1)
Aici,
- z(1) este ieșirea vectorizată a stratului 1
- W(1) să fie ponderile vectorizate atribuite neuronilor
din stratul ascuns i.e. w1, w2, w3 și w4- X sunt caracteristicile de intrare vectorizate, și anume i1 și i2
- b este polarizarea vectorizată atribuită neuronilor din stratul ascuns
, adică b1 și b2- a(1) este forma vectorizată a oricărei funcții liniare.
(Notă: Nu luăm în considerare funcția de activare aici)
Stratul 2, adică stratul de ieșire :-
// Note : Input for layer // 2 is output from layer 1z(2) = W(2)a(1) + b(2) a(2) = z(2)
Calcul la nivelul stratului de ieșire:
// Putting value of z(1) herez(2) = (W(2) * ) + b(2) z(2) = * X + Let, = W = bFinal output : z(2) = W*X + bWhich is again a linear function
Această observație are ca rezultat din nou o funcție liniară chiar și după aplicarea unui strat ascuns, prin urmare putem concluziona că, nu contează câte straturi ascunse atașăm în rețeaua neuronală, toate straturile se vor comporta în același mod deoarece compoziția a două funcții liniare este o funcție liniară în sine. Neuronul nu poate învăța doar cu o funcție liniară atașată la el. O funcție de activare neliniară îi va permite să învețe în funcție de diferența față de eroare.
De aici avem nevoie de o funcție de activare.
VARIANTE ALE FUNCȚIEI DE ACTIVARE :-
1). Funcție liniară :-
- Ecuația : Funcția liniară are ecuația similară cu cea a unei linii drepte, adică y = ax
- Nu contează câte straturi avem, dacă toate sunt de natură liniară, funcția de activare finală a ultimului strat nu este altceva decât o funcție liniară a intrării primului strat.
- Domeniu : -inf până la +inf
- Utilizări : Funcția de activare liniară este utilizată într-un singur loc și anume:
- .adică stratul de ieșire.
- Probleme: Dacă vom diferenția funcția liniară pentru a aduce neliniaritate, rezultatul nu va mai depinde de intrarea „x” și funcția va deveni constantă, nu va introduce nici un comportament revoluționar în algoritmul nostru.
De exemplu: Calculul prețului unei case este o problemă de regresie. Prețul casei poate avea orice valoare mare/mică, așa că putem aplica activarea liniară la nivelul de ieșire. Chiar și în acest caz, rețeaua neuronală trebuie să aibă orice funcție neliniară în straturile ascunse.
2). Funcția Sigmoid :-
- Este o funcție care este reprezentată sub forma unui grafic în formă de ‘S’.
- Ecuația :
A = 1/(1 + e-x) - Natura: Neliniară. Observați că valorile X se situează între -2 și 2, iar valorile Y sunt foarte abrupte. Acest lucru înseamnă că, schimbări mici în x ar aduce, de asemenea, schimbări mari în valoarea lui Y.
- Intervalul de valori : 0 la 1
- Utilizări : De obicei, se utilizează în stratul de ieșire al unei clasificări binare, în care rezultatul este fie 0, fie 1, deoarece valoarea pentru funcția sigmoidă se situează doar între 0 și 1, astfel încât, rezultatul poate fi prezis cu ușurință ca fiind 1 dacă valoarea este mai mare de 0,5 și 0 în caz contrar.
3). Funcția Tanh :- Funcția de activare care funcționează aproape întotdeauna mai bine decât funcția sigmoidă este funcția Tanh, cunoscută și sub numele de funcție hiperbolică tangentă. Este de fapt o versiune decalată matematic a funcției sigmoid. Ambele sunt similare și pot fi derivate una din cealaltă.
f(x) = tanh(x) = 2/(1 + e-2x) - 1ORtanh(x) = 2 * sigmoid(2x) - 1
- Intervalul de valori :- de la -1 la +1
- Natura :- neliniară
- Utilizări :- De obicei, se utilizează în straturile ascunse ale unei rețele neuronale, deoarece valorile sale se situează între -1 și 1, prin urmare, media pentru stratul ascuns este 0 sau foarte apropiată de aceasta, ceea ce ajută la centrarea datelor prin aducerea mediei aproape de 0. Acest lucru face ca învățarea pentru următorul strat să fie mult mai ușoară.
- Ecuația :- A(x) = max(0,x). Oferă o ieșire x dacă x este pozitivă și 0 în caz contrar.
- Interval de valori :- [0, inf)
- Natură :- neliniară, ceea ce înseamnă că putem să propagăm cu ușurință erorile înapoi și să avem mai multe straturi de neuroni activați de funcția ReLU.
- Utilizări :- ReLu este mai puțin costisitoare din punct de vedere computațional decât tanh și sigmoid, deoarece implică operații matematice mai simple. La un moment dat sunt activați doar câțiva neuroni, ceea ce face ca rețeaua să fie rară, ceea ce o face eficientă și ușor de calculat.
4). RELU :- Reprezintă unitatea liniară rectificată. Este cea mai utilizată funcție de activare. Se implementează în principal în straturile ascunse ale rețelei neuronale.
În cuvinte simple, RELU învață mult mai repede decât funcția sigmoid și Tanh.
5). Funcția Softmax :- Funcția Softmax este, de asemenea, un tip de funcție sigmoidă, dar este utilă atunci când încercăm să gestionăm probleme de clasificare.
- Natură :- neliniară
- Utilizări :- De obicei se utilizează atunci când încercăm să gestionăm clase multiple. Funcția softmax ar stoarce ieșirile pentru fiecare clasă între 0 și 1 și, de asemenea, ar împărți cu suma ieșirilor.
- Ieșire:- Funcția softmax este folosită în mod ideal în stratul de ieșire al clasificatorului, unde încercăm de fapt să obținem probabilități pentru a defini clasa fiecărei intrări.
- Regula de bază este că, dacă chiar nu știți ce funcție de activare să folosiți, atunci folosiți pur și simplu RELU, deoarece este o funcție de activare generală și este utilizată în majoritatea cazurilor în zilele noastre.
- Dacă ieșirea dvs. este pentru clasificarea binară, atunci funcția sigmoidă este o alegere foarte naturală pentru stratul de ieșire.
ALEGEREA FUNCȚIEI DE ACȚIONARE ADEVĂRATE
Nota de subsol :-
Funcția de activare realizează transformarea neliniară a intrării, ceea ce o face capabilă să învețe și să îndeplinească sarcini mai complexe.
.