Un Transformer è una particolare struttura di rete neurale artificiale particolarmente utile in Natural Langiage Processing.
Nel nostro post introduttivo alle Reti Neurali Ricorrenti (Recurrent Neural Network) abbiamo distinto 4 tipologie di architteture differenti.
Le Sequence-to-Sequence (Seq2Seq) in particolare trasformano una sequenza di elementi, come ad esempio le lettere in una parola, in un’altra sequenza.

What a surprising explanation!
Per questa ragione i Seq2Seq risultano particolarmente utili per la creazione di traduttori, in cui sequenze di lettere (parole) in una lingua sono convertite in un’altra lingua.
Per questo task specifico usiamo i così detti Long-Short-Term-Memory-based models (LSTM) che ricordano le parti importanti, dimenticano quelle menu tili.
Le frasi che il nostro sopraffino intelletto è in grado di concepire, sono sequence-dependent poiché l’ordine delle parole ne influenza il significato.
Le reti Seq2Seq consistono in un Encoder e un Decoder.
L‘Encoder elabora i dati in ingresso mappandoli in uno spazio a dimensione maggiore (vettore n-dimensionale).
Questo vettore astratto è poi gestito dal Decoder che produce una sequenza di ouput: simbolo, copia d’input o traduzione in altra lingua.
Fine.
Come fine? E il transformer?
Attention
Abbiamo bisogno di un termine tecnico in più per rendere assimilabile il concetto di Transformer: attention.
Accuratamente descritto in questa pubblicazione, dal titolo Attention Is All You Need, il meccanismo dell’attenzione identifica le parti importanti un testo.
Pensaci un attimo.
E’ geniale.
Quando leggiamo, il nostro cervello è costantemente alla ricerca di parti utili e informazioni superflue.
Analogamente il meccanismo dell’attenzione, o attention-mechanism, riconosce la semantica di una frase fornendole al Decoder come informazioni aggiuntive sotto forma di keywords.
Per ogni parola letta dal LSTM (Encoder), l’attention-mechanism prende in considerazione altri input allo stesso tempo, decidendo quali siano importanti e attribuendo loro un peso differente.
Il Decorer è quindi incaricato di prendere le parole corredate di un peso (weight).
Per approfondire il concetto di attention, ti consiglio di leggere questo post.
Non posso non citarti la pubblicazione Effective Approaches to Attention-based Neural Machine Translation’, che puoi trovare qui, e nella quale leggere approcci più scientifici.
E veniamo ora al nostro amato Transformer.
Transformer
In Attention Is All You Need viene presentata una nuova architettura chiamata Transformer.
Come LSTM, un Transformer gestisce sequenze di dati e ne produce altrettante.
A differenza di LSTM, questa architettura non prevede l’impiego di RNN.
Recurrent Networks sono tra i modi migliori per catturare le dipendenze temporali nelle sequenze dati.
I ricercatori hanno però appurato come sia possibile ottenere risultati migliori modificano la struttura di base, eliminando le reti neurali ricorrenti, attraverso l’attention-mechanism.
Quindi… cos’è di preciso un Transformer? Ecco qui:

L’Encoder sulla sinistra e il Decoder sulla destra, entrambi modulari, sono il risultato dell’impilazione di livelli Feed Forward e Multi-Head Attention.
Per approfondire ulteriormente la questione, ti rimando a questo ottimo articolo.
Per il momento è tutto!
Un caldo abbraccio, Andrea.