Una dintre cele mai frecvent utilizate funcții de activare în învățarea automată, sau mai precis, în rețelele neuronale este funcția sigmoidă. În etapa de backpropagation în antrenarea unei rețele neuronale, trebuie să găsiți derivata funcției de pierdere în raport cu fiecare greutate din rețea. Pentru a face acest lucru, trebuie să găsiți derivata funcției de activare. Acest articol își propune să clarifice orice confuzie cu privire la găsirea derivatei funcției sigmoid.

Pentru început, iată funcția sigmoid:

Pentru un test, luați sigmoidul de 5 pe calculatorul dumneavoastră. Ar trebui să obțineți 0,99330714907.

Pentru scopurile derivatei, această funcție poate fi scrisă și sub forma:

Primul lucru pe care l-am observat la această funcție, este că este o compoziție de funcții. Prima funcție fiind

și a doua fiind

Reamintim că în Calcul, când există o compunere de funcții, derivata, este prima funcție în raport cu a doua înmulțită cu a doua funcție în raport cu variabila, în acest caz x. Astfel:

Deci, derivata funcției sigmoide în raport cu x este derivata funcției sigmoide în raport cu m înmulțită cu derivata lui m în raport cu x. Vă puteți gândi la această regulă de compunere a funcțiilor ca la un fel de calcul intermediar care duce la derivata originală pe care ați dorit-o prin anulare încrucișată:

Acum că știm că funcția sigmoidă este o compoziție de funcții, tot ce trebuie să facem pentru a găsi derivata, este:

  1. Căutați derivata funcției sigmoide în raport cu m, valoarea noastră intermediară
  2. Căutați derivata lui m în raport cu x
  3. Multiplicați aceste valori împreună

Derivată a funcției sigmoide în raport cu m

Să ne uităm înapoi la cum arată funcția sigmoidă cu m ca valoare intermediară:

Pentru a găsi derivata acesteia în raport cu m este destul de simplu dacă ne putem aminti regula puterii:

Derivata lui x^n este de n ori derivata lui x la puterea lui n-1.

Acum,

Acum, dacă înlocuim valoarea inițială a lui m înapoi în ecuație, obținem

În cele din urmă,

Yay! Am terminat pasul 1.

Găsește derivata lui m în raport cu x

Iată m:

Pentru a găsi derivata, trebuie să găsim derivata fiecărui termen în raport cu x. Primul termen este ușor:

Cel de-al doilea termen este un pic mai complicat.

Să lăsăm

și

.

Știm că

Dacă ajungerea la e^u nu este clară, vă rugăm să citiți următoarele.

Acum, folosind din nou regula înlănțuirii,

Acum, trebuie doar să înmulțim aceste derivate pe care tocmai le-am calculat pentru a obține derivata în raport cu x:

În total pentru pasul 2,

Multiplicați derivatele

Reamintim că, odată ce am găsit cele două derivate intermediare, a trebuit să le înmulțim. Așadar, iată un scurt rezumat:

Acum, dacă vă amintiți cum se înmulțesc :), putem în sfârșit să terminăm asta!

Acum puteți lua această valoare și o puteți folosi ca derivare a funcției sigmoide. Totuși, un lucru interesant apare după ce manipulați acest rezultat. Se pare că puteți rescrie derivata astfel:

Derivata funcției sigmoide este sigmoida înmulțită cu 1 minus sigmoida. Wow. Mă simt înșelat. 🙂

.