Apa itu model sequence-to-sequence (seq2seq)?
Model sequence-to-sequence (seq2seq) adalah neural network yang memetakan input sequence ke output sequence yang panjangnya bisa berbeda. Encoder membaca input dan memampatkannya menjadi context vector, lalu decoder menghasilkan output satu per satu token dari vector itu. Pada bentuk aslinya tahun 2014, kedua bagiannya adalah recurrent network.
Model seq2seq membuat neural machine translation layak dipakai dan dalam beberapa tahun menggantikan sistem phrase-based di Google Translate dan tempat lain. Susunan encoder-decoder yang sama menangani peringkasan, speech recognition, question answering, dan pembuatan kode. Kelemahan utamanya, memeras seluruh input ke dalam satu vector, langsung mengarah ke attention, lalu ke Transformer, yang tetap memakai desain encoder-decoder pada model seperti T5 dan BART.
Ide utama
- Encoder mengubah input sequence menjadi context vector, dan decoder mengubah vector itu menjadi output sequence.
- Panjang input dan output tidak saling bergantung, sehingga cocok untuk penerjemahan dan peringkasan.
- Decoder bersifat autoregressive: setiap token output diumpankan kembali sebagai input berikutnya.
- Teacher forcing melatih decoder dengan token sebelumnya yang benar, bukan prediksinya sendiri.
- Beam search menyimpan k output parsial paling mungkin, bukan hanya satu yang terbaik.
- Satu context vector berukuran tetap membatasi kualitas pada input panjang, dan attention menghapus batas itu.
Pertanyaan umum
Apa bedanya seq2seq dan Transformer?
Seq2seq adalah nama susunan tugasnya, yaitu memetakan satu sequence ke sequence lain dengan encoder dan decoder. Model seq2seq awal membangun kedua bagian itu dari RNN. Transformer adalah arsitektur yang mengisi kedua peran yang sama dengan attention layer, jadi ia sendiri adalah model seq2seq, hanya saja tidak recurrent.
Apa itu token <SOS> dan <EOS>?
<SOS> (start of sequence) adalah input pertama ke decoder, yang memberinya pijakan sebelum ada kata yang dihasilkan. <EOS> (end of sequence) adalah token yang dipelajari decoder untuk dikeluarkan saat output selesai. Dengan cara ini, model menentukan sendiri panjang output-nya.
Bagaimana model seq2seq dievaluasi?
Terjemahan biasanya dinilai dengan BLEU, yang menghitung berapa banyak n-gram dari output yang juga muncul di terjemahan rujukan. Peringkasan sering memakai ROUGE, yang berfokus pada recall n-gram rujukan. Keduanya hanya perkiraan kasar, jadi penilaian manusia dan metrik yang dipelajari seperti COMET dipakai berdampingan.
Apakah GPT model seq2seq?
Tidak dalam arti ketat. GPT hanya memakai decoder: input dan output berbagi satu sequence, dan model melanjutkannya token demi token. GPT tetap bisa mengerjakan tugas seq2seq seperti penerjemahan dengan membaca teks sumber sebagai prompt dan menghasilkan targetnya setelah itu.
Penjelasan terkait
- Recurrent Neural Network · Cara RNN membaca dan memahami sequence
- LSTM · Gate dan memory cell untuk sequence panjang
- Cara Kerja Self-Attention · Query, key, dan value, inti dari self-attention
- Cross-Attention · Attention antar-sequence dan antar-modalitas
- Arsitektur Transformer · Panduan visual untuk paper "Attention Is All You Need"
- Language Modeling · Memprediksi token berikutnya, tujuan yang menggerakkan GPT, BERT, dan NLP modern
Referensi
- Sutskever, Vinyals & Le (2014), "Sequence to Sequence Learning with Neural Networks", NeurIPS
- Cho et al. (2014), "Learning Phrase Representations using RNN Encoder-Decoder for Statistical Machine Translation", EMNLP
- Cho et al. (2014), "On the Properties of Neural Machine Translation: Encoder-Decoder Approaches"
- Bahdanau, Cho & Bengio (2014), "Neural Machine Translation by Jointly Learning to Align and Translate"
- Wu et al. (2016), "Google's Neural Machine Translation System: Bridging the Gap between Human and Machine Translation"
Terakhir diperbarui