Qual è la differenza tra i neuroni iperbolici tangenti e sigmoidi?


8

Due funzioni di attivazione comuni utilizzate nell'apprendimento profondo sono la funzione tangente iperbolica e la funzione di attivazione sigmoidea. Capisco che la tangente iperbolica è solo un riscalamento e una traduzione della funzione sigmoide:

tanh(z)=2σ(z)1.

Esiste una differenza significativa tra queste due funzioni di attivazione, e in particolare quando è preferibile l'una all'altra ?

Mi rendo conto che in alcuni casi (come quando si stimano le probabilità) i risultati nel range di [0,1] sono più convenienti delle uscite che vanno da [1,1]. Voglio sapere se ci sono differenze diverse dalla convenienza che distinguono le due funzioni di attivazione.

Risposte:


3

Non credo abbia senso decidere le funzioni di attivazione in base alle proprietà desiderate dell'output; puoi facilmente inserire una fase di calibrazione che associ il "punteggio della rete neurale" a qualsiasi unità tu voglia effettivamente usare (dollari, probabilità, ecc.).

Quindi penso che la preferenza tra le diverse funzioni di attivazione si riduca principalmente alle diverse proprietà di quelle funzioni di attivazione (come se siano o meno continuamente differenziabili). Perché c'è solo una trasformazione lineare tra i due, penso che ciò significhi che non c'è una differenza significativa tra loro.


2

Sigmoide> Tangente iperbolica:

Come hai detto, l'applicazione di Sigmoid potrebbe essere più conveniente della tangente iperbolica nei casi in cui abbiamo bisogno di un valore di probabilità all'output (come dice @ matthew-graves, possiamo risolverlo con un semplice passaggio di mappatura / calibrazione). In altri livelli, questo non ha senso.

Tangente iperbolica> Sigmoide:

La tangente iperbolica ha una proprietà chiamata "identità approssimativa vicino all'origine" che significa tanh(0)=0, tanh(0)=1, e tanh(z) è continuo z=0 (al contrario di σ(0)=0.5 e σ'(0)=0.25). Questa funzione (che esiste anche in molte altre funzioni di attivazione come identità , arcano e sinusoide ) consente alla rete di apprendere in modo efficiente anche quando i suoi pesi sono inizializzati con piccoli valori. In altri casi (ad esempio Sigmoide e Relu ) questi piccoli valori iniziali possono essere problematico.

Ulteriori letture:

Inizializzazione random walk per l'addestramento di reti feedforward molto profonde

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.