Cos'è
Un modello sequence-to-sequence legge una sequenza e ne scrive un'altra, anche di lunghezza diversa. Un encoder legge l'ingresso e lo comprime in una rappresentazione; un decoder poi scrive l'uscita un pezzo alla volta a partire da quella rappresentazione. La traduzione è l'esempio classico: una frase in italiano entra, una frase in inglese esce.
A cosa serve
Qualunque compito che trasforma testo in testo: traduzione, riassunto, riscrittura, risposte a domande, trascrizione del parlato. È anche la forma che ha portato direttamente all'attention e al transformer, che hanno corretto il suo punto debole: l'unica rappresentazione compressa di un ingresso lungo.
Come si fa
- Definisci la coppia: quale sequenza entra e quale sequenza deve uscire.
- Raccogli molte coppie di esempio (per la traduzione, frasi con le loro traduzioni) e dividile per addestramento e prova.
- Scegli un modello encoder-decoder, oggi di norma un transformer, invece di costruirne uno ricorrente da zero.
- Addestralo a produrre l'uscita corretta pezzo per pezzo, oppure parti da un modello già addestrato e fai il fine-tuning sulle tue coppie.
- Genera: codifica l'ingresso, poi lascia che il decoder scriva l'uscita, scegliendo a ogni passo tra il pezzo più probabile e alternative più varie.
- Valuta con una metrica adatta al compito (per la traduzione, punteggi tipo BLEU) e con una lettura umana, perché i punteggi non vedono il significato.