Condivisione della tecnologia

L'evoluzione e l'applicazione delle funzioni di attivazione nel deep learning: una revisione

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Riepilogo

Questo articolo esamina in modo completo lo sviluppo delle funzioni di attivazione nel deep learning, dalle prime funzioni Sigmoid e Tanh, alle serie ReLU ampiamente utilizzate, alle nuove funzioni di attivazione recentemente proposte come Swish, Mish e GeLU. Viene condotta un'analisi approfondita delle espressioni matematiche, caratteristiche, vantaggi, limitazioni e applicazioni di varie funzioni di attivazione in modelli tipici. Attraverso un'analisi comparativa sistematica, questo articolo discute i principi di progettazione, gli standard di valutazione delle prestazioni e le possibili direzioni di sviluppo futuro delle funzioni di attivazione, fornendo una guida teorica per l'ottimizzazione e la progettazione di modelli di deep learning.

1. Introduzione

La funzione di attivazione è una componente chiave nelle reti neurali, che introduce caratteristiche non lineari all'uscita dei neuroni, consentendo alle reti neurali di apprendere e rappresentare complesse mappature non lineari. Senza una funzione di attivazione, per quanto profonda sia una rete neurale, essa può essenzialmente rappresentare solo trasformazioni lineari, il che limita notevolmente la capacità espressiva della rete.
Con il rapido sviluppo del deep learning, la progettazione e la selezione delle funzioni di attivazione sono diventati fattori importanti che influenzano le prestazioni del modello. Diverse funzioni di attivazione hanno caratteristiche diverse, come fluidità del gradiente, complessità computazionale, grado di non linearità, ecc. Queste caratteristiche influenzano direttamente l'efficienza dell'addestramento, la velocità di convergenza e le prestazioni finali della rete neurale.
Questo articolo mira a rivedere in modo completo l'evoluzione delle funzioni di attivazione, analizzare in modo approfondito le caratteristiche di varie funzioni di attivazione ed esplorare la loro applicazione nei moderni modelli di deep learning. Tratteremo i seguenti aspetti:

  1. Funzioni di attivazione classiche: comprese le prime funzioni di attivazione comunemente utilizzate come Sigmoid e Tanh.
  2. ReLU e le sue varianti: inclusi ReLU, Leaky ReLU, PReLU, ELU, ecc.
  3. Nuove funzioni di attivazione: funzioni recentemente proposte come Swish, Mish e GeLU.
  4. Funzioni di attivazione per scopi speciali: come Softmax, Maxout, ecc.
  5. Confronto e selezione delle funzioni di attivazione: discutere le strategie di selezione delle funzioni di attivazione in diversi scenari.
  6. Prospettive future: esplorare le possibili direzioni di sviluppo della ricerca sulle funzioni di attivazione.

Attraverso questa revisione e analisi sistematica, speriamo di fornire un riferimento completo a ricercatori e professionisti per aiutarli a selezionare e utilizzare meglio le funzioni di attivazione nella progettazione di modelli di deep learning.

2. Funzione di attivazione classica

2.1 Funzione sigmoidea

La funzione Sigmoide è una delle prime funzioni di attivazione ampiamente utilizzate e la sua espressione matematica è:
σ ( x ) = 1 1 + e − x sigma(x) = frac{1}{1 + e^{-x}}σ(X)=1+eX1
immagine.png

Caratteristiche e vantaggi:
  1. L'intervallo di uscita è limitato: L'intervallo di output della funzione Sigmoide è compreso tra (0, 1), il che la rende particolarmente adatta per affrontare problemi di probabilità.
  2. Liscio e differenziabile: La funzione è uniforme e differenziabile in tutto il dominio, il che è vantaggioso per l'applicazione dell'algoritmo di discesa del gradiente.
  3. esplicativo: L'output può essere interpretato come probabilità, particolarmente adatto per lo strato di output dei problemi di classificazione binaria.
