Perché RNN e CNN Sono Insufficienti nell'Elaborazione del Linguaggio Naturale
Scorri per mostrare il menu
Nel trattamento dell'elaborazione del linguaggio naturale, la struttura e il significato del linguaggio spesso si estendono su ampi segmenti di testo. I primi modelli di deep learning come le reti neurali ricorrenti (RNNs) e le reti neurali convoluzionali (CNNs) sono stati adattati da altri ambiti per gestire dati sequenziali, ma entrambi gli approcci incontrano limiti critici quando applicati al linguaggio.
Le RNNs elaborano le sequenze di input un token alla volta, mantenendo uno stato nascosto che viene aggiornato passo dopo passo. Questa natura sequenziale rende impossibile parallelizzare i calcoli tra i vari passaggi temporali, rallentando così l'addestramento e l'inferenza. Inoltre, man mano che la sequenza si allunga, i gradienti trasmessi attraverso molti passaggi tendono a ridursi esponenzialmente - un fenomeno noto come problema del gradiente che svanisce. Questo rende difficile per le RNNs apprendere dipendenze da parti distanti di una sequenza, il che è particolarmente problematico per compiti come la classificazione di documenti o la traduzione automatica, dove il contesto delle parti iniziali del testo può essere cruciale.
Le CNNs, invece, applicano filtri convoluzionali su finestre di input di dimensione fissa. Sebbene le CNNs consentano una certa parallelizzazione e possano catturare efficientemente pattern locali, i loro campi recettivi locali fanno sì che ogni output sia influenzato solo da una finestra di contesto limitata. Per catturare dipendenze più lunghe, è necessario impilare molti strati convoluzionali o aumentare la dimensione dei filtri, il che diventa rapidamente inefficiente e comunque fatica a modellare le relazioni tra parole distanti in una frase.
Questi limiti diventano particolarmente evidenti in compiti reali di classificazione del testo o previsione di sequenze. Ad esempio, nell'analisi del sentiment, il sentimento di una frase potrebbe dipendere da una parola all'inizio e da un'altra alla fine. Le RNNs possono avere difficoltà a collegare queste parole a causa del gradiente che svanisce, mentre le CNNs possono non cogliere affatto la connessione a lungo raggio se questa cade fuori dal loro campo recettivo.
I Transformers superano queste limitazioni utilizzando un meccanismo di self-attention che permette a ogni token dell'input di prestare attenzione direttamente a tutti gli altri token, indipendentemente dalla loro posizione nella sequenza. Questo consente al modello di catturare efficientemente dipendenze a lungo raggio e rende possibile parallelizzare i calcoli su tutte le posizioni della sequenza, accelerando notevolmente l'addestramento e l'inferenza.
La seguente tabella riassume le principali differenze tra RNNs, CNNs e Transformers rispetto alle proprietà rilevanti per i compiti di NLP:
Questo confronto evidenzia perché i Transformer sono diventati l'architettura preferita per le applicazioni NLP moderne.
Grazie per i tuoi commenti!
Chieda ad AI
Chieda ad AI
Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione