Funzionamento di Sequence-to-Sequence - Amazon SageMaker AI

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Funzionamento di Sequence-to-Sequence

In genere, una rete neurale per la sequence-to-sequence modellazione è costituita da alcuni livelli, tra cui:

  • Un livello di incorporamento. In questo layer, la matrice di input, ossia token di input codificati in modo sparso (ad esempio, con codifica one-hot), viene mappata a un layer di caratteristiche dense. Ciò è necessario perché un vettore di caratteristiche ad alta dimensione è più in grado di codificare le informazioni relative a un particolare token (parola per corpora di testo) rispetto a un vettore semplice. one-hot-encoded È inoltre prassi standard inizializzare questo layer di incorporamento con un vettore di parole già addestrato come FastTexto Glove o inizializzarlo in modo casuale e apprendere i parametri durante l'allenamento.

  • Un livello codificatore. Una volta che i token di input sono stati mappati in uno spazio caratteristico altamente dimensionale, la sequenza viene trasmessa a un layer codificatore per comprimere tutte le informazioni provenienti dal layer di integrazione dell'input (dell'intera sequenza) in un vettore caratteristico a lunghezza fissa. In genere, un codificatore è costituito da reti di RNN tipo C come memoria a lungo termine () o unità ricorrenti chiuse (). LSTM GRU (Il blog di Colah lo spiega LSTM in modo molto dettagliato.)

  • Un livello decodificatore. Il layer decodificatore acquisisce il vettore caratteristico codificato e produce la sequenza di output dei token. Anche questo livello è generalmente costruito con RNN architetture (e)LSTM. GRU

L'intero modello viene preparato congiuntamente per aumentare al massimo la possibilità di sequenza di destinazione considerata la sequenza di origine. Questo modello è stato introdotto per la prima volta da Sutskever e altri nel 2014.

Meccanismo di attenzione. Lo svantaggio di un framework codificatore-decodificatore è che le prestazioni del modello diminuiscono mano a mano che la lunghezza della sequenza di origine aumenta; questo a causa del limite imposto alla quantità di informazioni che può contenere il vettore caratteristico codificato a lunghezza fissa. Per risolvere questo problema, nel 2015 Bahdanau e altri ha proposto il meccanismo di attenzione. In un meccanismo di attenzione, il decodificatore tenta di trovare la posizione in cui le informazioni più rilevanti potrebbero trovarsi nella sequenza del codificatore e le utilizza con le parole precedentemente decodificate per prevedere il successivo token nella sequenza.

Per ulteriori dettagli, consulta il whitepaper Effective Approaches to Attention-based Neural Machine Translation di Luong e altri che spiega e semplifica i calcoli per i vari meccanismi di attenzione. Inoltre, il whitepaper Google's Neural Machine Translation System: Bridging the Gap between Human and Machine Translation di Wu e altri descrive l'architettura di Google per la traduzione automatica, che si avvale di ignorare le connessioni tra i livelli codificatore e decodificatore.