Residual Connection

[residual connèction]

Scorciatoia che salta uno o più layer, sommando l'input direttamente all'output. Permette di addestrare reti profondissime.

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.