Back to IF3270 Pembelajaran Mesin

Encoder-Decoder Models in Sequence Learning

Questions/Cues

  • Apa tujuan model sequence-to-sequence?
  • Bagaimana encoder mengolah input sequential?
  • Fungsi apa yang dimiliki vector encoder?
  • Mengapa decoder memerlukan hidden state awal?
  • Bagaimana aplikasi praktis encoder-decoder?

Reference Points

  • Lecture_IF3270.pptx (Slides 37-43)
  • Goodfellow et al. Deep Learning (Chapter 10)

Konsep Dasar Sequence-to-Sequence

Model sequence-to-sequence (seq2seq) dirancang untuk memetakan input berurutan dengan panjang tetap ke output berurutan yang mungkin memiliki panjang berbeda. Pendekatan ini menjadi dasar untuk berbagai tugas pemrosesan bahasa alami seperti terjemahan mesin, penjawab pertanyaan otomatis, dan generasi teks deskriptif untuk video. Berbeda dengan model RNN tradisional yang memerlukan panjang input-output sama, arsitektur ini memungkinkan fleksibilitas dalam struktur data. Contoh aplikasi nyata:

  • Terjemahan: “Mary eats apples” (Bahasa Inggris) → “Marie mange des pommes” (Bahasa Prancis)
  • QA System: “Tim is playing in his room.||Where is Tim?” → “Tim is in his room”
  • Video captioning: Deretan frame video → “Seorang wanita sedang memasak di dapur”

Arsitektur Encoder

Bagian encoder terdiri dari beberapa unit recurrent (biasanya RNN atau variannya) yang memproses setiap elemen input secara berurutan. Setiap unit:

  1. Menerima satu elemen input (misalnya kata dalam kalimat)
  2. Mengumpulkan informasi kontekstual
  3. Meneruskan state tersembunyi (hidden state) ke unit berikutnya Proses ini analog dengan penerjemah manusia yang mendengarkan seluruh kalimat sebelum mulai menerjemahkan. Setelah memproses seluruh input, encoder menghasilkan encoder vector (state tersembunyi akhir) yang mengkapsulasi informasi esensial dari seluruh urutan input.

Encoder Vector sebagai Memori Kontekstual

Encoder vector berfungsi sebagai:

  • Representasi terpadu seluruh input
  • State awal untuk decoder
  • “Memori kerja” yang menyimpan dependensi jangka panjang Dalam implementasi teknis, vector ini dihitung melalui fungsi:
h_encoder = f(W * x_t + U * h_{t-1} + b)

di mana f adalah fungsi aktivasi, W dan U matriks berat, x_t input timestep-t, dan b bias.

Mekanisme Decoder

Decoder merupakan jaringan recurrent yang menggunakan encoder vector sebagai state awal untuk memulai generasi output. Pada setiap timestep:

  1. Menerima state tersembunyi sebelumnya
  2. Menghasilkan prediksi output
  3. Memperbarui state tersembunyi untuk timestep berikutnya Contoh proses terjemahan:
  4. Encoder vector (yang menyimpan makna “Mary eats apples”) diinisialisasi sebagai h_0 decoder
  5. Decoder menghasilkan “Marie” sebagai output pertama
  6. State tersembunyi diperbarui dengan mempertimbangkan output sebelumnya
  7. Proses berlanjut hingga menghasilkan tanda akhir kalimat

Aplikasi dan Variasi Model

Selain terjemahan mesin, arsitektur ini digunakan untuk:

  • Text Summarization: Input dokumen panjang → output ringkasan
  • Speech Recognition: Input sinyal audio → output transkripsi teks
  • Image Captioning: Input citra → deskripsi tekstual Variasi modern meliputi:
  • Attention Mechanism: Memungkinkan decoder fokus pada bagian spesifik encoder vector
  • Transformer Architecture: Menggantikan RNN dengan self-attention untuk penangkapan konteks lebih baik

Summary

Model encoder-decoder memungkinkan pemrosesan urutan dengan panjang input-output berbeda melalui dua komponen utama: encoder yang mengompresi input menjadi representasi vektor, dan decoder yang menggunakan vektor tersebut untuk membangkitkan output berurutan. Arsitektur ini menjadi landasan sistem terjemahan mesin modern dan aplikasi NLP lanjutan, dengan kemampuan menangani dependensi jangka panjang melalui mekanisme state tersembunyi. Encoder vector berperan kritis sebagai pembawa informasi kontekstual antar komponen.