Funzione Tanh: perché le uscite centrate sullo zero contano nelle reti neurali
Questa guida spiega l’intuizione matematica dietro la funzione tanh, come si confronta con sigmoid e ReLU, i suoi vantaggi e compromessi e come implementarla in modo efficace nel deep learning.
La tua rete neurale è bloccata al 60% di accuratezza e non capisci perché?
Hai ritoccato il learning rate, aggiunto più layer e giocato con la batch size. Niente funziona. La training loss si muove appena dopo le prime epoche. Inizi a mettere in discussione tutta la configurazione. Forse i dati sono scadenti, forse l’architettura è sbagliata. Ma in realtà la tua funzione di attivazione sta spingendo tutte le uscite in un’unica direzione, rendendo impossibile alla rete apprendere pattern bilanciati.
Tanh (tangente iperbolica) risolve il problema centrando le uscite attorno allo zero, con valori da -1 a 1. Questo aiuta i modelli a convergere più velocemente e mantiene i gradienti che scorrono in modo simmetrico durante la backpropagation.
In questo articolo imparerai cos’è la tanh, come funziona matematicamente, quando usarla al posto di ReLU o sigmoid e come implementarla in PyTorch. Se sei alle prime armi con il deep learning, dai un’occhiata alla nostra guida approfondita sulle funzioni di attivazione nelle reti neurali.
Che cos’è la funzione Tanh?
La funzione tanh mappa qualsiasi input in un valore compreso tra -1 e 1.
È una curva liscia a forma di S definita dalla seguente formula:
Funzione Tanh. Immagine dell’autore
La funzione si comporta in modo prevedibile agli estremi. Se le dai un numero grande e positivo, restituisce qualcosa vicino a 1. Per un numero grande e negativo, otterrai qualcosa vicino a -1.
Intorno allo zero, tanh si comporta quasi linearmente. Questo significa che i gradienti scorrono fluidamente durante la backpropagation, invece di essere schiacciati o distorti.
Per confronto, sigmoid produce solo valori positivi tra 0 e 1. Tanh restituisce sia numeri positivi che negativi. Mantiene le attivazioni bilanciate attorno allo zero, il che aiuta l’ottimizzazione a convergere più rapidamente in molte architetture di rete.
Vedrai spesso tanh nelle reti ricorrenti e ovunque le attivazioni centrate migliorino la stabilità.
Proprietà matematiche e computazionali
Tanh ha alcune proprietà matematiche che ogni aspirante machine learning engineer deve conoscere.
Liscia e derivabile
Tanh è infinitamente derivabile ed è liscia ovunque.
Questo è importante per l’ottimizzazione basata sui gradienti. Non incontrerai spigoli vivi come con ReLU, dove la derivata salta da 0 a 1 istantaneamente. Gradienti morbidi significano aggiornamenti dei pesi più prevedibili durante la backpropagation.
Uscita centrata sullo zero
Sigmoid produce valori tra 0 e 1. Tanh produce valori tra -1 e 1.
Quando le attivazioni restano bilanciate attorno allo zero, la tua rete converge più velocemente. Gli aggiornamenti dei pesi non sono polarizzati in una direzione, e i gradienti scorrono più uniformemente attraverso i layer.
Limitata e stabile
L’intervallo di uscita di tanh è fisso tra -1 e 1.
Questi limiti prevengono instabilità numeriche. Se stai lavorando con reti che non tollerano attivazioni esplosive, tanh tiene tutto sotto controllo senza clipping o gestione speciale.
Comportamento agli estremi
Per valori positivi grandi, tanh si avvicina a 1. Per valori negativi grandi, si avvicina a -1.
Questa simmetria mantiene le attivazioni centrate e previene lo spostamento di bias che vedi con funzioni non centrate sullo zero come sigmoid. Nelle reti profonde, questa proprietà aiuta gli aggiornamenti dei pesi a propagarsi più uniformemente attraverso i layer: la rete non sviluppa una preferenza per valori positivi o negativi.
Derivata di tanh
La derivata di tanh è:
Derivata della tanh. Immagine dell’autore.
Questo significa che i gradienti sono forti vicino allo zero ma si riducono verso i bordi man mano che la funzione satura. Quando tanh(x) è vicino a 1 o -1, la derivata tende a zero, il che rallenta l’apprendimento di quei neuroni.
In pratica, ottieni un apprendimento stabile per input moderati ma potenziali gradienti vanescenti quando gli input sono troppo grandi o troppo piccoli. Ecco perché le reti molto profonde spesso preferiscono ReLU: non satura per valori positivi.
Tanh vs. altre funzioni
Tanh non è l’unica funzione di attivazione disponibile, e capire come si confronta con le alternative ti aiuta a scegliere quella giusta per la tua rete.
Sigmoid è una stretta parente della tanh. In effetti, tanh è solo una versione scalata e traslata della sigmoid:
Dove σ(x) è la funzione sigmoid.
Funzione Sigmoid. Immagine dell’autore
La differenza chiave è che Sigmoid produce valori tra 0 e 1, mentre tanh tra -1 e 1. Questa centratura sullo zero fa sì che tanh converga più velocemente nella maggior parte dei casi.
ReLU adotta un approccio diverso. Restituisce zero per input negativi e lascia invariati gli input positivi. Questo crea sparsità, cioè molti neuroni restano inattivi, il che accelera l’addestramento. Ma ReLU azzera i gradienti per i valori negativi. Tanh non ha questo problema perché mantiene gradienti non nulli per input negativi. Tuttavia satura a entrambi gli estremi, cosa che può rallentare l’apprendimento quando gli input diventano troppo grandi o troppo piccoli.
Funzione ReLU. Immagine dell’autore
Softsign appare simile a tanh. Entrambe sono curve lisce a forma di S. Ma tanh converge più velocemente vicino allo zero perché la sua pendenza è più ripida. Questo significa gradienti più forti nelle prime fasi di addestramento, il che può aiutare la rete a imparare più rapidamente prima che gli input raggiungano le zone di saturazione.
Funzione Softsign. Immagine dell’autore
Qui sto solo scalfendo la superficie di queste funzioni di attivazione. Se ti interessano alternative a Tanh e ReLU, leggi le nostre guide approfondites su Softmax e Softplus.
Vantaggi di Tanh
Se stai decidendo se vale la pena provare Tanh, ecco alcuni vantaggi da considerare che potrebbero portarti a un modello più accurato.
Uscita centrata sullo zero
Tanh produce uscite bilanciate attorno allo zero.
Questo riduce i bias negli aggiornamenti dei pesi. Quando le attivazioni sono centrate attorno allo zero, invece di essere spostate verso il positivo come con sigmoid, i gradienti non tirano i pesi più in una direzione che nell’altra. Il risultato è una convergenza più rapida e un addestramento più stabile.
Gradienti più forti vicino allo zero
Tanh ha una pendenza ripida vicino allo zero.
Questo significa gradienti più forti durante la backpropagation rispetto a sigmoid. La tua rete impara più velocemente nelle prime fasi di addestramento, quando la maggior parte delle attivazioni si trova vicino allo zero. Al contrario, la pendenza più dolce di Sigmoid rende quegli aggiornamenti iniziali più deboli e lenti.
Flusso di gradiente fluido
Le derivate di tanh sono continue ovunque.
Non ci sono salti improvvisi o discontinuità. Questo ti offre un’ottimizzazione più stabile rispetto a funzioni a tratti come ReLU, dove la derivata passa bruscamente da 0 a 1 allo zero. Gradienti lisci significano aggiornamenti dei pesi prevedibili per tutto l’addestramento.
Ideale per reti ricorrenti
RNN, LSTM e GRU si affidano a tanh nei loro layer nascosti.
Queste architetture devono mantenere stati interni fluidi nel tempo. Tanh lascia scorrere sia segnali positivi che negativi mantenendo i valori limitati. Questo equilibrio previene attivazioni esplosive e aiuta la rete a ricordare informazioni su sequenze più lunghe.
Limitazioni e compromessi
Prima di passare al codice, vediamo un paio di aree in cui Tanh potrebbe non essere all’altezza.
Gradienti vanescenti
Quando gli input si allontanano dallo zero, i gradienti tendono a zero.
Questo succede perché tanh satura a -1 e 1. Una volta che le attivazioni raggiungono questi estremi, la derivata diventa piccolissima e gli aggiornamenti dei pesi rallentano molto. Nelle reti molto profonde, il problema si amplifica perché i gradienti si riducono mentre fanno backpropagation attraverso ogni layer finché l’apprendimento praticamente si ferma.
Addestramento più lento
Tanh non crea sparsità.
Ogni neurone resta attivo in una certa misura, a differenza di ReLU dove gli input negativi producono uscita zero. Questo significa che la tua rete elabora più informazioni per ogni passaggio in avanti, il che sembra positivo ma in realtà rallenta le cose. La sparsità di ReLU rende l’addestramento più veloce perché i neuroni inattivi saltano completamente il calcolo.
Meno ottimizzata dall’hardware
I framework moderni e gli acceleratori hardware favoriscono ReLU.
Le operazioni tanh coinvolgono esponenziali, più costosi da calcolare rispetto alla semplice operazione max(0, x) di ReLU. I kernel GPU e i chip AI specializzati sono ottimizzati per ReLU perché è diventata di fatto lo standard in molte architetture. Questo significa che tanh girerà più lentamente sullo stesso hardware, anche con architetture di rete identiche.
Tanh in PyTorch
PyTorch fornisce nativamente un’implementazione della funzione Tanh, quindi non devi scriverla da zero.
Ecco come usarla come funzione di attivazione in una semplice rete neurale:
import torch
import torch.nn as nn
model = nn.Sequential(
nn.Linear(10,20),
nn.Tanh(),
nn.Linear(20,1))
x = torch.randn(5,10)
output = model(x)print(output)Offerto da
tensor([[0.0910],[-0.0994],[-0.0583],[-0.2177],[-0.2546]], grad_fn=<AddmmBackward0>)Offerto da
Puoi anche applicare tanh direttamente ai tensori:
x = torch.tensor([-2.0,-1.0,0.0,1.0,2.0])
output = torch.tanh(x)print(output)Offerto da
tensor([-0.9640,-0.7616,0.0000,0.7616,0.9640])Offerto da
Nota come le uscite siano simmetriche attorno allo zero: gli input negativi producono uscite negative e la funzione tratta entrambe le parti in modo equivalente. Questa distribuzione bilanciata mantiene la rete stabile durante l’addestramento e previene lo spostamento di bias che vedresti con funzioni come sigmoid.
Quando si usa Tanh
Scegli la funzione Tanh quando il tuo modello beneficia di attivazioni centrate o quando lavori con reti più piccole o ricorrenti.
È particolarmente efficace quando:
Stai addestrando RNN o LSTM che necessitano di attivazioni bilanciate. Queste architetture si affidano a Tanh per mantenere stati interni fluidi tra i time step consentendo il passaggio sia di segnali positivi che negativi.
Stai modellando target continui o regolari. Il flusso di gradiente regolare di Tanh funziona bene quando le uscite devono essere continue e limitate, ad esempio prevedere valori che ricadono naturalmente in un intervallo.
Vuoi gradienti stabili e derivabili ma non ti serve la sparsità di ReLU. Se la tua rete non è abbastanza profonda da beneficiare del vantaggio di velocità di ReLU, Tanh offre un comportamento di addestramento più prevedibile.
Al contrario, evita Tanh in architetture molto profonde dove i gradienti vanescenti sono un problema. In quel caso ReLU o GELU sono scelte migliori perché non saturano per valori positivi.
Conclusione
In sintesi, la funzione Tanh si colloca tra la semplicità di Sigmoid e la velocità di ReLU.
È liscia, simmetrica e ancora rilevante nel deep learning, soprattutto dove contano di più le attivazioni bilanciate. Non la troverai in ogni architettura moderna, ma ha il suo posto quando servono uscite centrate e flusso di gradiente stabile.
Se non sei sicuro se usare Tanh o meno, segui queste linee guida:
Usa ReLU per reti grandi e profonde. È più veloce, funziona bene con l’hardware moderno ed evita i gradienti vanescenti per i valori positivi.
Usa Tanh quando ti servono stabilità, simmetria e un flusso di gradiente più regolare. Vale a dire reti ricorrenti, architetture più piccole e casi in cui le attivazioni centrate sullo zero migliorano la convergenza.
Esegui esperimenti, confronta i risultati e lascia che siano i tuoi dati a decidere quale attivazione si adatta meglio al tuo compito. Vuoi saperne di più? Iscriviti al nostro percorso Machine Learning Scientist in Python per padroneggiare supervised, unsupervised e deep learning.
Senior Data Scientist con base in Croazia. Top Tech Writer con oltre 700 articoli pubblicati, per più di 10 milioni di visualizzazioni. Autore del libro Machine Learning Automation with TPOT.
Senior Data Scientist con base in Croazia. Top Tech Writer con oltre 700 articoli pubblicati, per più di 10 milioni di visualizzazioni. Autore del libro Machine Learning Automation with TPOT.
FAQ
Che cos’è la funzione di attivazione tanh?⌄
Tanh (tangente iperbolica) è una funzione di attivazione che mappa qualsiasi input in un valore compreso tra -1 e 1. È definita come tanh(x) = (e^x - e^-x) / (e^x + e^-x) e crea una curva a forma di S simile a sigmoid. La differenza principale è che tanh è centrata sullo zero, cioè restituisce sia valori positivi che negativi, il che aiuta le reti neurali a convergere più velocemente durante l’addestramento.
Quando dovrei usare tanh invece di ReLU?⌄
Usa tanh quando stai costruendo reti ricorrenti (RNN, LSTM, GRU) che necessitano di attivazioni bilanciate e centrate sullo zero. È anche migliore per reti più piccole in cui servono gradienti lisci e derivabili senza la sparsità offerta da ReLU. Evita tanh in reti feedforward molto profonde dove la velocità di ReLU e la resistenza ai gradienti vanescenti la rendono una scelta migliore.
Quali sono i principali vantaggi di tanh rispetto a sigmoid?⌄
L’uscita centrata sullo zero di Tanh (compresa tra -1 e 1) previene lo spostamento di bias che si verifica con l’intervallo 0–1 di sigmoid. Questo porta ad aggiornamenti dei pesi più bilanciati e a una convergenza più rapida. Tanh ha anche una pendenza più ripida vicino allo zero, il che significa gradienti più forti durante la backpropagation rispetto a sigmoid.
Perché tanh causa gradienti vanescenti?⌄
Tanh satura a -1 e 1, cioè la sua derivata tende a zero quando gli input sono lontani dallo zero. Nelle reti profonde, questi gradienti minuscoli si moltiplicano durante la backpropagation, riducendosi esponenzialmente a ogni layer fino a svanire di fatto. Questo rende difficile l’apprendimento dei primi layer, motivo per cui ReLU è preferita nelle architetture molto profonde.
Come implemento tanh in PyTorch?⌄
PyTorch fornisce tanh tramite nn.Tanh() come layer o torch.tanh() come funzione. Puoi aggiungerla al tuo modello o applicarla direttamente ai tensori. Entrambi gli approcci funzionano allo stesso modo e offrono il calcolo automatico dei gradienti per la backpropagation.
Scopri i 15 migliori server MCP remoti che stanno trasformando lo sviluppo AI nel 2026. Scopri come migliorano automazione, ragionamento, sicurezza e velocità dei workflow.
La tua rete neurale è bloccata al 60% di accuratezza e non capisci perché?
Hai ritoccato il learning rate, aggiunto più layer e giocato con la batch size. Niente funziona. La training loss si muove appena dopo le prime epoche. Inizi a mettere in discussione tutta la configurazione. Forse i dati sono scadenti, forse l’architettura è sbagliata. Ma in realtà la tua funzione di attivazione sta spingendo tutte le uscite in un’unica direzione, rendendo impossibile alla rete apprendere pattern bilanciati.
Tanh (tangente iperbolica) risolve il problema centrando le uscite attorno allo zero, con valori da -1 a 1. Questo aiuta i modelli a convergere più velocemente e mantiene i gradienti che scorrono in modo simmetrico durante la backpropagation.
In questo articolo imparerai cos’è la tanh, come funziona matematicamente, quando usarla al posto di ReLU o sigmoid e come implementarla in PyTorch. Se sei alle prime armi con il deep learning, dai un’occhiata alla nostra guida approfondita sulle funzioni di attivazione nelle reti neurali.
Che cos’è la funzione Tanh?
La funzione tanh mappa qualsiasi input in un valore compreso tra -1 e 1.
È una curva liscia a forma di S definita dalla seguente formula:
Funzione Tanh. Immagine dell’autore
La funzione si comporta in modo prevedibile agli estremi. Se le dai un numero grande e positivo, restituisce qualcosa vicino a 1. Per un numero grande e negativo, otterrai qualcosa vicino a -1.
Intorno allo zero, tanh si comporta quasi linearmente. Questo significa che i gradienti scorrono fluidamente durante la backpropagation, invece di essere schiacciati o distorti.
Per confronto, sigmoid produce solo valori positivi tra 0 e 1. Tanh restituisce sia numeri positivi che negativi. Mantiene le attivazioni bilanciate attorno allo zero, il che aiuta l’ottimizzazione a convergere più rapidamente in molte architetture di rete.
Vedrai spesso tanh nelle reti ricorrenti e ovunque le attivazioni centrate migliorino la stabilità.
Proprietà matematiche e computazionali
Tanh ha alcune proprietà matematiche che ogni aspirante machine learning engineer deve conoscere.
Liscia e derivabile
Tanh è infinitamente derivabile ed è liscia ovunque.
Questo è importante per l’ottimizzazione basata sui gradienti. Non incontrerai spigoli vivi come con ReLU, dove la derivata salta da 0 a 1 istantaneamente. Gradienti morbidi significano aggiornamenti dei pesi più prevedibili durante la backpropagation.
Uscita centrata sullo zero
Sigmoid produce valori tra 0 e 1. Tanh produce valori tra -1 e 1.
Quando le attivazioni restano bilanciate attorno allo zero, la tua rete converge più velocemente. Gli aggiornamenti dei pesi non sono polarizzati in una direzione, e i gradienti scorrono più uniformemente attraverso i layer.
Limitata e stabile
L’intervallo di uscita di tanh è fisso tra -1 e 1.
Questi limiti prevengono instabilità numeriche. Se stai lavorando con reti che non tollerano attivazioni esplosive, tanh tiene tutto sotto controllo senza clipping o gestione speciale.
Comportamento agli estremi
Per valori positivi grandi, tanh si avvicina a 1. Per valori negativi grandi, si avvicina a -1.
Questa simmetria mantiene le attivazioni centrate e previene lo spostamento di bias che vedi con funzioni non centrate sullo zero come sigmoid. Nelle reti profonde, questa proprietà aiuta gli aggiornamenti dei pesi a propagarsi più uniformemente attraverso i layer: la rete non sviluppa una preferenza per valori positivi o negativi.
Derivata di tanh
La derivata di tanh è:
Derivata della tanh. Immagine dell’autore.
Questo significa che i gradienti sono forti vicino allo zero ma si riducono verso i bordi man mano che la funzione satura. Quando tanh(x) è vicino a 1 o -1, la derivata tende a zero, il che rallenta l’apprendimento di quei neuroni.
In pratica, ottieni un apprendimento stabile per input moderati ma potenziali gradienti vanescenti quando gli input sono troppo grandi o troppo piccoli. Ecco perché le reti molto profonde spesso preferiscono ReLU: non satura per valori positivi.
Tanh vs. altre funzioni
Tanh non è l’unica funzione di attivazione disponibile, e capire come si confronta con le alternative ti aiuta a scegliere quella giusta per la tua rete.
Sigmoid è una stretta parente della tanh. In effetti, tanh è solo una versione scalata e traslata della sigmoid:
Dove σ(x) è la funzione sigmoid.
Funzione Sigmoid. Immagine dell’autore
La differenza chiave è che Sigmoid produce valori tra 0 e 1, mentre tanh tra -1 e 1. Questa centratura sullo zero fa sì che tanh converga più velocemente nella maggior parte dei casi.
ReLU adotta un approccio diverso. Restituisce zero per input negativi e lascia invariati gli input positivi. Questo crea sparsità, cioè molti neuroni restano inattivi, il che accelera l’addestramento. Ma ReLU azzera i gradienti per i valori negativi. Tanh non ha questo problema perché mantiene gradienti non nulli per input negativi. Tuttavia satura a entrambi gli estremi, cosa che può rallentare l’apprendimento quando gli input diventano troppo grandi o troppo piccoli.
Funzione ReLU. Immagine dell’autore
Softsign appare simile a tanh. Entrambe sono curve lisce a forma di S. Ma tanh converge più velocemente vicino allo zero perché la sua pendenza è più ripida. Questo significa gradienti più forti nelle prime fasi di addestramento, il che può aiutare la rete a imparare più rapidamente prima che gli input raggiungano le zone di saturazione.
Funzione Softsign. Immagine dell’autore
Qui sto solo scalfendo la superficie di queste funzioni di attivazione. Se ti interessano alternative a Tanh e ReLU, leggi le nostre guide approfondites su Softmax e Softplus.
Vantaggi di Tanh
Se stai decidendo se vale la pena provare Tanh, ecco alcuni vantaggi da considerare che potrebbero portarti a un modello più accurato.
Uscita centrata sullo zero
Tanh produce uscite bilanciate attorno allo zero.
Questo riduce i bias negli aggiornamenti dei pesi. Quando le attivazioni sono centrate attorno allo zero, invece di essere spostate verso il positivo come con sigmoid, i gradienti non tirano i pesi più in una direzione che nell’altra. Il risultato è una convergenza più rapida e un addestramento più stabile.
Gradienti più forti vicino allo zero
Tanh ha una pendenza ripida vicino allo zero.
Questo significa gradienti più forti durante la backpropagation rispetto a sigmoid. La tua rete impara più velocemente nelle prime fasi di addestramento, quando la maggior parte delle attivazioni si trova vicino allo zero. Al contrario, la pendenza più dolce di Sigmoid rende quegli aggiornamenti iniziali più deboli e lenti.
Flusso di gradiente fluido
Le derivate di tanh sono continue ovunque.
Non ci sono salti improvvisi o discontinuità. Questo ti offre un’ottimizzazione più stabile rispetto a funzioni a tratti come ReLU, dove la derivata passa bruscamente da 0 a 1 allo zero. Gradienti lisci significano aggiornamenti dei pesi prevedibili per tutto l’addestramento.
Ideale per reti ricorrenti
RNN, LSTM e GRU si affidano a tanh nei loro layer nascosti.
Queste architetture devono mantenere stati interni fluidi nel tempo. Tanh lascia scorrere sia segnali positivi che negativi mantenendo i valori limitati. Questo equilibrio previene attivazioni esplosive e aiuta la rete a ricordare informazioni su sequenze più lunghe.
Limitazioni e compromessi
Prima di passare al codice, vediamo un paio di aree in cui Tanh potrebbe non essere all’altezza.
Gradienti vanescenti
Quando gli input si allontanano dallo zero, i gradienti tendono a zero.
Questo succede perché tanh satura a -1 e 1. Una volta che le attivazioni raggiungono questi estremi, la derivata diventa piccolissima e gli aggiornamenti dei pesi rallentano molto. Nelle reti molto profonde, il problema si amplifica perché i gradienti si riducono mentre fanno backpropagation attraverso ogni layer finché l’apprendimento praticamente si ferma.
Addestramento più lento
Tanh non crea sparsità.
Ogni neurone resta attivo in una certa misura, a differenza di ReLU dove gli input negativi producono uscita zero. Questo significa che la tua rete elabora più informazioni per ogni passaggio in avanti, il che sembra positivo ma in realtà rallenta le cose. La sparsità di ReLU rende l’addestramento più veloce perché i neuroni inattivi saltano completamente il calcolo.
Meno ottimizzata dall’hardware
I framework moderni e gli acceleratori hardware favoriscono ReLU.
Le operazioni tanh coinvolgono esponenziali, più costosi da calcolare rispetto alla semplice operazione max(0, x) di ReLU. I kernel GPU e i chip AI specializzati sono ottimizzati per ReLU perché è diventata di fatto lo standard in molte architetture. Questo significa che tanh girerà più lentamente sullo stesso hardware, anche con architetture di rete identiche.
Tanh in PyTorch
PyTorch fornisce nativamente un’implementazione della funzione Tanh, quindi non devi scriverla da zero.
Ecco come usarla come funzione di attivazione in una semplice rete neurale:
Puoi anche applicare tanh direttamente ai tensori:
Nota come le uscite siano simmetriche attorno allo zero: gli input negativi producono uscite negative e la funzione tratta entrambe le parti in modo equivalente. Questa distribuzione bilanciata mantiene la rete stabile durante l’addestramento e previene lo spostamento di bias che vedresti con funzioni come sigmoid.
Quando si usa Tanh
Scegli la funzione Tanh quando il tuo modello beneficia di attivazioni centrate o quando lavori con reti più piccole o ricorrenti.
È particolarmente efficace quando:
Al contrario, evita Tanh in architetture molto profonde dove i gradienti vanescenti sono un problema. In quel caso ReLU o GELU sono scelte migliori perché non saturano per valori positivi.
Conclusione
In sintesi, la funzione Tanh si colloca tra la semplicità di Sigmoid e la velocità di ReLU.
È liscia, simmetrica e ancora rilevante nel deep learning, soprattutto dove contano di più le attivazioni bilanciate. Non la troverai in ogni architettura moderna, ma ha il suo posto quando servono uscite centrate e flusso di gradiente stabile.
Se non sei sicuro se usare Tanh o meno, segui queste linee guida:
Esegui esperimenti, confronta i risultati e lascia che siano i tuoi dati a decidere quale attivazione si adatta meglio al tuo compito. Vuoi saperne di più? Iscriviti al nostro percorso Machine Learning Scientist in Python per padroneggiare supervised, unsupervised e deep learning.