Attention Is All You Need (2017)

Da Wiki AI.

Famosissimo paper che riguarda il meccanismo di Attention.

Tradizionalmente, nei task di automatic translation, è stato utilizzato il modello Sequence To Sequence, in cui la rappresentazione della frase

Il gatto mangia il topo

viene codificata in una rappresentazione vettoriale - un embedding - attraverso Long Short-Term Memory (LSTM) , prendendo il valore del layer nascosto al termine della codifica della frase.

Ogni token viene quindi, uno alla volta:

  • Codificato in Word Embedding
  • Passato alla RNN o LSTM che aggiorna lo stato nascosto, anche in base al valore precedente dello stato nascosto H

L'ultimo stato nascosto viene poi mandato al Decoder che può a questo punto iniziare a emettere token in base alla rappresentazione "densa" contenuta nello stato nascosto dell'encoder. Anche in questo caso viene utilizzata una rete LSTM in modalità autoregressiva, usando come input l'ultimo token emesso in output.


Il problema è che il decoder ha come uniche informazioni su cui decidere quale token emettere: l'ultimo token emesso, e lo stato nascosto. Immaginiamo il numero di trasformazioni che sono già state eseguite da quando "mangia" è stato codificato a quando eats dev'essere emessa.

The cat eats

L'idea è che il decoder possa "vedere" direttamente gli stati nascosti del decoder


Links

The Annotated Transformer Implementazione del Transformer in tensor2tensor