Tot ce trebuie să știți despre funcția de activare în ML
Publicat: 2022-11-08Ce este funcția de activare în Machine Learning?
Funcțiile de activare a învățării automate se dovedesc a fi elemente cruciale într-un model ML care cuprinde toate ponderile și părtinirile sale. Ele sunt un subiect de cercetare care se dezvoltă continuu și au jucat un rol semnificativ în transformarea antrenamentului în Rețeaua Neurale Profundă în realitate. În esență, ele determină decizia de a stimula un neuron. Dacă informațiile pe care le primește un neuron sunt relevante pentru informațiile deja prezente sau dacă ar trebui să fie ignorate. Modificarea neliniară pe care o aplicăm semnalului de intrare se numește funcție de activare. Următorul strat de neuroni primește această ieșire modificată ca intrare.
Deoarece funcțiile de activare efectuează calcule neliniare pe intrarea unei rețele neuronale, acestea îi permit să învețe și să facă sarcini mai complicate fără ele, care este în esență un model de regresie liniară în Machine Learning.
Este esențial să înțelegem aplicațiile funcțiilor de activare și să cântărim avantajele și dezavantajele fiecărei funcții de activare pentru a selecta tipul adecvat de funcție de activare care poate oferi neliniaritate și precizie într-un anumit model de rețea neuronală.
Înscrieți-vă la cursul de învățare automată de la cele mai bune universități din lume. Câștigă programe de master, Executive PGP sau Advanced Certificate pentru a-ți accelera cariera.
Modelele de funcții de activare a învățării automate sunt în principiu de două tipuri -
- Straturi ascunse
- Straturi de ieșire
Straturi ascunse
Funcțiile de activare utilizate în straturile ascunse ale modelelor neuronale, rolul principal este de a furniza neliniaritatea pe care o necesită rețelele neuronale pentru a simula interacțiunile neliniare.
Straturi de ieșire
Metodele de activare utilizate de straturile de ieșire ale modelelor de învățare automată au un obiectiv principal special: comprimarea valorii într-un interval restrâns, cum ar fi 0 la 1.
Să înțelegem mai întâi diferitele tipuri de funcții de activare în Machine Learning -
1. Funcția pas binar
Un clasificator bazat pe prag, care determină dacă neuronul ar trebui sau nu activat, este primul lucru care ne vine în minte atunci când avem o funcție de activare. Neuronul este declanșat dacă valoarea Y este mai mare decât o valoare de prag specificată; în rest, rămâne latentă.
Este adesea definit ca -
f(x) = 1, x>=0
f(x) = 0, x<0
Funcția binară este simplă. Este aplicabil în timpul dezvoltării unui clasificator binar. Sunt necesare evaluări, care sunt opțiunile ideale atunci când trebuie doar să răspundem da sau nu pentru o singură clasă, deoarece fie activează neuronul, fie îl lasă zero.
2. Funcția liniară
O pantă pozitivă poate determina o creștere a ratei de tragere pe măsură ce crește rata de intrare. Funcțiile de activare liniară sunt superioare pentru a oferi o gamă largă de activări.
Funcția este precis proporțională cu combinația ponderată de neuroni sau cu intrarea în funcția noastră simplă de activare orizontală.
Un neuron poate declanșa sau nu se declanșează în binar. S-ar putea să rețineți că derivata acestei funcții este constantă dacă sunteți familiarizat cu coborârea gradientului în învățarea automată.
Cele mai bune cursuri de învățare automată și cursuri AI online
Master în învățare automată și IA de la LJMU | Program executiv postuniversitar în Machine Learning și AI de la IIITB | |
Program de certificat avansat în Machine Learning și NLP de la IIITB | Program de certificat avansat în Machine Learning și Deep Learning de la IIITB | Program executiv postuniversitar în știința datelor și învățarea automată de la Universitatea din Maryland |
Pentru a explora toate cursurile noastre, vizitați pagina noastră de mai jos. | ||
Cursuri de învățare automată |
3. Funcție non-liniară
ReLU
În ceea ce privește funcțiile de activare, unitatea liniară rectificată este cea mai bună. Aceasta este cea mai populară și implicită funcție de activare pentru majoritatea problemelor. Când este negativ, este limitat la 0, în timp ce atunci când devine pozitiv, este nelimitat. O rețea neuronală profundă poate beneficia de regularizarea intrinsecă creată de această combinație de mărginire și nelimitare. Regularizarea creează o reprezentare rară care face antrenamentul și inferența eficiente din punct de vedere computațional.
Nelimitarea pozitivă menține simplitatea computațională în timp ce accelerează convergența regresiei liniare. ReLU are un singur dezavantaj semnificativ: neuronii morți. Unii neuroni morți s-au oprit la începutul fazei de antrenament și legați negativ la 0 nu se reactivează niciodată. Deoarece funcția trece rapid de la nemărginit când x > 0 la mărginit când x ≤ 0, ea nu poate fi diferențiată continuu. Cu toate acestea, în practică, acest lucru poate fi depășit fără efecte de durată asupra performanței dacă există o rată scăzută de învățare și o părtinire negativă semnificativă.
Pro:
- ReLU necesită mai puține procese matematice decât alte funcții neliniare, făcându-l mai puțin costisitor din punct de vedere computațional și liniar.
- Previne și remediază problema Vanishing Gradient.
Utilizare:
- Folosit în RNN, CNN și alte modele de învățare automată.
Diferite modificări ale ReLU –
Leaky ReLU
O variantă mai bună a funcției ReLU este funcția Leaky ReLU. Deoarece gradientul funcției ReLU este 0, unde x<0, activările din acea regiune au condus neuronii să moară, iar ReLU leaky se dovedește a fi cel mai benefic pentru a rezolva astfel de probleme. Definim funcția ReLU ca o componentă liniară minusculă a lui x, mai degrabă decât ca 0, unde x<0.
Poate fi văzut ca -
f(x)=ax, x<0
f(x)=x, x>=0
Avantaje –
- Leaky ReLU, care are o mică pantă negativă, a fost o încercare de a aborda problema „ReLU pe moarte” (de 0,01 sau cam asa ceva).
Utilizare -
- Folosit în sarcini care implică gradienți, cum ar fi GAN.
Parametric ReLU
Aceasta este o îmbunătățire față de Leaky ReLU, în care multiplu scalar este antrenat pe date, mai degrabă decât să fie selectat la întâmplare. Deoarece modelul a fost antrenat folosind date, este sensibil la parametrul de scalare (a) și contorizează diferit în funcție de valoarea lui a.
Utilizare -
- Când Leaky ReLU eșuează, o ReLU parametrică poate fi utilizată pentru a rezolva problema neuronilor morți.
GeLU (unitate liniară de eroare gaussiană)
Cel mai nou copil din bloc și, fără îndoială, învingătorul pentru sarcinile legate de NLP (Natural Language Processing) este unitatea liniară de eroare Gaussian, care este utilizată în sisteme bazate pe transformatoare și algoritmi SOTA, cum ar fi GPT-3 și BERT. GeLU combină ReLU, Zone Out și Dropout (care reduce aleatoriu neuronii pentru o rețea rară). ReLU este mai fin cu GeLU, deoarece ponderează intrările mai degrabă cu percentile decât porți.
Utilizare -
- Computer Vision, NLP, Recunoaștere a vorbirii
ELU (unitate liniară exponențială)
ELU introdus în 2015 este nelimitat pozitiv și folosește o curbă log pentru valori negative. În comparație cu Leaky și Parameter ReLU, această strategie pentru rezolvarea problemei neuronului mort este ușor diferită. Spre deosebire de ReLU, valorile negative se netezesc treptat și devin constrânse pentru a preveni neuronii morți. Cu toate acestea, este costisitor, deoarece o funcție exponențială este utilizată pentru a descrie panta negativă. Când se utilizează o tehnică de pornire mai puțin decât ideală, funcția exponențială are ca rezultat ocazional un gradient de expansiune.
Spilcuit
Valorile negative mici ale lui Swish, care au fost introduse pentru prima dată în 2017, sunt încă utile în captarea modelelor subiacente, în timp ce valorile negative mari vor avea o derivată de 0. Swish poate fi folosit pentru a înlocui ReLU cu ușurință datorită formei sale intrigante.
Avantaje –
- Rezultatul este o soluție între funcția Sigmoid și RELU care ajută la normalizarea rezultatului.
- Are capacitatea de a face față problemei gradientului de dispariție.
Utilizare -
- În ceea ce privește clasificarea imaginilor și traducerea automată, este la egalitate sau chiar superioară ReLU.
Abilități de învățare automată la cerere
Cursuri de inteligență artificială | Cursuri Tableau |
Cursuri NLP | Cursuri de Deep Learning |
4. Funcția de activare Softmax
La fel ca funcțiile de activare sigmoid, softmax este utilizat în principal în stratul final, sau stratul de ieșire, pentru luarea deciziilor. Softmax-ul atribuie pur și simplu valori variabilelor de intrare pe baza ponderilor lor, iar totalul acestor ponderi este în cele din urmă egal cu unul.
Avantaje –
- În comparație cu funcția RELU, convergența gradientului este mai lină în Softmax.
- Are capacitatea de a gestiona problema Vanishing Gradient.
Utilizare -
- Clasificare multiclasă și multinominală.
5. Sigmoid
Funcția Sigmoid în Machine Learning este una dintre cele mai populare funcții de activare. Ecuația este -
f(x)=1/(1+e^-x)
Aceste funcții de activare au avantajul de a reduce intrările la o valoare cuprinsă între 0 și 1, ceea ce le face ideale pentru modelarea probabilității. Când este aplicată la o rețea neuronală profundă, funcția devine diferențiabilă, dar se saturează rapid datorită limitelor, rezultând un gradient în scădere. Costul calculului exponențial crește atunci când un model cu sute de straturi și neuroni trebuie antrenat.
Derivata este constrânsă între -3 și 3, în timp ce funcția este constrânsă între 0 și 1. Nu este ideală pentru antrenamentul straturilor ascunse, deoarece rezultatul nu este simetric în jurul zero, ceea ce ar face ca toți neuronii să adopte același semn în timpul antrenamentului. .
Avantaje –
- Oferă un gradient neted în timpul convergării.
- Adesea oferă o clasificare precisă a predicției cu 0 și 1.
Utilizare -
- Funcția Sigmoid din Machine Learning este utilizată de obicei în modelele de clasificare binară și regresie logistică în stratul de ieșire.
Bloguri populare de învățare automată și inteligență artificială
IoT: istorie, prezent și viitor | Tutorial de învățare automată: Învățați ML | Ce este algoritmul? Simplu și Ușor |
Salariu inginer robotic în India: toate rolurile | O zi din viața unui inginer de învățare automată: ce fac ei? | Ce este IoT (Internet of Things) |
Permutare vs combinație: diferența dintre permutare și combinație | Top 7 tendințe în inteligența artificială și învățarea automată | Învățare automată cu R: tot ce trebuie să știți |
6. Tanh – Funcția de activare a Tangentei Hiperbolice
Similar cu Funcția Sigmoid din Machine Learning , această funcție de activare este utilizată pentru a prognoza sau a distinge între două clase, cu excepția faptului că transferă exclusiv intrarea negativă în cantități negative și are un interval de la -1 la 1.
tanh(x)=2sigmoid(2x)-1
sau
tanh(x)=2/(1+e^(-2x)) -1
În esență, rezolvă problema noastră cu valorile având același semn. Alte caracteristici sunt identice cu cele ale funcției sigmoide. În orice moment, este continuă și distinctă.
Avantaje –
- Spre deosebire de sigmoid, are o funcție zero-centrică.
- Această funcție are și un gradient neted.
Deși funcțiile Tahn și Sigmoid din Machine Learning pot fi utilizate în straturi ascunse din cauza limitelor lor pozitive, rețelele neuronale profunde nu le pot folosi din cauza saturației antrenamentului și a gradienților care dispar.
Începeți-vă cariera de învățare automată cu cursul potrivit
Sunteți interesat să vă scufundați mai profund în funcțiile de activare și asistența acestora în îmbunătățirea învățării automate? Obțineți o privire de ansamblu asupra învățării automate cu toate detaliile precum AI, Deep Learning, NLP și Reinforcement Learning cu un curs UpGrad, recunoscut de WES, Master of Science în Machine Learning și AI . Acest curs oferă experiențe practice în timp ce lucrați la mai mult de 12 proiecte, desfășurați cercetări, cursuri de codificare ridicată și instruire cu unii dintre cei mai buni profesori.
Înscrie-te pentru a afla mai multe!
Concluzie
Operațiile critice cunoscute sub numele de funcții de activare modifică intrarea într-un mod neliniar, permițându-i să înțeleagă și să realizeze sarcini mai complicate. Am abordat cele mai populare funcții de activare și utilizările acestora care se pot aplica; aceste funcții de activare oferă aceeași funcție, dar sunt aplicate în diferite circumstanțe.
Cum puteți decide care funcție de activare este cea mai bună?
Alegerea unei funcții de activare este o decizie complexă, care depinde în întregime de problema în cauză. Cu toate acestea, poate doriți să începeți cu funcția sigmoid dacă sunteți nou în învățarea automată înainte de a continua cu altele.
Ar trebui ca funcția de activare să fie liniară sau neliniară?
Indiferent cât de complicat este designul, o funcție de activare liniară este eficientă doar până la un strat adânc. Prin urmare, stratul de activare nu poate fi liniar. În plus, lumea de astăzi și provocările sale sunt foarte neliniare.
Ce funcție de activare poate fi învățată cu ușurință?
Tanh. Prin extinderea intervalului pentru a acoperi -1 la 1, abordează dezavantajul funcției de activare a sigmoidului. Acest lucru duce la zero-centrarea, ceea ce face ca greutatea stratului ascuns să se apropie de 0. Învățarea devine mai rapidă și mai ușoară ca rezultat.