Guarda lo schema di una rete neurale e vedrai sempre la stessa sequenza: un livello di ingresso, una serie di livelli intermedi, un livello di uscita. Quei livelli intermedi hanno un nome preciso, hidden layer, cioè layer nascosti.
È una delle espressioni che si incontrano più spesso quando si studia l’intelligenza artificiale, ed è anche una delle più fraintese. Nascosto non vuol dire misterioso, né inaccessibile.
Vuol dire che quei valori non corrispondono a niente che tu abbia dato in pasto al modello e a niente che il modello ti restituisca.
Qui vediamo cosa sono i layer nascosti, perché hanno questo nome e perché la loro presenza è la ragione per cui oggi si parla di deep learning.
Di cosa parleremo..
Cos’è un hidden layer, in parole semplici
Una rete neurale è organizzata in livelli sovrapposti.
Il primo è il layer di input, l’ultimo è il layer di output, mentre tutto quello che sta in mezzo è un hidden layer.
Il livello di ingresso non calcola praticamente nulla: prende i dati e li consegna così come sono.
Il livello di uscita produce la risposta finale.
In mezzo, i layer nascosti fanno il lavoro vero, perché trasformano i numeri in ingresso in rappresentazioni via via più utili per il compito.
Ogni neurone di un layer nascosto riceve i valori del layer precedente, li combina con i suoi pesi e bias, applica una funzione di attivazione e passa il risultato al layer successivo. Se hai già letto la lezione sul neurone artificiale, la meccanica ti suona familiare: qui cambia solo la scala, perché ne ripeti lo stesso calcolo migliaia o milioni di volte.
TIP: Perché “nascosto”
Il termine non ha nulla a che vedere con il segreto o con il mistero. Un layer è nascosto perché non è un punto di contatto con l’esterno: i suoi valori non sono dati di partenza e non sono il risultato che leggi. Sono uno stato interno intermedio, visibile solo a chi apre il modello e lo ispeziona.
Un esempio concreto: come fa una rete a riconoscere un gatto
Immagina una rete addestrata a riconoscere gatti nelle fotografie.
Prende in ingresso un’immagine da 224 x 224 pixel a colori: sono circa 150.000 numeri, uno per ogni componente di colore di ogni pixel. Al livello di ingresso sono solo numeri, senza alcun significato.
Il primo layer nascosto cerca cose elementari: bordi, contorni, passaggi netti di luminosità. Non ha la minima idea di cosa sia un gatto, né gli serve saperlo.
Il secondo combina quei bordi in angoli, curve e texture, per esempio la trama del pelo.
Il terzo mette insieme curve e texture e inizia a riconoscere parti riconoscibili: un orecchio appuntito, un occhio, i baffi.
Nei layer più profondi la rappresentazione si fa sempre più astratta. Un livello intermedio può accendersi per la sagoma di una testa con le orecchie a punta, senza sapere se l’animale è seduto o in piedi.
Il layer di output, alla fine, trasforma tutto questo in una risposta: per esempio 92% gatto.
Il punto chiave è che nessun singolo layer sa tutto. Ognuno guarda il risultato del precedente e aggiunge un pezzo di astrazione. Questa si chiama rappresentazione gerarchica, ed è il cuore del deep learning.

