---
title: "Architettura encoder–decoder"
source: "https://systems-analysis.info/int/Architettura_encoder%E2%80%93decoder"
wiki: "systems-analysis.info/int"
article: "Architettura_encoder–decoder"
language: "it"
categories:
  - "Category:Italian"
  - "Category:Large language models"
  - "Category:Machine learning"
revision_id: 439
wiki_created_at: 2026-09-06T22:33:46Z
wiki_modified_at: 2026-09-06T22:33:46Z
downloaded_at: 2026-09-07T22:40:05Z
---

# Architettura encoder–decoder

**I modelli encoder-decoder** (ingl. Encoder-Decoder Models) — sono una classe di architetture di reti neurali progettate per risolvere problemi di **trasformazione di sequenza in sequenza (sequence-to-sequence, seq2seq)**. Questa architettura è composta da due componenti principali:

- **Encoder (codificatore):** Elabora la sequenza di input e la comprime in una rappresentazione numerica compatta (vettore di contesto o sequenza di stati nascosti).
- **Decoder (decodificatore):** Prende questa rappresentazione e genera su di essa la sequenza di output.

Questa architettura è alla base di molti problemi di elaborazione del linguaggio naturale (NLP) e di visione artificiale, come la traduzione automatica, la sintesi del testo e le didascalie delle immagini.

## Concetto

L'idea principale dell'architettura encoder-decoder consiste nella separazione dei compiti di **comprensione** e **generazione**. L'encoder è responsabile della comprensione della sequenza di input, estraendone tutte le informazioni semantiche necessarie. Il decoder è responsabile della generazione di una nuova sequenza, utilizzando le informazioni fornite dall'encoder.

Ciò consente al modello di lavorare con sequenze di lunghezza diversa in input e in output, il che era difficoltoso per le architetture precedenti.

## Evoluzione dell'architettura

### Modelli iniziali basati su RNN/LSTM

In origine, l'architettura encoder-decoder era implementata utilizzando reti neurali ricorrenti (RNN) o la loro variante migliorata LSTM.

- **Encoder:** L'encoder RNN elaborava la sequenza di input token per token e produceva in uscita un unico **vettore di contesto** — lo stato nascosto dopo l'elaborazione dell'ultimo token, che doveva contenere le informazioni sull'intera sequenza.
- **Decoder:** Il decoder RNN veniva inizializzato con questo vettore di contesto e generava autoregressivamente la sequenza di output.

Il principale svantaggio di questo approccio era il problema del «collo di bottiglia»: tutte le informazioni della sequenza di input dovevano essere compresse in un unico vettore di lunghezza fissa, il che portava a una perdita di informazioni, specialmente su sequenze lunghe.

### Introduzione del meccanismo di attention

La svolta avvenne con l'introduzione del **meccanismo di attention (attention mechanism)** (Bahdanau et al., 2014).

- **Principio di funzionamento:** Invece di affidarsi a un unico vettore di contesto, il decoder a ogni passo di generazione «presta attenzione» a **tutti** gli stati nascosti dell'encoder. Calcola i pesi di attention, che mostrano quali parti della sequenza di input sono più rilevanti per la generazione del token di output corrente.
- **Vantaggi:** Ciò ha risolto il problema del «collo di bottiglia» e ha permesso al modello di lavorare efficacemente con sequenze lunghe, migliorando significativamente la qualità, in particolare nella traduzione automatica.

### Architettura Transformer

Nel 2017, nell'articolo «Attention Is All You Need» fu presentata l'architettura **Transformer**, che abbandonò completamente la ricorrenza a favore del meccanismo di attention.

- **Encoder del Transformer:** È composto da uno stack di strati, ciascuno dei quali utilizza il **self-attention** per creare rappresentazioni contestualizzate per ogni token di input.
- **Decoder del Transformer:** È composto da uno stack di strati, ciascuno dei quali dispone di due tipi di meccanismi di attention:
  - **Self-attention mascherato:** Per l'elaborazione della parte già generata della sequenza di output.
  - **Cross-Attention:** Per «prestare attenzione» alle rappresentazioni di output dell'encoder.

Questa architettura è diventata lo standard per i problemi seq2seq grazie alle sue elevate prestazioni e alla possibilità di parallelizzare i calcoli.

## Applicazioni

L'architettura encoder-decoder è lo standard per un'ampia gamma di problemi:

- **Traduzione automatica:** Conversione di una frase da una lingua a un'altra.
- **Riassunto automatico del testo:** Creazione di un sommario di un documento lungo.
- **Sistemi di dialogo:** Generazione di una risposta alla battuta dell'utente.
- **Didascalie delle immagini (Image Captioning):** L'encoder (spesso basato su una rete neurale convoluzionale) elabora l'immagine, mentre il decoder (spesso RNN o Transformer) ne genera la descrizione testuale.
- **Riconoscimento vocale:** Conversione di un segnale audio in trascrizione testuale.

## Modelli principali

- **Transformer originale** (Vaswani et al., 2017): Il modello che ha introdotto questa architettura.
- **BART** (Bidirectional and Auto-Regressive Transformers): Modello di Facebook, pre-addestrato sul compito di ripristino del testo «corrotto». L'encoder è bidirezionale (come in BERT), mentre il decoder è autoregressivo (come in GPT).
- **T5** (Text-to-Text Transfer Transformer): Modello di Google che unifica tutti i problemi NLP, rappresentandoli come un problema di trasformazione del testo in testo. T5 ha mostrato risultati eccezionali su numerosi benchmark.

## Confronto con altre architetture

| Architettura        | Compito principale                     | Componenti        | Modelli tipici                  |
|---------------------|----------------------------------------|-------------------|---------------------------------|
| **Encoder-decoder** | Trasformazione di sequenza in sequenza | Encoder + Decoder | T5, BART, Transformer originale |
| **Solo encoder**    | Comprensione del testo                 | Solo encoder      | BERT, RoBERTa                   |
| **Solo decoder**    | Generazione di testo                   | Solo decoder      |                                 |

Confronto delle principali architetture basate sul Transformer

- 

## Bibliografia

- Bahdanau, D. et al. (2014). *Neural Machine Translation by Jointly Learning to Align and Translate*. arXiv:1409.0473.
- Sutskever, I. et al. (2014). *Sequence to Sequence Learning with Neural Networks*. arXiv:1409.3215.
- Luong, M.-T. et al. (2015). *Effective Approaches to Attention-based Neural Machine Translation*. arXiv:1508.04025.
- Wu, Y. et al. (2016). *Google's Neural Machine Translation System: Bridging the Gap between Human and Machine Translation*. arXiv:1609.08144.
- Vaswani, A. et al. (2017). *Attention Is All You Need*. arXiv:1706.03762.
- Britz, D. et al. (2017). *Massive Exploration of Neural Machine Translation Architectures*. arXiv:1703.03906.
- Lewis, M. et al. (2020). *BART: Denoising Sequence-to-Sequence Pre-training for Natural Language Generation*. arXiv:1910.13461.
- Raffel, C. et al. (2020). *Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer*. arXiv:1910.10683.
- Dong, L. et al. (2019). *Unified Language Model Pre-training for Natural Language Understanding and Generation*. arXiv:1905.03197.
- Zhang, J. et al. (2020). *PEGASUS: Pre-training with Extracted Gap-Sentences for Abstractive Summarization*. arXiv:1912.08777.
