Wat is de intuïtie van het gebruik van tanh in LSTM?

In een LSTM-netwerk (LSTM’s begrijpen), waarom doen de invoerpoort en uitvoer poort tanh gebruiken?

Wat is de intuïtie hierachter?

Het is gewoon een niet-lineaire transformatie? Als dit het geval is, kan ik dan beide overschakelen naar een andere activeringsfunctie (bijv. ReLU)?


Antwoord 1, autoriteit 100%

Sigmoidspecifiek, wordt gebruikt als de poortfunctie voor de drie poorten (in, uit en vergeten) in LSTM, aangezien het een waarde tussen 0 en 1 uitvoert, en het kan ofwel geen stroom of een volledige stroom van informatie door de poorten laten.

Aan de andere kant hebben we, om het verdwijnende gradiëntprobleem op te lossen, een functie nodig waarvan de tweede afgeleide een groot bereik kan volhouden voordat hij naar nul gaat. tanhis een goede functie met de bovenstaande eigenschap.

Een goede neuroneenheid moet begrensd, gemakkelijk differentieerbaar, monotoon (goed voor convexe optimalisatie) en gemakkelijk te hanteren zijn. Als je deze kwaliteiten in overweging neemt, geloof ik dat je ReLUkunt gebruiken in plaats van de tanh-functie, omdat ze zeer goede alternatieven voor elkaar zijn.

Maar voordat u een keuze maakt voor activeringsfuncties, moet u weten wat de voor- en nadelen zijn van uw keuze ten opzichte van andere. Ik beschrijf kort enkele activeringsfuncties en hun voordelen.

Sigmoid

Wiskundige uitdrukking: sigmoid(z) = 1 / (1 + exp(-z))

Eerste-orde afgeleide: sigmoid'(z) = -exp(-z) / 1 + exp(-z)^2

Voordelen:

(1) The sigmoid function has all the fundamental properties of a good activation function.

Tan

Wiskundige uitdrukking: tanh(z) = [exp(z) - exp(-z)] / [exp(z) + exp(-z)]

Eerste-orde afgeleide: tanh'(z) = 1 - ([exp(z) - exp(-z)] / [exp(z) + exp(-z)])^2 = 1 - tanh^2(z)

Voordelen:

(1) Often found to converge faster in practice
(2) Gradient computation is less expensive

Harde Tanh

Wiskundige uitdrukking: hardtanh(z) = -1 if z < -1; z if -1 <= z <= 1; 1 if z > 1

Eerste-orde afgeleide: hardtanh'(z) = 1 if -1 <= z <= 1; 0 otherwise

Voordelen:

(1) Computationally cheaper than Tanh
(2) Saturate for magnitudes of z greater than 1

ReLU

Wiskundige uitdrukking: relu(z) = max(z, 0)

Eerste-orde afgeleide: relu'(z) = 1 if z > 0; 0 otherwise

Voordelen:

(1) Does not saturate even for large values of z
(2) Found much success in computer vision applications

Lekke ReLU

Wiskundige uitdrukking: leaky(z) = max(z, k dot z) where 0 < k < 1

Eerste-orde afgeleide: relu'(z) = 1 if z > 0; k otherwise

Voordelen:

(1) Allows propagation of error for non-positive z which ReLU doesn't

Dit artikellegt een aantal leuke activeringsfuncties uit. Je zou kunnen overwegen om het te lezen.


Antwoord 2, autoriteit 65%

LSTM’s beheren een interne toestandsvector waarvan de waarden moeten kunnen toenemen of afnemen wanneer we de uitvoer van een functie toevoegen. Sigmoid-uitvoer is altijd niet-negatief; waarden in de staat zouden alleen maar toenemen. De output van tanh kan positief of negatief zijn, waardoor stijgingen en dalingen in de toestand mogelijk zijn.

Daarom wordt tanh gebruikt om kandidaat-waarden te bepalen die aan de interne status worden toegevoegd. De GRU-neef van de LSTM heeft geen tweede tanh, dus in zekere zin is de tweede niet nodig. Bekijk de diagrammen en uitleg in Chris Olah’s Inzicht in LSTM-netwerkenvoor meer .

De gerelateerde vraag, “Waarom worden sigmoïden gebruikt in LSTM’s waar ze zijn?” wordt ook beantwoord op basis van de mogelijke uitvoer van de functie: “gating” wordt bereikt door te vermenigvuldigen met een getal tussen nul en één, en dat is wat sigmoids uitvoeren.

Er zijn niet echt betekenisvolle verschillen tussen de afgeleiden van sigmoid en tanh; tanh is slechts een herschaalde en verschoven sigmoid: zie Richard Socher’s Neural Tips and Tricks. Als tweede afgeleiden relevant zijn, zou ik graag willen weten hoe.

Other episodes