Perché si chiama deep learning
Il nome arriva dalla profondità: una rete è deep quando impila molti hidden layer, uno dopo l’altro.
Una rete con un solo layer nascosto si chiama invece shallow, superficiale.
Un po’ di storia, in tre tappe
Il percettrone di Frank Rosenblatt, nel 1958, non aveva nemmeno un layer nascosto: ingresso collegato direttamente all’uscita. Funzionava su problemi semplici e si bloccava su quelli non separabili linearmente, come il famoso caso dello XOR.
Nel 1989 arrivò il teorema di approssimazione universale: una rete con un solo hidden layer e abbastanza neuroni può approssimare qualsiasi funzione continua. È un risultato teorico importante, ma con un limite pratico. Per ottenere la stessa potenza espressiva che si raggiunge con pochi layer profondi, un solo layer dovrebbe contenere un numero di neuroni assurdamente grande. In profondità si arriva prima e con meno parametri.
Nel 2012 AlexNet ha spazzato via ogni dubbio. Otto layer, 60 milioni di parametri, con un errore top-5 del 15,3% alla competizione ImageNet, contro il 26,2% del secondo classificato. Da quel momento il termine deep learning è entrato nel vocabolario comune. Nel 2015 ResNet ha spinto la profondità a 152 layer, nel 2020 GPT-3 viaggiava su 96 layer e 175 miliardi di parametri.
Quanti layer servono per essere “deep”?
Non esiste una soglia ufficiale. La convenzione più diffusa è semplice: più di un hidden layer. Nel linguaggio quotidiano, però, una rete “profonda” oggi ha decine o centinaia di layer. Il confine tra shallow e deep è quindi sfumato e cambia con le epoche, non è una regola scolpita da nessuna parte.
TIP: Profondo, largo e grande non sono sinonimi
Profondità è il numero di layer impilati. Larghezza è quanti neuroni ci sono in un singolo layer. Dimensione è il totale dei parametri del modello. Puoi avere un modello profondissimo ma stretto, oppure poco profondo e larghissimo. Sono tre misure diverse, spesso confuse tra loro.
Cosa impara ogni livello: dalla semplicità all’astrazione
La regola generale vale in tutti i domini: i layer iniziali catturano dettagli locali e semplici, i layer finali catturano concetti complessi e globali.
Nelle immagini
Bordi, poi texture, poi parti di oggetti, infine oggetti interi. È una catena che va dal dettaglio al significato, dove ogni anello è costruito sopra il precedente.
Nel testo
Il meccanismo è lo stesso ma applicato alle parole. I primi layer gestiscono il livello più basso, quello dei embedding dei token, quindi la forma delle parole. I layer intermedi cominciano a rappresentare la struttura della frase, il ruolo grammaticale delle parole, chi fa cosa. I layer più profondi lavorano sul significato complessivo, sul tono, sull’intento e sulle relazioni tra parti lontane del testo.
L’ultimo layer nascosto: il riassunto del contenuto
L’ultimo layer nascosto è spesso il più interessante, perché contiene una sorta di riassunto numerico di tutto l’input. In gergo si chiama hidden state, o rappresentazione latente. È lo stesso tipo di vettore che trovi quando parli di spazi latenti: un concentrato compatto del contenuto, pronto per essere usato dal layer di output.
Hidden layer, input layer e output layer: le differenze
| Livello | Cosa contiene | Da dove arrivano i valori |
|---|---|---|
| Input | I dati grezzi: pixel, token, numeri | Dall’esterno, li fornisci tu |
| Hidden | Rappresentazioni intermedie, sempre più astratte | Calcolate dal layer precedente |
| Output | La risposta finale: classe, probabilità, token | Calcolata dal modello e restituita |
Da questa tabella si capisce anche cosa significa “addestrare” una rete profonda: i valori nei hidden layer non sono scritti da nessuno, emergono da soli durante il training: sono il risultato di miliardi di piccoli aggiustamenti dei pesi.
Deep non significa automaticamente meglio
Aggiungere layer aumentò la potenza delle reti, ma portò con sé anche problemi seri. Per anni le reti profonde sono state difficilissime da addestrare. Il motivo principale stava nel modo in cui l’errore si propaga all’indietro.
Il problema del gradiente che svanisce
Durante l’addestramento l’errore viene riportato all’indietro, layer per layer, per correggere i pesi. Con molti layer questo segnale tende a rimpicciolirsi a ogni passaggio, fino a diventare praticamente zero nei primi strati. Il risultato è che i layer iniziali non imparano quasi nulla. È il vanishing gradient, il freno principale al deep learning per anni.
Come si è risolto
La svolta è arrivata da una combinazione di soluzioni. Le funzioni di attivazione come ReLU al posto della sigmoide, che non schiacciano il segnale. Le connessioni residue di ResNet, che creano una scorciatoia diretta tra layer distanti e lasciano passare il gradiente senza deformarlo. La batch normalization, che stabilizza i valori interni. E in generale tecniche di inizializzazione dei pesi più intelligenti.
Overfitting e costo
Più layer significano più parametri, quindi più capacità di memorizzare. Una rete troppo profonda per la quantità di dati disponibile impara a memoria gli esempi di addestramento e poi sbaglia su quelli nuovi: è l’overfitting. In più ogni layer aggiunge calcolo, quindi tempo e soldi. La profondità giusta è un compromesso, non un record da battere.
Si può “vedere” dentro un hidden layer?
Sì, almeno in parte. Esistono tecniche di interpretabilità che visualizzano cosa attiva un determinato neurone, o che verificano con piccoli classificatori di prova quali informazioni sono contenute in un certo layer.
Quello che emerge è una rappresentazione distribuita: un concetto non vive in un singolo neurone, ma è distribuito su moltissimi neuroni, mentre ogni neurone partecipa a molti concetti diversi. È il motivo per cui nessuno può aprire un modello e leggere l’elenco delle cose che ha imparato. Si vedono pattern, non etichette.

Domande frequenti sui hidden layer
Quanti hidden layer ha una rete neurale?
Dipende dal modello. Una piccola rete per dati tabellari può averne uno o due. Le reti convoluzionali per immagini ne hanno decine, i grandi modelli linguistici arrivano a centinaia. GPT-3, per esempio, ha 96 layer. Non esiste un numero corretto in assoluto, esiste il numero giusto per il compito e per i dati che hai.
Perché si chiamano layer nascosti se posso ispezionarli?
Perché “nascosto” si riferisce al ruolo, non all’accessibilità. Non sono visibili dall’esterno della rete, non sono dati che inserisci e non sono risultati che ricevi. Puoi aprire il modello, leggerne i pesi e visualizzarne le attivazioni, ma nell’uso normale quei valori restano uno stato interno che non passa mai dall’interfaccia.
Aggiungere layer rende sempre il modello più preciso?
No. Fino a un certo punto la profondità aiuta, perché permette di costruire rappresentazioni più astratte. Oltre quel punto si entra nell’overfitting e nel costo di calcolo inutile. Un modello più profondo richiede più dati e più addestramento per esprimere il suo potenziale, altrimenti peggiora rispetto a uno più semplice.
Qual è la differenza tra un layer nascosto e un neurone?
Il neurone è l’unità di calcolo, il singolo elemento che combina pesi, bias e funzione di attivazione. Il layer nascosto è il gruppo di neuroni che lavorano allo stesso livello della rete, tutti collegati alla stessa coppia di layer adiacenti. Un layer contiene molti neuroni: la sua larghezza è proprio il numero di neuroni che ospita.
Un Transformer ha hidden layer?
Sì, ne ha molti. Ogni blocco di un Transformer contiene sottolivelli di attenzione e di rete feed-forward, poi i blocchi si impilano uno sopra l’altro. Anche lì vale la stessa logica: i blocchi iniziali lavorano su dettagli locali e sintattici, i blocchi finali su significato e relazioni a lunga distanza. Se vuoi approfondire come è organizzato un modello, ho scritto una lezione dedicata a layer e architettura.