Svantaggi e limitazioni:
  1. problema del gradiente evanescente: Quando il valore di input è grande o piccolo, il gradiente è vicino allo zero, il che può portare al problema del gradiente evanescente nelle reti profonde.
  2. Centro dell'output diverso da zero: L'output di Sigmoid è tutto positivo, il che può far sì che l'input del neurone nello strato successivo sia sempre positivo, influenzando la velocità di convergenza del modello.
  3. Complessità computazionale: Coinvolge operazioni esponenziali e la complessità computazionale è relativamente elevata.
Scena applicabile:
  1. Le prime reti neurali superficiali.
  2. Livello di output per problemi di classificazione binaria.
  3. Scenari in cui l'output deve essere limitato all'intervallo (0, 1).
Confronto con altre funzioni:

Rispetto a funzioni come ReLU apparse successivamente, l'applicazione di Sigmoid nelle reti profonde è stata notevolmente limitata, principalmente a causa del problema del gradiente evanescente. Tuttavia, in alcuni compiti specifici (come la classificazione binaria), il sigma è ancora una scelta efficace.

2.2 Funzione Tan

La funzione Tanh (tangente iperbolica) può essere considerata una versione migliorata della funzione Sigmoide e la sua espressione matematica è:
tanh ⁡ ( x ) = ex − e − xex + e − x tanh(x) = frac{e^x - e^{-x}}{e^x + e^{-x}}Tanh-tanga(X)=eX+eXeXeX
immagine.png

Caratteristiche e vantaggi:
  1. uscita centrale zero: L'intervallo di output della funzione Tanh è compreso tra (-1, 1), che risolve il problema del centro diverso da zero di Sigmoid.
  2. Gradiente più forte: Nelle aree in cui l'input è vicino allo zero, il gradiente della funzione Tanh è maggiore della funzione Sigmoide, il che aiuta ad accelerare l'apprendimento.
  3. Liscio e differenziabile: Simile al Sigmoide, anche Tanh è liscio e differenziabile.
Svantaggi e limitazioni:
  1. problema del gradiente evanescente: Sebbene migliorato rispetto a Sigmoid, Tanh presenta ancora il problema dei gradienti che svaniscono quando il valore di input è grande o piccolo.
  2. Complessità computazionale: Simile a Sigmoid, anche Tanh prevede operazioni esponenziali e presenta un'elevata complessità computazionale.
Scena applicabile:
  1. Meglio di Sigmoid negli scenari che richiedono un output centrato sullo zero.
  2. Spesso utilizzato nelle reti neurali ricorrenti (RNN) e nelle reti di memoria a breve termine (LSTM).
  3. Utilizzato in alcuni scenari in cui l'output normalizzato è importante.
Miglioramento e confronto:

La funzione Tanh può essere considerata una versione migliorata della funzione Sigmoid. Il miglioramento principale risiede nel centraggio dello zero dell'output. Questa caratteristica fa sì che Tanh funzioni meglio di Sigmoid in molte situazioni, specialmente nelle reti profonde. Tuttavia, rispetto a funzioni come ReLU apparse successivamente, Tanh presenta ancora il problema della scomparsa del gradiente, che può influire sulle prestazioni del modello in reti molto profonde.
Le due classiche funzioni di attivazione, Sigmoid e Tanh, hanno svolto un ruolo importante agli albori del deep learning, e le loro caratteristiche e limitazioni hanno promosso anche lo sviluppo di successive funzioni di attivazione. Sebbene in molti scenari siano stati sostituiti da funzioni di attivazione aggiornate, mantengono ancora il loro valore applicativo unico in compiti e strutture di rete specifici.

3. ReLU e sue varianti

3.1 ReLU (Unità lineare rettificata)

La proposta della funzione ReLU rappresenta una tappa importante nello sviluppo delle funzioni di attivazione. La sua espressione matematica è semplice:
ReLU ( x ) = max ⁡ ( 0 , x ) testo{ReLU}(x) = max(0, x)Ri-LU(X)=massimo(0,X)
immagine.png

Caratteristiche e vantaggi:
  1. Il calcolo è semplice: La complessità computazionale di ReLU è molto inferiore rispetto a Sigmoid e Tanh, il che è vantaggioso per accelerare la formazione della rete.
  2. Il gradiente di mitigazione scompare: Per input positivi, il gradiente di ReLU è sempre 1, il che allevia efficacemente il problema del gradiente evanescente nelle reti profonde.
  3. attivazione sparsa: ReLU può rendere 0 l'output di una parte dei neuroni, portando a un'espressione sparsa della rete, il che è utile in determinati compiti.
  4. spiegazione biologica: Le proprietà inibitorie unilaterali di ReLU sono simili al comportamento dei neuroni biologici.
