Le reti neurali convoluzionali eccellono nell'elaborazione di dati di tipo griglia (come le immagini) rilevando schemi locali. Tuttavia, le CNN sono meno efficaci nel catturare le relazioni globali all'interno dei dati. I trasformatori superano questo problema utilizzando l'auto-attenzione per soppesare l'importanza delle diverse parti dei dati di input come parte di un insieme più ampio. Mentre le CNN vengono utilizzate principalmente per attività come il riconoscimento delle immagini, i trasformatori sono stati adattati sia per l'elaborazione di testo che di immagini, offrendo un insieme di soluzioni più versatile.
- Embedding di input
- Gli embedding di input convertono le sequenze di input in vettori matematici che i modelli di AI possono elaborare. I token (come le parole) vengono trasformati in vettori che trasportano informazioni semantiche e sintattiche apprese durante l'addestramento.
- Codifica posizionale
La codifica posizionale aggiunge segnali univoci all'embedding di ciascun token per indicare la sua posizione nella sequenza. Ciò garantisce che il modello possa preservare l'ordine dei token e comprenderne il contesto all'interno della sequenza.- Blocco trasformatore
Ogni blocco trasformatore è costituito da un meccanismo di auto-attenzione multi-head e da una rete neurale feed-forward. L'auto-attenzione valuta l'importanza dei diversi token, mentre la rete feed-forward elabora queste informazioni.- Blocchi lineari/softmax
Il blocco lineare mappa le rappresentazioni interne complesse nel dominio di input originale. La funzione softmax converte quindi l'output in una distribuzione di probabilità, che rappresenta la fiducia del modello in ogni possibile previsione.
- La sequenza di input viene trasformata in rappresentazioni numeriche chiamate embedding, che catturano il significato semantico dei token.
- La codifica posizionale aggiunge segnali univoci all'embedding di ciascun token per preservare l'ordine dei token nella sequenza.
- Il meccanismo di attenzione multi-head elabora questi embedding per catturare diverse relazioni tra i token.
- La normalizzazione dei livelli e le connessioni residue stabilizzano e velocizzano il processo di addestramento.
- L'output del livello di auto-attenzione passa attraverso reti neurali feed-forward per trasformazioni non lineari.
- Vengono impilati più blocchi di trasformatori, ognuno dei quali perfeziona l'output del livello precedente.
- In compiti come la traduzione, un modulo decodificatore separato genera la sequenza di output.
- Il modello viene addestrato utilizzando l'apprendimento supervisionato per ridurre al minimo la differenza tra previsioni e dati di base.
- Durante l'inferenza, il modello addestrato elabora nuove sequenze di input per generare previsioni o rappresentazioni.
- Elaborazione del linguaggio naturale
- I trasformatori consentono alle macchine di comprendere, interpretare e generare il linguaggio umano in modo più accurato. Ciò supporta applicazioni come la sintesi di documenti e gli assistenti virtuali, che si basano su un linguaggio di comprensione preciso.
- Traduzione automatica
- Sono inoltre possibili traduzioni accurate e in tempo reale tra più lingue. La capacità dei trasformatori di gestire dipendenze e contesti a lungo raggio migliora significativamente la precisione delle traduzioni, soprattutto rispetto alle precedenti soluzioni basate su ricerca e sostituzione.
- Riconoscimento vocale
- Le applicazioni di conversione da parlato a testo possono essere migliorate trascrivendo accuratamente il linguaggio parlato in testo scritto. Ciò è particolarmente utile nello sviluppo di applicazioni a controllo vocale e nel miglioramento dell'accessibilità per le persone con problemi di udito.
- Generazione di immagini
- I modelli di generazione delle immagini utilizzano trasformatori per creare contenuti multimediali visivi a partire da descrizioni testuali, unendo l'elaborazione del linguaggio naturale alla visione artificiale. Questa funzionalità viene utilizzata in applicazioni creative, marketing e altro ancora.
- Analisi delle sequenze del DNA
- Trattando le sequenze di DNA in modo simile al testo, i trasformatori possono essere addestrati a prevedere mutazioni genetiche, comprendere schemi genetici e identificare regioni correlate alle malattie.
- Analisi della struttura proteica
- I trasformatori possono modellare la natura sequenziale degli amminoacidi nelle proteine, prevedendone le strutture 3D. Questa comprensione è fondamentale per la scoperta di farmaci e la comprensione dei processi biologici.