Cosa significa saturare le non linearità?


30

Stavo leggendo il documento ImageNet Classification con Deep Convolutional Neural Networks e nella sezione 3 dove spiegavano l'architettura della loro Convolutional Neural Network spiegavano come preferivano usare:

non linearità non saturataf(X)=mun'X(0,X).

perché era più veloce allenarsi. In tale documento sembrano riferirsi a nonlinearità saturano le funzioni più tradizionali utilizzati in CNN, sigma e le funzioni tangente iperbolica (cioè e come saturo).f(X)=tun'nh(X)f(X)=11+e-X=(1+e-X)-1

Perché si riferiscono a queste funzioni come "saturazione" o "non saturazione"? In che senso queste funzioni "saturano" o "non saturano"? Che cosa significano questi termini nel contesto delle reti neurali convoluzionali? Sono utilizzati in altre aree dell'apprendimento automatico (e delle statistiche)?


Ho anche trovato molto utile questa risposta a quora .
franco

Risposte:


26

Intuizione

Una funzione di attivazione saturata comprime l'ingresso.


definizioni

  • f(|limz-f(z)|=+)(|limz+f(z)|=+)
  • f è saturo se non è non saturo.f

Queste definizioni non sono specifiche delle reti neurali convoluzionali.


Esempi

La funzione di attivazione Unità lineare rettificata (ReLU), definita come non è satura poiché :f(X)=mun'X(0,X)limz+f(z)=+

inserisci qui la descrizione dell'immagine

La funzione di attivazione sigmoide, che è definita come è satura, perché schiaccia i numeri reali per variare tra :f(X)=11+e-X[0,1]

inserisci qui la descrizione dell'immagine

La funzione di attivazione tanh (tangente iperbolica) è satura poiché schiaccia i numeri reali nell'intervallo tra :[-1,1]

inserisci qui la descrizione dell'immagine

(le cifre provengono da CS231n , licenza MIT)


1
ah, bello ha un senso! So che questa non era la mia domanda originale, ma qual è la proprietà importante nel contesto di ML e CNN?
Charlie Parker,

Per le ANN, per evitare di avere un'unità con un output elevato che influisce troppo sul layer di output dell'ANN.
Franck Dernoncourt,

qual è la differenza tra abbronzatura e sigmoide? entrambi schiacciano i numeri in un intervallo chiuso! Non capisco, puoi elaborare di più questo abit? Sono un po 'cattivo in matematica. (a proposito, vengo dal punto di vista della CNN)
Rika,

@FranckDernoncourt Intendevi saturare per l'attivazione della tanh? Immagino che ci sia un refuso? :)
CoderSpinoza

1
@tenCupMaximum: saturare significa riempire fino a un punto in cui non è possibile aggiungere altro. Nel contesto di una funzione di saturazione, significa che dopo un certo punto, qualsiasi ulteriore aumento dell'input della funzione non causerà più un aumento (significativo) del suo output, che ha (quasi) raggiunto il suo valore massimo. La funzione a quel punto è "tutto riempito", per così dire (o saturo ).
Ruben van Bergen,

0

Le funzioni di attivazione più comuni sono LOG e TanH. Queste funzioni hanno un intervallo compatto, il che significa che comprimono la risposta neurale in un sottoinsieme limitato dei numeri reali. Il LOG comprime gli ingressi in uscite tra 0 e 1, il TAN H tra -1 e 1. Queste funzioni mostrano un comportamento limitante ai limiti.

Al confine il gradiente dell'output rispetto all'ingresso ∂yj / ∂xj è molto piccolo. Quindi il gradiente è piccolo, quindi piccoli passi per la convergenza, quindi un tempo più lungo per convergere.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.