Svantaggi e limitazioni:
  1. Problema "ReLU morto".: Quando l'input è negativo, il gradiente è zero, il che può portare alla disattivazione permanente del neurone.
  2. uscita centrale diversa da zero: Gli output di ReLU sono tutti valori non negativi, che possono influenzare il processo di apprendimento del livello successivo.
Scena applicabile:
  1. Ampiamente utilizzato nelle reti neurali convoluzionali profonde (come ResNet, VGG).
  2. Adatto per la maggior parte delle reti neurali feedforward.
Confronto con altre funzioni:

Rispetto a Sigmoid e Tanh, ReLU mostra vantaggi significativi nelle reti profonde, principalmente in termini di velocità di allenamento e mitigazione della scomparsa del gradiente. Tuttavia, il problema della "ReLU morta" ha spinto i ricercatori a proporre varie versioni migliorate.

3.2 ReLU che perde

Per risolvere il problema della "morte" di ReLU, è stato proposto Leaky ReLU:
Leaky ReLU ( x ) = { x , se x > 0 α x , se x ≤ 0 testo{Leaky ReLU}(x) ={X,SeX>0αX,SeX0 ReLU che perde(X)={ X,l'asse alfa,SeX>0SeX0
In, alfa alfaα è una piccola costante positiva, solitamente 0,01.
immagine.png

Caratteristiche e vantaggi:
  1. Alleviare il problema della "ReLU morta".: Conservano ancora un piccolo gradiente quando l'input è negativo per evitare la completa disattivazione dei neuroni.
  2. Mantieni i vantaggi di ReLU: Mantenere la linearità sul semiasse positivo, il calcolo è semplice e aiuta ad alleviare la scomparsa del gradiente.
Svantaggi e limitazioni:
  1. Introduzione agli iperparametri alfa alfaαLa selezione dei valori richiede un'ottimizzazione, che aumenta la complessità del modello.
  2. uscita centrale diversa da zero: Similmente a ReLU, l'output non è ancora centrato sullo zero.
Scena applicabile:
  1. Come alternativa negli scenari in cui ReLU ha prestazioni scarse.
  2. Utilizzato in attività che necessitano di conservare alcune informazioni di valore negativo.

3.3 PReLU (Parametrico ReLU)

PReLU è una variante di Leaky ReLU, dove la pendenza del semiasse negativo è un parametro apprendibile:
PReLU ( x ) = { x , se x > 0 α x , se x ≤ 0 testo{PReLU}(x) ={X,SeX>0αX,SeX0 Preludio(X)={ X,l'asse alfa,SeX>0SeX0
Qui alfa alfaα sono parametri appresi tramite backpropagation.
immagine.png

Caratteristiche e vantaggi:
  1. apprendimento adattivo: Può apprendere automaticamente la pendenza del semiasse negativo più adatta in base ai dati.
  2. potenziale prestazionale: In alcune attività, PReLU può ottenere prestazioni migliori rispetto a ReLU e Leaky ReLU.
Svantaggi e limitazioni:
  1. Aumentare la complessità del modello: L'introduzione di ulteriori parametri apprendibili aumenta la complessità del modello.
  2. Possibile overfitting: In alcuni casi, può portare a un adattamento eccessivo, soprattutto su set di dati di piccole dimensioni.
Scena applicabile:
  1. Attività di deep learning su set di dati su larga scala.
  2. Scenari che richiedono funzioni di attivazione adattativa.

3.4 ELU (Unità lineare esponenziale)

ELU tenta di combinare i vantaggi di ReLU e l'elaborazione degli input negativi. La sua espressione matematica è:
ELU ( x ) = { x , se x > 0 α ( ex − 1 ) , se x ≤ 0 testo{ELU}(x) ={X,SeX>0α(eX1),SeX0 ELU(X)=