Una residual connection (o skip connection) è una scorciatoia: l'input di un blocco viene sommato direttamente all'output del blocco. In formula: y = F(x) + x, dove F è quello che fa il blocco.
Sembra dettaglio, è stata una rivoluzione. Inventata in ResNet (Microsoft, 2015) ha permesso di addestrare reti da 152 strati e oltre, quando prima oltre i 20-30 era un disastro.
Perché funziona:
- Il gradiente trova sempre la strada: il + x crea un'autostrada per il gradiente dall'uscita all'ingresso. Niente più vanishing gradient.
- Il blocco impara la differenza: invece di imparare la mappatura completa, impara solo F(x) = y - x, di solito più facile.
- Identità di default: se F non impara nulla, il blocco si comporta come pass-through. Niente danni.
Dove le trovi:
- ResNet: l'inventore. Pietra miliare della computer vision.
- Transformer: ogni blocco di attention e feed-forward è avvolto da una residual + layer norm. Senza, niente GPT.
- U-Net: usate nei diffusion model come Stable Diffusion.
- DenseNet: variante estrema con connessioni a tutti i layer precedenti.
Coppia magica: residual + layer norm. Insieme rendono i Transformer profondi addestrabili. Toglierne una significa rovinare il training. Provato e testato troppe volte.