Arsitektur Encoder–Decoder
Model enkoder-dekoder (Ingg. Encoder-Decoder Models) — adalah kelas arsitektur neural network yang dirancang untuk menyelesaikan tugas transformasi urutan ke urutan (sequence-to-sequence, seq2seq). Arsitektur ini terdiri dari dua komponen utama:
- Enkoder (pengkode): Memproses urutan masukan dan memampatkannya menjadi representasi numerik yang ringkas (vektor konteks atau urutan keadaan tersembunyi).
- Dekoder (pengurai): Mengambil representasi tersebut dan menghasilkan urutan keluaran berdasarkan representasi itu.
Arsitektur ini merupakan fondasi bagi banyak tugas pemrosesan bahasa alami (NLP) dan computer vision, seperti penerjemahan mesin, peringkasan teks, dan pemberian keterangan pada gambar.
Konsep
Ide utama arsitektur enkoder-dekoder adalah pemisahan tugas pemahaman dan pembangkitan. Enkoder bertanggung jawab untuk memahami urutan masukan dengan mengekstrak seluruh informasi semantik yang diperlukan. Dekoder bertanggung jawab untuk membangkitkan urutan baru menggunakan informasi yang diberikan oleh enkoder.
Hal ini memungkinkan model bekerja dengan urutan yang panjangnya berbeda pada masukan dan keluaran, yang sebelumnya sulit dilakukan oleh arsitektur-arsitektur terdahulu.
Evolusi Arsitektur
Model awal berbasis RNN/LSTM
Pada awalnya, arsitektur enkoder-dekoder diimplementasikan menggunakan recurrent neural network (RNN) atau variannya yang lebih canggih yaitu LSTM.
- Enkoder: RNN-enkoder memproses urutan masukan token demi token dan menghasilkan satu vektor konteks — keadaan tersembunyi setelah pemrosesan token terakhir, yang seharusnya menyimpan informasi tentang seluruh urutan.
- Dekoder: RNN-dekoder diinisialisasi dengan vektor konteks ini dan secara autoregresif membangkitkan urutan keluaran.
Kelemahan utama pendekatan ini adalah masalah "bottleneck": seluruh informasi dari urutan masukan harus dipadatkan ke dalam satu vektor dengan panjang tetap, yang menyebabkan hilangnya informasi, terutama pada urutan yang panjang.
Penerapan mekanisme attention
Terobosan terjadi dengan diterapkannya mekanisme attention (attention mechanism) (Bahdanau et al., 2014).
- Cara kerja: Alih-alih mengandalkan satu vektor konteks, dekoder pada setiap langkah pembangkitan "memperhatikan" semua keadaan tersembunyi enkoder. Dekoder menghitung bobot attention yang menunjukkan bagian mana dari urutan masukan yang paling relevan untuk membangkitkan token keluaran saat ini.
- Keunggulan: Hal ini mengatasi masalah "bottleneck" dan memungkinkan model bekerja secara efektif dengan urutan yang panjang, sehingga meningkatkan kualitas secara signifikan, terutama dalam penerjemahan mesin.
Arsitektur Transformer
Pada tahun 2017, dalam makalah "Attention Is All You Need" diperkenalkan arsitektur Transformer yang sepenuhnya meninggalkan rekurensi demi mekanisme attention.
- Enkoder Transformer: Terdiri dari tumpukan lapisan, masing-masing menggunakan self-attention untuk membuat representasi terkontekstualisasi bagi setiap token masukan.
- Dekoder Transformer: Terdiri dari tumpukan lapisan, masing-masing memiliki dua jenis mekanisme attention:
- Masked self-attention: Untuk memproses bagian urutan keluaran yang telah dibangkitkan.
- Cross-Attention: Untuk "memperhatikan" representasi keluaran enkoder.
Arsitektur ini menjadi standar untuk tugas seq2seq berkat kinerjanya yang tinggi dan kemampuan paralelisasi komputasi.
Penerapan
Arsitektur enkoder-dekoder merupakan standar untuk berbagai macam tugas:
- Penerjemahan mesin: Mengubah kalimat dari satu bahasa ke bahasa lain.
- Peringkasan teks otomatis: Membuat ringkasan dari dokumen yang panjang.
- Sistem dialog: Membangkitkan respons terhadap ucapan pengguna.
- Pemberian keterangan pada gambar (Image Captioning): Enkoder (sering berbasis convolutional neural network) memproses gambar, sedangkan dekoder (sering RNN atau Transformer) membangkitkan deskripsi teksnya.
- Pengenalan ucapan: Mengubah sinyal audio menjadi transkripsi teks.
Model-Model Utama
- Transformer orisinal (Vaswani et al., 2017): Model yang memperkenalkan arsitektur ini.
- BART (Bidirectional and Auto-Regressive Transformers): Model dari Facebook yang dilatih secara awal pada tugas pemulihan teks yang "dirusak". Enkoder bersifat dua arah (seperti pada BERT), sedangkan dekoder bersifat autoregresif (seperti pada GPT).
- T5 (Text-to-Text Transfer Transformer): Model dari Google yang menyatukan semua tugas NLP dengan merepresentasikannya sebagai masalah transformasi teks ke teks. T5 menunjukkan hasil yang luar biasa pada berbagai benchmark.
Perbandingan dengan Arsitektur Lain
| Arsitektur | Tugas Utama | Komponen | Model Tipikal |
|---|---|---|---|
| Enkoder-dekoder | Transformasi urutan ke urutan | Enkoder + Dekoder | T5, BART, Transformer orisinal |
| Hanya-enkoder | Pemahaman teks | Hanya enkoder | BERT, RoBERTa |
| Hanya-dekoder | Pembangkitan teks | Hanya dekoder |
Daftar Pustaka
- 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.