Attention (Machine Learning): differenze tra le versioni

Da Wiki AI.
Nessun oggetto della modifica
Nessun oggetto della modifica
Riga 9: Riga 9:




=== Informazioni preliminari ===


=== Links ===
=== Links ===

Versione delle 21:37, 31 mar 2024

L'implementazione della "Bahdanau Attention" è proposta originariamente in "Neural Machine Translation by Jointly Learning to Align and Translate, 2014": essa sorpassa il lavoro di Cho et al (2014) e di Sutskever et al. (2014), che usavano un framework encoder-decoder basato su RNN per il task di traduzione automatica codificando una frase di lunghezza variabile in un vettore di dimensione fissa.

Bahdanau et al., in "Neural Machine Translation by Jointly Learning to Align and Translate", sostengono che questo vettore di lunghezza fissa spesso non riesca a contenere tutta l'informazione presente nella frase di origine, e la performance degradi velocemente all'allungarsi della sequenza di input, proponendo quindi un vettore di lunghezza variabile.

Propongono quindi, nell'encoder, una RNN bi-direzionale che, per ogni token all'interno della frase, codifichi non solo l'interno contenuto della frase, ma soprattutto il significato delle parole vicine al token corrente: gli stati nascosti della rete per quel token vengono quindi concatenati ed utilizzati, nel decoder, per aggiornare il contesto che non è più "statico" come in Cho et al (2014) (descritto in Sequence to Sequence (seq2seq) ) e in Sutskever et al. (2014). Il contesto, a ogni token di output che deve essere prodotto, si confronta quindi con gli "attention scores" che indicano quanto debbano essere tenuti in considerazione i task di input nella generazione del token corrente.

Attention Scores, dal Paper di Bahdanau et al. Gli score vanno letti con sull'asse delle x la lingua sorgente e asse delle y la lingua di destinazione


Links

Paper originale

https://arxiv.org/abs/1506.07503

https://arxiv.org/abs/1406.1078

https://arxiv.org/abs/1409.3215

Tutorial

Si vedano i video di Andrej Karpathy